﻿@charset "utf-8";

/*----------------------------
	basic setup
-----------------------------*/
body{ min-width: 1023px; font-family: "Zen Kaku Gothic New", sans-serif; color: #20446A; text-align: center;}
body.ovh{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh;}
a{ color: #20446A; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a.hoverlink:hover{ opacity: .5;}
span.error{ color: #f00;}
p.error{ color: #f00;}
.underline{ text-decoration: underline;}
/* font */
/* bg */
.bg-white{ background: #fff;}
.bg-gray{ background: #F6F6F6;}
/* color */
.white{ color: #fff;}
.red{ color: #f00;}
.lightblue{ color: #3BB7EB;}
/* anchor */
.anchorwrap{ position: relative;}
.anchorwrap .anchor{ position: absolute; top: -100px;}
/* newsphoto */
figure.newsphoto{ aspect-ratio: 300 / 200; overflow: hidden;}
figure.newsphoto img{ width: 100%; height: 100%; object-fit: cover;}
/*----------------- responsive ----------------*/
@media screen and (max-width: 1023px) {
	body{ min-width: inherit;}
	a.hoverlink:hover{ opacity: 1;}
	/* anchor */
	.anchorwrap .anchor{ top: -70px;}
}



/*----------------------------
	header
-----------------------------*/
header{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
	transition: all .5s;
	z-index: 999;
}
header:before{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 70px;
	opacity: 0;
	background: rgba(255,255,255,.7);
	transition: all .5s;
	z-index: -1;
}
header.scrolled:before{
	opacity: 1;
}
header h1{
	padding: 20px 3% 0;
	margin-bottom: -80px;
}
header .spmenu{
	display: none;
}
header nav ul{
	display: flex;
}
header nav ul li{
	margin-left: 3em;
	padding-top: 20px;
	line-height: 35px;
}
header nav ul li.contact{
	padding-top: 0;
	background: #20456B;
	border-radius: 0 0 0 3px;
}
header nav ul li.contact a{
	display: inline-block;
	padding: 20px 20px 0 20px;
	color: #fff;
	position: relative;
}
header nav ul li.contact a:after{
	content: "";
	display: inline-block;
	margin: 0 0 .2em .5em;
	width: 16px;
	height: 16px;
	background: url(../img/arrow-right-blue.svg) center no-repeat #fff;
	border-radius: 50%;
}
/*----------------- responsive ----------------*/
@media screen and (max-width: 1023px) {
	header{
	}
	header h1{
		position: fixed;
		left: 0;
		top: 0;
		padding: 10px 10px 0;
		margin-bottom: 0;
		width: 100px;
		z-index: 9999;
	}
	header .spmenu{
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		cursor: pointer;
		z-index: 9999;
	}
	header .spmenu span {
		display: inline-block;
		position: absolute;
		left: 12px;
		width: 30px;
		height: 1px;
		background: #20456B;
		transition: all .5s;
	}
	header .spmenu span {
		display: inline-block;
		transition: all .5s;
	}
	header .spmenu span:nth-of-type(1) { top: 20px;}
	header .spmenu span:nth-of-type(2) { top: 28px;}
	header .spmenu span:nth-of-type(3) { bottom: 23px; left: 27px; width: 15px;}
	header .spmenu.active span:nth-of-type(1){
		transform: translate(0, 10px) rotate(-315deg);
	}
	header .spmenu.active span:nth-of-type(2) { opacity: 0;}
	header .spmenu.active span:nth-of-type(3) {
		left: 12px;
		width: 30px;
		transform: translate(0, -6px) rotate(315deg);
	}
	header nav{
		display: none;
		width: 100%;
		height: 100vh;
		background-color: rgba(255, 255, 255, 0.5);
		backdrop-filter: blur(30px) brightness(130%);
	}
	header nav ul{
		display: block;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}
	header nav ul li{
		margin-left: 0;
	}
	header nav ul li.contact{
		padding-top: 0;
		margin-top: 20px;
		border-radius: 3px;
	}
	header nav ul li.contact a{
		padding: 10px 20px 2px 20px;
	}
	@media screen and (max-width: 540px) {
		header:before{
			height: 55px;
		}
		header h1{
			width: 80px;
		}
	}
}



/*----------------------------
	main
-----------------------------*/
.wrap{ clear: both; box-sizing: content-box; max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 3%; padding-right: 3%;}
/* wpeditor */
.wpeditor{ text-align: left; clear: both; line-height: 2; word-wrap: break-word; overflow-wrap: break-word;}
.wpeditor *:first-child{ margin-top: 0!important;}
.wpeditor h1,.wpeditor h2,.wpeditor h3,.wpeditor h4,.wpeditor h5,.wpeditor h6{ color: #0F3286; font-weight: 500; line-height: 1.4; margin-top: 2em;}
.wpeditor a{ color: #0F3286; text-decoration: underline;}
.wpeditor a:hover{ opacity: .6;}
.wpeditor h1{ font-size: 28px;}
.wpeditor h2{ font-size: 26px;}
.wpeditor h3{ font-size: 24px;}
.wpeditor h4{ font-size: 22px;}
.wpeditor h5{ font-size: 20px;}
.wpeditor h6{ font-size: 18px;}
.wpeditor p,
.wpeditor ul,
.wpeditor ol,
.wpeditor table,
.wpeditor pre,
.wpeditor blockquote{ margin-top: 2em;}
.wpeditor strong,
.wpeditor b{ font-weight: 700;}
.wpeditor em,
.wpeditor i{ font-style: italic;}
.wpeditor del{ text-decoration: line-through;}
.wpeditor pre{
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	white-space: pre-wrap;
	word-break: break-all;
	background: none;
	border: none;
	padding: 0;
}
.wpeditor ul,
.wpeditor ol{
	padding-left: 1.5em;
	margin-left: 0;
}
.wpeditor ul{ list-style-type: disc !important;}
.wpeditor ol{ list-style-type: decimal !important;}
.wpeditor ul ul{ list-style-type: circle !important; margin-top: .5em;}
.wpeditor ul ul ul{ list-style-type: square !important;}
.wpeditor ol ol{ list-style-type: decimal !important; margin-top: .5em;}
.wpeditor li{
	margin-top: .3em;
	display: list-item;
	list-style: inherit;
}
.wpeditor ul > li{ list-style-type: disc !important;}
.wpeditor ul ul > li{ list-style-type: circle !important;}
.wpeditor ul ul ul > li{ list-style-type: square !important;}
.wpeditor ol > li{ list-style-type: decimal !important;}
.wpeditor li > ul,
.wpeditor li > ol{ margin-top: .3em; margin-bottom: .3em;}
.wpeditor blockquote{
	padding: 1.2em 1.5em;
	color: #20446A;
	background: #F6F6F6;
	border-left: 3px solid #20456B;
}
.wpeditor blockquote p{ margin-top: 1em;}
.wpeditor blockquote p:first-child{ margin-top: 0!important;}
.wpeditor figure{ margin-top: 4em; text-align: center;}
.wpeditor img{ display: block; max-width: 100%; height: auto; margin: 2em auto 0;}
.wpeditor .wp-caption{
	max-width: 100%;
	margin: 2em auto 0;
	text-align: center;
}
.wpeditor .wp-caption img{ margin-top: 0;}
.wpeditor .wp-caption-text{
	margin-top: .8em;
	font-size: 14px;
	line-height: 1.6;
	color: #8EA1B4;
}
.wpeditor .alignnone{ display: block; margin: 2em auto 0;}
.wpeditor .aligncenter{ display: block; margin: 2em auto 0;}
.wpeditor .alignleft{ float: left; margin: .5em 1.5em 1em 0;}
.wpeditor .alignright{ float: right; margin: .5em 0 1em 1.5em;}
.wpeditor p.date{ text-align: right;}
.wpeditor span[id^="more-"]{ display: none;}
@media screen and (max-width: 1023px){
	.wpeditor{ padding-top: 15px;}
	.wpeditor h1{ font-size: 24px;}
	.wpeditor h2{ font-size: 22px;}
	.wpeditor h3{ font-size: 20px;}
	.wpeditor h4{ font-size: 19px;}
	.wpeditor h5{ font-size: 18px;}
	.wpeditor h6{ font-size: 17px;}
	.wpeditor blockquote{ padding: 1em;}
	.wpeditor .alignleft,
	.wpeditor .alignright{ float: none; display: block; margin: 2em auto 0;}
	.wpeditor .wp-caption{ width: 100%!important;}
}
/* common parts */
.tate{
	display: flex;
	flex-direction: row-reverse;
	letter-spacing: .2em;
	text-align: left;
	line-height: 1;
}
.tate span{
	writing-mode: vertical-rl;
	margin: 0 .5em;
}
.roll {
  display: inline-block;
}
.rollwrap {
  position: relative;
  display: inline-block;
  overflow: hidden;
  cursor: pointer;
  line-height: 1.5;
  height: 1.5em;
}
.rollwrap span {
  display: block;
  white-space: nowrap;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.rollwrap span:nth-child(1) {
  transform: translateY(0);
  opacity: 1;
}
.rollwrap span:nth-child(2) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(100%);
  opacity: 0;
}
.roll:hover .rollwrap span:nth-child(1) {
  transform: translateY(-100%);
  opacity: 0;
}
.roll:hover .rollwrap span:nth-child(2) {
  transform: translateY(0);
  opacity: 1;
}
.ttl1{
	font-size: 60px;
	font-weight: normal;
	letter-spacing: .01em;
	line-height: 1.3;
	text-align: left;
}
.ttl1 span{
	margin-left: 1.5em;
	font-size: 20px;
}
.ttl2{
	font-size: 36px;
	font-weight: normal;
	line-height: 1;
}
.ttl2 span{
	font-size: 20px;
}
.ttl3{
	padding-left: 1em;
	font-size: 24px;
	font-weight: normal;
	line-height: 1.5;
	position: relative;
}
.ttl3:before{
	display: inline-block;
	content: "";
	position: absolute;
	left: 0;
	top: .8em;
	width: .5em;
	height: 3px;
	background: #20446A;
}
.btn1 {
	display: inline-block;
	width: 330px;
	padding: 15px 10px 10px;
	color: #fff;
	font-size: 22px;
	text-align: center;
	background: url(../img/arrow-right.svg) right 15px center / 16px auto no-repeat #20456B;
	border-radius: 3px;
}
.btn1.arrow-left {
	background: url(../img/arrow-left.svg) left 15px center / 16px auto no-repeat #20456B;
}
.btn2:after{
	display: inline-block;
	vertical-align: top;
	content: "";
	width: 25px;
	height: 25px;
	margin-left: .5em;
	border-radius: 50%;
	background: url(../img/arrow-right.svg) center no-repeat #20456B;
}
.cmn-contact{
	padding: 200px 3%;
	background: url(../img/cmn-contact.webp) center / cover no-repeat;
}
.cmn-contact dl{
	max-width: 900px;
	margin: 0 auto;
	padding: 120px 0;
	background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(30px) brightness(130%);
	border-radius: 20px;
}
.cmn-contact dl dt{
	font-size: 18px;
	margin-bottom: 2em;
}
ol.pan{
	display: flex;
	flex-wrap: wrap;
	padding: 195px 0 90px;
}
ol.pan li{
	margin-right: 52px;
}
ol.pan li a{
	display: inline-block;
	position: relative;
}
ol.pan li a:hover{
	opacity: .5;
}
ol.pan li a:after{
	content: "";
	position: absolute;
	top: 0;
	right: -26px;
	bottom: 0;
	margin: auto 0;
	display: block;
	width: 1px;
	height: 1em;
	background: #20456B;
}
.lower-ttl{
	font-size: 30px;
	font-weight: 500;
	text-align: left;
	position: relative;
	max-width: 1000px;
	padding-bottom: 65px;
}
.lower-ttl h2{
	line-height: 1.6;
	font-weight: 500;
}
.lower-ttl h2 strong{
	font-size: 50px;
	font-weight: 500;
	display: block;
}
.lower-ttl .tate{
	letter-spacing: .266em;
	position: absolute;
	top: 0;
	right: 0;
}
.lower-mv img{
	object-fit: cover;
	width: 100%;
}
.lower-mv.h300 img{
	height: 300px;
}
.lower-mv.h650 img{
	height: auto;
}
.lower-bg-gray{
	padding: 100px 0 180px;
	background-color: #F7F7F7;
}
.ancwrap{
	position: relative;
}
.ancwrap .anc{
	position: absolute;
	top: -150px;
	height: 0;
	display: block;
}
.outside{
	display: inline-block;
	text-decoration: underline;
	padding-right: 21px;
	background: url(../img/ic-outside.svg) right center no-repeat;
}
.outside:hover{
	text-decoration: none;
}
table.tb1{
	text-align: left;
	width: 100%;
}
table.tb1 th{
	width: 8em;
	padding: 30px .5em 30px 0;
	border-bottom: 1px solid #20456B;
}
table.tb1 th.v-top{
	vertical-align: top;
}
table.tb1 td{
	padding: 30px 0;
	border-bottom: 1px solid #20456B;
}
/*----------------- responsive ----------------*/
@media screen and (max-width: 1023px) {
	.wrap{ padding-left: 5%; padding-right: 5%;}
	.ttl1{
		font-size: 40px;
	}
	.ttl2{
		font-size: 30px;
	}
	.ttl2 span{
		font-size: 16px;
	}
	.btn1 {
		width: 300px;
		padding: 10px 10px 5px;
		font-size: 20px;
	}
	.roll:hover .rollwrap span:nth-child(1) {
		transform: translateY(0);
		opacity: 1;
	}
	.roll:hover .rollwrap span:nth-child(2) {
		display: none;
	}
	.cmn-contact{
		padding: 100px 5%;
		background-position: left center;
	}
	.cmn-contact dl{
		padding: 50px 0;
	}
	.cmn-contact dl dt{
		font-size: 16px;
	}
	ol.pan{
		padding: 90px 0 10px;
	}
	ol.pan li{
		margin-right: 30px;
	}
	ol.pan li a:after{
		right: -16px;
	}
	.lower-ttl{
		font-size: 20px;
		padding-bottom: 40px;
	}
	.lower-ttl .tate{
		letter-spacing: .1em;
	}
	.lower-ttl h2 strong{
		font-size: 36px;
	}
	.lower-mv.h300 img,
	.lower-mv.h650 img{
		height: auto;
		aspect-ratio: 10 / 2.5;
	}
	.lower-bg-gray{
		padding: 50px 0 90px;
	}
	.ancwrap .anc{
		top: -80px;
	}
	table.tb1 th,table.tb1 td{
		padding: 20px 0;
	}
	table.tb1 th{
		width: auto;
	}
}
@media screen and (max-width: 540px) {
}



/*----------------------------
	footer
-----------------------------*/
footer{
	clear: both;
	color: #fff;
	font-size: 14px;
	background: #20456B;
}
footer a{
	color: #fff;
}
footer .wrap{
	position: relative;
	display: flex;
	padding-top: 100px;
	padding-bottom: 100px;
	text-align: left;
}
footer .pagetop{
	position: absolute;
	bottom: 99%;
	right: 3%;
	z-index: 1;
	width: 200px;
	padding-top: 5px;
	line-height: 50px;
	text-align: center;
	background: #20456B;
	border-radius: 2px 2px 0 0;
	z-index: 1;
}
footer .pagetop:after{
	display: inline-block;
	vertical-align: middle;
	content: "";
	width: 25px;
	height: 25px;
	margin-left: .5em;
	margin-bottom: .7em;
	border-radius: 50%;
	background: url(../img/arrow-top.svg) center no-repeat #20456B;
}
footer .about{
	width: 27%;
}
footer .about dt{
	margin-bottom: 30px;
}
footer .about dd{
	letter-spacing: .08em;
}
footer .fnav{
	flex: 1;
	position: relative;
}
footer .fnav ul{
	display: flex;
	flex-wrap: wrap;
}
footer .fnav ul li{
	margin-right: 3em;
	line-height: 3;
	letter-spacing: .02em;
}
footer .fnav .btmcol{
	display: flex;
	justify-content: space-between;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
footer .fnav .btmcol .links{
	display: inline-block;
	margin-right: 50px;
}
footer .fnav .btmcol .links a{
	display: inline-block;
}
footer .fnav .btmcol .links a:not(:last-child){
	margin-right: 50px;
}
footer .fnav .btmcol .links a img{
	margin-right: 1em;
}
/*----------------- responsive ----------------*/
@media screen and (max-width: 1023px) {
	footer .wrap{
		display: block;
		padding-top: 50px;
		padding-bottom: 50px;
		text-align: center;
	}
	footer .pagetop{
		right: 5%;
		width: 150px;
		line-height: 40px;
	}
	footer .about{
		width: auto;
		margin-bottom: 50px;
	}
	footer .about dt{
		width: 100px;
		margin: 0 auto 20px;
	}
	footer .fnav ul{
		margin-bottom: 30px;
	}
	footer .fnav ul li{
		margin-right: 2em;
	}
	footer .fnav .btmcol{
		position: static;
		padding-bottom: 100px;
	}
	footer .fnav .btmcol .links{
		margin-right: 0;
	}
	footer .fnav .btmcol .links a:not(:last-child){
		margin-right: 30px;
	}
	footer .fnav .btmcol .copy{
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
}




























/*--------------------------------------------------------------------
	Sub-page settings
---------------------------------------------------------------------*/
/*----------------------------
	/
-----------------------------*/
.top1 {
  height: 100vh;
	padding: 20px;
	background: #fff;
  overflow: hidden;
	transition: padding 2s ease 1.6s;
}
.top1 .frame {
  position: relative;
  width: 100%;
  height: calc(100vh - 40px);
	display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
	border-radius: 20px;
	transition: height 2s ease 1.6s, border-radius 2s ease 1.6s;
  overflow: hidden;
}
.top1 .frame figure {
	position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.top1 .frame figure img {
	display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
	transform-origin: 100% 100%;
  transition: transform 20s cubic-bezier(0.25, 1, 0.5, 1) 1.6s,
              transform-origin 20s cubic-bezier(0.25, 1, 0.5, 1) 1.6s;
  will-change: transform, transform-origin;
  transform: scale(1.8) translateZ(0);
}
.top1 .txt1{
	font-size: 20px;
  z-index: 2;
	opacity: 0;
	position: absolute;
	bottom: 45%;
	transform: translateY(20px);
}
.top1 .txt2{
	font-size: 50px;
  z-index: 2;
	opacity: 0;
	position: absolute;
	left: 50%;
	bottom: 45%;
	transform: translateY(20px);
	font-weight: normal;
	line-height: 1.6;
	text-align: left;
}
.top1 .txt2 span {
  display: inline-block;
  opacity: 0;
  transform: translateY(.5em);
}
.top1 .txt2 small{
  display: inline-block;
  opacity: 0;
	font-size: 22px;
  transform: translateY(.5em);
}
.top1.is-loaded {
	padding: 0;
}
.top1.is-loaded .frame {
  height: 100vh;
	border-radius: 0;
}
.top1.is-loaded .frame figure img {
	transform: scale(1) translateZ(0);
  transform-origin: 50% 50%;
}
@keyframes top1-txt1 {
  0% {
    opacity: 0;
    transform: translate(0, 20px);
  }
  20% {
    opacity: 1;
    transform: translate(0, 0);
  }
  40% {
    opacity: 1;
    transform: translate(0, 0);
  }
  100% {
    opacity: 1;
    transform: translate(-25vw, 0);
  }
}
.top1.is-loaded .txt1 {
  animation: top1-txt1 4s ease forwards;
}
@keyframes top1-txt2 {
  0% {
    opacity: 0;
    transform: translateY(.3em);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.top1.is-loaded .txt2 {
  animation: top1-txt2 0.8s ease forwards 2s;
}
.top1.is-loaded .txt2 span {
  animation: top1-txt2 0.2s ease forwards;
}
.top1.is-loaded .txt2 span:nth-child(1) { animation-delay: 2.4s; }
.top1.is-loaded .txt2 span:nth-child(2) { animation-delay: 2.5s; }
.top1.is-loaded .txt2 span:nth-child(3) { animation-delay: 2.6s; }
.top1.is-loaded .txt2 span:nth-child(4) { animation-delay: 2.7s; }
.top1.is-loaded .txt2 span:nth-child(5) { animation-delay: 2.8s; }
.top1.is-loaded .txt2 span:nth-child(6) { animation-delay: 2.9s; }
.top1.is-loaded .txt2 span:nth-child(7) { animation-delay: 3s; }
.top1.is-loaded .txt2 span:nth-child(8) { animation-delay: 3.1s; }
.top1.is-loaded .txt2 span:nth-child(9) { animation-delay: 3.6s; }
.top1.is-loaded .txt2 span:nth-child(10) { animation-delay: 3.7s; }
.top1.is-loaded .txt2 span:nth-child(11) { animation-delay: 3.8s; }
.top1.is-loaded .txt2 span:nth-child(12) { animation-delay: 3.9s; }
.top1.is-loaded .txt2 span:nth-child(13) { animation-delay: 4s; }
.top1.is-loaded .txt2 span:nth-child(14) { animation-delay: 4.1s; }
.top1.is-loaded .txt2 span:nth-child(15) { animation-delay: 4.2s; }
.top1.is-loaded .txt2 span:nth-child(16) { animation-delay: 4.3s; }
.top1.is-loaded .txt2 span:nth-child(17) { animation-delay: 4.4s; }
.top1.is-loaded .txt2 span:nth-child(18) { animation-delay: 4.5s; }
.top1.is-loaded .txt2 span:nth-child(19) { animation-delay: 4.6s; }
.top1.is-loaded .txt2 small {
  animation: top1-txt2 0.5s ease forwards 5s;
	letter-spacing: .15em;
}
.top1 .news{
	position: absolute;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 3%;
	text-align: left;
}
.top1 .news dl{
	display: flex;
	width: fit-content;
	background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(30px) brightness(130%);
	padding: .8em 1.2em;
	border-radius: 2px;
	font-size: 14px;
}
.top1 .news dl dt{
	margin-right: 1.5em;
}
.topbg{
	position: relative;
	overflow: hidden;
}
.topbgimg svg{
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: -1;
	transform-origin: right top;
}
.topbgimg svg path{
	opacity: .2;
}
@keyframes topbgimganim {
	0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(40px);
  }
  100% {
    transform: translateX(80px);
  }
}
.top2{
	padding-top: 100px;
	margin-bottom: 180px;
}
.top2 .img1{
	position: absolute;
	left: 0;
	top: 100px;
	width: 28.64vw;
}
.top2 .img1 img{
	border-radius: 0 20px 20px 0;
}
.top2 .img2{
	position: absolute;
	right: 0;
	top: 520px;
	width: 21.87vw;
}
.top2 .img2 img{
	border-radius: 20px 0 0 20px;
}
.top2 .img3{
	position: absolute;
	right: 10vw;
	top: 1024px;
	width: 24.47vw;
}
.top2 .img3 img,
.top2 .img4 img,
.top2 .img5 img{
	border-radius: 20px;
}
.top2wrap{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	width: 45vw;
	max-width: 700px;
	padding-left: 5vw;
	margin: 0 auto 160px;
	text-align: left;
}
.top2wrap h2{
	font-size: 30px;
	font-weight: normal;
}
.top2wrap .txt{
	margin-top: -.8em;
	margin-bottom: 3em;
	font-size: 18px;
	letter-spacing: .08em;
	line-height: 2.55;
}
.top2wrap .btn{
	text-align: center;
}
.top2 .photo{
	display: flex;
	justify-content: space-between;
}
.top2 .photo .img4{
	width: 52.5%;
}
.top2 .photo .img5{
	margin-top: 200px;
	width: 39.1%;
}
.top3{
	margin: 0 3% 180px;
}
.top3 h2{
	margin-bottom: 1em;
}
.top3 ul{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.top3 ul li{
	width: 32.5%;
	margin: 0 1.25% 1.25% 0;
	position: relative;
}
.top3 ul li:nth-child(2){ margin-right: 32.5%;}
.top3 ul li:nth-child(3){ margin-left: 33.75%;}
.top3 ul li:nth-child(4){ margin-right: 0;}
.top3 ul li:nth-child(7){ margin-right: 0;}
.top3 ul li a{
	display: block;
}
.top3 ul li a span{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: .8em 3em .8em 1.2em;
	font-size: 18px;
	text-align: left;
	line-height: 1.3;
	background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(30px) brightness(130%);
}
.top3 ul li a span:after{
	display: inline-block;
	content: "";
	position: absolute;
	right: 1.2em;
	top: 50%;
	transform: translateY(-50%);
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: url(../img/arrow-right.svg) center no-repeat #20456B;transition: all .2s;
}
.top3 ul li a:hover span:after{
	right: .8em;
}
.top4{
	padding: 80px 3% 100px;
}
.top4 h2{
	margin-bottom: 1em;
	text-align: left;
}
.top4 .wrap{
	display: flex;
	justify-content: space-between;
}
.top4 .wrap .tate{
	font-size: 30px;
}
.top4wrap{
	width: 83.33%;
}
.top4wrap article{
	display: flex;
	justify-content: space-between;
}
.top4wrap article .rightcol{
	width: 80%;
}
.top4wrap article.staff ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-bottom: 15px;
}
.top4wrap article.staff ul li{
	width: 24%;
	margin: 0 1.33% 1.33% 0;
	overflow: hidden;
}
.top4wrap article.staff ul li:nth-child(4n){
	margin-right: 0;
}
.top4wrap article.staff ul li img{
	width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
	transition: transform .3s ease-in-out;
}
.top4wrap article.outline figure{
	margin-bottom: 20px;
}
.top5{
	padding: 150px 3% 180px;
}
.top5 h2{
	margin-bottom: .5em;
}
.top5 .wrap{
	display: flex;
	justify-content: space-between;
}
.top5 .wrap .tate{
	padding-top: 30px;
	font-size: 30px;
}
.top5wrap{
	width: 66.66%;
}
.top5wrap ul{
	margin-bottom: 10px;
}
.top5wrap .sns{
	float: left;
}
.top5wrap .btn{
	padding-top: 10px;
	text-align: right;
}
@keyframes top1-txt1sp {
	0% {
		opacity: 0;
		transform: translate(0, 20px);
	}
	20% {
		opacity: 1;
		transform: translate(0, 0);
	}
	40% {
		opacity: 1;
		transform: translate(0, 0);
	}
	100% {
		opacity: 1;
		transform: translate(0, -20vh);
	}
}
@keyframes top1-txt2sp {
  0% {
    opacity: 0;
    transform: translate(-50%, 10vw);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 10vw);
  }
}
/*----------------- responsive ----------------*/
@media screen and (max-width: 1023px) {
	.top1 {
		min-height: 700px;
	}
	.top1 .frame figure img {
		transform: scale(2);
		transform-origin: 100% 100%;
		transition: transform 20s cubic-bezier(0.25, 1, 0.5, 1) 1.6s,
								transform-origin 20s cubic-bezier(0.25, 1, 0.5, 1) 1.6s;
		will-change: transform, transform-origin;
		transform: scale(2) translateZ(0);
	}
	.top1 .txt1{
		bottom: auto;
		top: 30vh;
		font-size: 16px;
	}
	.top1 .txt2{
		left: 50%;
		bottom: 45%;
		transform: translate(-50%, 20px);
		width: 11em;
		font-size: 40px;
	}
	.top1 .txt2 small{
		font-size: 18px;
	}
	.top1.is-loaded .txt1 {
		animation: top1-txt1sp 4s ease forwards;
	}
	.top1.is-loaded .txt2 {
		animation: top1-txt2sp 0.8s ease forwards 2s;
	}
	.topbgimg svg{
		width: 200%;
	}
	.top2{
		padding-top: 100px;
		margin-bottom: 80px;
		position: relative;
	}
	.top2 .img1{
		position: static;
		width: 50vw;
		max-width: 380px;
		margin-bottom: 60px;
	}
	.top2 .img2{
		right: -10px;
		top: 150px;
		width: 40vw;
		max-width: 300px;
	}
	.top2wrap{
		width: auto;
		padding: 0 5%;
		margin: 0 auto 100px;
	}
	.top2wrap h2{
		font-size: 26px;
	}
	.top2wrap .txt{
		margin-right: 1.5em;
		font-size: 16px;
		line-height: 2;
	}
	.top2 .img3{
		right: 5vw;
		top: 800px;
		width: 28vw;
	}
	.top2 .photo .img4{
		width: 55%;
	}
	.top2 .photo .img5{
		margin-top: 24vw;
		width: 39.1%;
	}
	.top3{
		margin: 0 5% 100px;
	}
	.top3 .wrap{
		padding: 0;
	}
	.top3 ul{
		max-width: 700px;
		margin: 0 auto 60px;
	}
	.top3 ul li{
		width: 49%;
		margin: 0 2% 2% 0;
	}
	.top3 ul li:nth-child(2){ margin-right: 0;}
	.top3 ul li:nth-child(3){ margin-left: 0; margin-right: 2%;}
	.top3 ul li:nth-child(4){ margin-right: 0;}
	.top3 ul li:nth-child(5){ margin-right: 2%;}
	.top3 ul li:nth-child(6){ margin-right: 0;}
	.top3 ul li:nth-child(7){ margin-right: 2%;}
	.top3 ul li a{
		display: block;
	}
	.top3 ul li a:hover{
		opacity: 1;
	}
	.top3 ul li a span{
		font-size: 16px;
	}
	.top4{
		padding: 80px 5%;
	}
	.top4 .wrap{
		display: block;
		padding: 0;
	}
	.top4 .wrap .tate{
		justify-content: center;
		margin-bottom: 30px;
		font-size: 26px;
	}
	.top4wrap{
		width: auto;
	}
	.top4wrap article{
		display: block;
	}
	.top4wrap article .rightcol{
		width: auto;
	}
	.top4wrap article.staff{
		margin-bottom: 0;
	}
	.top4wrap article.staff ul{
		max-width: 700px;
		margin: 0 auto 15px;
	}
	.top4wrap article.staff ul li{
		width: 32%;
		margin: 0 2% 2% 0;
	}
	.top4wrap article.staff ul li:nth-child(4n){
		margin-right: 2%;
	}
	.top4wrap article.staff ul li:nth-child(3n){
		margin-right: 0;
	}
	.top5{
		padding: 80px 5%;
	}
	.top5 h2{
		margin-bottom: 0;
	}
	.top5 .wrap{
		display: block;
		padding: 0;
	}
	.top5 .wrap .tate{
		padding: 20px 0;
		justify-content: center;
		font-size: 26px;
	}
	.top5wrap{
		width: auto;
	}
}
@media screen and (max-width: 540px) {
	.top1 .txt2{
		font-size: 30px;
	}
	.top1 .txt2 small{
		font-size: 15px;
		letter-spacing: .05em;
	}
	.top2wrap{
		display: block;
		width: auto;
		position: relative;
	}
	.top2wrap h2{
		position: absolute;
		right: 5%;
		top: 0;
	}
	.top2wrap .txt span{
		display: inline-block;
		padding-right: 150px;
	}
	.top2wrap .txt .sp540{
		display: none;
	}
	.top2 .img3{
		top: auto;
		bottom: 38vw;
		width: 28vw;
	}
	.top3 ul li a span{
		padding: .8em 40px .8em 1em;
		font-size: 13px;
	}
}



/*----------------------------
aboutus/
-----------------------------*/
.aboutus-ttl{
	height: 100vh;
}
.aboutus-mv{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background: url(../img/aboutus-mv.webp) left center / cover no-repeat fixed;
	z-index: -1;
}
.aboutus1 .box1{
	display: flex;
	padding: 100px 0 150px;
	position: relative;
}
.aboutus1 .box1 p{
	flex: 1;
	font-size: 18px;
	line-height: 2.5;
	text-align: left;
}
.aboutus1 .box1 .img1{
	width: 48.43vw;
	margin-right: 5vw;
}
.aboutus1 .box1 .img1 img{
	border-radius: 0 20px 20px 0;
}
.aboutus1 .box1 .img2{
	position: absolute;
	right: 0;
	bottom: 100px;
	width: 20.83vw;
}
.aboutus1 .box1 .img2 img{
	border-radius: 20px 0 0 20px;
}
.aboutus1 .box2{
	display: flex;
	box-sizing: content-box;
	padding: 100px 3% 200px;
	position: relative;
}
.aboutus1 .box2 p{
	flex: 1;
	font-size: 18px;
	line-height: 2.5;
	text-align: left;
}
.aboutus1 .box2 figure{
	width: 41.66vw;
	margin-left: 5vw;
}
.aboutus1 .box2 figure img{
	border-radius: 20px;
}
.aboutus3{
	height: 1478px;
	background: url(../img/aboutus3.jpg) center top / 3000px 1478px no-repeat;
	position: relative;
}
.aboutus3 h2{
	position: absolute;
	top: 150px;
	left: 3%;
	line-height: 1.8;
}
.aboutus3wrap{
	position: relative;
	padding-top: 200px;
}
.aboutus3wrap dl{
	position: absolute;
	line-height: 1.8;
	padding: 0 3%;
	text-align: left;
}
.aboutus3wrap dl.list1{
	left: calc(720px + 3%);
	top: 300px;
}
.aboutus3wrap dl.list2{
	right: calc(720px + 3%);
	top: 420px;
}
.aboutus3wrap dl.list3{
	left: calc(720px + 3%);
	top: 545px;
}
.aboutus3wrap dl.list4{
	right: calc(720px + 3%);
	top: 665px;
}
.aboutus3wrap dl.list5{
	left: calc(720px + 3%);
	top: 790px;
}
.aboutus3wrap dl.list6{
	right: calc(720px + 3%);
	top: 915px;
}
.aboutus3wrap dl dt{
	margin-bottom: .5em;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.33;
}
.aboutus3wrap dl:nth-child(2n) dt{
	text-align: right;
}
.aboutus3wrap dl:nth-child(2) dt{ color: #27618A;}
.aboutus3wrap dl:nth-child(3) dt{ color: #2B74A0;}
.aboutus3wrap dl:nth-child(4) dt{ color: #3088B6;}
.aboutus3wrap dl:nth-child(5) dt{ color: #349ACB;}
.aboutus3wrap dl:nth-child(6) dt{ color: #37ADE0;}

/*----------------- responsive ----------------*/
@media screen and (max-width: 1200px) {
	.aboutus1 .box1 .img1{
		width: 40vw;
	}
	.aboutus3wrap dl.list1,
	.aboutus3wrap dl.list3,
	.aboutus3wrap dl.list5{
		left: calc(50vw + 120px);
		padding-top: 5px;
	}
	.aboutus3wrap dl.list2,
	.aboutus3wrap dl.list4,
	.aboutus3wrap dl.list6{
		right: calc(50vw + 120px);
		padding-top: 5px;
	}
}
@media screen and (max-width: 1023px) {
	.aboutus-ttl{
		height: 400px;
	}
	.aboutus-mv{
		height: 400px;
		background: url(../img/aboutus-mv.webp) left center / cover no-repeat;
	}
	.aboutus1 .box1{
		display: block;
		padding: 100px 5%;
	}
	.aboutus1 .box1 p{
		max-width: 600px;
		margin: 0 auto;
		font-size: 16px;
		line-height: 2;
	}
	.aboutus1 .box1 .img1{
		width: auto;
		margin-left: -5vw;
		margin-right: 15vw;
		margin-bottom: 50px;
	}
	.aboutus1 .box1 .img2{
		bottom: 100px;
		width: 35vw;
	}
	.aboutus1 .box2{
		display: block;
		padding: 50px 5% 100px;
	}
	.aboutus1 .box2 p{
		font-size: 16px;
		line-height: 2;
		margin-bottom: 50px;
	}
	.aboutus1 .box2 figure{
		width: auto;
		margin-right: 5vw;
	}
	.aboutus3{
		height: auto;
		padding: 80px 5% 50px;
		background: url(../img/aboutus3-sp.svg) center 100px / 200% auto no-repeat #F3FAFE;
		overflow: hidden;
	}
	.aboutus3 h2{
		position: static;
		margin-bottom: 1em;
	}
	.aboutus3wrap{
		padding: 0;
	}
	.aboutus3wrap dl{
		position: static;
		padding: 0 0 50px 80px;
	}
	.aboutus3wrap dl dt{
		font-size: 26px;
		position: relative;
		padding-top: .3em;
	}
	.aboutus3wrap dl:nth-child(2n) dt{
		text-align: left;
	}
	.aboutus3wrap dl dt:before{
		display: inline-block;
		content: "";
		position: absolute;
		left: -55px;
		top: 20px;
		width: 42px;
		height: 10px;
		background: #234F76;
	}
	.aboutus3wrap dl:nth-child(2) dt:before{ background: #27618A;}
	.aboutus3wrap dl:nth-child(3) dt:before{ background: #2B74A0;}
	.aboutus3wrap dl:nth-child(4) dt:before{ background: #3088B6;}
	.aboutus3wrap dl:nth-child(5) dt:before{ background: #349ACB;}
	.aboutus3wrap dl:nth-child(6) dt:before{ background: #37ADE0;}
	.aboutus3wrap dl dt span{
		font-size: 24px;
		position: absolute;
		left: -80px;
		top: 0;
		width: 50px;
		height: 50px;
		line-height: 45px;
		font-size: 30px;
		font-weight: bold;
		text-align: center;
		background: #fff;
		border-radius: 50%;
		box-shadow: 0 3px 6px #20456B;
	}
}
@media screen and (max-width: 540px) {
	.aboutus1 .box1{
		padding: 100px 3% 76vw;
	}
	.aboutus1 .box1 .img2{
		bottom: 0;
		width: 80vw;
	}
}



/*----------------------------
service/
-----------------------------*/
.service1 {
	position: relative;
	overflow: visible;
	padding-bottom: 150px;
}
.service1 article {
	display: block;
}
.service1 article h3 {
	position: sticky;
	top: 0;
	z-index: 10;
	line-height: 1.5;
	padding: 160px 0 20px;
	background: #fff;
	border-bottom: 1px solid #20446A;
}
.service1 article:first-child h3 {
	padding: 60px 0 20px;
}
.service1 article h3 span {
	display: block;
	box-sizing: content-box;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 3%;
	font-size: 30px;
	font-weight: normal;
	text-align: left;
}
.service1 article:first-child h3 span {
	padding-top: 100px;
}
.service1 article .cont {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-start;
	gap: 48px;
	padding: 30px 3% 0;
}
.service1 article figure {
	flex: 1;
	width: 40%;
}
.service1 article dl {
	margin: 0;
	flex: 1;
	font-size: 18px;
	text-align: left;
}
.service1 article dl dt {
	margin-bottom: 1.5em;
	font-size: 28px;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.8;
}
/*----------------- responsive ----------------*/
@media screen and (max-width: 1023px) {
	.service1 article:first-child h3 span {
		padding-top: 50px;
	}
	.service1 article h3 {
		padding: 110px 0 20px;
	}
}
@media screen and (max-width: 540px) {
	.service1 {
		padding-bottom: 100px;
	}
	.service1 article h3 {
		padding: 100px 0 20px;
	}
	.service1 article:first-child h3 {
		padding: 0 0 20px;
	}
	.service1 article h3 span {
		font-size: 24px;
	}
	.service1 article:first-child h3 span {
		padding-top: 100px;
	}
	.service1 article .cont {
		display: block;
		padding: 30px 5% 0;
	}
	.service1 article figure {
		width: auto;
		margin: 0;
	}
	.service1 article dl {
		margin: 0 0 30px;
		font-size: 16px;
		line-height: 2;
	}
	.service1 article dl dt {
		margin-bottom: 1em;
		font-size: 20px;
	}
}



/*----------------------------
	news/
-----------------------------*/
.newslist{
	border-bottom: 1px solid #20456B;
}
.newslist a{
	display: flex;
	position: relative;
	padding: 30px 50px 30px 0;
}
.newslist a:after{
	display: inline-block;
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: url(../img/arrow-right.svg) center no-repeat #20456B;
	transition: all .5s;
}
.newslist a:hover:after{
	right: 0;
}
.newslist a figure{
	width: 20.37%;
	min-width: 150px;
	margin-right: 1em;
	aspect-ratio: 163 / 109;
	align-self: flex-start;
}
.newslist a figure img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.newslist a .rightcol{
	flex: 1;
	text-align: left;
}
.newslist a .rightcol .ttl{
	line-height: 1.5;
	margin-bottom: .5em;
}
.newslist a .rightcol .date{
	color: #8EA1B4;
	font-size: 14px;
}
.newslist a .rightcol .tag{
	font-size: 14px;
}
.news-clm2{
	padding: 85px 0 200px;
}
.news-clm2 .wrap{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.news-clm2-left{
	text-align: left;
	max-width: 800px;
	margin-right: 20px;
	flex: 1;
}
.news-clm2-left .tag{
	font-size: 24px;
	line-height: 1.5;
	text-align: left;
	margin-bottom: 20px;
}
.news-clm2-left .btn{
	text-align: center;
	padding-top: 50px;
}
.news-clm2-left .detail-ttl{
	font-size: 28px;
	line-height: 1.7;
	font-weight: 500;
	margin-bottom: 5px;
}
.news-clm2-left .date-tag{
	font-size: 14px;
	display: flex;
	flex-wrap: wrap;
}
.news-clm2-left .date{
	color: #20446A;
	font-weight: 500;
	opacity: .5;
	margin-right: 45px;
	display: block;
}
.news-clm2-left .wpeditor{
	border-top: 1px solid #20456B;
	padding-top: 50px;
	margin: 50px 0 30px;
}
.news-clm2-left .tag-list{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.news-clm2-left .tag-list a{
	color: #20456B;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
	display: block;
	padding: 10px 5px;
	border: 1px solid #20456B;
	border-radius: 20px;
	min-width: 150px;
	margin: 0 10px 10px 0;
}
.news-clm2-left .kanren{
	color: #20446A;
	text-align: left;
	padding-top: 115px;
}
.news-clm2-right{
	width: 150px;
}
.news-clm2-right .inner{
	position: sticky;
	top: 100px;
}
.news-clm2-right ul.btn-list1,
.news-clm2-right ul.btn-list2{
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 30px;
}
.news-clm2-right ul.btn-list1 li,
.news-clm2-right ul.btn-list2 li{
	margin-bottom: 10px;
}
.news-clm2-right ul.btn-list1 li a,
.news-clm2-right ul.btn-list2 li a{
	display: block;
	border-radius: 20px;
	border: 1px solid #20456B;
}
.news-clm2-right ul.btn-list1 li a{
	padding: 10px 5px;
}
.news-clm2-right ul.btn-list2 li a{
	padding: 3px 5px;
}
.news-clm2-right ul.btn-list1 li.active a,
.news-clm2-right ul.btn-list2 li.active a{
	color: #fff;
	background: #20456B;
}
@media screen and (max-width: 1023px) {
	.newslist a:after{
		right: 0;
	}
	.news-clm2{
		padding: 45px 0 100px;
	}
	.news-clm2 .wrap{
		display: block;
	}
	.news-clm2-left{
		margin-right: 0;
	}
	.news-clm2-left .detail-ttl{
		font-size: 24px;
		line-height: 1.5;
	}
	.news-clm2-left .date{
		margin-right: 30px;
	}
	.news-clm2-left .wpeditor{
		padding-top: 30px;
		margin: 30px 0 20px;
	}
	.news-clm2-left .tag-list{
		margin-bottom: 20px;
	}
	.news-clm2-left .kanren{
		padding-top: 70px;
	}
	.news-clm2-right{
		width: auto;
		margin-right: auto;
		margin-left: auto;
	}
	.news-clm2-right ul.btn-list1, .news-clm2-right ul.btn-list2{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-bottom: 20px;
	}
	.news-clm2-right ul.btn-list1 li, .news-clm2-right ul.btn-list2 li{
		margin: 0 5px 10px;
	}
	.news-clm2-right ul.btn-list1 li a,.news-clm2-right ul.btn-list2 li a{
		min-width: 120px;
	}
	.news-clm2-right ul.btn-list1 li a{
		padding: 10px;
	}
	.news-clm2-right ul.btn-list2 li a{
		padding: 5px 10px;
	}
}
@media screen and (max-width: 540px) {
	.newslist a{
		padding: 20px 40px 20px 0;
	}
	.newslist a figure{
		min-width: 100px;
	}
}



/*----------------------------
	faq/
-----------------------------*/
.faq .wrap{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.faq-clm2-left{
	text-align: left;
	max-width: 900px;
	margin-right: 20px;
	flex: 1;
}
.faq-clm2-left article{
	margin-bottom: 45px;
}
.faq-clm2-left h3{
	font-size: 30px;
	font-weight: 500;
	margin-bottom: 15px;
}
.faq-clm2-left dl.ac{
	margin-bottom: 30px;
}
.faq-clm2-left dl.ac dt,
.faq-clm2-left dl.ac dd{
	padding: 24px 20px 24px 80px;
	position: relative;
}
.faq-clm2-left dl.ac dt{
	color: #20456B;
	background: #fff;
	cursor: pointer;
	-webkit-transition: all .2s; transition: all .2s;
}
.faq-clm2-left dl.ac dt.open{
	color: #fff;
	background: #20456B;
}
.faq-clm2-left dl.ac dt span:before,
.faq-clm2-left dl.ac dt span:after{
	background: #20456B;
}
.faq-clm2-left dl.ac dt:before,
.faq-clm2-left dl.ac dd:before{
	font-size: 30px;
	line-height: 1;
	display: block;
	position: absolute;
	top: 23px;
	left: 30px;
	height: 1em;
	margin: auto 0;
}
.faq-clm2-left dl.ac dt:before{
	content: "Q";
}
.faq-clm2-left dl.ac dd:before{
	content: "A";
}
.faq-clm2-left dl.ac dt span{
	display: block;
	padding-right: 30px;
	position: relative;
}
.faq-clm2-left dl.ac dt span:before,
.faq-clm2-left dl.ac dt span:after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	-webkit-transition: all .2s; transition: all .2s;
}
.faq-clm2-left dl.ac dt span:before{
	width: 20px;
	height: 2px;
	right: 0;
}
.faq-clm2-left dl.ac dt span:after{
	width: 2px;
	height: 20px;
	right: 9px;
}
.faq-clm2-left dl.ac dt.open span:before,
.faq-clm2-left dl.ac dt.open span:after{
	background: #fff;
}
.faq-clm2-left dl.ac dt.open span:after{
	opacity: 0;
}
.faq-clm2-left dl.ac dd{
	background: #fff;
	display: none;
	padding-right: 60px;
}
.faq-clm2-right{
	width: 245px;
}
.faq-clm2-right .inner{
	position: sticky;
	top: 100px;
}
.faq-clm2-right ul.btn-list{
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 30px;
}
.faq-clm2-right ul.btn-list li{
	margin-bottom: 10px;
}
.faq-clm2-right ul.btn-list li a{
	display: block;
	border-radius: 20px;
	border: 1px solid #20456B;
	background: #fff;
}
.faq-clm2-right ul.btn-list li a{
	padding: 9px 5px;
}
.faq-clm2-right ul.btn-list li.active a{
	color: #fff;
	background: #20456B;
}
/*----------------- responsive ----------------*/
@media screen and (max-width: 1023px) {
	.faq .wrap{
		display: block;
	}
	.faq-clm2-left{
		margin-right: 0;
	}
	.faq-clm2-left h3{
		font-size: 24px;
		line-height: 1.4;
		margin-bottom: 25px;
	}
	.faq-clm2-left dl.ac{
		margin-bottom: 20px;
	}
	.faq-clm2-left dl.ac dt,
	.faq-clm2-left dl.ac dd{
		padding: 12px 15px 12px 45px;
	}
	.faq-clm2-left dl.ac dt:before,
	.faq-clm2-left dl.ac dd:before{
		font-size: 24px;
		top: 15px;
		left: 15px;
	}
	.faq-clm2-left dl.ac dd{
		padding-right: 15px;
	}
	.faq-clm2-right{
		width: auto;
		margin-bottom: 50px;
	}
}



/*----------------------------
	contact/
-----------------------------*/
.radio-btn-wrap{
	display: flex;
	flex-wrap: wrap;
}
.radio-btn-wrap label{
	margin-right: 1em;
}
.radio-btn-wrap label span{
	vertical-align: middle;
	display: inline-block;
	margin-top: -2px;
}
dl.contact-cont{
	margin-bottom: 30px;
}
dl.contact-cont dt{
	margin-bottom: 10px;
}
dl.contact-cont dt .hissu{
	color: #FF0000;
	display: inline-block;
	margin-left: 30px;
}
dl.contact-cont dd input[type="text"],
dl.contact-cont dd input[type="email"],
dl.contact-cont dd input[type="tel"]{
	height: 70px;
	border: 1px solid #8B8B8B;
	border-radius: 5px;
}
.contact-btn-cont{
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
}
.contact-btn-cont button{
	display: block;
	margin: 0 30px 20px;
}
.btn1.pointer-no{
	pointer-events: none;
	background: url(../img/arrow-right.svg) right 15px center / 16px auto no-repeat #999;
}
@media screen and (max-width: 1023px) {
	dl.contact-cont dd input[type="text"],
	dl.contact-cont dd input[type="email"],
	dl.contact-cont dd input[type="tel"]{
		height: 50px;
	}
	.contact-btn-cont button{
		margin: 0 10px 10px;
	}
}


/*----------------------------
	privacy/
-----------------------------*/
.privacy{
	text-align: left;
}
.privacy article{
	font-size: 14px;
	line-height: 2.2;
	margin-bottom: 140px;
}
.privacy article:last-child{
	margin-bottom: 0;
}
.privacy article p{
	margin-bottom: 2em;
}
.privacy article h3{
	font-size: 30px;
	font-weight: 500;
	margin-bottom: 1em;
}
.privacy article h4{
	font-weight: 900;
}
/*----------------- responsive ----------------*/
@media screen and (max-width: 1023px) {
	.privacy article{
		line-height: 2;
		margin-bottom: 70px;
	}
	.privacy article p{
		margin-bottom: 1.5em;
	}
	.privacy article h3{
		font-size: 24px;
		line-height: 1.6;
	}
}


/*----------------------------
	company/
-----------------------------*/
.company{
	text-align: left;
	padding: 70px 0 100px;
}
.company table.tb1{
	border-bottom: 1px solid #20456B;
	margin-bottom: 100px;
}
.company table.tb1 th{
	width: 250px;
}
.company table.tb1 td{
	font-size: 18px;
}
.company table.tb1 tr:last-child th,.company table.tb1 tr:last-child td{
	border-bottom: none;
}
/*----------------- responsive ----------------*/
@media screen and (max-width: 1023px) {
	.company{
		padding: 50px 0 50px;
	}
	.company table.tb1 th{
		width: 115px;
	}
	.company table.tb1 td{
		font-size: 16px;
		line-height: 1.8;
	}
}


/*----------------------------
	staff/
-----------------------------*/
.staff{
	text-align: left;
	padding: 100px 0 150px;
}
ul.staff-list{
	display: flex;
	flex-wrap: wrap;
}
ul.staff-list li{
	width: 32.75%;
	position: relative;
	margin: 0 .875% 30px 0;
}
ul.staff-list li:nth-child(3n){
	margin-right: 0;
}
ul.staff-list li .staff-box{
	cursor: pointer;
}
ul.staff-list li .staff-box figure img{
	border-radius: 20px;
}
ul.staff-list li .staff-box .name{
	font-size: 18px;
	line-height: 1.4;
	padding: .8em 3em .8em 1.2em;
	border-radius: 0 0 20px 20px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: transparent;
	backdrop-filter: blur(30px);
	--webkit-backdrop-filter: blur(30px);
	background: rgba(255, 255, 255, 0.15);
}
ul.staff-list li .staff-box .name:after{
	content: "";
	background: url(../img/arrow-right.svg) center no-repeat #20456B;
	border-radius: 50%;
	position: absolute;
	top: 0;
	right: 1.2em;
	bottom: 0;
	margin: auto 0;
	width: 25px;
	height: 25px;
	display: block;
	-webkit-transition: all .5s; transition: all .5s;
	transition: all .2s;
}
ul.staff-list li .staff-box:hover .name:after{
	right: .8em;
}
.popup {
	cursor: pointer;
}
.popup-overlay {
	position: fixed;
	z-index: 9999;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	backdrop-filter: blur(30px);
	--webkit-backdrop-filter: blur(30px);
	background-color: rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.35s ease,
		visibility 0.35s ease;
}
.popup-overlay.is-open {
	opacity: 1;
	visibility: visible;
}
.popup-modal {
	position: relative;
	width: 100%;
	max-height: 90vh;
	padding: 100px;
	background: rgba(255,255,255,.8);
	overflow-y: auto;
	opacity: 0;
	transform: scale(0.85) translateY(20px);
	transition:
		opacity 0.35s ease,
		transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.popup-overlay.is-open .popup-modal {
	text-align: left;
	opacity: 1;
	transform: scale(1) translateY(0);
}
.popup-close {
	position: absolute;
	top: 100px;
	right: 5%;
	z-index: 1;
	width: 40px;
	height: 40px;
	background: url(../img/ic-close.svg) center no-repeat #20456B;
	padding: 0;
	border: 0;
	font-size: 36px;
	line-height: 1;
	cursor: pointer;
}
body.popup-open{
	overflow: hidden;
}
.popup-inner .wrap{
	line-height: 1.6;
	max-width: 1120px;
}
.popup-inner .clm2{
	display: flex;
	justify-content: space-between;
}
.popup-inner .clm2 figure{
	width: 50%;
}
.popup-inner .clm2 figure img{
	border-radius: 20px;
}
.popup-inner .clm2 .rightcol{
	width: 44.64%;
}
.popup-inner .name{
	font-size: 28px;
	padding: 0 0 1em;
	font-weight: bold;
	line-height: 1.5;
}
.popup-inner table.tb1{
	border-top: 1px solid #20456B;
}
.popup-inner table.tb1 th,.popup-inner table.tb1 td{
	padding: 25px 0;
}
.popup-inner .photos{
	padding-top: 50px;
}
.popup-inner .photos .ttl{
	margin-bottom: 1em;
	padding-left: 1em;
	font-size: 24px;
	position: relative;
}
.popup-inner .photos .ttl:before{
	display: inline-block;
	content: "";
	position: absolute;
	left: 0;
	top: 55%;
	transform: translateY(-50%);
	width: 15px;
	height: 3px;
	background: #20446A;
}
.popup-inner .photos ul{
	display: flex;
	flex-wrap: wrap;
}
.popup-inner .photos ul li{
	width: 32%;
	margin-bottom: 30px;
}
.popup-inner .photos ul li:not(:nth-child(3n)){
	margin-right: 2%;
}
/*----------------- responsive ----------------*/
@media screen and (max-width: 1023px) {
	.staff{
		padding: 50px 0 70px;
	}
	ul.staff-list{
		display: flex;
		flex-wrap: wrap;
	}
	ul.staff-list li{
		width: 49%;
		position: relative;
		margin: 0 2% 20px 0;
	}
	ul.staff-list li:nth-child(3n){
		margin-right: 2%;
	}
	ul.staff-list li:nth-child(2n){
		margin-right: 0;
	}
	ul.staff-list li .staff-box .name{
		padding: 8px 28px;
	}
	.popup-modal {
		padding: 60px 5%;
	}
	.popup-close {
		top: 10px;
		right: 2%;
		z-index: 1;
	}
	.popup-inner .clm2{
		display: block;
	}
	.popup-inner .clm2 figure{
		width: 100%;
		margin-bottom: 20px;
	}
	.popup-inner .clm2 .rightcol{
		width: 100%;
	}
	.popup-inner .name{
		font-size: 24px;
		padding: 22px 0;
	}
	.popup-inner table.tb1 th{
		display: block;
		padding: 15px 0 0;
		border-bottom: none;
	}
	.popup-inner table.tb1 td{
		display: block;
		padding: 15px 0;
	}
	.popup-inner .photos ul.only2 li{
		width: 48%;
	}
	.popup-inner .photos ul.only2 li:not(:nth-child(3n)){
		margin-right: 0;
	}
	.popup-inner .photos ul.only2 li:nth-child(2n+1){
		margin-right: 4%;
	}
}
