@charset "UTF-8";

:root {
	font-size: 16px;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;
	line-break: strict;
	line-height: 1.8;
	--font-size-24: clamp(16px, 3.75vw, 24px);
	--font-size-16: clamp(14px, 2.5vw, 16px);
	--font-size-15: clamp(12px, 2.34375vw, 15px);
	--font-size-14: clamp(12px, 2.1875vw, 14px);
	--font-size-12: clamp(10px, 1.875vw, 12px);
	--sp-vw-100px: max(100px, 31.25vw);
	--sp-vw-80px: max(80px, 25vw);
	--sp-vw-75px: max(75px, 23.4375vw);
	--sp-vw-70px: max(70px, 21.875vw);
	--sp-vw-60px: max(70px, 18.75vw);
	--sp-vw-55px: max(55px, 17.1875vw);
	--sp-vw-50px: max(50px, 15.625vw);
	--sp-vw-40px: max(40px, 12.5vw);
	--sp-vw-32px: max(32px, 10vw);
	--sp-vw-30px: max(30px, 9.375vw);
	--sp-vw-28px: max(28px, 8.75vw);
	--sp-vw-25px: max(25px, 7.8125vw);
	--sp-vw-24px: max(24px, 7.5vw);
	--sp-vw-22px: max(22px, 6.875vw);
	--sp-vw-20px: max(20px, 6.25vw);
	--sp-vw-18px: max(18px, 5.625vw);
	--sp-vw-17px: max(17px, 5.3125vw);
	--sp-vw-16px: max(16px, 5vw);
	--sp-vw-15px: max(15px, 4.6875vw);
	--sp-vw-14px: max(14px, 4.375vw);
	--sp-vw-13px: max(13px, 4.0625vw);
	--sp-vw-12px: max(12px, 3.75vw);
	--sp-vw-11px: max(11px, 3.4375vw);
	--sp-vw-10px: max(10px, 3.125vw);
	--sp-vw-07px: max(7px , 2.1875vw);
	--sp-vw-06px: max(6px , 1.875vw);
	--sp-vw-05px: max(6px , 1.5625vw);
	--sp-vw-02px: max(2px , 0.625vw);
	--sp-vw-01px: max(1px , 0.3125vw);
}
@media only screen and (max-width: 767px) {
	:root {
		font-size: var(--sp-vw-14px);
	}
}
a {
	color: #3B4C85;
}

#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #3B4C85;
	z-index: 9999999;
	text-align: center;
	color: #fff;
}
#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
body {
	background: #3B4C85;
}
body.appear {
	background: #fff;
}
.splashbg {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border-width: 0px;
	border-style: solid;
	border-color: #3B4C85;
	/*拡大する四角の色*/
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
@keyframes backBoxAnime {
	99.9% {
			/*アニメーション終了ぎりぎりまで*/
			z-index: 2;
			/*最前面に*/
			border-width: 0px;
			/*開始はボーダーの太さは0*/
	}
	100% {
			z-index: -1;
			/*最背面に*/
			border-width: 0px;
			/*終了はボーダーの太さは0*/
	}
}
/*画面遷移の後現れるコンテンツ設定*/
.site-header, .site-main, .site-footer {
	opacity: 0;
}
/*bodyにappearクラスがついたら出現*/
/* body.appear .site-header,
body.appear .site-main,
body.appear .site-footer {
	animation-name: PageAnimeAppear;
	animation-duration: 1s;
	animation-delay: 0.2s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes PageAnimeAppear {
	0% {
			opacity: 0;
	}
	100% {
			opacity: 1;
	}
} */

/* ----- max & min width ----- */
@media all {
	body {
		min-width: 320px;
	}
	/* .site-main {min-height: 100vh;} */
}

@media print,
(min-width: 1025px) {

	.site-header,
	.site-main,
	.site-footer {
		min-width: 1280px;
	}
}

@media screen and (min-width: 1500px) {

	/* .site-header-inner,
	.section-inner {
		width: 1500px;
	}

	.site-header-inner {
		position: absolute;
		top: 0;
		left: calc(50% - 750px);
	} */

	.section-inner {
		margin: 0 auto;
	}
}


/* --HEADER-- */
@media all {
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		max-height: 100px;
		height: 15.625vw;
		background-color: #fff;
		width: 100%;
		z-index: 1000;
		font-feature-settings: "palt";
	}


	.site-header-logo {
		position: absolute;
		height: 100%;
	}

	.site-header-logo a {
		display: block;
		height: 100%;
		color: #223542;
	}

	.site-header-logo img {
		width: auto;
		height: 100%;
	}

	.site-header-nav a {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
		border-radius: 5px;
		font-weight: bold;
		line-height: 1.4;
	}

	.site-header-nav-item.faq {
		background-color: #3B4C85;
	}
	.site-header-nav-item.rakutoku {
		background-color: #00A0E9;
	}

	.site-header-nav-item.faq a,
	.site-header-nav-item.rakutoku a {
		color: #fff;
	}

	.site-header-nav-list-1 {
		display: none;
	}

	.site-header-lang {
		display: flex;
		justify-content: space-between;
	}

	.site-header-lang-item a {
		display: flex;
		justify-content: center;
		align-items: center;
		border: 1px solid rgba(59, 76, 133, .4);
		border-radius: 16.5px;
		transition: .3s;
	}
	.site-header-lang-item a:hover {
		background-color: #3B4C85;
		border-color: #3B4C85;
		color: #fff;
	}

	.site-header-lang-item.ja:lang(ja) a {
		border: none !important;
		background-color: #3B4C85;
		color: #fff;
	}
	.site-header-lang-item.en:lang(en) a {
		border: none !important;
		background-color: #3B4C85;
		color: #fff;
	}
	.site-header-lang-item.vi:lang(vi) a {
		border: none !important;
		background-color: #3B4C85;
		color: #fff;
	}
}

/* --HEADER-- tab & sp */
@media only screen and (max-width: 1024px) {
	body.nav-active {
		overflow: hidden;
	}

	.sp-nav-menu {
		position: fixed;
		top: clamp(70px, 15.625vw, 100px);
		right: -125%;
		width: 100vw;
		background-color: #f4f4f4;
		transition: right .5s;
		z-index: 1100;
		font-size: var(--font-size-24);
		height: calc(100vh - 15.625vw);
		max-height: calc(100vh - 70px);
		min-height: calc(100vh - 100px);
		overflow-y: scroll;
	}

	.nav-active .sp-nav-menu {
		right: 0;
	}

	.site-header-nav-list a {
		color: #223542;
		line-height: 1;
	}


	.site-header-nav-item {
		position: relative;
		margin: 0 auto;
		padding: 1em 0;
		width: calc(100% - 3em);
		line-height: 1;
	}
	.site-header-nav-item.faq {
		padding: 1.25em 1.5em;
		width: 100%;
	}
	.site-header-nav-item.rakutoku {
		padding: .75em 1.5em;
		width: 100%;
	}
	.site-header-nav-item.rakutoku img {
		width: auto;
		height: var(--sp-vw-28px);
	}
	.site-header-nav-item.rakutoku span + span {
		margin-left: .75em;
	}

	.site-header-nav-item.sub_menu {
		position: relative;
	}

	.site-header-nav-item.sub_menu > a {
		display: block;
		width: 50%;
	}

	.site-header-nav-item:not(.faq):not(.rakutoku)::after,
	.site-header-nav-item-1::after {
		content: '＞';
		position: absolute;
		top: 1em;
		right: 0;
		font-weight: 900;
		color: #3B4C85;
	}
	.site-header-nav-item .opener {
		position: absolute;
		top: 1em;
		right: 0;
		width: 1.2em;
		height: 1.1em;
		background-color: #f4f4f4;
		z-index: 1;
		cursor: pointer;
	}
	.site-header-nav-item .opener::before,
	.site-header-nav-item .opener::after {
		content: '';
		position: absolute;
		top: calc(50% - .075em);
		width: 1em;
		height: .15em;
		background-color: #3B4C85;
		transition: opacity .3s, transform .3s;
	}
	.site-header-nav-item .opener::before {
		transform: rotate(-90deg);
	}
	.site-header-nav-item.sub_menu-open .opener::before {
		transform: rotate(270deg);
		opacity: 0;
	}
	/* .site-header-nav-item.sub_menu-open .opener::after {
		transform: rotate(180deg);
	} */
	/* .site-header-nav-item.sub_menu::before,
	.site-header-nav-item.sub_menu::after {
		content: '';
		position: absolute;
		top: 1.5em;
		right: .15em;
		width: 1em;
		height: .15em;
		background-color: #3B4C85;
		transition: opacity .3s, transform .3s;
	}
	.site-header-nav-item.sub_menu::before {
		transform: rotate(-90deg);
	}
	.site-header-nav-item.sub_menu-open::before {
		transform: rotate(90deg);
		opacity: 0;
	}
	.site-header-nav-item.sub_menu-open::after {
		transform: rotate(180deg);
	} */

	.site-header-nav-item+.site-header-nav-item:not(.faq):not(.rakutoku) {
		border-top: 1px solid #BFC0C0;
	}

	.site-header-lang {
		padding: 1.85em 0;
		justify-content: space-evenly;
		background-color: #fff;
	}

	.site-header-lang-item a {
		width: 25vw;
		height: 8.90625vw;
		border-width: 2px;
		border-radius: 4.5vw;
		background-color: #fff;
	}

	.site-header-nav-item-1 {
		position: relative;
		margin-top: 1rem;
		padding-top: 1rem;
		padding-left: 1.5em;
		border-top: 1px solid #BFC0C0;
	}

	.site-header-nav-item-1::before {
		content: '・';
		position: absolute;
		top: 1rem;
		left: .75em;
		display: block;
		width: 1em;
		height: 1em;
		line-height: 1;
	}


}

/* --HEADER-- sp */
@media only screen and (max-width: 767px) {
	.site-header {
		min-height: 70px;
	}

	.site-header-logo {
		top: 0;
		left: 4.6875vw;
		width: 53.4vw;
		width: calc(22.65625vw + 140px);
		max-width: 330px;
		min-width: 236px;
	}

	.site-header-logo a {
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-end;
		align-items: center;
		width: 100%;
	}

	.site-header-logo-slide {
		margin-left: 1em;
		width: 140px;
		font-size: 10px;
	}

	.site-header-logo img {
		height: 7.2727vw;
		min-height: 32px;
	}

	.sp-nav-menu {
		font-size: var(--sp-vw-14px);
	}

	.site-header-nav-list-1 {
		font-size: var(--sp-vw-12px);
	}
}

/* --HEADER-- tab & pc */
@media print,
(min-width: 768px) {
	.site-header-logo {
		top: 15px;
		left: 30px;
		width: 160px;
		height: 70px;
	}

	.site-header-logo a,
	.site-header-logo-slide {
		width: 100%;
		font-size: 12px;
	}

	.site-header-logo img {
		height: 51px;
	}
}

/* --HEADER-- pc */
@media print,
(min-width: 1025px) {
	.site-header-nav a {
		flex-direction: column;
		justify-content: center;
	}

	.site-header-nav {
		display: flex;
		justify-content: flex-end;
		margin-top: 50px;
		margin-right: 370px;
		margin-left: auto;
		width: calc(100% - 520px);
		height: 50px;
		font-size: 14px;
	}

	.site-header-nav-list {
		display: flex;
		justify-content: space-between;
		width: 606px;
	}

	.site-header-nav-item,
	.site-header-nav-item-1 {
		display: inline-block;
		height: 50px;
	}

	.site-header-nav-item>a {
		height: 100%;
	}

	.site-header-nav-item.faq,
	.site-header-nav-item.rakutoku {
		position: absolute;
		top: 0;
		right: 0;
		width: 158px;
		height: 98px;
		font-size: 15px;
		transition: .3s;
	}
	.site-header-nav-item.faq {
		right: 160px;
	}
	.site-header-nav-item.rakutoku {
		padding-top: 4px;
		font-size: 14px;
	}
	.site-header-nav-item.rakutoku img {
		margin-top: 6px;
		width: 122px;
	}

	/* .site-header-nav-item.faq:hover {
		opacity: .8;
	} */

	.site-header-nav-item.faq span+span {
		margin-top: 10px;
	}

	.site-header-nav a::after {
		content: '';
		position: absolute;
		bottom: 1em;
		left: 0;
		height: 1px;
		width: 100%;
		background: #3B4C85;
		transform: scale(0);
		transition: .3s;
	}

	.site-header-nav-item:not(.rakutoku) a:hover::after {
		transform: scale(1);
	}

	.site-header-nav .sub_menu a::after {
		content: none;
	}

	.site-header-nav .sub_menu a::before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		height: 1em;
		width: 1px;
		background: #3B4C85;
		transform: scale(0);
		transform-origin: bottom center;
		transition: .25s;
	}

	.site-header-nav .sub_menu:hover a::after,
	.site-header-nav .sub_menu:hover a::before {
		transform: scale(1);
	}
	.site-header-nav-item .opener {
		display: none;
	}

	.site-header-nav-list-1 {
		position: absolute;
		top: 100px;
		right: 0;
		width: 100%;
		max-width: 1300px;
		height: 50px;
		background: #3B4C85;
		text-align: center;
	}
	/* .site-header-nav-item.service .site-header-nav-list-1 {
		padding-right: 450px;
	}
	.site-header-nav-item.company .site-header-nav-list-1 {
		padding-right: 470px;
	}
	.site-header-nav-item.recruit .site-header-nav-list-1 {
		padding-right: 370px;
	} */
	.site-header-nav-item.news_inside .site-header-nav-list-1 {
		padding-right: 275px;
		text-align: right;
	}

	.site-header-nav-list-1 a {
		color: #fff;
	}

	.site-header-nav-item-1+.site-header-nav-item-1 {
		margin-left: 3em;
	}

	.site-header-lang {
		position: absolute;
		top: 0;
		right: 370px;
		justify-content: space-between;
		align-items: flex-end;
		width: 330px;
		height: 50px;
	}

	.site-header-lang-item {
		width: 100px;
	}

	.site-header-lang-item a {
		width: 100px;
		height: 33px;
		border-radius: 16.5px;
		font-size: 14px;
	}

	body.service .site-header-nav .service a::after,
	body.company .site-header-nav .company a::after,
	body.recruit .site-header-nav .recruit a::after,
	body.flow .site-header-nav .flow a::after,
	body.news_inside .site-header-nav .news_inside a::after {
		content: '';
		position: absolute;
		bottom: 1em;
		left: 0;
		height: 1px;
		width: 100%;
		background: #3B4C85;
		transform: scale(1);
	}
	
	.site-header-nav .faq a span:not(.headerOnly):after {
		content: '';
		display: block;
		width: 100%;
		height: 1px;
		border-bottom: 1px solid #fff;
		opacity: 0;
		transition: .3s;
	}
	.site-header-nav .faq a:hover span:not(.headerOnly):after,
	body.faq .site-header-nav .faq a span:not(.headerOnly):after {
		opacity: 1;
	}
	.site-header-nav-item.rakutoku  {
		transition: .3s;
	}
	.site-header-nav-item.rakutoku:hover {
		opacity: .8;
	}
}

/* --HEADER-- tab */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.sp-nav-menu {
		max-width: 768px;
	}
	.site-header-nav-item.rakutoku img {
		height: 48px;
	}
}



/* --BURGER-- sp & tab */
@media only screen and (max-width: 1024px) {

	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}

	.menu-tirgger-wrapper {
		position: fixed;
		display: flex;
		align-items: center;
		z-index: 10002;
		right: min(35px, 5.46875vw);
		width: 7.8125vw;
		max-width: 50px;
		min-height: 70px;
		max-height: 100px;
		height: 15.625vw;
	}

	.menu-trigger {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 100%;
		height: 6.25vw;
		max-height: 40px;
		visibility: visible;
		opacity: 1;
		transition: transform .5s;
		cursor: pointer;
	}

	.menu-trigger span {
		/* position: absolute;
			left: 0; */
		width: 100%;
		height: .78125vw;
		max-height: 5px;
		min-height: 3px;
		background-color: #3B4C85;
		/* border-radius: 2.5px; */
	}

	.nav-active .menu-trigger span:nth-of-type(1) {
		transform: translateY(min(20px, 3.125vw)) rotate(-220deg) scaleX(1.25);
	}

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

	.nav-active .menu-trigger span:nth-of-type(3) {
		transform: translateY(max(-15px, -2.34375vw)) rotate(220deg) scaleX(1.25);
	}

	.nav-active .menu-trigger {
		visibility: visible !important;
		opacity: 1 !important;
	}

	.menu-trigger.hidden {
		visibility: hidden;
		opacity: 0;
		transition: .5s;
	}

	.menu-bg,
	.bg-trigger {
		display: block;
		position: absolute;
		top: clamp(70px, 15.625vw, 100px);
		left: 0;
		width: 100%;
		height: calc(100vh - 15.625vw);
		min-height: calc(100vh - 100px);
		visibility: hidden;
	}

	.menu-bg {
		background: rgba(0, 0, 0, .5);
		opacity: 0;
		transition: .5s;
	}

	.nav-active .menu-bg {
		opacity: 1;
		visibility: visible;
	}

	.bg-trigger {
		cursor: pointer;
	}

	.nav-active .bg-trigger {
		visibility: visible;
	}
}

/* --BURGER-- pc */
@media print,
(min-width: 1025px) {

	.menu-trigger,
	.menu-bg,
	.bg-trigger {
		display: none;
	}
}



/* --MAIN-- */
@media all {
	.main-section {
		position: relative;
		padding-top: clamp(70px, 15.625vw, 100px);
	}
	.section-header-ttl {
		text-align: center;
	}
	.page-header {
		width: 100%;
	}
	.page-header img {
		width: 100%;
		height: auto;
	}
	.link-button {
		margin-top: .75em;
	}
	.link-button a {
		display: inline-block;
		padding: .75em 1em;
		background-color: #3B4C85;
		font-weight: bold;
		color: #fff;
		line-height: 1;
	}
	ul.page-numbers {
		margin-top: 3em;
		display: flex;
		justify-content: center;
	}
	ul.page-numbers li + li {
		margin-left: 1.5em;
	}
	/* .page-header li a {
		display: block;
	} */
}

/* --MAIN-- sp */
@media only screen and (max-width:768px) {
	.site-main {
		padding-top: max(13.021vw, 70px);
	}
	.section-header-ttl {
		font-size: var(--sp-vw-22px);
	}
}

/* --MAIN-- tab & pc */
@media (min-width:769px) {
	.site-main {
		padding-top: 100px;
	}
	.section-header-ttl {
		font-size: 34px;
	}
	.link-button {
		font-size: 14px;
	}
	ul.page-numbers {
		margin-top: 80px;
	}
}

/* --MAIN-- pc */
@media screen and (min-width:1025px) {}

/* --MAIN-- wide */
@media screen and (min-width: 1281px) {
	.section-inner {
		margin-left: auto;
		margin-right: auto;
		width: 1280px;
	}
}

/* --post list-- */
@media all {
	.post-item {
		position: relative;
		display: flex;
		justify-content: space-between;
	}
	.post-item + .post-item {
		margin-top: 2em;
	}
	.post-item::before {
		content: attr(data-cat);
		display: inline-block;
		flex-shrink: 0;
		box-sizing: border-box;
		min-width: 6.25em;
		padding: .5em 1em;
		background: #fff;
		border: 2px solid #3B4C85;
		border-radius: 1.25em;
		font-weight: bold;
		color: #3B4C85;
		text-align: center;
		line-height: 1;
	}
	.post-item a {
		width: calc(100% - 7em);
		color: #000;
		transition: color .3s;
	}
	.post-item a:hover {
		color: #3B4C85;
	}
	.post-item a time {
		display: block;
	}
	.post-item a span {
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
	}
	.no-post {
		text-align: center;
	}
	.no-post span {
		font-weight: bold;
	}
}
/* --post list-- sp */
@media only screen and (max-width: 767px) {
	.post-item {
		align-items: flex-start;
		padding: 0 1.5em;
		font-size: var(--sp-vw-14px);
	}
	.post-item time,
	.post-item::before {
		font-size: var(--sp-vw-10px);
	}
	.post-item::before {
		margin-top: .75em;
		border-width: var(--sp-vw-02px);
	}
	.post-item a span {
		-webkit-line-clamp: 3;
	}
	.no-post {
		margin-top: var(--sp-vw-50px);
	}
}
/* --post list-- tab & sp */
@media print,
(min-width: 769px) {
	.post-list {
		margin: 0 auto;
		width: 100%;
		max-width: 735px;
	}
	.post-item {
		align-items: center;
		font-size: 14px;
	}
	.post-item time,
	.post-item::before {
		font-size: 12px;
	}
	.post-item a span {
		-webkit-line-clamp: 1;
	}
	.no-post {
		margin-top: 100px;
	}
}

/* --breadcrumbs-- */
@media all {
	.breadcrumbs {
		color: #000;
	}
	.breadcrumbs::after {
		content: '';
		display: block;
		clear: both;
	}
	.breadcrumbs li {
		float: left;
		position: relative;
	}
	.breadcrumbs li + li {
		margin-left: 1em;
		padding-left: 1.5em;
	}
	.breadcrumbs li + li::before {
		content: '>';
		position: absolute;
		top: 0;
		left: 0;
	}
}
@media only screen and (max-width: 767px) {
	.breadcrumbs-outer {
		position: relative;
		margin-top: var(--sp-vw-12px);
		padding: 0 1em;
		font-size: var(--sp-vw-12px);
	}
	.breadcrumbs-outer::before,
	.breadcrumbs-outer::after {
		content: '';
		position: absolute;
		top: 0;
		left: 1em;
		width: 1em;
		height: calc(100% - 10px);
		background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0));
		z-index: 1;
	}
	.breadcrumbs-outer::after {
		left: auto;
		right: 1em;
		transform: rotate(180deg);
	}
	.breadcrumbs {
		padding: 0 1em 10px;
		white-space: nowrap;
		width: 100%;
		overflow-x: scroll;
	}
	.breadcrumbs li {
		float: none;
		display: inline-block;
	}
	.breadcrumbs li:last-child {
		padding-right: var(--sp-vw-16px);
	}
}
@media print,
(min-width: 768px) {
	.breadcrumbs {
		margin: 16px auto 0;
		padding-left: 70px;
		max-width: 1300px;
		font-size: 12px;
	}
	.breadcrumbs li:last-child {
		max-width: 300px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.breadcrumbs li + li {
		margin-left: .75em;
		padding-left: 1.25em;
	}
}
/* --contact-- */
@media all {
	.contact-section {
		background: bottom left no-repeat url(../img/common/form-bg.svg);
		overflow: hidden;
	}
	.contact-section-inner {
		position: relative;
		background-color: #fff;
	}
	.contact-section-inner::after {
		content: '';
		position: absolute;
		display: block;
		background: center center / contain no-repeat url(../img/common/form-pen.png);
	}
	.contact-lead .contact-faq {
		display: inline-block;
		padding: 0 .5em;
		background-color: #3B4C85;
		font-weight: bold;
		color: #fff;
	}
	.tel_strong {
		display: inline-block;
		font-weight: bold;
		color: #3B4C85;
		line-height: 1;
		transform: translateY(.2em);
	}

	.sending-effect {
		position: fixed;
		top: 0;
		left: 0;
		visibility: hidden;
		opacity: 0;
		width: 100%;
		height: 100vh;
		z-index: 99999;
		background: center center no-repeat #fff url(../img/common/loading.png);
	}
	.sending-effect.sending {
		visibility: visible;
		opacity: 1;
	}
	.fancybox-inner {
		cursor: auto!important;
	}
}
/* --contact-- sp */
@media only screen and (max-width: 767px) {
	.contact-section {
		margin-top: 40vw;
		margin-bottom: 30px;
		margin-left: 10px;
		padding: 10vw 0 25vw;
		width: calc(100vw - 10px);
	}
	@media (min-width: 402px) {
		.contact-section {
			background-size: cover;
		}
	}
	.contact-section-inner {
		margin-left: auto;
		margin-right: 0;
		padding: 12vw var(--sp-vw-16px);
		width: 85.9375vw;
	}
	.contact-ttl {
		font-size: var(--sp-vw-25px);
	}
	.contact-lead {
		margin-top: 3em;
		line-height: 2;
	}
	.tel_strong {
		font-size: var(--sp-vw-24px);
	}
	#privacy_text h1 {
		font-size: var(--sp-vw-22px);
		white-space: nowrap;
	}
	#privacy_text h2 {
		font-size: var(--sp-vw-20px);
	}
	#privacy_text h2 + p {
		margin-top: 2em;
	}
	#privacy_text h3 {
		font-size: var(--sp-vw-16px);
	}
}
/* --contact-- tab & pc */
@media print,
(min-width: 768px) {
	.contact-section {
		margin: 120px 0 20px;
		padding: 100px 0 81px;
		background-position-x: calc(50% + 368px);
	}
	.contact-section-inner {
		margin: 0 auto;
		padding: 100px 20px 90px;
		width: calc(100% - 200px);
		max-width: 1040px;
	}
	.contact-section-inner::after {
		bottom: 20px;
		left: calc(50% + 200px);
		width: 885px;
		height: 506px;
	}
	.contact-ttl {
		font-size: 34px;
	}
	.contact-lead {
		margin: 60px auto 0;
		width: 600px;
		line-height: 2;
	}
	.tel_strong {
		font-size: 34px;
	}
	#privacy_text {
		padding: 40px 20px;
		width: 640px;
	}
	#fancybox-wrap #privacy_text {
		width: auto;
	}
	#privacy_text h1 {
		font-size: 34px;
	}
	#privacy_text h2 {
		margin-top: 20px;
		font-size: 28px;
	}
	#privacy_text h2 + p {
		margin-top: 30px;
	}
}
/* --contact-- tab */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.contact-section {
		background-position-x: 10px;
	}
}
/* --フォーム-- */
@media all {
	.required::after {
			content: '必須';
			display: inline-block;
			margin-left: .75em;
			padding: .5em .5em .4125em .75em;
			border: 1px solid #3B4C85;
			border-radius: 1.125em;
			color: #3B4C85;
			letter-spacing: .25em;
			line-height: 1;
	}
	.form-list {
			display: flex;
			flex-wrap: wrap;
			margin: 0 auto;
	}
	.form-list input,
	.form-list select,
	.form-list textarea {
			box-sizing: border-box;
			padding-left: 1em;
			width: 100%;
			border: none;
			border-bottom: 1px solid rgba(22, 45, 82, .5);
			outline: none;
			-webkit-border-radius : 0;
			-webkit-appearance : none;
			-webkit-tap-highlight-color : rgba(0,0,0,0);
	}
	.form-list select {
			/* color: rgba(22, 45, 82, .5); */
			padding-left: 2em;
			background: left center / 1.5em .7em no-repeat url(../img/common/form-select-triangle.svg);
	}
	/* chromeのautofill時の対策
	input:-webkit-autofill {
			-webkit-box-shadow: 0 0 0 1000px #373740 inset;
			-webkit-text-fill-color: #162D52;
	}*/
	.form-list textarea {
			padding-top: .75em;
	}
	.form input[type="checkbox"] {
		appearance: auto;
    margin: 0;
    width: calc(1em + 1px);
    height: calc(1em + 1px);
    transform: translateY(-1px);
	}
	/* .form input[type="checkbox"] {
			position: relative;
			margin-right: .5em;
			padding: 0;
			width: 16px;
			height: 16px;
			border: 1px solid rgba(22, 45, 82, .5);
			border-radius: 50%;
			cursor: pointer;
			transform: translateY(-1px);
	}
	.form input[type="checkbox"]:checked::after {
			content: '';
			position: absolute;
			top: 3px;
			left: 3px;
			width: 8px;
			height: 8px;
			border-radius: 50%;
			background-color: #41B6FF;
	} */
	input::placeholder,
	textarea::placeholder {
			color: #c8c8c8;
	}
	.privacy a {
		text-decoration: underline;
	}
	.submit-btn,
	.button-form_check {
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			margin: 2em auto 0;
			width: 280px;
			height: 60px;
			background: #3B4C85;
			font-size: 18px;
			color: #fff;
			line-height: 1;
			cursor: pointer;
			transition: opacity .3s;
	}
	/* .submit-btn::after,
	.button-form_check::after {
			content: '';
			position: absolute;
			top: calc(50% - .2em);
			right: 1em;
			display: block;
			width: .5em;
			height: .5em;
			border-top: 2px solid #fff;
			border-right: 2px solid #fff;
			transform: rotate(45deg);
	} */
	.submit-btn:hover,
	.button-form_check:hover {
			opacity: .8;
	}
}
/* --フォーム-- sp */
@media only screen and (max-width: 767px) {
	.form-list {
			flex-direction: column;
			margin-top: 3em;
	}
	.form-list input,
	.form-list select {
			height: 3em;
		font-size: var(--sp-vw-12px);
	}
	.form-list textarea {
			height: 8em;
			font-size: var(--sp-vw-12px);
	}
	.form-list dt {
		font-size: var(--sp-vw-14px);
	}
	.required::after {
			margin-left: 8px;
			padding: .25em .5em .15em .65em;
			border-width: var(--sp-vw-02px);
			font-size: var(--sp-vw-12px);
	}
	.form-list dd {
			margin-top: var(--sp-vw-16px);
	}
	.form-list dd + dt {
			margin-top: var(--sp-vw-40px);
	}
	.submit-btn, .button-form_check {
		width: 73.4375vw;
		height: var(--sp-vw-50px);
		font-size: var(--sp-vw-16px);
	}
	.privacy {
		margin-top: var(--sp-vw-32px);
	}
}
/* --フォーム-- tab & pc */
@media print,
(min-width: 768px) {
	.form {
			margin: 80px auto 0;
			max-width: 750px;
	}
	.form-list {
		padding: 0 20px;
		max-width: 840px;
	}
	.required::after {
			font-size: 12px;
			transform: translateY(-1px);
	}
	.form-list dt,
	.form-list dd {
			margin-bottom: 2em;
	}
	.form-list dt {
			padding-top: 14px;
			width: 210px;
			font-size: 14px;
	}
	.form-list dd {
			font-size: 15px;
			width: calc(100% - 210px);
	}
	.form-list input,
	.form-list select {
			width: 100%;
			height: 50px;
			font-size: 15px;
	}
	.form-list textarea {
			height: 16em;
			font-size: 15px;
	}
	.privacy-input {
			padding-top: .75em;
	}
}
/* --確認フォーム-- */
@media all {
	#dispmsg {
			display: none;
			margin: 80px auto 0;
			padding: 2.5rem 20px 0;
			max-width: 660px;
			background-color: #E4EBF0;
			font-size: 18px;
			text-align: center;
			line-height: 2;
	}
	#dispmsg.open {
			display: block;
	}
	#dispmsg.error {
			display: block;
			color: #c00;
	}
	#dispmsg span {
			display: inline-block;
	}
	.form-check {
			width: 0;
			height: 0;
			opacity: 0;
			overflow: hidden;
			transition: .3s opacity;
	}
	.checking {
			overflow: hidden;
	}
	.checking .form-check {
			position: fixed;
			top: 0;
			left: 0;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			padding: 0 20px;
			width: 100%;
			min-width: 320px;
			height: 100vh;
			background: rgba(0, 0, 0, .7);
			opacity: 1;
			overflow-x: scroll;
			z-index: 9999;
	}
	.checking .check-inner {
			display: flex;
			flex-direction: column;
			justify-content: center;
			margin: 20px 0;
			padding: 0 20px;
			width: 90%;
			max-width: 640px;
			background: #fff;
	}
	.checking .check-inner .notice {
			padding: 20px 0;
			width: 100%;
			color: #1498e2;
			text-align: center;
	}
	.checking .check-inner .notice span {
			display: inline-block;
	}
	.checking .check-list-outer {
			position: relative;
	}
	.checking .check-list-outer::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 32px;
			background: linear-gradient(to bottom, #fff, rgba(255, 255, 255, 0));
	}
	.checking .check-list-outer::after {
			content: '';
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 32px;
			background: linear-gradient(to top, #fff, rgba(255, 255, 255, 0));
	}
	.checking .check-list {
			max-height: 60vh;
			padding-bottom: 32px;
			overflow-y: scroll;
	}
	.checking .check-list > dl {
			display: flex;
			flex-wrap: wrap;
			margin: 10px auto 0;
			padding: 0 10px;
			max-width: 530px;
			background: #fff;
	}
	.checking .check-list > dl > dt {
			width: 12em;
	}
	.checking .check-list > dl > dd {
			width: calc(100% - 12em);
	}
	.checking .check-list > dl > dt,
	.checking .check-list > dl > dd {
			padding: 1em 0;
			border-bottom: 1px solid #000;
	}
	.checking .check-list > dl > dt:last-of-type,
	.checking .check-list > dl > dd:last-of-type {
			border: none;
	}
	.form-check .submit {
			display: flex;
			align-items: center;
			justify-content: space-around;
			padding: 16px 1em 24px;
			background-color: #fff;
			max-width: 640px;
	}
	.form-check .return,
	.button-form_check {
			display: flex;
			justify-content: center;
			align-items: center;
			height: 2.5em;
	}
	.form-check .return {
			border: 2px solid #162D52;
			width: 100%;
			max-width: 8rem;
			background-color: rgba(22, 45, 82, .1);
			font-size: 1.125rem;
			color: #162D52;
			text-align: center;
			cursor: pointer;
			transition: .3s opacity;
			text-decoration: none;
	}
	.form-check .return:hover {
			opacity: .8;
	}
	.button-form_check {
			margin: 0;
			max-width: 10rem;
			box-shadow: none;
			font-size: 1.25rem;
			color: #fff;
			cursor: pointer;
			transition: .3s;
	}
	.form-sent {
			position: relative;
			display: none;
			margin: 0 auto;
			padding: 50px 0;
			max-width: 660px;
			background-color: #E4EBF0;
	}
	.form-accordion-opener {
			margin: 0 auto;
			padding: 8px 0;
			width: 15em;
			background: #3B4C85;
			font-size: 18px;
			color: #fff;
			text-align: center;
			transition: .3s;
			cursor: pointer;
	}
	.form-accordion-opener:hover {
		opacity: .8;
	}
}
/* 確認フォーム-- sp */
@media only screen and (max-width: 767px) {
	#dispmsg {
			margin-top: var(--sp-vw-32px);
			padding: 2.5rem 0 0;
			width: calc(100% - 4vw);
			font-size: var(--sp-vw-13px);
			padding-left: 0;
			padding-right: 0;
			font-feature-settings: "palt";
	}
	.checking .form-check,
	.checking .check-inner {
			padding: 0;
	}
	.checking .check-inner .notice {
			padding: 20px;
	}
	.checking .check-list > dl {
			flex-direction: column;
			padding: 0 20px;
	}
	.checking .check-list > dl > dt {
			padding-bottom: 0;
			border-bottom: none;
			font-weight: bold;
	}
	.checking .check-list > dl > dt,
	.checking .check-list > dl > dd {
			width: 100%;
	}
	.form-check .submit {
			flex-direction: column-reverse;
			align-items: center;
	}
	.form-check .return {
			margin-top: 1em;
	}
	.form-sent {
			width: calc(100% - 4vw);
			font-feature-settings: "palt";
	}
	.form-accordion-opener {
		width: 14em;
		font-size: var(--sp-vw-13px);
	}
}
/* 確認フォーム-- tab & pc */
@media only screen and (max-width: 1024px) {}
@media screen and (min-width: 769x) and (max-width: 1024px) {}


/* --FAQ-- */
@media all {
	.faq-item {
		position: relative;
	}
	.faq-opener {
		position: relative;
		flex-shrink: 0;
		margin-left: 1em;
		width: 2em;
		height: 2em;
		z-index: 1;
		cursor: pointer;
	}
	.faq-opener::before,
	.faq-opener::after {
		content: '';
		position: absolute;
		top: .75em;
		right: 0;
		width: 2em;
		height: 2px;
		background-color: #3B4C85;
		transition: .3s;
	}
	.faq-opener::after {
		transform: rotate(90deg);
	}
	.faq-opener.open::after {
		transform: rotate(360deg);
		opacity: 0;
	}
	.question,
	.answer {
		position: relative;
		padding-left: 6em;
	}
	.question {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.answer {
		display: none;
		padding-top: 2em;
	}
	.question::before,
	.answer::before {
		position: absolute;
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 2.75em;
		height: 2.75em;
		border-radius: 50%;
		font-weight: bold;
		line-height: 1;
	}
	.question::before {
		content: 'Q';
		color: #3B4C85;
	}
	.answer::before {
		content: 'A';
		background: #9DA5C2;
		color: #fff;
	}
}
/* --FAQ-- sp */
@media only screen and (max-width: 767px) {
	.faq-list {
		margin-top: var(--sp-vw-32px);
		padding: 0 var(--sp-vw-16px);
	}
	.faq-item {
		padding: var(--sp-vw-20px) 0 var(--sp-vw-24px);
	}
	.faq-item + .faq-item {
		border-top: var(--sp-vw-01px) solid #C0C0C0;
	}
	.faq-opener {
		font-size: var(--sp-vw-10px);
	}
	.question {
		padding: 1em 0 1em 4em;
	}
	.question::before {
		border: var(--sp-vw-02px) solid #3B4C85;
		font-size: var(--sp-vw-15px);
	}
	.answer::before {
		border: var(--sp-vw-02px) solid #9DA5C2;
		font-size: var(--sp-vw-15px);
	}
	.answer {
		padding-left: 4em;
	}
	.answer span.spPlus {
		display: flex;
		align-items: center;
		height: 3.5em;
	}
}
/* --FAQ-- tab & pc */
@media print,
(min-width: 768px) {
	.faq-list {
		margin: 0 auto;
		width: 735px;
	}
	.faq-item {
		padding: 45px 0;
	}
	.faq-item + .faq-item {
		border-top: 1px solid #C0C0C0;
	}
	.faq-dl {
		font-size: 14px;
	}
	.question {
		min-height: 52px;
	}
	.question::before {
		border: 2px solid #3B4C85;
		font-size: 15px;
	}
	.answer::before {
		border: 2px solid #9DA5C2;
		font-size: 15px;
	}
	.answer span {
		display: flex;
		align-items: center;
		height: 3.5em;
	}
}
/* --FOOTER-- */
@media all {
	address {
		font-style: normal;
	}

	.site-footer {
		position: relative;
		background-color: #3B4C85;
		line-height: 1.4;
		font-feature-settings: "palt";
	}

	.site-footer,
	.site-footer a {
		color: #fff;
	}

	.footer-logo-slide {
		margin-bottom: .25em;
		font-size: 15px;
	}

	.footer-name {
		display: inline-block;
		margin-top: 1em;
		font-size: 16px;
		font-weight: bold;
	}

	.footer-nav-list::after {
		content: '';
		display: block;
		clear: both;
	}

	.footer-nav-item a {
		position: relative;
		display: inline-block;
	}

	.footer-nav-item a::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		border-bottom: 1px solid #fff;
		transform: scaleX(0);
		transition: .3s;
	}

	.footer-nav-item a:hover:after {
		transform: scaleX(1);
	}

	.footer-nav-item.news_inside,
	.footer-nav-item.faq {
		margin-top: 1em;
	}

	.footer-nav-item>a {
		font-size: 16px;
		font-weight: bold;
	}

	.footer-nav-item-1 {
		position: relative;;
	}

	.footer-nav-item-1::before {
		content: '・';
		position: absolute;
		top: 0;
		left: 0;
		width: 1em;
		height: 1em;
	}

	.copyright {
		border-top: 3px solid #fff;
		background-color: #223542;
	}

	.footer-2,
	.other-menu-list {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.other-menu-item {
		font-size: 14px;
	}
}
/* --FOOTER-- sp */
@media only screen and (max-width: 767px) {
	.footer-1 {
		padding: 2em 0 2.5em;
		font-size: var(--sp-vw-14px);
		text-align: center;
	}
	.footer-logo-slide {
		font-size: var(--sp-vw-15px);
	}
	.footer-logo img {
		width: 64.0625vw;
	}
	.footer-name {
		font-size: var(--sp-vw-16px);
	}
	.footer-1 address,
	.footer-register {
		font-size: var(--sp-vw-12px);
		line-height: 1.833;
	}

	.footer-nav-item {
		margin-top: 3em;
	}
	.footer-nav-item > a {
		font-size: var(--sp-vw-16px);
	}

	.footer-nav-item-1 {
		margin-top: 1em;
	}
	.footer-nav-item-1::before {
		position: static;
	}

	.copyright {
		border-top-width: var(--sp-vw-02px);
	}
	.footer-2 {
		flex-direction: column-reverse;
		justify-content: center;
		padding-bottom: var(--sp-vw-18px);
	}
	.other-menu {
		width: 100%;
	}
	.other-menu-list {
		padding: 1.25em 1.5em 2em;
		align-items: stretch;
	}
	.other-menu-item {
		font-size: var(--sp-vw-11px);
	}
	.copyright small {
		font-size: var(--sp-vw-10px);
	}

}
/* --FOOTER-- tab & pc */
@media print,
(min-width: 768px) {
	.site-footer {
		overflow: hidden;
	}

	.site-footer-inner {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		width: 1145px;
		transform: translateX(calc(50% - 552px));
	}

	.footer-1 {
		padding: 40px 0 30px;
	}

	.footer-logo {
		display: block;
		height: 65px;
	}

	.footer-logo img {
		width: auto;
		height: 100%;
	}

	.footer-company {
		width: 330px;
	}

	.footer-tel,
	.footer-address {
		margin-top: .75em;
		font-size: 14px;
	}

	.footer-register {
		margin-top: .75em;
		font-size: 12px;
	}

	.footer-nav {
		width: 745px;
	}

	.footer-nav-item {
		float: left;
	}

	.footer-nav-item:not(:first-child) {
		margin-left: 3em;
	}

	.footer-nav-list-1 {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		align-content: space-between;
		margin-top: 1.75em;
		font-size: 12px;
		font-size: var(--font-size-12);
	}

	.footer-nav-item.service .footer-nav-list-1 {
		width: 250px;
		height: 110px;
	}
	.footer-nav-item.faq {
		white-space: nowrap;
	}

	.footer-nav-item-1 {
		margin-bottom: 1.25em;
		padding-left: .75em;
	}

	.footer-2,
	.other-menu-list {
		height: 100%;
	}

	.other-menu-list {
		transform: translateX(-100px);
	}
	.other-menu-item + .other-menu-item {
		margin-left: 3em;
	}

	.copyright {
		height: 53px;
		border-top: 3px solid #fff;
		background-color: #223542;
		font-size: 12px;
		line-height: 1;
	}
}
/* --FOOTER-- tab */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.site-footer-inner {
		width: 100%;
		transform: none;
	}
	.footer-1 {
		flex-direction: column;
		align-items: center;
	}
	.footer-company {
		text-align: center;
	}
	.footer-nav {
		margin-top: 3em;
	}
	.footer-2 {
		padding: 0 20px;
	}
	.other-menu-list {
		transform: none;
	}
}


/* --TimeLine-- */
@media all {
	.timeline li {
		position: relative;
	}
	.border-line {
		position: absolute;
		left: 0;
		top: 0;
		width: var(--sp-vw-01px);
		height: 0;
		background: #9DA5C2;
	}
	.dummy-timeline {
		position: relative;
		pointer-events: none;
	}
	.dummy-timeline .timeline {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
	}
	.dummy-timeline .timeline li {
		height: 100%;
	}
}
/* --TimeLine- sp */
@media screen and (max-width: 767px) {
	.dummy-timeline {
		position: relative;
		width: 100%;
		height: 1px;
	}
	.dummy-timeline .timeline {
		height: 28vw;
	}
}
/* --TimeLine- tab & pc */
@media screen and (min-width: 768px) {
	.border-line {
		width: 1px;
	}
	.dummy-timeline {
		margin: 140px auto 0;
		width: 100%;
		height: 1px;
		max-width: 1040px;
	}
	.dummy-timeline .timeline {
		padding: 0 20px;
		height: 300px;
	}
}

/* 印刷用 */
@media print {
	body {
		width: 100%;
	}

	.site-header {
		position: absolute;
	}


	.to-top {
		display: none !important;
	}

}


/* --TO TOP-- */
@media all {
	.to-top {
		display: none;
		position: fixed;
		bottom: 20px;
		right: 20px;
		background: #3B4C85;
		width: 3.4375em;
		height: 3.4375em;
		border-radius: 50%;
		box-shadow: 0 0 2px rgba(255, 255, 255, .8);
		font-size: 12px;
		overflow: hidden;
		z-index: 1;
	}

	.to-top a {
		display: block;
		width: 100%;
		height: 100%;
	}
	.to-top a::after {
		content: '';
		position: absolute;
		top: 42.5%;
		left: 35%;
		width: 25%;
		height: 25%;
		border: 3px solid #fff;
		border-left: none;
		border-bottom: none;
		transform: translateY(0) rotate(-45deg);
		transition: .3s;
	}

	.to-top a:hover::after {
		transform: translateY(-30%) rotate(-45deg);
	}
}
@media only screen and (max-width: 767px) {
	.to-top {
		font-size: var(--sp-vw-12px);
	}
}
@media (min-width: 1025px) {
	.to-top a {
		font-size: 12.8px;
	}
}

/* --decoration image-- */
@media all {
	.deco {
		display: block;
		position: absolute;
	}
}

/* inview */
@media not print {
	.elemRtoL {
		position: relative;
		overflow: hidden;
	}

	.elemRtoL::after {
		content: '';
		position: absolute;
		top: 0;
		right: -20%;
		width: 120%;
		height: 100%;
		background: linear-gradient(to right, #fff 90%, transparent);
		transition: .5s;
	}

	.elemRtoL.animated::after {
		right: 100%;
	}


	.elemImgFadeIn {
		transform: translateY(50px);
		opacity: 0;
		transition: 1s transform, 1s opacity;
	}

	.elemImgFadeIn.animated {
		transform: translateY(0);
		opacity: 1;
	}


	.elemSlideRtoL {
		transform: translateX(50px);
		opacity: 0;
		transition: 1s transform, 1s opacity;
	}

	.elemSlideLtoR {
		transform: translateX(-50px);
		opacity: 0;
		transition: 1s transform, 1s opacity;
	}

	.elemSlideRtoL.animated,
	.elemSlideLtoR.animated {
		transform: translateX(0);
		opacity: 1;
	}

	.elemFadeIn {
		opacity: 0;
		filter: blur(1rem);
		transition: 1s opacity, 1s filter;
	}

	.elemFadeIn.animated {
		opacity: 1;
		filter: blur(0);
	}

	.main-copy {
		transition-delay: 1s;
		transition-property: opacity, filter;
	}

	@media (min-width: 1025px) {
		.delay_02 {
			transition-delay: .2s;
		}

		.delay_04 {
			transition-delay: .4s;
		}

		.delay_06 {
			transition-delay: .6s;
		}

		.delay_08 {
			transition-delay: .8s;
		}

		.delay_10 {
			transition-delay: 1s;
		}

		.delay_12 {
			transition-delay: 1.2s;
		}

		.delay_14 {
			transition-delay: 1.4s;
		}

		.delay_16 {
			transition-delay: 1.6s;
		}

		.delay_18 {
			transition-delay: 1.8s;
		}

		.delay_20 {
			transition-delay: 2.0s;
		}

		.delay_22 {
			transition-delay: 2.2s;
		}

		.delay_24 {
			transition-delay: 2.4s;
		}

		.delay_26 {
			transition-delay: 2.6s;
		}

		.delay_28 {
			transition-delay: 2.8s;
		}

		.delay_30 {
			transition-delay: 3.0s;
		}
	}

	@media (min-width: 768px) and (max-width: 1024px) {
		.tab-delay_02 {
			transition-delay: .2s;
		}

		.tab-delay_04 {
			transition-delay: .4s;
		}

		.tab-delay_06 {
			transition-delay: .6s;
		}

		.tab-delay_08 {
			transition-delay: .8s;
		}

		.tab-delay_10 {
			transition-delay: 1s;
		}

		.tab-delay_12 {
			transition-delay: 1.2s;
		}

		.tab-delay_14 {
			transition-delay: 1.4s;
		}

		.tab-delay_16 {
			transition-delay: 1.6s;
		}

		.tab-delay_18 {
			transition-delay: 1.8s;
		}

		.tab-delay_20 {
			transition-delay: 2.0s;
		}

		.tab-delay_22 {
			transition-delay: 2.2s;
		}

		.tab-delay_24 {
			transition-delay: 2.4s;
		}

		.tab-delay_26 {
			transition-delay: 2.6s;
		}

		.tab-delay_28 {
			transition-delay: 2.8s;
		}

		.tab-delay_30 {
			transition-delay: 3.0s;
		}
	}
}



/* --Util--*/
@media all {
	.site-header .footerOnly,
	.site-main .footerOnly {
		display: none;
	}

	.site-footer .headerOnly {
		display: none;
	}
}

/* --Util-- sp */
@media only screen and (max-width: 767px) {
	.spNone {
		display: none;
	}
}

/* --Util-- tab & sp */
@media only screen and (max-width: 1024px) {
	.pcOnly {
		display: none;
	}
}

/* --Util-- tab & pc */
@media print,
(min-width: 768px) {
	.spOnly {
		display: none;
	}
}

/* --Util-- pc */
@media print,
(min-width: 1025px) {
	.pcNone {
		display: none;
	}
}

