@charset "UTF-8";
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
button,
textarea,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
}

html {
	overflow: auto;
}

body {
	overflow: hidden;
	font-size: 1em;
	font-size: 16px;
	line-height: 1.5;
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","メイリオ", "Meiryo", "Hiragino Kaku Gothic Pro", Arial, Verdana, sans-serif;
	color: #28282d;
}

body,
h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
li,
dl,
dd,
dt {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
	margin: 0;
	padding: 0;
}

a {
	text-decoration: none;
	color: inherit;
}

a:hover {
	text-decoration: none;
}

a img {
	border-style: none;
}

img {
	vertical-align: bottom;
}

button {
	font-size: 1em;
	background-color: transparent;
	border: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

*:focus {
	outline: none;
}

button:hover {
	cursor: pointer;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

*:after,
*:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

hr {
	color: #9d9d9d;
	background-color: #9d9d9d;
	border: 0.5px solid;
}

.floatl {
	float: left;
}

.floatr {
	float: right;
}

body::-webkit-scrollbar {
	width: 15px;
}
body::-webkit-scrollbar-thumb {
	background: #c6e4eb;
}
body::-webkit-scrollbar-track {
	background: #f1f8ff;
}

/*==================================================
定数
==================================================*/

.contents {
	width: 1000px;
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}

.contentsflat {
	max-width: 100%;
	width: 1800px;
}

.img_center {
	margin-left: -460px;
}
.img_center2 {
	margin-left: -15px;
}
.img_center3 {
	margin-left: -20px;
}
.img_center4 {
	margin-left: -470px;
}

.contents1920 {
	width: 100%;
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
}
.contents1000 {
	width: 100%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.contents900 {
	width: 100%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.op0 {
	opacity: 0;
}

.c {
	text-align: center !important;
}

.cm {
	margin-left: auto;
	margin-right: auto;
}

.r {
	text-align: right !important;
}

.l {
	text-align: left !important;
}

.b {
	font-weight: bold;
}

.n {
	font-weight: normal;
}

.fontweight {
	font-weight: 300;
}

/* font */
.font80 {
	font-size: 80px;
	font-size: 5em;
}
.font79 {
	font-size: 79px;
	font-size: 4.9375em;
}
.font78 {
	font-size: 78px;
	font-size: 4.875em;
}
.font77 {
	font-size: 77px;
	font-size: 4.8125em;
}
.font76 {
	font-size: 76px;
	font-size: 4.75em;
}
.font75 {
	font-size: 75px;
	font-size: 4.6875em;
}
.font74 {
	font-size: 74px;
	font-size: 4.625em;
}
.font73 {
	font-size: 73px;
	font-size: 4.5625em;
}
.font72 {
	font-size: 72px;
	font-size: 4.5em;
}
.font71 {
	font-size: 71px;
	font-size: 4.4375em;
}
.font70 {
	font-size: 70px;
	font-size: 4.375em;
}
.font69 {
	font-size: 69px;
	font-size: 4.3125em;
}
.font68 {
	font-size: 68px;
	font-size: 4.25em;
}
.font67 {
	font-size: 67px;
	font-size: 4.1875em;
}
.font66 {
	font-size: 66px;
	font-size: 4.125em;
}
.font65 {
	font-size: 65px;
	font-size: 4.0625em;
}
.font64 {
	font-size: 64px;
	font-size: 4em;
}
.font63 {
	font-size: 63px;
	font-size: 3.9375em;
}
.font62 {
	font-size: 62px;
	font-size: 3.875em;
}
.font61 {
	font-size: 61px;
	font-size: 3.8125em;
}
.font60 {
	font-size: 60px;
	font-size: 3.75em;
}
.font59 {
	font-size: 59px;
	font-size: 3.6875em;
}
.font58 {
	font-size: 58px;
	font-size: 3.625em;
}
.font57 {
	font-size: 57px;
	font-size: 3.5625em;
}
.font56 {
	font-size: 56px;
	font-size: 3.5em;
}
.font55 {
	font-size: 55px;
	font-size: 3.4375em;
}
.font54 {
	font-size: 54px;
	font-size: 3.375em;
}
.font53 {
	font-size: 53px;
	font-size: 3.3125em;
}
.font52 {
	font-size: 52px;
	font-size: 3.25em;
}
.font51 {
	font-size: 51px;
	font-size: 3.1875em;
}
.font50 {
	font-size: 50px;
	font-size: 3.125em;
}
.font49 {
	font-size: 49px;
	font-size: 3.0625em;
}
.font48 {
	font-size: 48px;
	font-size: 3em;
}
.font47 {
	font-size: 47px;
	font-size: 2.9375em;
}
.font46 {
	font-size: 46px;
	font-size: 2.875em;
}
.font45 {
	font-size: 45px;
	font-size: 2.8125em;
}
.font44 {
	font-size: 44px;
	font-size: 2.75em;
}
.font43 {
	font-size: 43px;
	font-size: 2.6875em;
}
.font42 {
	font-size: 42px;
	font-size: 2.625em;
}
.font41 {
	font-size: 41px;
	font-size: 2.5625em;
}
.font40 {
	font-size: 40px;
	font-size: 2.5em;
}
.font39 {
	font-size: 39px;
	font-size: 2.4375em;
}
.font38 {
	font-size: 38px;
	font-size: 2.375em;
}
.font37 {
	font-size: 37px;
	font-size: 2.3125em;
}
.font36 {
	font-size: 36px;
	font-size: 2.25em;
}
.font35 {
	font-size: 35px;
	font-size: 2.188em;
}
.font34 {
	font-size: 34px;
	font-size: 2.125em;
}
.font33 {
	font-size: 33px;
	font-size: 2.0625em;
}
.font32 {
	font-size: 32px;
	font-size: 2em;
}
.font31 {
	font-size: 31px;
	font-size: 1.938em;
}
.font30 {
	font-size: 30px;
	font-size: 1.875em;
}
.font29 {
	font-size: 29px;
	font-size: 1.8125em;
}
.font28 {
	font-size: 28px;
	font-size: 1.75em;
}
.font27 {
	font-size: 27px;
	font-size: 1.6875em;
}
.font26 {
	font-size: 26px;
	font-size: 1.625em;
}
.font25 {
	font-size: 25px;
	font-size: 1.563em;
}
.font24 {
	font-size: 24px;
	font-size: 1.5em;
}
.font23 {
	font-size: 23px;
	font-size: 1.4375em;
}
.font22 {
	font-size: 22px;
	font-size: 1.375em;
}
.font21 {
	font-size: 21px;
	font-size: 1.313em;
}
.font20 {
	font-size: 20px;
	font-size: 1.25em;
}
.font19 {
	font-size: 19px;
	font-size: 1.1875em;
}
.font18 {
	font-size: 18px;
	font-size: 1.125em;
}
.font17 {
	font-size: 17px;
	font-size: 1.063em;
}
.font16 {
	font-size: 16px;
	font-size: 1em;
}
.font15 {
	font-size: 15px;
	font-size: 0.9375em;
}
.font14 {
	font-size: 14px;
	font-size: 0.875em;
}
.font13 {
	font-size: 13px;
	font-size: 0.8125em;
}
.font12 {
	font-size: 12px;
	font-size: 0.75em;
}
.font11 {
	font-size: 11px;
	font-size: 0.6875em;
}
.font10 {
	font-size: 10px;
	font-size: 0.625em;
}

/* margin */
.margin10p {
	margin-top: 10px;
}
.margin20p {
	margin-top: 20px;
}
.margin50p {
	margin-top: 50px;
}
.margin100p {
	margin-top: 100px;
}
.margin120p {
	margin-top: 120px;
}
.margin200p {
	margin-top: 200px;
}
.margin500p {
	margin-top: 500px;
}
.margin_100p {
	margin-top: -100px;
}
.margin_250p {
	margin-top: -250px;
}
.marginl10 {
	margin-left: 10px;
}
.padding10p {
	padding-top: 10px;
}
.padding25p {
	padding-top: 25px;
}
.padding50p {
	padding-top: 50px;
}
.padding100p {
	padding-top: 100px;
}
.paddingb10p {
	padding-bottom: 10px;
}
.paddingb50p {
	padding-bottom: 50px;
}
.paddingb100p {
	padding-bottom: 100px;
}
.paddingb150p {
	padding-bottom: 150px;
}

/* visible */
.visible1920 {
	display: none;
}
.visible1800 {
	display: none;
}
.visible1000 {
	display: none;
}
.visible900 {
	display: none;
}
.visible800 {
	display: none;
}
.visible750 {
	display: none;
}
.visible650 {
	display: none;
}
.visible500 {
	display: none;
}
.visible400 {
	display: none;
}
.visible320 {
	display: none;
}

/* clearfix */
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

/*重なりの優先度*/
.relative {
	position: relative;
}
.z1 {
	z-index: +1;
}
.z2 {
	z-index: +2;
}
.z3 {
	z-index: +3;
}
.z4 {
	z-index: +4;
}
.z99 {
	z-index: +9999;
}

/*横幅*/
.w100 {
	width: 100%;
}
.w95 {
	width: 95%;
}
.w90 {
	width: 90%;
}
.w85 {
	width: 85%;
}
.w80 {
	width: 80%;
}
.w75 {
	width: 75%;
}
.w70 {
	width: 70%;
}
.w65 {
	width: 65%;
}
.w60 {
	width: 60%;
}
.w55 {
	width: 55%;
}
.w50 {
	width: 50%;
}
.w45 {
	width: 45%;
}
.w40 {
	width: 40%;
}
.w35 {
	width: 35%;
}
.w30 {
	width: 30%;
}
.w25 {
	width: 25%;
}
.w20 {
	width: 20%;
}
.w15 {
	width: 15%;
}
.w10 {
	width: 10%;
}
.w5 {
	width: 5%;
}

.span span {
	display: inline-block;
}
.inline_b {
	display: inline-block;
}
.justify {
	text-align: justify;
	text-justify: inter-ideograph;
}
.pointer_evNone {
	pointer-events: none;
}
.pointer {
	cursor: pointer;
}
.flex {
	display: -webkit-box;
	/* Androidブラウザ用 */
	display: flex;
}
.flex-start {
	-webkit-box-pack: start;
	/* Androidブラウザ用 */
	justify-content: flex-start;
}
.flex-end {
	-webkit-box-pack: end;
	/* Androidブラウザ用 */
	justify-content: flex-end;
}
.flex-center {
	-webkit-box-pack: center;
	/* Androidブラウザ用 */
	justify-content: center;
}
.flex-space-between {
	-webkit-box-pack: justify;
	/* Androidブラウザ用 */
	justify-content: space-between;
}
.flex-a-start {
	-webkit-box-align: start;
	/* Androidブラウザ用 */
	align-items: flex-start;
}
.flex-a-end {
	-webkit-box-align: end;
	/* Androidブラウザ用 */
	align-items: flex-end;
}
.flex-a-center {
	-webkit-box-align: center;
	/* Androidブラウザ用 */
	align-items: center;
}
.flex-a-baseline {
	-webkit-box-align: baseline;
	/* Androidブラウザ用 */
	align-items: baseline;
}
.flex-a-stretch {
	-webkit-box-align: stretch;
	/* Androidブラウザ用 */
	align-items: stretch;
}
.flex-wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

main,
article,
aside,
nav,
header,
footer,
img,
button,
picture,
picture source {
	display: block;
}

body {
	/*iphone用*/
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
}





/*==================================================
サイト毎
==================================================*/

/*---------- 定数 ----------*/
.scroll::-webkit-scrollbar {
	width: 17px;
}

.border_radius_5 {
	border-radius: 5px;
}


.wf-notosansjapanese {
	font-family: "Noto Sans JP";
}

.back_white {
	background-color: #fff;
}

.back_white_transparent {
	background-color: rgba(255, 255, 255, 0.5);
}

.black {
	color: #28282D;
}

.darkglay {
	color: #B9BEBE;
}
.glay {
	color: #CDD2D2;
}
.white {
	color: #ffffff;
}
.green {
	color: #00BE8C;
}
.yellow {
	color: #F0D764;
}
.blue {
	color: #3296dc;
}

.font_blue {
	color: #006ebe;
}
.font_red {
	color: #CC1459;
}
.font_green {
	color: #007846;
}

.text_center {
  text-align: center;
}


/*---------- ヘッダー ----------*/

#main #top {
	background-color: #ffffff;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	display: none;
}

#top {
	position: fixed;
	z-index: 1000;
	width: 100%;
	max-width: 1800px;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: #ffffff;
	height: 60px;
	box-shadow: 0 2px 2px rgb(0 0 0 / 20%);
}

.global-nav {
	position: absolute;
	width: 100%;
	z-index: 10;
	height: 50px;
}
.global-nav__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.global-nav__list2 {
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: center;
}

.global-nav__list li a {
	display: block;
	color: #111;
	text-decoration: none;
}

.global-nav.clone-nav {
	position: fixed;
	top: -100px;
	left: 0;
	transition: all 1s;
	background-color: #ffffff;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	height: 60px;
}
.global-nav.clone-nav.is-fixed-nav {
	top: 0;
}


.brand {
	font-weight: bold;
	font-size: 20px;
}

.button--icon {
	min-width: initial;
	padding: 0.5rem;
}

.site-header {
	position: fixed;
	top: 0;
	/* position: relative; */
	background-color: rgba(255, 255, 255, 0.8);
}

.site-header__wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.site-header__start {
	display: flex;
}
.site-header__start > * + * {
	margin-left: 1rem;

}
.site-header__end {
  display: flex;
  align-items: center;
}

@media (max-width: 599px) {
	.site-header__middle {
		flex: 0 0 100%;
		order: 2;
		margin-top: 1rem; 
	}
}

.nav__wrapper {
	position: fixed;
	top: 100px;
	left: 0;
	width: Max(300px, 20%);
	bottom: 0;
	z-index: 1;
	visibility: hidden;
	opacity: 0;
	transform: translateX(-100%);
	background-color: rgba(255, 255, 255, 0.8);
	transition: transform 0.3s ease-out, opacity 0.3s ease-out;
	display: block;
}
.nav__wrapper.active {
	visibility: visible;
	opacity: 1;
	transform: translateX(0);
}
.nav__item {
	border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
.nav__item a {
	display: block;
	padding: 1rem 1rem;
}

.nav__item_sub {
	border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
.nav__item_sub a {
	display: block;
	padding: 0.5rem 1.5rem;
	/* color: #2B4040; */
}

.sub-nav {
	display: flex;
	flex-wrap: wrap;
}
.sub-nav li:not(:last-child) {
	margin-right: 1.5rem;
}
.sub-nav li {
	list-style: none;
	margin: 0;
	padding: 10px;
}


@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");
.wrapper {
	max-width: 1140px;
	padding-left: 1rem;
	padding-right: 1rem;
	margin-left: auto;
	margin-right: auto;
}

*,
*:before,
*:after {
	box-sizing: border-box;
}

a {
	text-decoration: none;
	color: #222;
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.sr-only {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	padding: 0;
	border: 0;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.button {
	-webkit-appearance: none;
		 -moz-appearance: none;
					appearance: none;
	color: #fff;
	background-color: #2fa0f6;
	min-width: 120px;
	padding: 0.5rem 1rem;
	border-radius: 5px;
	text-align: center;
}

.button svg {
	display: inline-block;
	vertical-align: middle;
	width: 24px;
	height: 24px;
	fill: #fff;
}

.button span {
	display: none;
}

@media (min-width: 600px) {
	.button span {
		display: initial;
	}
}

.button--icon {
	min-width: initial;
	padding: 0.5rem;
}

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn5{
	position: relative;/*ボタン内側の基点となるためrelativeを指定*/
	/* background:#666; */
	cursor: pointer;
	width: 50px;
	height:50px;
	border-radius: 5px;
}

/*ボタン内側*/
.openbtn5 span{
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
}

.openbtn5 span:nth-of-type(1),
.openbtn5 span:nth-of-type(3) {
		height: 2px;
		background: #28282d;
		width: 62%;
		left: 10px;
 }

.openbtn5 span:nth-of-type(1) {
	top:13px; 
}

.openbtn5 span:nth-of-type(2) {
	top:19px;
	left:11px;
	font-size:0.6rem;
	text-transform: uppercase;
	color: #28282d;
}

.openbtn5 span:nth-of-type(3) {
	top:36px;
}

/*activeクラスが付与されると線が回転して×になり、Menu表記をしている2つ目の要素が透過して消える*/
.openbtn5.active span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
}

.openbtn5.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn5.active span:nth-of-type(3){
		top: 30px;
		left: 18px;
		transform: translateY(-6px) rotate(45deg);
		width: 30%;
}




/*---------- フッター ----------*/

footer {
	position: relative;
	z-index: 2;
	text-align: center;
	background-color: #28282d;
}

.copyright {
	padding: 10px 0;
	text-decoration: none;
}

.copyright,
.copyright a {
	font-size: 14px;
	color: #fff;
}

#footernav {
	display: none;
}



/*---------- error ----------*/

.err_msg {
	font-size: 0.8em;
	font-weight: bold;
	text-align: center;
	color: #ff4b4b;
	margin: 0 0 1em 0;
}

.err_msg2 {
	font-size: 0.8em;
	color: #CC1459;
	font-weight: bold;
	margin: 0.5em 1em 0 0;
}

.err-field {
	font-size: 1.8em;
	margin-top: -2%;
}

#err2 {
	margin-bottom: 5%;
}

.err-field2 {
	font-size: 1.5em;
	margin-top: 3%;
}



/*---------- フォーム ----------*/

input:-webkit-autofill {
	transition: background-color 5000s ease-in-out 0s !important;
}

input::placeholder {
	color: #8F8F8F;
}

/* IE11 & IE10 */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #8F8F8F;
}

/* Edge */
input::-ms-input-placeholder {
	color: #8F8F8F;
}

input[type="text"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type="text"],
input[type="tel"],
input[type="email"] {
	width: 100%;
	border: 0;
	font-size: 1em;
	padding: 0.3em 0.6em;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-top: 1px solid #002832;
	border-bottom: 1px solid #002832;
	border-right: 1px solid #002832;
	border-left: 1px solid #002832;
	background-color: #fff;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

select {
	width: 100%;
	border: 0;
	font-size: 1em;
	padding: 0.3em 0.6em;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	/*
	border-top: 1px solid #006ebe;
	border-bottom: 1px solid #006ebe;
	border-right: 1px solid #006ebe;
	border-left: 1px solid #006ebe;
	*/
	background-color: #fff;
}


.form-field {
	margin-bottom: 7%;
	font-size: 1.6em;
}

.form-inner {
	width: 75%;
	max-width: 700px;
	margin: 10% auto;
}

.form-inner .title {
	font-size: 1.6em;
	padding-bottom: 0.2em;
}

button {
	background-color: transparent;
	border: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	cursor: pointer;
	font-size: 1em;
}

button:focus,
input:focus,
select:focus,
textarea:focus,
section:focus,
main:focus,
article:focus,
nav:focus,
header:focus,
footer:focus,
div:focus,
a:focus {
	outline: none;
}

button:hover {
	cursor: pointer;
}



/*---------- チェックボックス ----------*/

.checkbox {
	display: flex;
	justify-content: center;
	font-size: 30px;
	margin-left: 7%;
}

.checkbox label {
	position: relative;
	display: block;
	cursor: pointer;
	width: auto;
	margin-right: 0.5em;
	margin-left: 0.5em;
	text-align: left;
}

.checkbox label span.txt {
	display: inline-block;
	line-height: 1.3;
	position: relative;
}

.checkbox label input {
	display: none;
}

.checkbox label input + span.txt::before {
	content: "";
	display: block;
	background: #fff;
	width: 1em;
	height: 1em;
	box-shadow: none;
	margin-right: 0.7em;
	position: absolute;
	left: -1.5em;
	border: 1px solid #006ebe;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

.checkbox label input:checked + span.txt::after {
	content: "";
	display: block;
	position: absolute;
	left: -1em;
	width: 0.5em;
	height: 1.3em;
	-webkit-transform: rotate(40deg);
	-moz-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	-o-transform: rotate(40deg);
	transform: rotate(40deg);
	border-bottom: 3px solid #CC1459;
	border-right: 3px solid #CC1459;
	top: -25%;
}

.overlay {
	opacity: 0;
	visibility: hidden;
	z-index: 99999;
	position: fixed;
	top: -10px;
	left: 0;
	right: 0;
	bottom: -10px;
	background-color: rgba(4, 0, 0, 0.6);
	overflow: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.overlay .inner {
	padding-top: 100px;
	padding-bottom: 50px;
	padding-left: 0;
	padding-right: 0;
}

.overlay .container {
	width: 95%;
	margin-left: auto;
	margin-right: auto;
}

.overlay .more {
	width: 100%;
	max-width: 800px;
	-webkit-transition: margin 1s ease;
	-moz-transition: margin 1s ease;
	-ms-transition: margin 1s ease;
	-o-transition: margin 1s ease;
	transition: margin 1s ease;
	border: none;
}

.overlay.is-show {
	opacity: 1;
	visibility: visible;
}

.close_btn {
	text-align: center;
	cursor: pointer;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 999;
}

.arky_un_popa {
	position: absolute;
	bottom: 12%;
	left: 50%;
	transform: translate(-50%);
}



/*---------- ■■■■■ ----------*/




/*==================================================
ページ毎
==================================================*/

.index-about {
	padding: 10px 40px;
}

.index-inner {
	max-width: 1176px;
	margin: 0 auto;
}

#video-area{
	position: fixed;
	z-index: -1;/*最背面に設定*/
	top: 0;
	right:0;
	left:0;
	bottom:0;
	overflow: hidden;
}

#video {
	/*天地中央配置*/
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	/*縦横幅指定*/
	width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
	height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
	min-height: 100%;
	min-width: 100%;
}

.title_box {
	text-align: center !important;
}
.title_top {
	max-width: 90%;
	margin: auto;
	font-size: 75px;
	padding-bottom: 1px;
}
.title_text{
	text-align: center !important;
	font-size: 25px;
	/* padding-bottom: 1px;
	position:absolute;
	top: 37%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%); */
}

.top_text{
	/*要素の配置*/
	text-align: center !important;
	max-width: 90%;
	font-size: 35px;
	padding-bottom: 1px;
	position:absolute;
	/*要素を天地中央寄せ*/
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	/*見た目の調整*/
	/* color:#28282d; */
}
.top_shadow_black{
	text-shadow: 0 0 15px #666;
}
.top_shadow_green{
	text-shadow: 0 0 15px #00be8c;
}
.top_shadow_yellow{
	text-shadow: 0 0 15px #f0d764;
}



/*---------- index ----------*/

#home_title {
	position: static;
	height: 1000px;
}
#home_content {
	position: static;
	background-color: #28282d;
}
#home_service {
	position: static;
	/* height: 1000px; */
	background-color: #28282d;
}

.home_interval {
	position: static;
	background-color: #28282d;
	height: 200px;
}


.home-list {
	margin: 56px auto 64px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: left;
}
.home-list_item {
	width: calc(100% / 3 - 25px);
}
.home-list_img {
	position: relative;
	content: '';
	padding: 10px;
}
.home-list_title--large {
	letter-spacing: -2px;
	line-height: 1;
	padding: 0 10px;

	margin-top: 15px;
	margin-bottom: 5px;
	font-size: 34px;
}
.home-list_title--shoulder {
	padding: 0 10px;
	font-size: 16px;
}
.home-list_text {
	/* color: #666; */
	line-height: 1.3;
	padding: 10px 10px 20px 10px;
	margin: 11px 0 17px;
}



#container{
background:#fff;
padding:300px 0;
text-align: center;
}

.image_btn01 {
	position: absolute;
	bottom: 0%;
}
.image_01_1 {
	position: absolute;
	top: 1%;
}
.image_01_2 {
	position: absolute;
	bottom: 0%;
}
.image_02_1 {
	position: absolute;
	top: 0%;
}

.form {
	position: absolute;
	top: 30%;
}
.countdown {
	font-size: 32px;
	font-weight: bold;
	margin: 10px 5px 10px 5px;
	text-align: center;
}
.timer, .timer-1 {
	font-size: 32px;
	font-weight: bold;
	color: #CC1459;
}
.timer div, .timer-1 div {
		display: inline-block;
}
.countdown div {
		display: inline-block;
}
.countdownarea {
	background-color: rgba(255, 255, 255, 0.7);
	position: absolute;
	top: 1%;
	width: 100%;
	max-width: 1920px;
}

.image_price {
	position: absolute;
	bottom: 0%;
}
.image_price_payment {
	position: absolute;
	bottom: 0%;
}

.white_area {
	background-color: rgba(255, 255, 255, 0.7);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%);
	padding-bottom: 35px;
	width: 870px;
	height: 100%;
}

.back_green {
	background: -moz-linear-gradient(top, #97ba80, #e6f0cd);
	background: -webkit-linear-gradient(top, #97ba80, #e6f0cd);
	background: linear-gradient(to bottom, #97ba80, #e6f0cd);
}

.white_area2 {
	background-color: rgba(255, 255, 255, 0.7);
	width: 870px;
	padding-top: 50px;
	padding-bottom: 100px;
}

.back_dot {
	background-image: url(../img/arky_bg_gdot.png);
	background-repeat: repeat;
}

.white_area3 {
	background-color: #fff;
	width: 870px;
	padding-top: 50px;
	padding-bottom: 250px;
}

.stepsumaho {
	position: absolute;
	top: 27%;
	left: 2%;
}

.back_green2 {
	background-color: #e6f0cd;
}

.back_blue {
	background-color: #c6e4eb;
}

.caution {
	font-size: 20px;
}

.red {
	color: #CC1459;
}

.small {
	font-size: small;
	display: inline-block;
	vertical-align: super;
}

.radio-field {
	font-size: 1.8em;
}


input[type="radio"] {
	display: none;
}

.c-radio {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	position: relative;
	right: 0;
	bottom: 0;
	left: 0;
	height: 25px;
	width: 25px;
	vertical-align: middle;
	transition: all 0.15s ease-out 0s;
	cursor: pointer;
	display: inline-block;
	margin: 0.4rem;
	outline: none;
	border-radius: 50%;
	border: 4px double #007846;
}
.c-radio:before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	margin: -3%;
	transform: scale(0);
	transition: all ease-out 250ms;
}

:checked + .c-radio:before {
	transform: scale(1);
	background: #007846;
}


.on-startBtn+.index-btn__link {
	opacity: 1;
	bottom: 0;
}
.index-btn__link {
	position: relative;
	bottom: -30px;
	/* opacity: 0; */
}
.btn-square--white {
	color: #fff;
	border-color: #fff;

	max-width: 253px;
	padding: 8px 0 9px;
	font-size: 14px;

	display: block;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	border: 2px solid;
}

.btn-square:after, .btn-square--white:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 7px;
	width: 7px;
	margin: -2px 0 0 5px;
	border: 2px solid;
	border-left-width: 0;
	border-top-width: 0;
	transform: rotate(-45deg);
}




/*---------- company ----------*/

.company_table{
	border-spacing: 0px;
	border: 0.5px solid #d5d5d5;
	width: 85%;
	margin: auto;
}

.company_table_td{
	border: 0.5px solid #d5d5d5;
	padding: 0.5rem 1rem;
}

.company-greeting_text {
	line-height: 1.3;
	padding: 10px 10px 20px 10px;
	width: 85%;
	margin: auto;
}
.corporate_philosophy_image {
	width: 85%;
	margin: auto;
	padding-bottom: 25px;
}


/*---------- content ----------*/


.content-list__top_img {
	position: relative;
	content: "";
	width: 1500px;
	text-align:center;
	display: flex;
  justify-content: center;
}

.title-item {
	text-align: center;

	font-size: 75px;
	padding-bottom: 1px;
}
.title-shoulder {
	text-align: center;

	font-size: 20px;
	margin: 0 0 1px;
}

ul {
	list-style: none;
}
figure {
	display: block;
	margin-block-start: 0em;
	margin-block-end: 0em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
}

.content-list {
	margin: 56px auto 64px;
	display: flex;
	justify-content: space-between;

	flex-wrap: wrap;

	text-align: left;
}
.content-list_item {
	width: calc(100% / 3 - 25px);
}
.content-list_img {
	position: relative;
	content: '';
	padding: 10px;
}
.content-list_title--large {
	letter-spacing: -2px;
	line-height: 1;
	padding: 0 10px;

	margin-top: 15px;
	margin-bottom: 5px;
	font-size: 34px;
}
.content-list_title--shoulder {
	padding: 0 10px;
	font-size: 16px;
}
.content-list_text {
	/* color: #666; */
	line-height: 1.3;
	padding: 10px 10px 20px 10px;
	margin: 11px 0 17px;
}





/*---------- service ----------*/

.service-menu_item{
	margin-bottom: 146px;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-flow: row-reverse;
	flex-flow: row-reverse;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 0 50px 0;
	display: flex
}

.service-menu_item .service-menu_textBox {
	width: 550px;
	padding: 20px 0 10px 0;
	font-size: 20px;
}
.service-menu_item .service-menu_image {
	width: calc(100% - 518px);
	padding: 10px;
	margin-left: 0;
}
.service-menu_title--large {
	letter-spacing: -2px;
	line-height: 1;
	padding: 0 10px;

	margin-top: 15px;
	margin-bottom: 5px;
	font-size: 34px;
}
.service-menu_title--shoulder {
	padding: 0 10px;
	font-size: 16px;
}
.service-menu_text {
	/* color: #666; */
	line-height: 1.3;
	padding: 10px 10px 20px 10px;

	margin: 11px 0 0 0;
}
.servise-BtnArea {
	width: 550px;
	margin: auto;
	padding: 10px;
}

#service_document_request{
	position: static;
	background-color: #CDD2D2;
}




/*---------- recruit ----------*/

.recruit_table{
	border-spacing: 0px;
	border: 0.5px solid #d5d5d5;
	width: 85%;
	margin: auto;
}

.recruit_table_td{
	border: 0.5px solid #d5d5d5;
	padding: 0.5rem 1rem;
}





/*---------- contact ----------*/

.inner {
  max-width: 1000px;
  margin: 0 auto;
}

#contact {
  padding-bottom: 100px;
  text-align: left;
  /* background: #64c8e6; */
}
#contact form {
	position: static;
	top: 50%;
}

.main-inner {
	max-width: 1070px;
	width: auto;
	margin: 0 auto;

	padding: 0 35px;
}

.contact-form {
	max-width: 740px;
	margin: 0 auto;
}

.contact-form .title-main {
	font-size: 40px;

	padding-bottom: 10px;
}

.title-main, .title-large, .title-item, .company-list__title--large {
	/* color: transparent; */
	background-size: 540px auto;
	-webkit-background-clip: text;
	background-clip: text;
	letter-spacing: -2px;
	line-height: 1;
}

.contact-form_lead {
	margin-bottom: 34px;
}

.contact-formList {
	padding-bottom: 20px;
	/* border-bottom: 1px solid #dbdbdb; */
}

.contact-formList__item {
	width: 100%;
	display: table;
	table-layout: fixed;
}

.contact-formList__title {
	width: 200px;
	padding: 16px 60px 18px 0;
}
.contact-formList__title {
	position: relative;
	color: #333;
}
.contact-formList__title, .contact-formList__data {
	display: table-cell;
	vertical-align: top;
	padding: 10px 0;
	font-size: 15px;
}
.contact-formList__title, .contact-formList__data {
	letter-spacing: normal;
}
.contact-formList__title .required {
	position: absolute;
	top: 14px;
	right: 20px;
	font-size: 13px;

	line-height: 20px;
	text-align: right;
	color: #ff4b4b;
}

.contact-formList__data {
	position: relative;
	color: #444;
}
.contact-formList__title, .contact-formList__data {
	display: table-cell;
	vertical-align: top;
	padding: 10px 0;
	font-size: 15px;
}
.contact-formList__title, .contact-formList__data {
	letter-spacing: normal;
}
input[type="url"], input[type="tel"], input[type="date"], input[type="text"], input[type="email"], input[type="number"], input[type="search"], input[type="password"] {
	padding: 0 15px;
	height: 36px;
	width: 100%;
}

.contact-formList__inputs {
	padding-top: 2px;
	display: flex;
	flex-wrap: wrap;
}
.contact-formList__inputs.inputs_middle>span {
	width: calc(100% / 2 - 2px);
}
.contact-formList__inputs>span {
	width: calc(100% / 3 - 5px);
	padding-left: 10px;
}
.contact-formList__inputs>span {
	margin-left: 0 !important;
}

.contact-formList__data>textarea {
	width: 100%;
}
:placeholder-shown {
	color: #999;
}
textarea {
	width: 100%;
	padding: 10px 15px;
}
textarea {
	display: block;
	background: none;
	border: solid 1px #444;
	border-radius: 1px;
}


.btn-inquiry__submit--in {
	font-size: 18px;
	padding: 17px 0 20px;
}
.btn-inquiry__submit--in {
	display: block;
	width: 100%;
}
.btn-inquiry__submit--in, .btn-showmore {
	cursor: pointer;
}
.btn-inquiry, .btn-inquiry-large, .btn-inquiry__submit--in, .btn-showmore {
	position: relative;
	text-align: center;
	display: block;
	margin: 0 auto;
	color: #fff;
	background: #3296dc;
	line-height: 1;
	box-shadow: 0 3px 5px rgba(0,0,0,0.5);
	border-radius: 50px;
	transition: all .2s;
}





#contact.confirm .contactBox .formR dd {
  min-height: 295px;
  padding: 10px;
  background: #efefef;
}

#contact.confirm .contactBox .formL dd {
  background: #efefef;
  padding: 10px;
}

#contact.confirm .contactBox .formL dd.checkList {
  background: #fff;
}

#contact.confirm .contactBox .formC dd {
  background: #ffffff;
  padding: 10px;
}

#contact.confirm .contactBox .formC dd.checkList {
  background: #fff;
}

#contact.complete {
  position: relative;
  overflow: hidden;
}

#contact.complete .box {
  text-align: center;
}

#contact.complete .box p {
  margin-bottom: 40px;
}

#contact.complete .box h3 {
  padding-top: 40px;
}

#contact .box:after {
  content: "";
  display: block;
  clear: both;
}

#contact .box h2 {
  text-align: center;
}

#contact .img {
  position: absolute;
  right: 0;
  top: 200px;
  z-index: 1;
}

#contact .contactBox {
  width: 100%;
  transition-property: all;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(1, 0.3, 0, 0.99);
  transition-delay: 0s;
}

#contact .contactBox h3 {
  font-size: 3.0rem;
  margin-bottom: 50px;
}

#contact .contactBox {
  width: 100%;
  transition-property: all;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(1, 0.3, 0, 0.99);
  transition-delay: 0s;
}

#contact .contactBox h3 {
  font-size: 3.0rem;
  margin-bottom: 50px;
}

#contact .contactBox p {
  font-size: 1.6rem;
  margin-bottom: 85px;
}

#contact .contactBox .formCont {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  /* font-size: 1.6rem; */
  margin-bottom: 20px;
  color: #ffffff;
	width:750px;
}

#contact .contactBox .formCont .formC {
  width: 100%;
}

#contact .contactBox .formCont .formL {
  width: 46%;
}

#contact .contactBox .formCont .formR {
  width: 46%;
}

#contact .contactBox .formCont dt {
  margin-bottom: 5px;
}

#contact .contactBox .formCont dd {
  margin-bottom: 25px;
}

#contact .contactBox .formCont dd input {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  background: transparent;
}

#contact .contactBox .formCont dd input[type="text"], #contact .contactBox .formCont dd input[type="email"] {
  box-sizing: border-box;
  width: 100%;
	border: 1px solid #28282d;
  caret-color: #ccc;
  padding: 10px 3%;
  font-size: 1.6rem;
  transition: .4s;
  background-color: #ffffff;
}

#contact .contactBox .formCont dd input[type="text"]:focus, #contact .contactBox .formCont dd input[type="email"]:focus {
  border-bottom: 1px solid #666;
}

#contact .contactBox .formCont dd input[type="checkbox"], #contact .contactBox .formCont dd input[type="radio"] {
  width: 15px;
  height: 15px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  border-radius: 15px;
  margin-right: 8px;
  transition: .4s;
  background: transparent;
  vertical-align: sub;
}

#contact .contactBox .formCont dd input[type="checkbox"]:checked, #contact .contactBox .formCont dd input[type="radio"]:checked {
  background: #666;
  border: 1px solid #666;
}

#contact .contactBox .formCont dd input:focus {
  outline-offset: 0;
  outline: none;
}

#contact .contactBox .formCont dd textarea {
  -webkit-appearance: none;
  appearance: none;
  background: #ffffff;
	border: 1px solid #28282d;
  width: 100%;
  height: 200px;
  box-sizing: border-box;
  padding: 10px;
  margin-top: 20px;
  caret-color: #aaa;
  transition: .4s;
  border: 1px solid transparent;
}

#contact .contactBox .formCont dd textarea:focus {
  background: #fafafa;
  outline-offset: 0;
  outline: none;
  border: 1px solid #ddd;
}

#contact .contactBox .formCont dd label {
  display: inline-block;
  padding: 5px 0;
}

#contact .contactBox .formCont dd.checkList {
  position: relative;
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
}

#contact .contactBox .formCont dd.checkList > div {
  position: absolute;
  top: -42px;
  right: 20px;
}

#contact .contactBox .formCont dd.checkList > div label {
  cursor: pointer;
  vertical-align: text-top;
}

#contact .contactBox .submitBtn {
  text-align: center;
}

#contact .contactBox .submitBtn input {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 80%;
  height: 68px;
  margin: 0 auto;
  border: 1px solid transparent;
  border-radius: 100px;
  font-size: 1.8rem;
  background: #ffffff;
  color: #4baaaa;
  transition: all .3s;
}

#contact .contactBox .submitBtn input:hover {
  color: #fff;
  text-decoration: none;
  background: #4baaaa;
}

#contact .contactBox .submitBtn input:focus {
  outline-offset: 0;
  outline: none;
}





/*---------- confirmation ----------*/

.white_area_confirmation {
	background-color: #fff;
	width: 960px;
}
.back_gray {
	background: -moz-linear-gradient(top, #eeeeee, #eeeeee);
	background: -webkit-linear-gradient(top, #eeeeee, #eeeeee);
	background: linear-gradient(to bottom, #eeeeee, #eeeeee);
}

.inputName {
	font-size: 50px;
	font-weight: bold;
	margin: 10px 5px 10px 5px;
	text-align: center;
}
.inputName div {
		display: inline-block;
}
.inputNamearea {
	background-color: rgba(255, 255, 255, 0.7);
	position: absolute;
	top: 1%;
	width: 100%;
	max-width: 1920px;
}
.image_btn02 {
	position: absolute;
	bottom: 0%;
}
.image_confirmation_01_1 {
	position: absolute;
	top: 0%;
}
.image_confirmation_04_1 {
	position: absolute;
	top: 0%;
}
.image_confirmation_priceImage {
	position: absolute;
	bottom: 0%;
}


.image_confirmation_01_1 {
	position: absolute;
	top: 0%;
}
.image_confirmation_04_1 {
	position: absolute;
	top: 0%;
}
.image_confirmation_04_2 {
	position: absolute;
	bottom: 0%;
}

.youser_name {
	font-size: 62px;
	font-weight: bold;
	width: 100%;
	text-align: center;
}
.confirmation_text_area {
	/* position: absolute; */
	top: 43%;
	width: 100%;
}

.confirmation_area {
	width: 50%;
	margin-right: auto;
	margin-left: auto;
}

.confirmation_form_area {
	/* position: absolute; */
	top: 30%;
	width: 100%;
}

.qr_text1 {
	font-size: 28px;
}

.qr_text2 {
	font-size: 30px;
}

.qr_text3 {
	font-size: 20px;
}

.arky_un_07 {
	position: absolute;
	bottom: 0%;
	left: 50%;
	transform: translate(-50%);
}

.arky_price_1980 {
	position: absolute;
	bottom: 30%;
	left: 50%;
	transform: translate(-50%);
}



/*---------- payment ----------*/
.j_c {
	justify-content: center;
}

.back_yellow {
	background-color: #FFFAC8;
}

.image_payment_modal_btn_1 {
	position: absolute;
	bottom: -3%;
	left: 50%;
	transform: translate(-50%);
}

.image_payment_01_1 {
	position: absolute;
	top: 0%;
}
.image_payment_02_1 {
	position: absolute;
	top: 0%;
}
.image_payment_02_2 {
	position: absolute;
	bottom: 0%;
}

.arky_btn02 {
	position: absolute;
	top: 38%;
	left: 50%;
	transform: translate(-50%);
}

.pay_text {
	font-size: 20px;
}
.c_700 {
	text-align: center;
}

.pay_text2 {
	font-size: 35px;
}

.fk_a .white_area4 {
	background-color: #fff;
	width: 860px;
	padding-top: 0;
}

/*---------- 特定商・プライバシーポリシー ----------*/

.white_box {
	padding: 5%;
	border: 2px solid #321919;
	background-color: #fff;
}

.white_box.lawtext {
	padding: 2%;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.white_box.lawtext > div {
	padding: 1%;
	height: 12em;
	overflow-y: scroll;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.lawtext .scroll::-webkit-scrollbar-thumb {
	background: #002832;
}

.lawtext h2 {
	font-size: 1em;
	font-weight: bold;
	color: #28282D;;
}

.lawtext p {
	padding-bottom: 0.5em;
}

/*---------- ■■■■■ ----------*/

