@charset "utf-8";

:root{--spacing:1px;}
*{letter-spacing:var(--spacing);}
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video{
	margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent;box-sizing:border-box;}
html{font-size:62.5%;}
[role="main"] {
	font-family:"BIZ UDGothic",'Noto Sans JP', YuGothicM, "游ゴシック Medium", YuGothic, "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic", "メイリオ", Meiryo, sans-serif;
	font-size:1.8rem;
	color:#202945;
	line-height:1.9;
	-webkit-text-size-adjust:100%;
	max-width:100%;
	min-width:320px;
	text-align:left;
	transition:1s ease;
}
main {margin-top: 125px;}
h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
ul{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after,q:before, q:after{content:'';content:none;}
li{list-style-type:none;}
ins{text-decoration:none;}
mark{font-style:italic;font-weight:bold;}
del{text-decoration:line-through;}
abbr[title], dfn[title]{border-bottom:1px dotted;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;margin:1em 0;padding:0;border:0;border-top:1px solid #cccccc;}
input, select{vertical-align:middle;margin:0;box-sizing:border-box;}
input,textarea{-webkit-appearance:none;font-family:inherit;box-sizing:border-box;}
input:focus,textarea:focus,select:focus{outline:0;}
button{font-family:inherit;background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;appearance:none;box-sizing:border-box;}
button::-moz-focus-inner{border:0;}
input:placeholder-shown{color:#ccc;}
input::-webkit-input-placeholder{color:#ccc;}
input:-moz-placeholder{color:#ccc;opacity:1;}
input::-moz-placeholder{color:#ccc;opacity:1;}
input:-ms-input-placeholder{color:#ccc;}
pre{white-space:pre-wrap;font-family:inherit;}
img{border:none;vertical-align:bottom;max-width:100%;height:auto;}
small{font-size:75%;}
:where(#sharewithmain) a{color:#202945;margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration:none;box-sizing:border-box;outline:none;transition:.25s ease;}
:where(#sharewithmain) a[href^="tel:"]{cursor:text;}
:where(#sharewithmain) a:hover{color:#1D3E66;}
*:focus-visible,
select:focus-visible{outline:2px solid #332e2d;transition:outline 0s!important;}
.clearfix:after{content:"";clear:both;display:block;}

@media screen and (min-width:1px) and (max-width:960px){
	main {margin-top: 84px;}
}
@media screen and (min-width:1px) and (max-width:768px){
	main {margin-top: 59px;}
}

/* -------------------------------------------------- */
/* header */
/* -------------------------------------------------- */
header{position:fixed;top:0;left:0;padding:0 30px 0 40px;width:100%;height:125px;z-index:1002;background:#FFF;border-bottom: 1px solid #BFCEE2;transition:.5s ease;}
header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;height:100%;transition:padding .5s;}
header .logo{position:relative;transition:.5s ease;}
header .logo a{display:block;position:relative;}
header .logo img{transition:.5s ease;}
header .header-menu{display: none; align-items:center;}

header #header-btn{position:relative;display:block;width:60px;height:60px;z-index:1003;}
header #header-btn span{display:inline-block;transition:.2s,background .5s ease;box-sizing:border-box;width:22px;position:absolute;top:48%;right:19px;height:2px;background-color:#1D3E66;}
header #header-btn span:nth-of-type(1){transform:translateY(-7px);}
header #header-btn span:nth-of-type(3){transform:translateY(7px);}
header #header-btn small{color:#fff;font-size:1.2rem;font-weight:bold;display:block;padding-top:39px;transition:color .5s ease;}
header #gnav{}
header #gnav a{}
header #gnav .gnav-inner{}
header #gnav .gnav-container{display: flex;flex-direction: column-reverse;}
header #gnav .gnav-link01{display:flex;flex-wrap:wrap;gap:0 30px;}
header #gnav .gnav-link01 a[target="_blank"]::after {content: '';width: 16px;height: 16px;background: url(/img/icon-blank.svg) center / cover no-repeat;display: inline-block;margin-left: 3px;vertical-align: middle;}
header #gnav .gnav-link01 a {background-image: linear-gradient(90deg, #1D3E66, #1D3E66);background-position: left bottom; background-repeat: no-repeat;background-size: 0 1px;line-height: 1.5;padding-bottom: 3px;text-decoration: none;transition: background-size .3s cubic-bezier(0.18, -0.01, 0.3, 1);}
header #gnav .gnav-link01 a:hover {background-size: 100% 1px;}
header #gnav .gnav-link02{display: flex;align-items: center;justify-content: flex-end;margin-bottom: 10px;}
header #gnav .gnav-link02 .inner01 {margin-right: 14px;}
header #gnav .gnav-link02 .inner02 {margin-right: 20px;}
header #gnav .gnav-link02 .inner03 a {background: #1D3E66;color: #fff;font-size: 1.4rem;display: inline-block;border-radius: 10em;padding: 8px 20px;border: 1px solid #1D3E66;}
header #gnav .gnav-link02 .inner03 a:hover {transition .3s cubic-bezier(0.18, -0.01, 0.3, 1);background: #fff;color: #1D3E66}
header #gnav .gnav-link02 .header-search-box {position: relative;}
header #gnav .gnav-link02 .search-box input {border: 1px solid #BFCEE2;border-radius: 10em;background: #fff;font-size: 1.3rem;}
header #gnav .gnav-link02 .search-box input::placeholder {color: #202945;}
header #gnav .gnav-link02 .search-box input[type="submit"] {width: 16px;height: 16px;background: url(/img/icon-search.svg) center / cover no-repeat;border: none;position: absolute;top: 0;bottom: 0;right: 8px;margin: auto;}
header #gnav .gnav-link02 .lang-box {background: #E8EEF7;border-radius: 10em;display: flex;font-size: 1.5rem;padding: 4px 10px;font-family: "Roboto", sans-serif;line-height: 1.6;}
header #gnav .gnav-link02 .lang-box li > * {display: inline-block;border-radius: 10em;padding: 0 9px;lh1}
header #gnav .gnav-link02 .lang-box span {background: #1D3E66;color: #fff;}
header #gnav .gnav-link02 .lang-box a:hover {color: #1D3E66}

header.active #header-btn span{background:#fff!important;}
header.active #header-btn span:nth-of-type(1){transform:rotate(45deg);}
header.active #header-btn span:nth-of-type(2){opacity:0;}
header.active #header-btn span:nth-of-type(3){transform:rotate(-45deg);}
header.active #header-btn small{font-size:0;color:#fff!important;}
header.active #header-btn small::before{content:"Close";font-size:1.2rem;letter-spacing:0.05em;}

@media screen and (min-width:1px) and (max-width:960px){
	header {padding: 0 26px 0 20px;height: 84px;}
	header .logo img {width: 270px;}
	header #gnav .gnav-link01 {gap:0 20px;}
	header #gnav .gnav-link01 a {font-size: 1.2rem;}
	header #gnav .gnav-link02 .inner01,
	header #gnav .gnav-link02 .inner02 {margin-right: 10px;}
	header #gnav .gnav-link02 {margin-bottom: 0;}
	header #gnav .gnav-link02 .search-box input {font-size: .8rem;padding: 6px;}
	header #gnav .gnav-link02 .search-box input[type="submit"] {width: 10px;height: 10px;}
	header #gnav .gnav-link02 .lang-box {font-size: 1rem;}
	header #gnav .gnav-link02 .inner03 a {font-size: .9rem;padding: 5px 14px;vertical-align: middle;}
	
}
@media screen and (min-width:1px) and (max-width:768px){
	header{height:60px!important;padding:0 0 0 8px;}
	header .header-inner{padding:0!important;}
	header .header-menu {display: block;}
	header .logo img{width:200px!important;}
	header #gnav {display: none;}
}

/* -------------------------------------------------- */
/* footer */
/* -------------------------------------------------- */
footer{background: #fff;border-top:1px solid #BFCEE2;padding:100px 0 65px;margin-top: 150px;}
footer nav {display: flex;flex-wrap: wrap;gap: 70px 20px}
footer .nav-box {width: calc((100% - 60px) / 4);}
footer .nav-box li {margin-bottom: 4px;}
footer .nav-box a {display: inline-block;background-image: linear-gradient(90deg, #1D3E66, #1D3E66);background-position: left bottom; background-repeat: no-repeat;background-size: 0 1px;line-height: 1.5;padding-bottom: 0px;text-decoration: none;transition: background-size .3s cubic-bezier(0.18, -0.01, 0.3, 1);}
footer .nav-box a:hover {background-size: 100% 1px;}
footer .nav-box a[target="_blank"]::after {content: '';width: 16px;height: 16px;background: url(/img/icon-blank.svg) center / cover no-repeat;display: inline-block;margin-left: 5px;vertical-align: middle;}
footer .nav-box .nav-ttl {font-weight: bold;font-size: 2rem;margin-bottom: 15px;}
footer .nav-box ul {font-size: 1.6rem;}
footer .footer-sub {margin-top: 100px;}
footer .footer-sub .sns a {display: inline-block;}
footer .footer-sub .sns a:hover {opacity: .7;transition: .3s cubic-bezier(0.18, -0.01, 0.3, 1);}
footer .footer-sub .bottom-nav {border-top: 1px solid #BFCEE2;margin-top: 35px;padding-top: 50px;display: flex;justify-content: space-between;align-items: flex-end;}
footer .footer-sub .bottom-nav .left ul {display: flex; gap:30px;}
footer .footer-sub .bottom-nav .left ul a {font-size: 1.4rem; color: #62697C;background-image: linear-gradient(90deg, #1D3E66, #1D3E66);background-position: left bottom; background-repeat: no-repeat;background-size: 0 1px;line-height: 1.5;padding-bottom: 0px;text-decoration: none;transition: background-size .3s cubic-bezier(0.18, -0.01, 0.3, 1);}
footer .footer-sub .bottom-nav .left ul a:hover {background-size: 100% 1px;}
footer .footer-sub .copyright{color:#62697C;font-size:1.4rem;margin-top:30px;font-family: "Roboto", sans-serif;font-weight: 300;}
footer .footer-sub #pagetop a span{font-size: 1.4rem;color: #62697C;font-family: "Roboto", sans-serif;font-weight: 300;background-image: linear-gradient(90deg, #1D3E66, #1D3E66);background-position: left bottom; background-repeat: no-repeat;background-size: 0 1px;line-height: 1.5;padding-bottom: 0px;text-decoration: none;transition: background-size .3s cubic-bezier(0.18, -0.01, 0.3, 1);}
footer .footer-sub #pagetop a::after {content: '';width: 36px;height: 36px;display: inline-block;background: url(/img/icon-circle-right.svg) center / cover no-repeat;transform: rotate(-90deg);vertical-align: middle;margin-left: 10px;transition: .3s cubic-bezier(0.18, -0.01, 0.3, 1);}
footer .footer-sub #pagetop a:hover span {background-size: 100% 1px;}
footer .footer-sub #pagetop a:hover::after  {background-image: url(/img/icon-circle-right-white2.svg);}

@media screen and (min-width:1px) and (max-width:960px){
	footer{padding:60px 0 40px;margin-top: 100px;}
	footer .nav-box .nav-ttl {font-size: 1.4rem;}
	footer .nav-box ul {font-size: 1rem;}
	footer .footer-sub {margin-top: 70px;}
	footer .footer-sub .sns a  {width: 18px;height: 18px;}
	footer .footer-sub .bottom-nav {margin-top: 20px;padding-top: 30px;}
	footer .footer-sub .bottom-nav .left ul {gap:18px;}
	footer .footer-sub .bottom-nav .left ul a {font-size: 1rem;}
	footer .footer-sub .copyright {font-size: 1rem;margin-top: 20px;}
	footer .footer-sub #pagetop a span {font-size: 1rem;}
	footer .footer-sub #pagetop a::after {width: 24px;height: 24px;	}
}
@media screen and (min-width:1px) and (max-width:768px){
	footer{padding:48px 0 40px;margin-top: 90px;}
	footer nav {gap: 14px 20px}
	footer .nav-box {width: calc((100% - 20px) / 2);}
	footer .nav-box .nav-ttl {margin-bottom: 0;font-size: 1.6rem;}
	footer .nav-box ul {display: none;}
	footer .footer-sub .bottom-nav {display: block;}
	footer .footer-sub {margin-top: 48px;}
	footer .footer-sub .sns a  {width: 22px;height: 22px;}
	footer .footer-sub .bottom-nav {padding-top: 24px;}
	footer .footer-sub .bottom-nav .left ul {font-size: 1.3rem;flex-wrap: wrap;gap:10px 24px;}
	footer .footer-sub .copyright {font-size: 1.2rem;}
	footer .footer-sub #pagetop {text-align: right;margin-top: 16px;}
	footer .footer-sub #pagetop a span {font-size: 1.3rem;}
	footer .footer-sub #pagetop a::after {width: 32px;height: 32px;}
}


/* -------------------------------------------------- */
/* form */
/* -------------------------------------------------- */
input[type="text"],input[type="number"],input[type="tel"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],
input[type="datetime"],input[type="datetime-local"],input[type="url"],input[type="search"],select,textarea{border:1px solid #ccc;border-radius:3px;padding:8px;font-size:1.4rem;font-family:inherit;background:#f9f9f9;}
select{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;background:url(/assets/img/arrow_select.png) no-repeat center right #fff;background-size:20px 7px;padding-right:28px!important;}
select::-ms-expand {display: none;}
textarea{width:100%;resize:vertical;}

@media screen and (min-width:1px) and (max-width:622px){
	input[type="text"],input[type="number"],input[type="tel"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],
	input[type="datetime"],input[type="datetime-local"],input[type="url"],input[type="search"],select,textarea{font-size:16px!important;}
	textarea{font-size:16px!important;}
}


/* -------------------------------------------------- */
/* common */
/* -------------------------------------------------- */
.text-center{text-align:center!important;}
.text-right{text-align:right!important;}
.text-left{text-align:left!important;}
.nowrap{white-space:nowrap!important;}

.v-sp{display:none!important;}
.v-pc{display:block!important;}


/* container */
.container{max-width:1170px;padding:0 ;margin:auto;position:relative;}
section > .container,.section > .container{padding:110px 0 120px;}

@media screen and (min-width:1px) and (max-width:960px){
	[role="main"] {font-size:1.2rem;}
	.container{padding:0 10%;}
	section > .container,.section > .container{padding:50px 10%;}
}
@media screen and (min-width:1px) and (max-width:768px){
	[role="main"] {font-size:1.5rem;}

	.v-pc{display:none!important;}
	.v-sp{display:block!important;}

	.container{padding:0 4%;}
	section > .container,.section > .container{padding:35px 4%;}
}
