@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@400;700&display=swap');
body {
    margin-top:90px;
    font-size: clamp(14px, 2vw, 16px);
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    color:#222;
    letter-spacing:.15em;
    word-break: break-all;
    overflow-x: hidden;
}
dl, dt, dd,p,a{
	line-height:1.8;
	font-family: "Noto Sans JP", sans-serif;
}
a {
	text-decoration: none;
	color: initial;
	cursor: pointer;
	transition-duration: 0.25s; 
}
img{
	max-width:100%;
	height:auto;
	margin:auto;
}
button {
	cursor: pointer;
}

h2 {
    font-family: "fot-tsukuardgothic-std","Zen Maru Gothic","ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", sans-serif;
	font-size:40px;
	font-weight: 600;
    line-height: 1.3;
	color: #04568D;
}
h2 span{
	font-size:24px;
	font-weight: 600;
	color: #354558;
	opacity:0.5;
}
h3 {
    font-family: "fot-tsukuardgothic-std","Zen Maru Gothic","ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", sans-serif;
	margin-bottom:12px;
	font-size:120px;
	font-weight: 500;
	line-height: 1.3;
    letter-spacing: 0.064em;
	color:#F39700;
	position: relative;
}
h3 span{
	font-size:40px;
	font-weight: 600;
    letter-spacing: 0.1em;
	line-height: 1.6;
	color:#11B93E;
}

h4 {
	width: 100%;
	padding:48px 20px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size:28px;
	line-height:1.7;
	letter-spacing: 0.2em;
	color:#F39700;
	text-align:center;
	box-sizing:border-box;
	position: relative;
	display: inline-block;
	background:#FFF5E3;
}
h4:before{
	content: "";
    width: 100%;
    height: 100%;
    background: url(../img/logo2.svg) no-repeat center;
    background-size: 172px;
    mix-blend-mode: multiply;
    position: absolute;
    left: 0;
    top: 0;
}

h5 {
	width:100%;
	margin-bottom:56px;
	padding: 8px 0px 12px 32px;
	font-size:32px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-style: normal;
	color: #222222;
	letter-spacing:.125em;
	position:relative;
	box-sizing: border-box;
	line-height: 1.6;
}
h5:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width:8px;
    height:100%;
    background-color: #f39700;
    border-radius: 100vmax;
}
.txt_center{
	text-align:center;
}
strong{
	font-weight:bold;
	font-size:120%;
}
hr{
    height: 1px;
    margin: 2% 0;
    border: 0;
    background: #777;
}
.sp{display:none;}

header {
	width:100%;
	padding:20px 12px;
	background-color: #F5F8FB;
	box-shadow: 0 0 12px #00000030;
	box-sizing:border-box;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999; 
}
.head_inner{
	width:95%;
	margin:0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap:wrap;
}
header h1 img {
	width:200px;
}
header .head_logo img {
	width:168px;
}
header h1 a:hover , header .head_logo a:hover{
	opacity:.75;
}
header .gmenu_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.25em;
}
header .gmenu_wrap nav ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.25em;
}
header .gmenu_wrap nav ul li a:hover{
	color: #f9660d;
	opacity:1;
}
header .gmenu_wrap a.contact_btn {
	background-color: #40CF7E;
    padding: 14px 32px;
	border-radius: 999px;
	border: none;
	font-size:20px;
	color: #fff;
}
header .gmenu_wrap a.contact_btn:hover{
	background-color: #1E9C59;
}

footer {
	margin-top:28vw;
    background:linear-gradient(0, #113865 0%, #113865 70%, #0000 70%, #0000 100%);
    position:relative;
}
footer .copy {
	width:100%;
	padding:40px 0 64px;
	text-align: center;
	font-size:14px;
	color:#EEE;
}
footer .ft_contents{
	position:relative;
}
footer .ft_contents .inner1200{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-start;
	padding:3% 4%;
	background:#FBFBFF;
	border-radius:8px;
}
footer .ft_logo img{
	width:172px;
	max-width:80%;
	height:auto;
	margin-bottom:8px;
}
.ft_access{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
}
.ft_access p{
	font-size:14px;
	color:#555;
}
.ft_access a{
	display: flex;
	align-items: center;
	padding: 5px 6px;
	margin-left:8px;
	border:1px solid #354558;
	border-radius:4px;
	background:#fff;
	color:#354558;
}
.ft_access  a:hover{
	background:#354558;
	color:#fff;
}
.ft_access a:before{
	content:"";
	background:url("../img/icon_map.svg") no-repeat;
	width: 14px;
	height: 19px;
	margin-right:3px;
	display:inline-block;
}
.ft_tel p{
	font-size:14px;
	color:#555;
}
.ft_tel .tel_txt{
	font-size:17px;
    line-height: 1.4;
	color:#000;
	display:flex;
	align-items:center;
}
.tel_txt strong{
	margin-left:8px;
	font-size:36px;
    font-weight: bold;
	color:#113865;
}
footer .ft_contents_menu{
	width:100%;
	margin: 16px 0 0;
	padding: 16px 2% 0;
	border-top:1px solid #8599B1;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items: flex-start;
}
footer .ft_list{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}
footer .ft_list li{
	font-size:16px;
	 line-height:1.4; 
}
footer .ft_list li a{
	padding: 8px 32px 8px 0;
	margin-right:40px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
	position: relative;
    font-family: "fot-tsukuardgothic-std","Zen Maru Gothic","ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", sans-serif;
	font-size:17px;
	font-weight: 600;
}
footer .ft_list li a.insta_link:before{
	content: "";
	width:22px;
	height:22px;
	margin-right:8px;
	display:inline-block;
	background:url("../img/icon_i.png") no-repeat;
	background-size:contain;
}
footer .ft_list li a:after{
	content: ">";
	position: absolute;
	right: 0;
	color:#113865;
    line-height: 1.2;
}
footer .ft_list li a:hover{
	color:#f39700;
}

.share{
	position:relative;
	background:#fff;
}
.share:before{
    content: "";
    width: 100%;
    height: 63px;
    position: absolute;
    top: -56px;
    background: url("../img/bg_before.svg") top no-repeat;
    background-size: cover;
}
.share:after{
    content: "";
    width: 100%;
    height: 63px;
    position: absolute;
    bottom: -56px;
    background: url("../img/bg_after.svg") top no-repeat;
    background-size: cover;
}

.inner1200 {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
	position:relative;
}
.inner1600 {
	width: 90%;
	max-width: 1600px;
	margin: 0 auto;
	box-sizing: border-box;
	position:relative;
}

.accent{
	position:absolute;
	bottom:0;
	right:0;
	font-size:120px;
	font-weight:500;
	opacity:.16;
    letter-spacing: 0.064em;
    line-height: 0.85;
    z-index: -1;
}

a.more_link {
	width:160px;
	padding:10px 8px;
	margin:32px auto 0;
	font-size:20px;
	color:#04568D;
	text-align:center;
	letter-spacing:.16em;
	box-sizing:border-box;
	position:relative;
	border:solid 1px #04568D;
	border-radius:24px;
    display: inline-block;
}
a.more_link:hover{
	color:#fff;
	background:#04568D;
}
.asterisk{
	padding-left:15px;
	line-height:1.75!important;
	font-size:80%;
	position:relative;
}
.asterisk:before{
	content:"※";
	position:absolute;
	left:0;
}
.points{
	padding-left:17px;
	line-height:1.75!important;
	position:relative;
}
.points:before{
	content:"・";
	position:absolute;
	left:0;
}

.square{
	padding-left:22px;
	line-height:2!important;
	position:relative;
}
.square:before{
	content:"■";
	position:absolute;
	left:0;
    line-height: 2.4;
}

/* ハンバーガーメニュー */
.gnav_sp{display: none;}
.hamburger{ position:fixed; z-index:999; top: 24px; right: 3vw;}
.menu-trigger,.menu-trigger span{ display:inline-block; transition:all .5s; box-sizing:border-box; margin:0 auto;}
.menu-trigger{ position:relative; width:35px; height:32px; cursor:pointer;}
.menu-trigger:hover{opacity:1;}
.menu-trigger span {position:absolute;left:0;width:100%;height:3px;border-radius:3px;background-color: #777777;}
.menu-trigger span:nth-of-type(1) { top:0;}
.menu-trigger span:nth-of-type(2) { top:15px;}
.menu-trigger span:nth-of-type(3) { bottom:0;}

.menu-trigger.active span:nth-of-type(1) { -webkit-transform:translateY(10px) rotate(-45deg); transform:translateY(10px) rotate(-45deg); width:100%; background-color: #F39700;}
.menu-trigger.active span:nth-of-type(2) { opacity:0; width:100%;}
.menu-trigger.active span:nth-of-type(3) { -webkit-transform:translateY(-18px) rotate(45deg); transform:translateY(-18px) rotate(45deg); width:100%; background-color: #F39700;}

.menu-trigger p{ position:absolute; left:25px; font-weight:bold;}

/* ハンバーガーメニュー内容 折り畳まれ部分 */
#navigation{position:relative;display:none;width:100%;height:100vh;padding: 60px 0 0;background-color: #fff;position:absolute;top:0;left:0;z-index:3;overflow-y:scroll;}
#navigation::-webkit-scrollbar {display:none;}
#navigation .navigation_inner{display: table;width:100%;height: 100%;overflow: scroll;}
#navigation .navigation_inner .navigation_menu{display:flex;flex-wrap:wrap;justify-content:space-between;}

#navigation .navigation_inner .navigation_menu li{width:100%; border-top:1px solid #ddd;}
#navigation .navigation_inner .navigation_menu li:last-child{border-bottom:1px solid #ddd;}
#navigation .navigation_inner .navigation_menu li a{padding: 3% 5%;font-size: 20px;line-height:1.25;display:block;}
#navigation .navigation_inner .navigation_menu li a.contact{background-color: #F39700; color:#fff;}


table{
    width: 100%;
	max-width:1000px;
	margin:0 auto;
	border-collapse: collapse;
}
th{
	width:144px;
	padding: 24px;
	font-size:18px;
	font-weight:bold;
	text-align:left;
	vertical-align:middle;
	border-bottom:2px solid #1A1311;
}
td{
	width:calc( 100% - 144px );
	padding:24px 12px 24px 24px;
	font-size:16px;
	line-height:1.6;
	border-bottom:2px solid #1a13113d;
}

@media screen and (max-width: 1440px) {
	header h1 img {
		width: 164px;
	}
	header .gmenu_wrap nav ul li a{
		font-size: 14px;
    	letter-spacing: .1em;
	}
	header .head_logo img{
    	width: 144px;
	}
}
@media screen and (max-width: 1280px) {
	body{
	    margin-top:88px;
	}
	header h1 img{
        width: 144px;
	}
	header .head_logo img{
		width:120px;
	}
	header .gmenu_wrap nav ul{
    	gap: 1.125em;
	}
	header .gmenu_wrap a.contact_btn{
    	padding: 12px 30px;
    	font-size: 17px;
	}
	footer .ft_banner a{
		padding:4.8vw 0 4.4vw;
        font-size: 3.32vw;
	}
	.accent{
		font-size:8vw;
	}
}
@media screen and (max-width: 1124px) {
	body{
		margin-top:82px;
	}
	.head_inner{
		width:88%;
		margin-left:2%;
	}
	.gnav_sp{display: block;}
	header .gmenu_wrap{display:none;}
}
@media screen and (max-width: 1080px) {
	a.more_link{
		font-size:18px;
	}
	footer .ft_contents_right{
		width:100%;
	}
}
@media screen and (max-width: 768px) {
	h5 {
		margin-bottom:44px;
		padding: 8px 0px 12px 32px;
		font-size:28px;
	}
}

@media screen and (max-width: 640px) {
	.pc{display:none;}
	.sp{display:block;}
	body{
    	margin-top:16vw;
		font-size:3.4vw;
        background: #FAFAFA;
	}
	header{
    	padding: 4vw 3vw;
	}
	header h1 img{
		width:36vw;
	}
	h2{
		font-size:7.2vw;
	}
	h2 span{
		font-size:4.8vw;
	}
	h3{
		font-size: 9vw;
		margin: 0;
	}
	h4{
		padding: 10vw 2vw;
		font-size: 5.6vw;
	}
	h5{
        padding: 2.2vw 0px 2.6vw 4.8vw;
        margin-bottom: 4vw;
        font-size: 5.6vw;
	}
	h5:before{
		width:1.6vw;
	}
	strong{
		font-size:4vw;
	}
	header .head_logo img{
		width:28vw;
	}
	.head_inner{
		width:80%;
	}
	#navigation .navigation_inner .navigation_menu li a{
		padding: 5% 5%;
		font-size:3.8vw;
		line-height:1.25;
		display:block;
	}
	a.more_link{
        width: auto;
        margin: 3.2vh auto 0;
        padding: 2.68vw 9vw;
        font-size: 4vw;
	}
	.accent{
		font-size:12vw;
	}
	.points{
		font-size:3.5vw;
	}
	
	footer{
		margin-top:44vw;
	}
	footer .ft_contents .inner1200{
		padding:10% 4%;
	}
	footer .ft_banner a{
		width:100%;
		padding:10vw 0 9vw;
		font-size:5.6vw;
	}
	footer .ft_logo{
        margin-bottom: 2.4vw;
	}
	.ft_access p{
		font-size:3.4vw;
	}
	.ft_access a{
        margin-top: 1vw;
        margin-left: 0vw;
        font-size: 3.2vw;
	}
	.ft_access a:before{
		width:2vw;
		height:3.2vw;
	}
	.ft_tel p{
        font-size: 3.12vw;
        letter-spacing: 0.1em;
	}
	.ft_tel .tel_txt{
        font-size: 3.3vw;
	}
	.tel_txt strong{
		font-size:7.6vw;
	}
	footer .ft_list{
		width:100%;
	}
	footer .ft_list li a{
        padding: 2vw 4.8vw 2vw 0;
        margin-right: 6.4vw;
        font-size: 3.4vw;
        letter-spacing: 0.1em;
	}
	footer .ft_list li a.insta_link:before{
		width:4vw;
		height:4vw;
	    margin-right:1.6vw;
	}
	footer .copy {
    	padding: 3.2vh 0 6.4vh;
        font-size: 3vw;
	}
	
	th{
        width: 33%;
        padding: 5vw 2vw;
        font-size: 3.3vw;
		font-weight:bold;
		text-align:left;
		vertical-align:middle;
		border-bottom:2px solid #1A1311;
	}
	td{
		width:67%;
		padding:5vw 2vw;
		font-size:3.4vw;
		border-bottom:2px solid #1a13113d;
	}
}
/*# sourceMappingURL=common.css.map */



/* ふわっjs 　*/
.fadeUpTrigger,.fadeUpTrigger2{
	opacity: 0;
}

.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeUpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ふわっjs 　*/



/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1.2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.powered{
	display:none!important;
}