@charset "utf-8";
/* CSS Document */

/*------------------------
ヘッダー
------------------------*/
header{
background-color: #ffffff;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
-webkit-box-shadow: 0px 0px 2px rgba(0,0,0,0.30);
box-shadow: 0px 0px 2px rgba(0,0,0,0.30);
}
#headerBox{
position: relative;
height: 100px;
transition: height 200ms ease;
}
#headerLogo{
position: absolute;
top: 0;
left: 50px;
bottom: 0;
display: flex;
align-items: center;
}
#headerLogo .logo{
width: 80px;
transition: width 200ms ease;
}
#headerCopy{
font-size: 11px;
/*margin-left: 40px;*/
margin-left: 20px;
}
#headerCopy br{
/*display: none;*/
}
#menuBtn{
display: none;
}
#menuBtn+label{
font-family: 'Oswald', sans-serif;
font-size: 10px;
font-weight: 400;
color: #ffffff;
background-color: #1d2086;
line-height: 100%;
text-align: center;
display: none;
position: absolute;
top: 0;
right: 0;
width: 70px;
height: 70px;
cursor: pointer;
padding-top: 42px;
z-index: 2;
transition: background-color 100ms ease;
}
#menuBtn:checked+label{
background-color: #6fd1e3;
}
#menuBtn+label span{
display: block;
position: absolute;
right: 25px;
background-color: #ffffff;
height: 2px;
transition: all 300ms ease-out;
top: 27px;
}
#menuBtn+label span:first-child{
transform: translate(0, -8px);
width: 20px;
}
#menuBtn+label span:nth-child(2){
transform: translate(0, -1px);
width: 16px;
}
#menuBtn+label span:nth-child(3){
transform: translate(0, 6px);
width: 12px;
}
#menuBtn:checked+label span:first-child{
transform: rotate(-45deg);
}
#menuBtn:checked+label span:nth-child(2){
opacity: 0;
right: 10px;
}
#menuBtn:checked+label span:nth-child(3){
width: 20px;
transform: rotate(45deg);
}
#headerMenu{
position: absolute;
top: 0;
right: 0;
bottom: 0;
display: flex;
}
#menuBg{
display: none;
}
/*nav>ul{
display: flex;
height: 100%;
}
nav>ul>li{
height: 100%;
position: relative;
}
nav ul li a{
display: flex;
height: 100%;
flex-direction: column;
justify-content: center;
text-decoration: none;
font-size: 87.5%;
color: #111111;
text-align: center;
padding: 0 25px;
position: relative;
}
nav ul li:hover a{
color: #6fd1e3;
}
nav>ul>li>a::before{
content: '';
display: block;
position: absolute;
top: 50%;
left: 0;
width: 1px;
height: 24px;
background-color: #cdcdcd;
transform: translate(0, -50%) rotate(30deg);
}
nav>ul>li:first-child>a::before{
content: none;
}
nav>ul>li.current>a::after{
content: '';
display: block;
position: absolute;
bottom: 20px;
left: 35px;
right: 35px;
height: 1px;
background-color: #1d2086;
transition: bottom 200ms ease;
}
nav ul.sub{
position: absolute;
top: calc(100% + 30px);
left: -50px;
right: -50px;
opacity: 0;
visibility: hidden;
background-color: #1d2086;
border-radius: 5px;
transition: all 200ms cubic-bezier(0.25, 1, 0.5, 1);
font-size: 12px;
}
nav ul.sub li+li{
border-top: 1px dotted #ffffff;
}
nav>ul>li:hover ul.sub{
top: 100%;
opacity: 1;
visibility: visible;
transition-duration: 500ms;
}
nav ul.sub li a{
color: #ffffff;
padding: 15px 10px;
}
nav ul.sub li:hover a{
color: #6fd1e3;
}
nav li.spMenu{
display:none!Important;
}*/
nav{
position: fixed;
top: 100px;
left: 0;
right: 0;
background-color: #dde2e6;
transition: top 200ms ease;
}
nav>ul{
display: flex;
justify-content: center;
}
nav>ul>li{
position: relative;
width: 20%;
}
nav ul li a{
display: flex;
height: 50px;
flex-direction: column;
justify-content: center;
text-decoration: none;
color: #111111;
text-align: center;
padding: 0 10px;
position: relative;
transition: padding 200ms ease;
font-size: 87.5%;
line-height: 1.4;
}
nav ul li:hover a{
color: #6fd1e3;
}
nav>ul>li.current>a::after{
content: '';
display: block;
position: absolute;
bottom: 10px;
left: 10%;
right: 10%;
height: 1px;
background-color: #1d2086;
transition: bottom 200ms ease;
}
nav ul.sub{
width: 100%;
max-width: 300px;
position: absolute;
top: calc(100% + 30px);
left: 50%;
transform: translate(-50%, 0);
opacity: 0;
visibility: hidden;
background-color: #1d2086;
border-radius: 5px;
transition: all 200ms cubic-bezier(0.25, 1, 0.5, 1);
font-size: 12px;
}
nav ul.sub li+li{
border-top: 1px dotted #ffffff;
}
nav>ul>li:hover ul.sub{
top: 100%;
opacity: 1;
visibility: visible;
transition-duration: 500ms;
}
nav ul.sub li a{
color: #ffffff;
padding: 15px 10px;
}
nav ul.sub li:hover a{
color: #6fd1e3;
}
nav li.spMenu{
display:none!Important;
}
#headerSub{
display: flex;
}
#headerTel{
display: flex;
flex-direction: column;
justify-content: center;
font-size: 150%;
color: #1d2086;
line-height: 1.5;
padding-left: 35px;
background-image: url(../images/tel.png);
background-repeat: no-repeat;
background-position: left center;
background-size: 30px auto;
/*margin-left: 20px;*/
margin-left: 20px;
}
#headerTel a{
color: #1d2086;
text-decoration: none;
}
#headerSns{
/*margin-left: 40px;*/
margin-left: 30px;
display: flex;
}
#headerSns p{
width: 24px;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
}
#headerSns p+p{
margin-left: 20px;
}
#headerSns a{
display: block;
transition: opacity 100ms ease;
}
#headerSns a:hover{
opacity: 0.5;
}
#headerSns img{
max-width: 24px;
}
#headerReservation{
height: 100%;
/*margin-left: 40px;*/
margin-left: 30px;
}
#headerReservation a{
display: flex;
flex-direction: column;
justify-content: center;
height: 100%;
background-color: #1d2086;
color: #ffffff;
text-decoration: none;
font-size: 12px;
padding: 0 30px 0 70px;
background-image: url(../images/reservation.png);
background-repeat: no-repeat;
background-position: 25px center;
background-size: 30px auto;
transition: background-color 100ms ease;
}
#headerReservation a:hover{
background-color: #6fd1e3;
}
#headerReservation a span{
display: block;
font-size: 83.33%;
}
#spTel{
display: none;
position: absolute;
top: 0;
right: 71px;
width: 70px;
height: 70px;
}
#spTel a{
display: block;
position: relative;
height: 100%;
font-family: 'Oswald', sans-serif;
font-size: 10px;
font-weight: 400;
color: #ffffff;
text-decoration: none;
background-color: #1d2086;
line-height: 100%;
text-align: center;
padding-top: 42px;
z-index: 2;
}
#spTel a::before{
content: '';
display: block;
position: absolute;
top: 19px;
left: 50%;
transform: translate(-50%, 0);
width: 20px;
height: 20px;
background-image: url(../images/sp_tel.png);
background-repeat: no-repeat;
background-position: center center;
background-size: 100% auto;
}
header.small #headerBox{
height: 70px;
}
header.small #headerLogo .logo{
width: 60px;
}

header.small nav{
	top: 70px;
}

header.small nav>ul>li>a{
	padding: 10px 10px;
}

header.small nav>ul>li.current>a::after{
	bottom: 10px;
}

#headerFixedBanner{
	position: fixed;
	right: 10px;
	bottom: 90px;
}

#headerFixedBanner ul li{
	width: 190px;
	height: 190px;
}

#headerFixedBanner ul li+li{
	margin-top: 20px;
}

#headerFixedBanner ul li a{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
text-decoration: none;
color: #ffffff;
background-color: #666666;
text-align: center;
border-radius: 50%;
transition: opacity 100ms ease;
}
#headerFixedBanner ul li.seminar a{
background-color: #e0801e;
}
#headerFixedBanner ul li.planner a{
background-color: #0d80d0;
}

#headerFixedBanner ul li a:hover{
	opacity: 0.6;
}

#headerFixedBanner ul li figure{
	max-width: 50px;
	margin: 0 auto 10px;
}

#headerFixedBanner ul li .title{
	line-height: 1.4;
}
#headerFixedBanner ul li .lead{
	width: 100px;
	background-color: #ffffff;
	border-radius: 5px;
	color: #111111;
	margin-top: 5px;
	font-size: 87.5%;
}
#headerFixedBanner ul li.seminar .lead{
color: #e0801e;
}
#headerFixedBanner ul li.planner .lead{
color: #0d80d0;
}
#spFoot{
display: none;
position: fixed;
left: 0;
right: 0;
bottom: 0;
height: 40px;
z-index: 999;
font-size: 87.5%;
}
#spFoot ul{
display: flex;
height: 100%;
}
#spFoot ul li{
width: 50%;
height: 100%;
}
#spFoot ul li a{
display: flex;
flex-direction: column;
justify-content: center;
background-color: #1d2086;
color: #ffffff;
text-decoration: none;
height: 100%;
transition: background-color 100ms ease;
background-repeat: no-repeat;
background-position: 10px center;
background-size: 20px auto;
padding: 0 30px;
text-align: center;
line-height: 1.4;
}
#spFoot ul li a:hover{
background-color: #6fd1e3;
}
#spFoot ul li.reservation a{
background-image: url(../images/reservation.png);
}
#spFoot ul li.line a{
background-image: url(../images/line.png);
background-color: #00b900;
}
#spFoot ul li.line a:hover{
background-color: #6fd1e3;
}





@media screen and (max-width: 1366px){
#headerLogo{
left: 20px;
display: flex;
align-items: center;
}
#headerCopy{
font-size: 8px;
margin-left: 20px;
}
#headerCopy br{
display: inline;
}
nav ul li a{
padding: 0 20px;
}
nav>ul>li.current>a::after{
left: 20px;
right: 20px;
}
#headerTel{
margin-left: 10px;
}
#headerSns{
margin-left: 20px;
}
#headerReservation{
margin-left: 20px;
}
}/*1366*/





@media screen and (max-width: 999px){
#headerBox{
height: 70px;
}
#headerLogo{
left: 10px;
}
#headerLogo .logo{
width: 50px;
}
#headerCopy{
margin-left: 10px;
}
#menuBtn+label{
display: block;
}
#headerMenu{
opacity: 0;
visibility: hidden;
position: fixed;
top: 70px;
left: 70px;
bottom: 0;
display: block;
background-color: #ffffff;
border-top: 1px solid #cdcdcd;
border-left: 1px solid #cdcdcd;
transform: translate(30px, 0);
/*padding-bottom: 50px;*/
/*-webkit-box-shadow: 0px 0px 2px rgba(0,0,0,0.30);
box-shadow: 0px 0px 2px rgba(0,0,0,0.30);*/
overflow-y: auto;
}
#menuBtn:checked+label+#headerMenu{
opacity: 1;
visibility: visible;
transition: opacity 300ms ease-out, transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
transform: none;
}
#menuBg{
display: block;
position: fixed;
top: 70px;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
}
nav{
position: relative;
top: auto;
left: auto;
right: auto;
background-color: #ffffff;
width: 100%;
border-bottom: 1px solid #cdcdcd;
}
nav>ul{
display: block;
}
nav>ul>li{
width: auto;
}
nav ul li{
border-top: 1px solid #cdcdcd;
}
nav ul li.spMenu{
display: inline-block!Important;
width: 100%;
border-top: 1px solid #cdcdcd;
}
nav>ul>li:first-child{
border: none;
}
nav ul li a{
display: block;
height: auto;
text-align: left;
padding: 15px 20px;
font-size: 87.5%;
}
nav>ul>li>a::before{
content: none;
}
nav>ul>li.current>a::after{
top: 0;
bottom: 0;
left: 0;
right: auto;
width: 3px;
height: auto;
transition: none;
}
nav ul.sub{
max-width: none;
position: relative;
top: auto;
left: auto;
transform: none;
opacity: 1;
visibility: hidden;
background-color: transparent;
border-radius: 0;
transition: none;
font-size: 100%;
}
#menuBtn:checked+label+#headerMenu nav ul.sub{
visibility: visible;
}
nav ul.sub li+li{
border-top: 1px solid #cdcdcd;
}
nav>ul>li:hover ul.sub{
top: auto;
}
nav ul.sub li a{
color: #111111;
padding: 15px 10px 15px 50px;
}
#headerSub{
margin-top: 20px;
flex-direction: column;
align-items: center;
}
#headerTel{
margin-left: 0;
}
#headerSns{
margin-left: 0;
margin-top: 20px;
width: 100%;
border-top: 1px solid #cdcdcd;
border-bottom: 1px solid #cdcdcd;
}
#headerSns p{
width: 33.33%;
}
#headerSns p+p{
margin-left: 0;
border-left: 1px solid #cdcdcd;
}
#headerSns a{
padding: 10px;
}
#headerReservation{
height: auto;
margin: 30px auto 0 auto;
max-width: 300px;
padding: 0 10px 30px;
}
#headerReservation a{
font-size: 18px;
padding: 20px 30px 20px 70px;
line-height: 1.5;
}
#headerReservation a span{
font-size: 66.66%;
}
#spTel{
display: block;
}
header.small #headerBox{
height: 70px;
}
header.small #headerLogo .logo{
width: 50px;
}
header.small nav{
top: auto;
}
header.small nav>ul>li>a{
padding: 15px 10px;
}
header.small nav>ul>li.current>a::after{
bottom: 0;
}
#headerFixedBanner{
position: relative;
right: auto;
bottom: auto;
padding-bottom: 30px;
}
#headerFixedBanner ul li{
margin: 0 auto;
}
#headerFixedBanner ul li+li{
margin-top: 20px;
}
#spFoot{
display: block;
}
}/*999*/
/*------------------------
／ヘッダー
------------------------*/



/*------------------------
フッター
------------------------*/
footer{
/*margin-top: 150px;*/
position: relative;
z-index: 998;
}
#footerTop{
background-color: #dde5ef;
position: relative;
}
#footerTop::before{
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 0;
background-image: url(../images/object.svg);
background-repeat: no-repeat;
background-position: center center;
background-size: 100% 100%;
opacity: 0.3;
}
#footerTop>div{
max-width: 1200px;
margin: 0 auto;
padding: 80px 10px;
}
#footerLink{
display: flex;
font-size: 84.5%;
margin-left: -120px;
}
#footerLink>ul{
margin-left: 120px;
}
#footerLink ul li{
margin-top: 10px;
}
#footerLink ul li a{
display: block;
color: #111111;
text-decoration: none;
position: relative;
}
#footerLink ul li a:hover{
color: #6fd1e3;
}
#footerLink>ul+ul{
}
#footerLink>ul>li>ul>li a{
padding-left: 30px;
}
#footerLink>ul>li>ul>li a::before{
content: '';
display: block;
position: absolute;
left: 0;
top: 50%;
width: 20px;
height: 1px;
background-color: #111111;
}
#footerBottom{
background-color: #1d2086;
/*background-color: #333e4b;*/
color: #ffffff;
}
#footerBottom>div{
max-width: 1200px;
margin: 0 auto;
padding: 80px 10px;
display: flex;
align-items: center;
}
#footerLogo{
width: 80px;
}
#footerAddress{
display: flex;
font-size: 87.5%;
}
#footerAddress p{
margin-left: 60px;
}
#footerAddress p a{
color: #ffffff;
}
#copy p{
max-width: 1200px;
margin: 0 auto;
padding: 20px 10px;
color: #999999;
/*text-align: right;*/
font-size: 12px;
font-weight: 400;
}
/*#pagetopBtn{
position: absolute;
top: -35px;
right: 50px;
width: 70px;
height: 70px;
}*/
#pagetopBtn{
position: fixed;
right: 10px;
bottom: 10px;
width: 70px;
height: 70px;
opacity: 0;
visibility: hidden;
transform: translate(30px, 0);
transition: all 200ms cubic-bezier(0.25, 1, 0.5, 1);
}
#pagetopBtn.show{
opacity: 1;
visibility: visible;
transform: none;
transition-duration: 500ms;
}
#pagetopBtn a{
font-family: 'Source Sans Pro', sans-serif;
display: block;
height: 100%;
font-weight: 400;
position: relative;
text-decoration: none;
color: #ffffff;
font-size: 10px;
text-align: center;
border-radius: 50%;
background-color: #1d2086;
padding-top: 40px;
line-height: 100%;
transition: background-color 100ms ease;
}
#pagetopBtn a::before{
content: '';
display: block;
position: absolute;
top: 14px;
left: 50%;
transform: translate(-50%, 0);
width: 12px;
height: 20px;
background-image: url(../images/pagetop.png);
background-repeat: no-repeat;
background-position: center center;
background-size: 100% auto;
}
#pagetopBtn a:hover{
background-color: #6fd1e3;
}





@media screen and (max-width: 999px){
footer{
/*margin-top: 80px;*/
}
footer>div{
max-width: 100%;
}
#footerTop{
}
#footerTop::before{
content: none;
}
#footerTop>div{
padding: 0;
}
#footerLink{
display: block;
margin-left: 0;
}
#footerLink>ul{
margin-left: 0;
}
#footerLink ul li{
margin-top: 0;
border-top: 1px solid #ffffff;
}
#footerLink>ul:first-child>li:first-child{
border: none;
}
#footerLink ul li a{
padding: 10px 20px;
}
#footerLink>ul>li>ul>li a{
padding-left: 50px;
}
#footerLink>ul>li>ul>li a::before{
left: 20px;
}
#footerBottom>div{
padding: 40px 10px 60px;
display: flex;
flex-direction: column;
align-items: center;
}
#footerLogo{
margin: 0 auto;
}
#footerAddress{
display: block;
}
#footerAddress p{
margin-left: 0;
margin-top: 30px;
}
#copy{
padding-bottom: 40px;
}
#copy p{
padding: 15px 10px;
}
#pagetopBtn{
bottom: 50px;
}
}/*999*/
/*------------------------
／フッター
------------------------*/



/*------------------------
サイドバー
------------------------*/
/*------------------------
／サイドバー
------------------------*/



/*------------------------
汎用
------------------------*/
/*#bread{
	font-size: 11px;
	font-size: 1.1rem;
}
#bread ol{
	overflow: hidden;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-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;
	margin-left: auto;
	margin-right: auto;
}
#bread ol li{
	float: left;
	position: relative;
	padding-left: 20px;
	padding-right: 15px;
}
#bread ol li:first-child{
	padding-left: 20px;
	background-image: url(../images/bread_home.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 14px 14px;
}
#bread ol li:last-child{
	padding-top: 10px;
	padding-bottom: 10px;
}
#bread ol li::before{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 4px;
	height: 4px;
	border-top: 1px solid #111111;
	border-right: 1px solid #111111;
	transform: translate(0, -50%) rotate(45deg);
}
#bread ol li:first-child::before{
	content: none;
}
#bread ol li a{
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
}*/



/*#bread{
position: absolute;
top: 0;
left: 0;
padding: 0 50px;
font-size: 11px;
color: #ffffff;
text-align: 14px;
z-index: 2;
}
#bread ol{
display: flex;
}
#bread ol li{
position: relative;
}
#bread ol li+li{
margin-left: 20px;
padding-left: 20px;
}
#bread ol li+li::before{
content: '';
display: block;
position: absolute;
top: 50%;
left: 0;
width: 1px;
height: 15px;
background-color: #ffffff;
transform: translate(0, -50%) rotate(30deg);
}
#bread ol li:last-child, #bread ol li.noneLink{
padding: 28px 0 28px 20px;
}
#bread ol li a{
display: block;
padding: 28px 0;
color: #ffffff;
text-decoration: none;
}
#bread ol li a:hover{
color: #6fd1e3;
}*/



#bread{
position: absolute;
top: 0;
left: 0;
padding: 0 50px;
font-size: 11px;
color: #111111;
text-align: 14px;
z-index: 2;
}
#bread ol{
display: flex;
}
#bread ol li{
position: relative;
}
#bread ol li+li{
margin-left: 20px;
padding-left: 20px;
}
#bread ol li+li::before{
content: '';
display: block;
position: absolute;
top: 50%;
left: 0;
width: 1px;
height: 15px;
background-color: #111111;
transform: translate(0, -50%) rotate(30deg);
}
#bread ol li:last-child, #bread ol li.noneLink{
padding: 28px 0 28px 20px;
}
#bread ol li a{
display: block;
padding: 28px 0;
color: #111111;
text-decoration: none;
}
#bread ol li a:hover{
color: #6fd1e3;
}



@media screen and (max-width: 999px){
#bread{
padding: 0 10px;
width: 100%;
}
#bread ol{
display: block;
white-space: nowrap;
overflow-x: scroll;
}
#bread ol li{
display: inline-block;
}
#bread ol li:last-child{
padding: 10px 0 10px 20px;
}
#bread ol li a{
padding: 10px 0;
text-decoration: none;
}
}/*999*/



.arrow{
	padding-left: 15px;
	position: relative;
}
.arrow::before, .arrow::after{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
}
.arrow::before{
	left: 0;
	width: 9px;
	height: 9px;
	margin-top: -5px;
	background-color: #111111;
	border-radius: 50%;
}
.arrow::after{
	left: 1px;
	width: 4px;
	height: 4px;
	margin-top: -3px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}



.btn{
}
.btn a{
display: block;
color: #ffffff;
text-align: center;
text-decoration: none;
background-color: #1d2086;
border-radius: 100em;
line-height: 1.5;
padding: 15px 20px;
transition: background-color 100ms ease;
}
.btn a:hover{
background-color: #6fd1e3;
}



.content{
padding: 150px 0;
position: relative;
z-index: 2;
background-color: #f9f9f9;
/*background-color: #fffef8;*/
/*background-color: #f4fcfe;*/
}
body.beige .content{
background-color: #fcf8ec;
}
body.blue .content{
background-color: #f4fcfe;
}



.box{
max-width: 1200px;
margin: 0 auto;
padding: 0 10px;
}



.spBr{
display: none;
}



.heading{
font-size: 187.5%;
font-weight: 700;
line-height: 1.5;
position: relative;
}
.heading::before{
content: '';
display: block;
position: absolute;
top: 0.75em;
left: 0;
width: 40px;
height: 20px;
transform: translate(-60px, -50%);
background-color: #1d2086;
}
.heading small{
display: block;
font-size: 50%;
color: #0588e3;
font-weight: 400;
}





/*#pageTitle{
position: relative;
padding-top: 350px;
background-color: #041b44;
overflow: hidden;
}
#pageTitle::before{
content: '';
display: block;
position: absolute;
top: 50%;
left: -10%;
width: 70%;
padding-top: 45%;
transform: translate(0, -50%);
background-image: url(../images/pagetitle_logo.svg);
background-repeat: no-repeat;
background-position: center center;
background-size: 100% auto;
z-index: 1;
}
#pageTitle h1{
font-size: 225%;
line-height: 1.5;
color: #ffffff;
position: absolute;
top: 50%;
left: 0;
right: 0;
transform: translate(0, -50%);
text-align: center;
z-index: 2;
}
#pageTitle h1 small{
font-family: 'Oswald', sans-serif;
display: block;
font-size: 66.66%;
color: #3fa8f2;
font-weight: 400;
}*/



#pageTitle{
position: relative;
padding-top: 350px;
background-color: #ffffff;
overflow: hidden;
}
#pageTitle::before{
content: '';
display: block;
position: absolute;
top: 50%;
left: -10%;
width: 70%;
padding-top: 45%;
transform: translate(0, -50%);
background-image: url(../images/main_image_logo.svg);
background-repeat: no-repeat;
background-position: center center;
background-size: 100% auto;
z-index: 1;
}
#pageTitle h1{
font-size: 225%;
line-height: 1.5;
color: #111111;
position: absolute;
top: 50%;
left: 0;
right: 0;
transform: translate(0, -50%);
text-align: center;
z-index: 2;
}
#pageTitle h1 small{
font-family: 'Oswald', sans-serif;
display: block;
font-size: 66.66%;
color: #3fa8f2;
font-weight: 400;
}



.headMenu{
margin-bottom: 130px;
}
.headMenu.bottom{
margin-top: 130px;
margin-bottom: 0;
}
.headMenu ul{
display: flex;
flex-wrap: wrap;
justify-content: center;
margin-top: -20px;
}
.headMenu.bottom ul{
margin-top: 0;
margin-bottom: -20px;
}
.headMenu ul li{
height: 100%;
position: relative;
}
.headMenu ul li a{
display: flex;
height: 100%;
flex-direction: column;
justify-content: center;
text-decoration: none;
font-size: 87.5%;
color: #111111;
text-align: center;
padding: 15px 35px;
position: relative;
}
.headMenu ul li:hover a{
color: #6fd1e3;
}
.headMenu ul li a::before{
content: '';
display: block;
position: absolute;
top: 50%;
left: 0;
width: 1px;
height: 24px;
background-color: #cdcdcd;
transform: translate(0, -50%) rotate(30deg);
}
.headMenu ul li:first-child>a::before{
content: none;
}
.headMenu ul li.current a::after{
content: '';
display: block;
position: absolute;
left: 35px;
right: 35px;
bottom: 0;
height: 1px;
background-color: #1d2086;
}





@media screen and (max-width: 999px){
.content{
padding: 50px 0 80px;
}
.box{
max-width: 100%;
}
.spBr{
display: inline;
}
.heading{
font-size: 171.5%;
padding-left: 40px;
}
.heading::before{
top: 0.75em;
left: -10px;
width: 40px;
height: 20px;
transform: translate(0, -50%);
}
#pageTitle{
padding-top: 50%;
}
#pageTitle h1{
font-size: 171.42%;
}



.headMenu{
margin-bottom: 50px;
/*padding: 0 10px;
width: 100%;*/
}
.headMenu.bottom{
margin-top: 50px;
}
.headMenu ul{
display: block;
white-space: nowrap;
overflow-x: scroll;
}
.headMenu ul li{
display: inline-block;
}
.headMenu ul li a{
/*padding: 15px 10px;*/
}
.headMenu ul li.current a::after{
/*left: 10px;
right: 10px;*/
}



/*.headMenu{
margin-bottom: 50px;
}
.headMenu.bottom{
margin-top: 50px;
}
.headMenu ul{
justify-content: flex-start;
margin-top: 0;
}
.headMenu ul li{
width: 50%;
margin-top: 0;
}
.headMenu ul li a{
padding: 15px 10px;
}
.headMenu ul li:nth-child(2n+1)>a::before{
content: none;
}
.headMenu ul li.current a::after{
left: 10px;
right: 10px;
}*/



}/*999*/
/*------------------------
／汎用
------------------------*/





#policy{
border: 1px solid #cdcdcd;
overflow-y: scroll;
height: 300px;
font-weight: 400;
font-size: 87.5%;
padding: 20px;
margin-top: 80px;
}
#policy *+p{
margin-top: 1em;
}
#policy p span{
font-weight: 700;
}
#policy dl dt{
margin-top: 2em;
font-weight: 700;
}
#policy>*:last-child{
padding-bottom: 20px;
}

#policy dl dt{
counter-increment: policy;
margin-top: 2em;
padding-left: 30px;
position: relative;
font-weight: 700;
font-size: 112.5%;
}
#policy dl dt::before{
content: counter(policy, decimal) '.';
display: block;
position: absolute;
top: 0;
left: 0;
}
#policy dl dd{
padding-left: 30px;
}
#policy dl dd ul{
margin-top: 1em;
}
#policy dl dd ul.numberList li{
padding-left: 1em;
text-indent: -1em;
}
#policy dl dd ul.list li{
list-style-type: disc;
margin-left: 20px;
}
#policy dl dd ul.numberList ul.list{
margin-top: 0;
}
#policy dl dd ul.numberList ul.list li{
padding-left: 0;
text-indent: 0;
}
#policy .companies{
margin-top: 2em;
}
#policy .companies h3{
font-weight: 700;
}
#policy .companies h3::before{
content: '＜';
}
#policy .companies h3::after{
content: '＞';
}
#policy .companies ul.list{
margin-top: 0;
}
#policy .contact{
margin-top: 1em;
border: 1px solid #111111;
padding: 20px;
}
#policy .contact h3{
font-weight: 700;
margin-top: 1em;
}
#policy .contact h3:first-child{
margin-top: 0;
}
#policy .contact p{
margin-top: 0;
}
#policy .policyBox{
margin-top: 1em;
border: 1px solid #111111;
padding: 20px;
}
#policy .policyBox ul li{
list-style-type: disc;
margin-left: 20px;
}





@media screen and (max-width: 999px){
#policy{
height: 200px;
padding: 10px;
margin-top: 50px;
}
#policy>*:last-child{
padding-bottom: 10px;
}
}/*999*/





/*------------------------
ページネーション
------------------------*/
#pagination{
margin-top: 60px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
#pagination>p{
width: 40px;
height: 40px;
}
#pagination p a{
display: block;
height: 100%;
position: relative;
overflow: hidden;
text-indent: 120%;
border-radius: 50%;
background-color: #ffffff;
transition: background-color 100ms ease;
}
#pagination p a::before{
content: '';
display: block;
position: absolute;
top: 50%;
left: 50%;
width: 20px;
height: 12px;
transform: translate(-50%, -50%);
background-image: url(../images/arrow.png);
background-repeat: no-repeat;
background-position: center center;
background-size: 100% auto;
}
#pagination p.prev a::before{
transform: translate(-50%, -50%) rotate(180deg);
}
#pagination p.next a::before{
}
#pagination p.disabled{
opacity: 0.2;
}
#pagination p a:hover{
background-color: #dde5ef;
}
#pagination p.disabled a:hover{
background-color: #ffffff;
}
#pagination #pageNum{
width: calc(100% - 100px);
display: flex;
flex-wrap: wrap;
justify-content: center;
margin-top: -10px;
}
#pagination #pageNum li{
width: 50px;
padding: 0 5px;
margin-top: 10px;
}
#pagination #pageNum li a{
font-family: 'Oswald', sans-serif;
text-decoration: none;
color: #1d2086;
background-color: #ffffff;
text-align: center;
line-height: 40px;
display: block;
border-radius: 50%;
transition: all 100ms ease;
font-size: 87.5%;
font-weight: 400;
}
#pagination #pageNum li a:hover{
background-color: #dde5ef;
}
#pagination #pageNum li a.current{
background-color: #1d2086;
color: #ffffff;
}





@media screen and (max-width: 999px){
#pagination{
margin-top: 30px;
padding: 0 2%;
}
}/*999*/
/*------------------------
／ページネーション
------------------------*/





#notfoundMain{
text-align: center;
}
#notfoundMain p.btn{
max-width: 240px;
margin: 30px auto 0;
}