@charset "utf-8";

/* ==========================================================================
   Foundation
   ========================================================================== */
/* Reset
   ----------------------------------------------------------------- */

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,main,menu,nav.gnav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:500;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav.gnav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}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;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}
figure{margin-bottom:0;}
/* Base
   ----------------------------------------------------------------- */
body{
	font-family:"Noto Sans JP","Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", sans-serif;
	font-weight:500;
	color:#333333;
	font-feature-settings: "palt";/*文字詰め用*/
}
html {
  scroll-padding-top: 70px;
}
a{text-decoration:none;color:#707070;}
a:hover{opacity:0.8;}
img{
	vertical-align:top;
	max-width:100%;
	height:auto;
}
ol{list-style:none}

/* ==========================================================================
   共通
========================================================================== */
html{font-size:16px;scroll-padding-top: 20px;}

/*文字寄せ*/
.txt-right{text-align:right;}
.txt-center{text-align:center;}
/*一文字空白*/
.indent{text-indent: 1em;}
/*URL改行防止*/
main p{word-break: break-all;}


/*mapレスポンシブ*/
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

/*tel スマホサイズのみクリック可*/
@media screen and (min-width: 769px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

@media screen and (min-width: 769px) {.sp768{display:none;}}
@media screen and (min-width: 481px) {.sp480{display:none;}}

/*共通ボタン*/
.btn a{
	font-size:clamp(16px, 2vw, 24px);
	font-weight:bold;
	color:#fff;
	text-align:center;
	background:#6DC9C0;
	max-width:600px;
	box-sizing:border-box;
	line-height:45px;
	padding:1rem;
	display: block;
	margin:0 auto;
	border:solid 3px #6DC9C0;
	border-radius:40px;
}


.btn a:hover{
	opacity: 1;
	background:#fff;
	color:#6DC9C0;
}

@media screen and (max-width: 480px){
.btn a{

}
}

.link a{
	color:#464DA8;
	font-weight:bold;
}
.link a:after{
	content:"";
	display:inline-block;
	width:16px;
	height:14px;
	margin-top:2px;
	background-image:url(img/icon01.png);
	background-repeat:no-repeat;
	background-size:auto 100%;
	margin-left:10px;
	
}


/*動画レスポンシブ*/
.movie-wrap{
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
	background:#ccc;
}
.movie-wrap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/*ドットが水色のリスト*/
ul.list01{
	margin-left: 0.5rem;
	margin-bottom:2rem;
}
ul.list01 > li{
	font-size:clamp(14px, 2vw, 16px);
	line-height: 2em;
	margin: 0 0 1rem 0;
	padding:0 0 0 26px;
	position:relative;
	font-weight:400;
}
ul.list01 > li:before{
	content: "";
	position:absolute;
	left:4px;
	top:10px;
	width:15px;
	height:15px;
	background:rgb(0,151,224);
	display: block;
	border-radius:10px;
}

ul.list01 > li ul{margin-left:1rem;}

@media screen and (max-width: 768px){
	ul.list01 li{padding:0 0 0 20px;}
	ul.list01 li:before{width:7px; height:7px;top:12px;}
}
@media screen and (max-width: 480px){
	ul.list01 li{padding:0 0 0 16px;}
}
/*ドットがシンプルなリスト*/
ul.list02{
	margin-left: 0.5rem;
	margin-bottom:2rem;
}
ul.list02 > li{
	font-size:clamp(14px, 2vw, 16px);
	line-height: 2em;
	margin: 0 0 1rem 0;
	padding:0 0 0 26px;
	position:relative;
	font-weight:400;
}
ul.list02 > li:before{
	content: "";
	position:absolute;
	left:7px;
	top:15px;
	width:4px;
	height:4px;
	background:#5A391D;
	display: block;
	border-radius:10px;
}
ul.list02 > li ul{margin-left:1rem;}

ol.list-num01 {
	margin-left: 0.5rem;
	margin-bottom:2rem;
	counter-reset: listnum;
}
ol.list-num01 > li{
	font-size:clamp(14px, 2vw, 16px);
	line-height: 2em;
	margin: 0 0 1rem 0;
	padding:0 0 0 26px;
	position:relative;
	font-weight:400;
}
ol.list-num01 > li:before{
	position: absolute;
	left: 0px;
	counter-increment: listnum;
	content: counter(listnum) ".";
	width: 23px;
	text-align: right;
}


/*共通テーブル*/
table.tbl100{width: 100%;}
.tbl01 td,
.tbl01 th{
	padding: 1rem 2rem;
	line-height: 1.5rem;
	border-right:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
}
.tbl01{
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc;
}
.tbl01 th{
	vertical-align: middle;
	font-weight:bold;
}

.tbl01 thead th{text-align:center;background:#d4f0fc;}
.tbl01 tbody th{text-align: center;background:#f2f2f2;}
@media screen and (max-width: 768px){
.scroll{
	overflow: auto;
	white-space: nowrap;
	margin-bottom: 1em;
}
.scroll table{
	width: 100%;
	margin-bottom: 0.5em;
}
}



/* ==========================================================================
   Layout
========================================================================== */
/* Header
----------------------------------------------------------------- */
#header-in{
	display:flex;
	flex-wrap:wrap;
	
}
.h-logo{
	max-width:500px;
	margin:1rem;
}

.h-contact{
	width:300px;
	box-sizing:border-box;
	margin-left:1rem;
	background:rgb(0,151,224);
	display:flex;
	justify-content:center;
	    align-items: center;
    flex-direction: column;
}
.h-contact h2{font-size:16px;color:#fff;margin-bottom:.5rem;}
.h-contact a{font-size:24px;color:#fff;}
.h-contact a img{margin-right:5px;}
@media screen and (max-width: 1480px){
	.h-logo{max-width:360px;}
	.h-contact{width:240px;min-height:60px;}
.h-contact h2{font-size:14px;}
.h-contact a{font-size:18px;}
}
@media screen and (max-width: 1280px){
	.h-logo{max-width:260px;}
	.h-contact{width:170px;}
	.h-contact h2{font-size:12px;}
	.h-contact a{font-size:16px;}
	.h-contact a img{width:18px;}
}
@media screen and (max-width: 960px){
	.h-logo{margin:0.5rem 1rem;}
	.h-contact{margin-left:auto;margin-right:60px;}
}

@media screen and (max-width: 580px){
	header{min-height:60px;display:flex; align-items:center;}
	.h-logo{margin:0.5rem 4rem 0.5rem 1rem;}
	.h-contact{
		position:fixed;
		right:0;
		bottom:0;
		z-index:999;
		width:100%;
		margin:0;
		padding:5px;
		box-sizing:border-box;
		flex-direction: row;
	}
	.h-contact h2{margin-bottom:0;margin-right: 8px;}
	.h-contact a{font-size:18px;display:flex; align-items:center;}
}



/*tab sp ナビ*/
.globalMenuSp-in::-webkit-scrollbar{width: 8px;}
.globalMenuSp-in::-webkit-scrollbar-track{background-color: #ddd;}
.globalMenuSp-in::-webkit-scrollbar-thumb{background-color: #F2AC7F;}

@media screen and (min-width: 961px){
.navToggle{display:none;}
.globalMenuSp-in{display:flex;align-items:center;height:100%;}
.globalMenuSp{flex:1;}
.h_nav{
	display: table;
    width: 100%;
	padding:5px 8px;
}
.h_nav li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
.h_nav li a{
	display:block;
	color:rgb(0,151,224);
	padding:0px 0.5rem;
	line-height:34px;
	font-size:clamp(13px, 1.25vw ,20px);
}
.h_nav li:last-child a{border-right:none;}
}

@media screen and (max-width: 960px){

.header-nav{}

nav.globalMenuSp {
	position: fixed;
	height: 100%;
	z-index: 99999;
	top: 0;
	right: 0;
	background:#fff;
	color: #000;
	transform: translateX(100%);
	transition: all 0.6s;
	width: 100%;
	max-width:270px;
	margin:0;
	padding-bottom:45px;
	border-left:solid 1px #ddd;
	box-sizing:border-box;
}
.globalMenuSp-in{
	position:fixed;
	height: calc(100vh - 1rem);
	padding:60px 15px 0 ;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	width:100%;
	box-sizing:border-box;
	display: flex;
	flex-direction: column;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
	transform: translateX(0%);
	display:block;
	top:0px;
}
.navToggle {
	display: block;
	position: fixed;
	right: 0px;
	top: 0px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	z-index: 999999;
	text-align: center;
	background:#fff;
}
.navToggle span {
	display: block;
	position: absolute;    /* .navToggleに対して */
	width: 30px;
	height:2px;
	background:rgb(0,151,224);
	border-radius:2px;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 15px;
}
.navToggle span:nth-child(1) {top: 20px;}
.navToggle span:nth-child(2) {top: 40px;}
.navToggle span:nth-child(3) {top: 30px;}
.navToggle span:nth-child(4) {display:none;}
.navToggle.active{position:fixed; }
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
	top: 30px;
	left: 15px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
	top: 30px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
.navToggle.active span:nth-child(4){display:none;}

/*ハンバーガー内のナビ*/
.h_nav{margin-bottom:0;}
.globalMenuSp-in .h_nav li a,
.sp-nav > li > a{
	color: #000;
	font-size: clamp(14px, 2vw, 18px);
	line-height: 40px;
	font-weight: bold;
	display: flex;
	align-items: center;
	background-image: linear-gradient(to right, #BBBBBB, #BBBBBB 4px, transparent 4px, transparent 4px);
	background-size: 10px 1px;
	background-position: left bottom;
	background-repeat: repeat-x;
}
.globalMenuSp-in .h_nav li a{padding:10px 0 10px 18px;}
.sp-nav > li > a{padding:10px 0;}
.sp-sns_nav{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin-top:auto;
	margin-bottom:1rem;
}
.sp-sns_nav li{padding:0 1rem;}
}

/*----ハンバーガー end----*/




@media screen and (min-width: 961px){
	/*追従*/
header.m_fixed {
	position:fixed;
	z-index:999;
	width:100%;
	background:#fff;
}
header.m_fixed .h-logo{
	max-width:260px;
}
header.m_fixed .h_nav li a{font-size: clamp(13px, 1.25vw ,16px);}
}

/* main
---------------------------------------------------------------- */
main{

}


/* footer
---------------------------------------------------------------- */
footer{
	background:rgb(212,240,252);
	padding:8rem 2rem;
	border-bottom:solid 50px #0097e0;
}
.f_inner{
	max-width:1360px;
	margin: 0 auto;
}
.f-logo{
	text-align:center;
	margin-bottom:4rem;
}
.f_nav{
	text-align:center;
	margin-bottom:2rem;
}
.f_nav li{
	display:inline-block;
	padding:0 1rem;
		margin-bottom:1rem;
}
.f_nav li a{
	font-size:clamp(14px, 2vw, 21px);
	color:rgb(0,151,224);
	font-weight:bold;
}


.f_nav_min{
	text-align:center;
	margin-bottom:2rem;
}
.f_nav_min li{
	display:inline-block;
	padding:0 1rem;
	margin-bottom:1rem;
}
.f_nav_min li a{
	font-size:clamp(14px, 1.5vw, 16px);
	color:rgb(0,151,224);
	font-weight:bold;
}


footer address{
 text-align:center;
 font-size:clamp(11px, 2vw, 16px);
 color:#84cdf0;
 font-style: normal;
}

@media screen and (max-width: 980px){
	footer{padding:4rem 2rem;border-bottom:solid 20px #0097e0;}
	
}
@media screen and (max-width: 599px){
	footer{padding:2rem 1rem 5rem 1rem;border-bottom:solid 10px #0097e0;}
	.f_nav li:last-child {display:block;}
}

/* ==========================================================================
   main
========================================================================== */
.sec{padding:4rem 4rem;}

@media screen and (max-width: 1400px){.sec{padding:2rem 3rem;}}
@media screen and (max-width: 480px){.sec{padding:2rem 2rem;}}
.inner{ 
	margin:0 auto;
}
.inner1200{max-width:1200px; margin:0 auto;}
/*見出し*/
h1,
h2,
h3,
h4,
h5{line-height:1.5em;}
p{line-height:2em;}

h1:not(.not){font-size:clamp(21px, 5vw, 48px);}
h2:not(.not){font-size:clamp(20px, 4vw, 32px);}
h3:not(.not){font-size:clamp(18px, 3vw, 28px);}
h4:not(.not){font-size:clamp(18px, 2.5vw, 24px);}
p,a{font-size:clamp(14px, 2vw, 16px);}

h1:not(.not),
h2:not(.not),
h3:not(.not),
h4:not(.not){
	font-weight:bold;
}
h2:not(.not){margin-bottom:2rem;}
h3:not(.not),
h4:not(.not),
p{margin-bottom:1rem;}

/* ==========================================================================
   コンテンツ別
========================================================================== */

@media screen and (min-width: 769px){.sp{display:none;}}
@media screen and (max-width: 768px){.pc{display:none;}}

#catch .item-img img{width:100%;}
#catch .cont{
	position:relative;
	z-index:2;
	top: -220px;
	margin-bottom: -220px;
}
#catch .cont:before{
	content:"";
	background-color:#ccc;
	background-image:linear-gradient(
		180deg,
		rgba(0, 151, 224, 1) ,
		rgba(85, 195, 241, 1) 20%,
		rgba(89, 197, 241, 1) 40%,
		rgba(255, 255, 255, 1) 100%
		);
	clip-path: polygon(0 0, 100% 220px, 100% 100%, 0% 100%);
	position:absolute;
	z-index:-1;
	width:100%;
	height:100%;
}
.cont-in01{
	max-width:calc(1920px - 8rem);
	margin:0 auto;
	padding:0 4rem 0;
	background-image:url("img/index/catch02.svg");
	background-repeat:no-repeat;
	
	background-position:right 4rem bottom;
}
@media screen and (max-width: 1200px){
	.cont-in01{background-size:auto 60%;}
}


@media screen and (max-width: 768px){
	#catch .cont .cont-in01{
		padding:0 2rem 0 2rem;
		background-size:30%;
		background-position:top right 2rem;
	}
	#catch .cont{
		top: -100px;
	margin-bottom: -100px;
	}
	#catch .cont:before{
		clip-path: polygon(0 0, 100% 100px, 100% 100%, 0% 100%);
	}
}

.cont-in02 .item01 h2{
	font-size:clamp(24px, 2.5vw, 36px);
	color:#fff;
	margin-bottom:1rem;
}
.cont-in02 .item01 p{
	font-size:clamp(13px, 1.5vw, 18px);
	color:#fff;
	margin-bottom:2rem;
}



@media screen and (min-width: 1201px){
.cont-in02{
	position:relative;
	z-index:2;
	max-width:calc(1920px - 8rem);
	margin:0 auto;
	padding:4rem 4rem 0;
	box-sizing:border-box;
}
.cont-in02 .item02{
	z-index:0;
	position:absolute;
	left:2rem;
	bottom:0;
	width:42%;
	text-align:center;
}
.cont-in02 .item02 img{
	width:100%;
	max-width:700px;
}
.cont-in02 .item01{
	max-width: 900px;
	margin: 0 auto 4rem;
}
	.cont-in02 .item03{
		width:54%;
		margin-left:auto;
		min-width:600px;
	}
}
@media screen and (min-width: 981px) and (max-width: 1200px){
	.cont-in02{
		padding:4rem 4rem 0;
		display:flex;
		flex-wrap:wrap;
	}
	.cont-in02 .item01{width:100%;}
	.cont-in02 .item02{flex:1;}
	.cont-in02 .item03{
		width:55%;
		min-width:600px;
	}
	.cont-in02 .item02{margin-right:2rem;display:flex;}
	.cont-in02 .item02 img{margin-top:auto;}
	.cont-in02 .item03 ul.list01 > li{font-size:15px;}
}
@media screen and (min-width: 581px) and (max-width: 980px){
	.cont-in02{
		padding:4rem 2rem 0;
		display:flex;
		flex-wrap:wrap;
	}
	.cont-in02 .item01,
	.cont-in02 .item02{width:calc((100% - 2rem) / 2);}
	.cont-in02 .item01{order:2;}
	.cont-in02 .item02{order:1;margin-right:2rem;}
	.cont-in02 .item03{order:3;margin-top:2rem;flex:1;}
}


@media screen and (min-width: 1301px){
	.cont-in02 .item01{
		width: calc((100% - 2rem) / 2);
		margin:0 0 0 auto;
	}
}



@media screen and (min-width: 581px){
.cont-in02 .item03 .col{display:flex;flex-wrap:wrap;}
.cont-in02 .item03 .col .item{width:calc((100% - 2rem) /2);}
}
.cont-in02 .item03 .col .item ul li{line-height:1.5em;}
.cont-in02 .item03 .col .item ul.list01 > li:before{top:6px;}
.cont-in02 .item03 .col .item:nth-child(2n-1){margin-right:2rem;}

@media screen and (max-width: 580px){
#catch .cont:before{
	background-image:linear-gradient(
		180deg,
		rgba(0, 151, 224, 1) ,
		rgba(85, 195, 241, 1) 20%,
		rgba(89, 197, 241, 1) 40%,
		rgba(255, 255, 255, 1) 50%
		);
	}
	.cont-in02{
		padding:2rem;
	}
.cont-in02 .item03{padding-top:2rem;}
}

/*GUIDE*/
.guide .ank{padding:6rem 2rem 0;text-align:center;}
.guide-tit{position:relative;}

.guide-tit:before{
	content: "";
	background-color: rgb(212,240,252);
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
}
#guide01 .guide-tit:before,
#guide03 .guide-tit:before{
	clip-path: polygon(0 0, 100% 0, 100% 48%, 0% 100%);
}
#guide02 .guide-tit:before,
#guide04 .guide-tit:before{
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 50%);
}

.guide-tit .inner{
	max-width:1480px;
	margin:0 auto;
	padding:6rem 4rem;
}
#guide02 .guide-tit .inner,
#guide04 .guide-tit .inner{
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	align-items: flex-end;
}
.guide-tit h1{
	position:relative;
	z-index:1;
	top:-1.5rem;
	margin-bottom:-1.5rem;
	font-size:clamp(20px, 3.25vw, 46px);
	letter-spacing:1px;
	width:100%;
	box-sizing:border-box;
}
.guide-tit h1 span{display:inline-block;}
.guide-tit h1 b{
	display:inline-block;
	font-weight:bold;
	padding:0 2px;
	font-size:clamp(20px, 3.5vw, 48px);
	text-decoration:underline;
}
.guide-tit p{
	position:relative;
	z-index:1;
	font-size:clamp(14px, 2vw, 32px);
	letter-spacing:1px;
	padding-left: 16rem;
    width: 100%;
    box-sizing: border-box;
		margin-bottom:0;
}
#guide01 .guide-tit h1{padding-right:16rem;}
#guide02 .guide-tit h1{padding-left:16rem;}

#guide01 .l-section,
#guide02 .l-section{
	position:relative;
	top:-12rem;
	margin-bottom:-12rem;
}
#guide03 .guide-cont,
#guide04 .guide-cont{
	padding:0 4rem 6rem;
}
#guide03 .guide-cont .inner{
	display:flex;
	flex-wrap:wrap;
	max-width:1480px;
}
#guide04 .guide-cont .inner{max-width:1480px;flex-direction:row-reverse;}
#guide03 .guide-cont .inner .item-txt,
#guide04 .guide-cont .inner .item-txt{flex:1;}
#guide03 .guide-cont .inner .item-img{
	width:50%;
	max-width:500px;
	margin-left:2rem;
}

#guide03 .guide-cont h2,
#guide04 .guide-cont h2{
	font-size:clamp(18px, 3vw, 36px);
	color:rgb(231,92,109);
	margin-bottom:1rem;
}
#guide03 .guide-cont h2 span,
#guide04 .guide-cont h2 span{display:inline-block;}
#guide03 .guide-cont p,
#guide04 .guide-cont p{
	font-size:clamp(14px, 2vw, 24px);
}
#guide03 .guide-cont p b,
#guide04 .guide-cont p b{
	font-weight:900;
	display:inline-block;
	text-decoration:underline;
	padding:0 2px;
}
#guide04 .guide-cont p.note{font-size:clamp(12px, 1.25vw, 14px);}

#guide04 .guide-cont .inner .item-img ul{
	display:flex;
	flex-wrap:wrap;
}
#guide04 .guide-cont .inner .item-img ul li{
	width:calc((100% - 4rem) /3);
	margin-right:2rem;
	margin-bottom:1rem;
}
#guide04 .guide-cont .inner .item-img ul li:nth-child(3n){
	margin-right:0;
}



@media screen and (max-width: 980px){
	.guide .ank{padding:4rem 2rem 0;}
	.guide .ank img{max-width:3rem;}
	.guide-tit .inner{padding:2rem 2rem;}
	#guide03 .guide-cont,
	#guide04 .guide-cont{padding:0 2rem 4rem;}
	.guide-tit .sub-tit {display:inline-block;width:80%;max-width:400px;}
	#guide01 .guide-tit h1{padding-right:13rem;}
	#guide02 .guide-tit h1{padding-left:13rem;}
	.guide-tit p{padding-left:13rem;}
#guide04 .guide-cont .inner .item-img ul li{
	width:calc((100% - 2rem) /3);
	margin-right:1rem;
	margin-bottom:1rem;
}


}
@media screen and (max-width: 599px){
	.guide .ank{padding:2rem 2rem 0;}
	.guide .ank img{max-width:2rem;}
	#guide01 .guide-tit h1{padding-right:0;}
	#guide02 .guide-tit h1{padding-left:0;}
	.guide-tit p{padding-left:0;margin-top:1rem;}
	.guide-tit h1{top:-1rem; margin-bottom:-1rem;}
	.card02 .swiper-controller, .card03 .swiper-controller{
		position:absolute;
		right:0;
		bottom:-2rem;
		z-index:10;
	}
	#guide01 .l-section,
#guide02 .l-section{
	position:relative;
	top:-4rem;
	margin-bottom:-4rem;
}
#guide03 .guide-cont .inner{display:block;}

#guide03 .guide-cont .inner .item-img{
	width:100%;
	max-width:400px;
	margin:0 auto;
}
#guide04 .guide-cont .inner .item-img ul{
	display:block;
	max-width:400px;
	margin:0 auto;
}
#guide04 .guide-cont .inner .item-img ul li{
	width:unset;
	margin-right:0;
}


}



/*こんな方々にご利用いただいてます*/
#guest .guest-top{
	padding:6rem 0 1px 4rem;
	background-color:rgb(84,195,241);
}
.guest-top .ank{
	padding:0 2rem 6rem;
	text-align:center;
}
.guest-top .tit{
	margin-right:4rem;
}
.guest-top .tit h1{
	font-size:clamp(24px, 4.5vw, 40px);
	color:#fff;
	
}
.guest-top .cont{flex:1;}
.guest-top .cont ul{
	display:flex;
	flex-wrap:wrap;
}
.guest-top .cont ul li{
	width:calc((100% - 40px) / 3);
	
	margin-bottom:20px;
	background:#fff;
	border-top:solid 10px rgb(0,151,224);
	box-sizing:border-box;
	padding:2rem;
}

.guest-top .cont ul li figure{
	text-align:center;
	margin-bottom:1rem;
}
.guest-top .cont ul li figure img{
	height:170px;
	width:auto;
	margin-bottom:1rem;
}
.guest-top .cont ul li h2{
	font-size:clamp(21px, 2vw, 20px);
	text-align:center;
}
@media screen and (min-width: 1381px){
	.guest-top .cont ul li h2{
	font-size:clamp(21px, 2vw, 32px);
}
}




@media screen and (min-width: 1181px){
	.guest-top .cont ul li{width:calc((100% - 40px) / 3);margin-right:20px;}
	.guest-top .cont ul li:nth-child(3n){margin-right:0;}
}
@media screen and (max-width: 1180px){
	.guest-top .cont ul li{width:calc((100% - 20px) / 2);margin-right:20px;}
	.guest-top .cont ul li:nth-child(2n),
	.guest-top .cont ul li:last-child{margin-right:0;}
}

@media screen and (min-width: 981px){
	.guest-top .inner{
	display:flex;
	flex-wrap:wrap;
}
	.guest-top .tit h1{
	display:inline-block;
	writing-mode: vertical-rl;
	text-orientation: upright;
	padding:2rem 0;
	border-top:solid 12px #fff;
	}
}

@media screen and (max-width: 980px){
#guest .guest-top{padding:4rem 0 1px 2rem;}
.guest-top .tit h1{
	padding:0 2rem;
	border-left:solid 12px #fff;
	margin-bottom:2rem;
}
}
@media screen and (max-width: 580px){
	#guest .guest-top{padding:4rem 2rem 1px;}
	.guest-top .tit{margin-right:0;}
	.guest-top .cont ul{display:block;}
	.guest-top .cont ul li{
		width:unset;
		margin-right:0;
		padding:1.5rem;
	}
}

#guest .guest-bottom{
	position:relative;
	padding:0 0 4rem;
}
.guest-bottom:before{
	content: "";
	background-color:rgb(84,195,241);
	position: absolute;
	z-index: -1;
	top:-1px;
	width: 100%;
	height: 100%;
	clip-path: polygon(0 0, 100% 0, 100% 30%, 0% 80%);
}
.guest-bottom:after{
		content: "";
	position: absolute;
	z-index: -2;
	width: 100%;
	height: 100%;
	left:0;
	top:0;
	background-image: linear-gradient(180deg, rgba(212, 240, 252, 1), rgba(212, 240, 252, 1) 60%,rgba(255, 255, 255, 1) 100%);
}
.guest-bottom .inner{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
#guest .guest-bottom .item-img01{
	width:40%;
	box-sizing:border-box;
	position:relative;
	z-index:2;
	padding-left:4rem;
	top:0rem;
}
#guest .guest-bottom .item-img02{
	width:60%;
	text-align:right;
	padding-top:4rem;
}
.guest-bottom .ank{
	padding:0 2rem 0;
	text-align:center;
	position: relative;
    z-index: 5;
}
@media screen and (max-width: 980px){
	.guest-bottom .inner{justify-content:end;}
	.guest-bottom:before{clip-path: polygon(0 0, 100% 0, 100% 10%, 0% 30%);}
	#guest .guest-bottom .item-img01{
		width:80%;
		max-width:500px;
		margin:0 auto;
		padding:0;
	}
}
@media screen and (max-width: 599px){
.guest-top .ank img,
.guest-bottom .ank img{max-width: 2rem;}
.guest-top .ank{padding:0 1rem 2rem;}

}

/*背景画像用*/
@media screen and (min-width: 981px){
.guest-bottom .inner:before{
	content:"";
	position:absolute;
	right:0;
	top:0;
	width:100%;
	height:100%;
	background-image:url(img/logo-bg.svg);
	background-repeat:no-repeat;
	background-size:55% auto;
	background-position:right 0 top 4rem;
	mix-blend-mode:	screen;
}
}
@media screen and (max-width: 980px){
.guest-top .inner{
	padding-top:2rem;
	background-image:url(img/logo-bg.svg);
	background-repeat:no-repeat;
	background-position: top 0 right 0;
	background-size:70% auto;
}
}

/*ご利用料金・営業時間*/
#price,
#time{
	padding:4rem 6rem;
}

#price .inner,
#time .inner{
	max-width:1360px;
	margin:0 auto;
}

#price .tit,
#time .tit{
	text-align:center;
	margin-bottom:4rem;
}
#price .tit h1,
#time .tit h1{
	margin-bottom:2rem;
}
#price .tit p,
#time .tit p{
	font-size:clamp(18px, 2vw, 24px);
}
#price .cont h2{
	font-size: clamp(18px, 3vw, 36px);
	color: rgb(231, 92, 109);
	margin-bottom: 1rem;
	margin-top:4rem;
	text-align:center;
}

.pr-wrap{
	display:flex;
	flex-wrap:wrap;
}
.pr-box{
	flex:1;
	box-sizing:border-box;
	border-top:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
	border-left:solid 1px #ccc;
}
.pr-box:nth-child(3n),
.pr-box:last-child{border-right:solid 1px #ccc;}
.pr-box h3{
	text-align:center;
	background:#d4f0fc;
	border-bottom:solid 1px #ccc;
	font-size:clamp(18px, 2vw, 24px);
	padding:1rem .5rem;
}
.pr-box p{
	padding:1rem .5rem;
	font-size:clamp(16px, 2vw, 22px);
	text-align:center;
	margin-bottom:0;
}
#price .pr{
	display:block;
	font-size:clamp(20px, 2.5vw, 35px);
	line-height:2em;
	text-align:center;
	}
#price .notes,
#time .notes{text-align:right;}

#time .tbl01 td{text-align:center;vertical-align:middle;}
#time .tbl01 .red{color:#c20000;}
#time .tbl01 .gray{color:#a7a7a7;}
#time .tbl01 .bg-red{background:#ffe8e3;}

@media screen and (max-width: 980px){
	#price,#time{padding:4rem 2rem;}
	
}
@media screen and (max-width: 599px){
	#price,#time{padding:2rem 2rem;}
	.pr-wrap{display:block;}
	.pr-box{border-right:solid 1px #ccc;}
	
}

/*アクセス*/
#access{
	background:rgb(212,240,252);
	padding:4rem 6rem;
}
#access .ank{
	padding:0 2rem 4rem;
	text-align:center;
}
#access .inner{
	max-width:1360px;
	margin:0 auto;
}
#access .tit{
	text-align:center;
	margin-bottom:4rem;
}
@media screen and (max-width: 980px){
	#access{padding:4rem 2rem;}
	#access .ank{padding:0 2rem 2rem;}
	#access .ank img{max-width:3rem;}
}
@media screen and (max-width: 599px){
	#access{padding:2rem 2rem;}
	#access .ank{padding:2rem 2rem 4rem;}
	#access .ank img{max-width:2rem;}
	#access .tit{margin-bottom:2rem;}
}

/*アクセス*/
#facebook{
	position:relative;
	background-image:url(img/logo-bg3.svg),url(img/index/guest01.svg);
	background-repeat:no-repeat;
	background-size:40% auto,40% auto;
	background-position: left bottom ,right top;
	padding:4rem 6rem;
}
#facebook:after{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-image: linear-gradient(180deg, rgba(212, 240, 252, 1), rgba(212, 240, 252, 1) 20%, rgba(255, 255, 255, 1) 70%);
	clip-path: polygon(0 0, 100% 0, 100% 30%, 0% 70%);
	z-index:-1;
}
#facebook .ank{
	padding:0 2rem 4rem;
	text-align:center;
}
#facebook .inner{
	max-width:1360px;
	margin:0 auto;
}
#facebook .tit{
	text-align:center;
	margin-bottom:4rem;
}

.facebook_wrap{
  margin-left: auto;
  margin-right: auto;
	max-width:500px;
}
 
.fb-page,
.fb-page span,
.facebook_wrap iframe{
  width: 100% !important;
  height: 500px !important;
}


@media screen and (max-width: 980px){
	#facebook{padding:4rem 2rem;}
	#facebook .ank{padding:0 2rem 2rem;}
	#facebook .ank img{max-width:3rem;}
}
@media screen and (max-width: 599px){
	#facebook{
	position:relative;
	background-size:80% auto,40% auto;
	background-position: left 50% bottom ,right top;
	padding:2rem 2rem 8rem;
}
#facebook:after{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:20%;
	background-image: linear-gradient(180deg, rgba(212, 240, 252, 1), rgba(212, 240, 252, 1) 20%, rgba(255, 255, 255, 1) 70%);
	clip-path: polygon(0 0, 100% 0, 100% 30%, 0% 70%);
	z-index:-1;
}
	#facebook .ank{padding:2rem 2rem 4rem;}
	#facebook .ank img{max-width:2rem;}
	#facebook .tit{margin-bottom:2rem;}
}


/*お問い合わせ*/

#contact{
	position:relative;
	background-image:
		url(img/contact/001.png),
		url(img/contact/002.png),
		url(img/contact/003.png),
		url(img/contact/004.png),
		url(img/contact/bg.png);
	background-repeat:no-repeat;
	background-size:
		25% auto,
		15% auto,
		15% auto,
		25% auto,
		100% auto;
	background-position:
		left top 10%,
		right top,
		left 10% bottom,
		right top 40%,
		right 50% bottom -1px;
	padding:4rem 4rem 0;
}
#contact .tit{
	text-align:center;
}
#contact .cont{
	text-align:center;
}
#contact .tel{margin:2rem 0;}
#contact .tel a{
	display:inline-block;
	font-size:clamp(32px, 5vw, 58px);
	color:rgb(0,151,224);
}
#contact .tel a:before{
	content:"";
	display:inline-block;
	width:50px;
	height:50px;
	background-image:url(img/icon-tel_m.svg);
	background-size:100% auto;
	background-repeat:no-repeat;
	background-position:center bottom;
	margin-right:8px;
}
#contact .face{
	text-align:center;
}
#contact .face img{
	width:60%;
	max-width:680px;
}
#contact .ank{
	padding:0 2rem 4rem;
	text-align:center;
}
#contact .time {
	max-width:400px;
	margin:0 auto;
}
#contact .time span{
	display:inline-block;
}

@media screen and (max-width: 980px){
	#contact{padding:4rem 2rem 0;}
	#contact .ank{padding:0 2rem 2rem;}
	#contact .ank img{max-width:3rem;}
	#contact .tel a:before{width:40px;height:40px;}
}
@media screen and (max-width: 599px){
	#contact{
	padding:2rem 2rem 0rem;
		background-image:
		url(img/contact/bg.png);
	background-repeat:no-repeat;
	background-size:
		100% auto;
	background-position:
		right 50% bottom -1px;
	}
	#contact .ank{padding:2rem 2rem 0;}
	#contact .ank img{max-width:2rem;}
	#contact .tel a:before{width:30px;height:30px;}
	#contact .face img{
	width:80%;
	max-width:680px;
}
}


#policy .tel a{
	    display: inline-block;
    font-size: clamp(14px, 2.25vw, 18px);
    color: rgb(0, 151, 224);
}


/*追加 20241220 AED*/
#aedbox {padding:1rem 2rem;}
#aedbox .inner{max-width:600px;}
#aedbox .mark-wrap{
	display:flex;
	align-items:center;
	justify-content:center;
	background:#fff;
	padding:1rem 0;
	border:solid 2px #de0124;
	border-radius:8px;
	}
#aedbox .mark-wrap h2{
	margin-bottom:0;
	
}
#aedbox .mark-wrap .aedmark{
	max-width:30px;
	margin-right:16px;
}




/*調整*/
p span{display:inline-block;}
















