/*
Theme Name: t_tmp01
Description:Seare Gion Website Theme
Author: takano
Version: 1.5.5
*/
@charset "utf-8";
body{
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	box-sizing:border-box;
	background-color: #f4f8f9;
	color:#333;
}
html{
	scroll-behavior: smooth;
}


.weight100{
	font-weight:100;
	}
 
.weight300	 {
	font-weight:300;
	}
 
.weight400	 {
	font-weight:400;
	}
 
.weight500	 {
	font-weight:500;
	}
 
.weight600	 {
	font-weight:600;
	}
 
.weight700	 {
	font-weight:700;
	}
 
.weight900	 {
	font-weight:900;
	}

.pc{display: block;}
.sp{display: none;}
.ssp{display: none;}

h2{
	color:#333;
}
h3{
	font-size: 2.5em;
	margin: 0;
	padding: 0;
	line-height: 180%;
}
h4{
	font-size: 2.0em;
	margin: 0;
	padding: 0;
	line-height: 180%;
}
h5{
	font-size: 1.8em;
	margin: 0;
	padding: 0;
	line-height: 180%;
}
h6{
	font-size: 1.4em;
	margin: 0;
	padding: 0;
	line-height: 180%;
}

p{
	line-height: 180%;
	margin: 0;
	padding: 0;
	color: #333;
}
.ib{
	display: inline-block
}

img{
	image-rendering: -webkit-optimize-contrast;
	vertical-align: bottom;
}
.w100{
	width: 100%;
}
.w50{
	width: 48%;
}
.w30{
	width: 31%;
}
.w25{
	width: 23%;
}
.w75{
	width: 75%;
}

.fl1{
	flex: 1;
}
.w2c{
	width: 50%;
}
.w2c_map{
	width: 50%;
	margin-top: 0;
	z-index: 500;
}
.w2c_copy{
	width: 50%;
	margin-top: 0;
	z-index: 500;
}
.w3c{
	width: 32%;
}

.lf{
	text-align: left;
}
.rt{
	text-align: right;
}
.cen{
	text-align: center;
}
.min{
font-family: 'Noto Serif JP', serif;
}
.mg10{
	margin: 1%;
}
.mt{
	margin-top: 10px;
}
.mr{
	margin-right: 10px;
}


.shadow{
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
}

/* header */
header {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 0 0;
	background: #ffffff;
	overflow:visible;
    position:fixed;
    top: 0;
	z-index:555;
	font-size: 0.8em;
	height: 60px;
}
header h1{
	font-family: 'Noto Serif JP', serif;
	max-width: 220px;
	margin: 0;
	padding:0 15px 5px 15px;
	box-sizing: border-box;
}
header h1 img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
	margin: 0;
	padding: 0;
}
ul.menu{
	flex: 1;
	display: flex;
	justify-content:flex-end;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 0 0 0;
	padding: 0;
}
ul.menu li{
	padding: 0;
	list-style: none;
	margin:0 0 0 5%;
}
ul.menu li a{
	text-decoration: none;
	color: #333;
}
.insta a{
	display: block;
	padding: 0 15px 0 40px;
	box-sizing: border-box;
	font-size: 2.6em;
	text-decoration: none;
	color: #005d96;
}

/* メニューボタン */
.hamburger-menu{
	display: none;
}

.menu-btn {
    position: fixed;
    top: 0;
    right: 0;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 200;
    background:rgba(255,255,255,0);
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 30px;
    border-radius: 3px;
    background-color: #005d96;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}
/* メニュー展開 */
ul.m_bace {
	width: 80%;
	margin: 0 auto;
    padding: 90px 10px 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
ul.m_bace li{
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: solid 1px #333;
    list-style: none;
}
ul.m_bace li a {
    display: block;
    width: 100%;
    font-size: 1.2em;
    box-sizing: border-box;
    color:#333;
    text-decoration: none;
    padding: 11px 15px 12px 10px;
    position: relative;
}
ul.m_bace li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 20px;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 150;
    background:rgba(255,255,255,0.8);
    transition: all 0.5s;/*アニメーション設定*/
	backdrop-filter: blur(5px);
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}

/* top_contact */
.t_con{
position:fixed;
right:0px;
top:65%;
background: #525293;
	text-align: center;
	border-radius: 10px 0 0 10px; 
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
	writing-mode: vertical-rl;
	z-index: 400;
}
.t_con a{
	padding:15px;
	font-weight: bold;
	display: block;
	color: #fff;
	text-decoration: none;
	line-height: 100%;
	letter-spacing: 1px;

	font-size: 1.4em;
}


/* slide */
.slidebace {
	width: 100%;
	height: 82vh;
	overflow: hidden;
	position: relative;
	margin-top: 0;
	padding-top:0;
}

.slidebace img{
	width: 100%;
  height: 100vh;
	object-fit: cover;
}
.slidebace .path{
	height: auto;
	position:absolute;
	top:40%;
	left: 50%;
	transform : translate(-50%, -40%);
	-webkit-transform : translate(-50%, -40%);
	-ms-transform: translate(-50%, -40%);  
	z-index: 100;
	max-width: 400px;
}
.slidebace .path img{
	width: 100%;
	height: auto;
}

.slidebace .wave{
	display: block;
	width: 100vw;
	height: auto;
	position:absolute;
	bottom:0%;
	left: 0%;
	transform : translate(0%, 0%);
	-webkit-transform : translate(0%, 0%);
	-ms-transform: translate(0%, 0%);  
	z-index: 100;
	vertical-align: bottom;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.slidebace .wave img{
	width: 100%;
	height: auto;
}


.slidebace .scl{
	position:absolute;
	bottom:1%;
	right: 1%;
	color:#fff;
	writing-mode: vertical-rl;
	border-left: 1px solid #fff;
}
.slidebace .scl a{
	color: #fff;
	text-decoration: none;
}

#yoyaku{
scroll-margin-top: 80px;
}
#qa{
scroll-margin-top: 80px;
}



/* page */
.bace01{
	max-width: 1280px;
	margin: 0 auto;
	padding: 0;
	height: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	box-sizing: border-box;
}
.bace02{
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
}

/* contents1 */
.conbace01{
	max-width: 1280px;
	margin: -6% auto 0 auto;
	padding:0;
}
.tobi_textbox{
	padding: 7% 0 0 18%;
}
.tobi_textbox h3{
	font-size:clamp(16px, 2.4vw, 30px);
	min-height: 0vw;
	margin-bottom: 2%;
}
.tobi_textbox p{
	font-size:clamp(11px, 1.1vw, 18px);
	min-height: 0vw;
}


/* contents2 */
.conbace02{
	max-width: 1280px;
	padding:0;
	margin: 30px auto 0 auto;
	position: relative;
	top: 0;
	left: 0;
}
.conbace02 img{
	width: 100%;
	height: auto;
}
.tobi01{
	position: absolute;
	top: 3.5%;
	left: 51%;
	width: 32%;
}
.tobi02{
	position: absolute;
	top: 43%;
	left: 23%;
	width: 45%;
}
.tobi03{
	position: absolute;
	top: 79%;
	left: 48%;
	width: 40%;
}
.conbace02 h3{
	font-size:clamp(16px, 1.6vw, 24px);	
	min-height: 0vw;
	color: #fff;
	margin: 0 0 4.5% 0;
	padding: 0;
	font-weight: bolder;
}
.conbace02 p{
	font-size:clamp(10px, 1.2vw, 16px);
	min-height: 0vw;
	line-height: 190%;
	color: #fff;
}


.conbace02b{
	max-width: 1080px;
	padding:0;
	margin: -4% auto 0 auto;
}
.conbace02b img{
	width: 100%;
	height: auto;
}

.conbace02c{
	max-width: 1080px;
	padding:0;
	margin: 0 auto 0 auto;
}
.conbace02c img{
	width: 100%;
	height: auto;
}


/* contents3 */
.conbace03{
	margin: 0 auto;
	padding:80px 0 0 0;
}
.conbace03 h4{
	width: 95%;
	max-width: 1100px;
	padding-bottom:5px;
	margin: 0 auto 30px auto;
	border-bottom: 1px solid #333;
	text-align: center;
}
.inst_img{
	width: 100%;
	max-width: 555px;
}
.inst_img img{
	width: 100%;
	height: auto;
}

.instructor{
	margin: 80px 0 0 15px;
}
.name{
	font-size: 1.6em;
	font-weight: bold;
}

/* contents4 */
.anzen{
	max-width: 550px;
	border: 1px solid #dc1a3a;
	padding: 10px 10px 0 10px;
	color: #dc1a3a;
	margin: 0 auto 40px auto;
	box-sizing: border-box;
}
.anzen p{
	line-height: 150%;
	color: #dc1a3a;
	font-size: 0.9em;
	padding-bottom: 10px;
}
.conbace04{
	max-width: 1280px;
	margin: 0 auto;
	padding:80px 0 0 0;
}
.taiken{
	background-color: #fff;
	padding: 60px 0;
}
.taiken h4{
	border-bottom: 1px solid #333;
	text-align: left;
	padding: 0 10px;
	box-sizing: border-box;
}
.taiken h5{
	font-size: 1.2em;
	background: linear-gradient(to right, #2281ba, #005d96);
	text-align: center;
	color: #fff;
	border-radius: 10px;
	line-height: 200%;
}
.course01{
	width: 30%;
	margin-bottom: 30px;
}
.course02{
	border-left: 7px dotted #e9eff0;
	border-right: 7px dotted #e9eff0;
	width: 30%;
	margin-bottom: 30px;
}
.course03{
	border-right: 7px dotted #e9eff0;
	width: 30%;
	margin-bottom: 30px;
}
.course{
	margin: 0 20px;
}


ul.tk{
	font-size: 0.9em;
	margin: 10px 10px 20px 10px;
	padding: 0;
}
ul.tk > li {
    position: relative;
    padding: 0px 0px 0px 1.0em;
	margin: 0;
    list-style: none;
	line-height: 180%;
}
ul.tk > li::before {
    position: absolute;
    top: 0;
    left: 0px;
	font-size: 0.8em;
    content: "◆";
}
dl.tk2{
	display: flex;
	justify-content:flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	font-size: 0.9em;
	color: #333;
    padding: 0px 0px 0px 1.0em;
	margin: 10px 0 0 0;
	line-height: 180%;
}
dl.tk2 > dt{
	list-style: none;
    position: relative;
    padding: 0px 0px 0px 1.0em;
	margin: 0 5px 0 0;
	line-height: 180%;
}
dl.tk2 > dt::before {
    position: absolute;
    top: 0;
    left: 0px;
	font-size: 0.8em;
    content: "\25C6";
}
dl.tk2 dd{
	list-style: none;
	text-align: left;
	margin:0;
	padding: 0;
}
.sp10{
	padding-left: 0;
}

.idt1 {
	line-height: 150%;
	font-size: 0.8em;
	padding-left:1.2em;
	text-indent:-1.2em;
	margin: 0 10px 20px 10px;
	color: #005d96;
}
.idt2 {
	padding-left:1.2em;
	text-indent:-1.2em;
}
.idt3 {
	width: 70%;
	max-width: 500px;
	line-height: 150%;
	font-size: 0.8em;
	padding-left:1.2em;
	text-indent:-1.2em;
	margin: 0 auto 20px auto;
	color: #dc1a3a;
}

.tax{
	font-size: 0.8em;
}


.flow{
	padding: 70px 0 0 0;
}
.flow h5{
	color: #333;
	background: #aaff00;
	border-radius: 30px;
	padding: 5px 20px;
	font-size: 1.2em;
	text-align: center;
	max-width: 660px;
	margin: 30px auto 30px auto;
}
ul.yoyaku{
    display: flex;
    flex-wrap: wrap;
	margin: 0;
	padding: 0 30px;
	box-sizing: border-box;
}
ul.yoyaku li{
	list-style: none;
	margin: 0;
	padding: 0;
    display: flex;
    align-items: center;
}
ul.yoyaku li .txt{
	width: 100%;
	text-align: center;
	margin: 15px;
}
ul.yoyaku li ul li{
	width: auto;
}

.f_box{
	width: 32%;
	background-color: #fff;
	border-radius: 10px;
}
.farw{
	width: 2%;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.farw img{
	width: 100%;
	max-width: 15px;
	height: auto;
}
ul.select{
	width: 100%;
	margin: 8px 0 0 0;
	padding: 0;
	display: flex;
	justify-content: center;
	column-gap: 14px;
}
ul.select li{
	list-style: none;
	margin: 0;
	padding: 0;
}
.f_sns{
	max-width: 40px;
}

.f_tel{
	max-width: 248px;
	gap:14px;
}
ul.select li img{
	width: 100%;
	height: auto;
}
.cancel{
	width: 100%;
	margin: 0;
	padding: 5px 30px 0 30px;
	text-align: right;
	box-sizing: border-box;
}


/* contents5 */
.conbace05{
	margin: 0 auto;
	padding:100px 0 0 0;
}

.conbace05 h5{
	color: #333;
	background: #aaff00;
	border-radius: 30px;
	padding: 5px 20px;
	font-size: 1.2em;
	text-align: center;
	width: 80%;
	max-width: 300px;
	margin: 0 auto 20px auto;
}
.faq{
	margin: 10px auto;
	max-width: 690px;
}
.que{
	color: #005d96;
	font-weight: bold;
}
.ans{
	padding: 5px 15px 30px 15px;
}
.ans_imgbox{
	margin: 10px 0 0 0;
	width: 100%;
	max-width: 426px;
}
.ans_imgbox img{
	width: 100%;
	height: auto;
}

/* アコーディオン */
.accordion {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.toggle {
display: none;
}
.option {
position: relative;
}
.ac_title,
.ac_content {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
transition: all 0.3s;
}
.ac_title {
	color: #333;
	border-radius: 30px;
	padding: 8px 20px;
	font-size: 1.2em;
	text-align: center;
	margin: 0 auto 20px auto;
	font-weight: bold;
display: block;
cursor: pointer;
}
.ac_title::after {
content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 18px;
  height: 18px;
  background: url("images/ac2.svg") no-repeat center / contain;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.ac_content {
max-height: 0;
overflow: hidden;
}
.toggle:checked + .ac_title + .ac_content {
max-height: 3000px;
transition: all 1.5s;
}
.toggle:checked + .ac_title::after {
transform: rotate(180deg);
transform: translateY(-50%) rotateZ(180deg);
}

/* アコーディオン2 */
.toggle2 {
display: none;
}
.ac_title2,
.ac_content2 {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
transition: all 0.3s;
}
.ac_title2 {
	padding: 0;
	box-sizing: border-box;
	margin: 0 auto 20px auto;
	display: block;
	cursor: pointer;
}
.ac_title2::after {
content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 18px;
  height: 18px;
  background: url("images/ac2.svg") no-repeat center / contain;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.ac_content2 {
max-height: 0;
overflow: hidden;
}
.toggle2:checked + .ac_title2 + .ac_content2 {
max-height: 3000px;
transition: all 1.5s;
}
.toggle2:checked + .ac_title2::after {
transform: translateY(-50%) rotateZ(180deg);
}

.bg01{
	background: #aaff00;
	max-width: 660px;
}
.bg02{
	background: #fff;
	border-radius: 30px;
	max-width: 140px;
	height: 28px;
	font-size: 0.6em;
	border:1px solid #333;
	box-sizing: border-box;
	padding-right: 30px;
	padding-left: 10px;
	font-weight: 400;
	display: flex;
	align-items: center;
}

ul.jisan{
	max-width: 850px;
	margin: 20px auto 50px auto;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0;
}
ul.jisan li{
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.jisan li img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
ul.jisan li ul{
	margin: 0;
	padding: 0;
}
.js01{
	width: 40%;
	max-width: 350px;
	margin-left: 10px;
}

.basyo_tx{
	max-width: 580px;
	margin: 10px auto 30px auto;
}
ul.basyo{
	max-width: 700px;
	margin: 0 auto 50px auto;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0;
}
ul.basyo li{
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.basyo li img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
.bs01{
	width: 45%;
}
.bs02{
	width: 53%;
}

/* contents6 */
.conbace06{
	background-color: #fff;
	padding: 100px 0 40px 0;
	box-sizing: border-box;
}
.hotel{
	max-width:990px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}
.hotel h4{
	font-size: 1.2em;
	border-bottom: 1px solid #333;
	color: #333;
	font-weight: 500;
}

.hotel ul{
	padding: 0 0 200px 0;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
}
.hotel ul li{
	list-style: none;
	margin: 30px 0 0 0;
	padding: 0 15px;
	box-sizing: border-box;
	width: 30%;
}
.hotel ul li a{
	color: #333;
	text-decoration: none;
}
.hotel ul li a:hover{
	opacity: 0.7;
	transition: 0.2s;
}
.ht_imgbox{
	width: 100%;
    max-width: 240px;
    aspect-ratio: 3 / 2;
	overflow: hidden;
	background-color: #ccc;	
	transition:0.2s all;
	margin-bottom: 10px;
	display: flex;
    justify-content: center;
    align-items: center;
}
.ht_imgbox img{
	width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ht_imgbox img:hover{
  transform:scale(1.1,1.1);
	transition:0.2s all;
}
.ht_name{
	font-size: 0.8em;
}
.ht_area{
	font-size: 0.6em;
}
.hotel ul li img{
	width: 100%;
	height: auto;
	transition: transform 0.5s ease-in-out;
}


/* pp */
.pp{
	width: 100%;
	margin: 0 auto;
	padding:0 0 0 0;
}
.pp_bace{
	margin: 10px auto;
	max-width: 690px;
	font-size: 0.8em;
}
.pp_tit{
	color: #005d96;
}
.pp_tx{
	padding: 5px 0 30px 15px;
}



/* flexbox */
.flb{
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}
.flb li{
	list-style: none;
	padding: 0;
}
.aicn{
	align-items: center;
}

.fstart{
	justify-content: flex-start;
}
.fcenter{
	justify-content: center;
}
.fbetween{
	justify-content:space-between;
}
.fend{
	justify-content: flex-end;
}


/* fade animation */
.box{
	opacity: 0;
}

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(30px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

.delay-time02{
animation-delay: 0.8s;
}

.delay-time04{
animation-delay: 1.6s;
}
.delay-time06{
animation-delay: 2.4s;
}

/* footer */
footer{
	background-image: url("images/footer.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	padding:15px 0;
}
.ft_box{
	max-width: 300px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	flex-wrap: wrap;
	column-gap: 15px;
}
.ft_sp{
	flex: 1;
	display: block;
}
.ft_tx{
	font-size: 0.7em;
	line-height: 150%;
	color: #fff;
	margin: 0 0 4px 0;
}
.ft_tel{
	font-weight: bold;
	color: #fff;
	font-size: 1.0em;
	margin: 0 0 8px 0;
	padding: 0;
	line-height: normal;
}
.ft_tel a{
	text-decoration: none;
	color: #fff;
	margin: 0;
	padding: 0;
	line-height: normal;
}
.ft_box .break {
  flex-basis: 100%;
  width: 0;
}


.ft_sns{
	margin: 0 0 0 15px;
	padding: 0;
	text-align: center;
	width: 39px;
	vertical-align: bottom;
	align-self: center;
}
.ft_sns a{
	line-height: 39px;
	padding:0;
	display: block;
}
.ft_sns img{
	width: 100%;
	height: auto;
}


/* icon */
.icon{
	background-color: #333;
	color: #fff;
	border-radius: 8px;
	width: 38px;
	line-height: 38px;
	text-align: center;
	margin-top: 8px;
	margin-right: 8px;
	font-size: 1.2em;
}
.icon a{
	color: #fff;
	text-decoration: none;
}

/* fade */
.view{
opacity : 0;
transform : translate(0, 70px);
transition : all 500ms;
}
.view.scrollin{
opacity : 1;
transform : translate(0, 0);
}

/* 202502 */
ul.school{
	display: flex;
	justify-content:space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 0;
	max-width: 920px;
	box-sizing: border-box;
}
ul.school li{
	list-style: none;
	padding: 0;
}
.sc_course{
	width: 50%;
	max-width: 400px;
	box-sizing: border-box;
	margin-top: 40px;
}
.sc_point{
	width: 100%;
	box-sizing: border-box;
	margin:10px 0 0 0;
}
ul.gallery{
	max-width: 1310px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: 84px auto 42px auto;
	padding: 0;
	box-sizing: border-box;
}
ul.gallery li{
	list-style: none;
	width: 25%;
	max-width: 297px;
	margin: 0;
	padding: 15px;
	box-sizing: border-box;
}
ul.gallery li img{
	width: 100%;
	height: auto;
}

.shidou{
	max-width: 1024px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto 45px auto;
	padding: 0;
	box-sizing: border-box;
}
.shidou .imgbox{
	width: 30%;
	max-width: 300px;
}
.shidou .imgbox img{
	width: 100%;
	height: auto;
}
.sub{
	font-size: 0.7em;
}
.copy{
	width: 100%;
	color: #005d96;
	font-size: 1.4em;
	line-height: 180%;
	padding: 12% 10px 0 10px;
	box-sizing: border-box;
	font-weight: bold;
}

.copyright{
	font-size: 0.7em;
	display: flex;
	align-items: center;
}


/** 一部調整 **/
@media screen and (max-width: 1280px) {
	
.sp_tab{
	width: 100%;
}
	
/* header */
#gnav > ul {
	width: 100%;
	margin: 0;
}

ul.menu{
	margin: 0 2% 0 0;
}
ul.menu li{
	margin:0 0 0 5%;
}

h3{
	font-size: 2.0em;
}
h4{
	font-size: 1.8em;
}
h5{
	font-size: 1.6em;
}
h6{
	font-size: 1.4em;
}

/* top_contact */
.t_con{
	top: 60%;
}
.t_con a{
	padding: 15px;
	font-size: 1.0em;
}
/* page */
.pagebace{
	width: 98%;
}
.pagebace2{
	width: 98%;
}
	
.conbace01{
	width: 90%;
	margin: -8% auto 0 auto;
}
.tobi_textbox{
	padding: 10% 0 5% 10%;
}
/* contents2 */
.conbace02{
	max-width: 95%;
}
.conbace02b{
	max-width: 90%;
}
.conbace02c{
	max-width: 90%;
	margin: 20px auto 0 auto;
}
	
/* contents03 */
.instructor{
	margin: 30px 0 0 0;
}
	
/* contents4 */
.conbace04{
	max-width: 100%;
}
.taiken h5{
	font-size: 1.0em;
}
.flow{
	font-size: 0.9em;
}

}


/** モバイル **/
@media screen and (max-width: 768px) {
/* slide */
.slidebace {
	height: 90vh;
}

.slidebace img{
  height: 90vh;
}
	
.slidebace .path{
	height: auto;
	position:absolute;
	top:50%;
	left: 50%;
	transform : translate(-50%, -50%);
	-webkit-transform : translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);  
	z-index: 100;
	width: 70%;
}
	
.slidebace .wave{
	display: none;
}
	
ul.menu{
	display: none;
	margin: 0 4% 0 0;
	font-size: 0.8em;
}
ul.menu li{
	margin:0 0 0 7%;
}
.insta a{
	margin-right: 45px;
}
	

/* メニューボタン */
.hamburger-menu{
	display: block;
}

.menu-content ul li {
	width: 100%;
}

h3{
	font-size: 1.5em;
	padding: 10px 0;
}
h4{
	font-size: 1.2em;
}
h5{
	font-size: 1.2em;
}
h6{
	font-size: 1.0em;
}
	
	
.spacer { width: 100%; }	
.pc{display: none;}
.sp{display: block;}
	

.w50{
	width: 100%;
}
.w30{
	width: 100%;
}
.w25{
	width: 100%;
}
.w75{
	width: 100%;
}
	
.w2c{
	width: 100%;
}
.w2c_map{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.w2c_copy{
	width: 90%;
}
	
.w3c{
	width: 100%;
}
	
/* contents1 */
.conbace01{
	width: 100%;
	margin: -9% auto 0 auto;
}
.tobi_textbox{
	padding: 5% 5% 10% 5%;
}
.tobi_textbox h3{
	font-size:clamp(16px, 3.8vw, 30px);
}
.tobi_textbox p{
	font-size:clamp(10px, 2.5vw, 14px);
}
	

/* contents2 */
.tobi01{
	position: absolute;
	top: 21%;
	left: 28%;
	width: 70%;
}
.tobi02{
	position: absolute;
	top: 61.5%;
	left: 25%;
	width: 75%;
}
.tobi03{
	position: absolute;
	top: 87%;
	left: 10%;
	width: 70%;
}
.conbace02 h3{
	font-size:clamp(13px, 3.3vw, 28px);	
	line-height: 150%;
}
.conbace02 p{
	font-size:clamp(10px, 2.5vw, 16px);
	line-height: 190%;
}
	
/* contents3 */
.conbace03 h4{
	width: 95%;
}
.inst_img{
text-align: center;
}
.inst_img img{
width: 80%;
}
.instructor{
	margin: 3% 0 0 0;
	font-size: 0.8em;
}
	
/* contents4 */
.anzen{
	max-width: 90%;
}
.anzen p{
	font-size: 0.8em;
}	
.taiken{
	width: 100%;
	margin: 0 auto;
	padding: 15px 0;
}
	
.taiken h4{
	width: 100%;
	font-size: 1.0em;
}
.course01{
	width: 98%;
	margin:0 auto 30px auto;
}
.course02{
	border-left: none;
	border-right: none;
	width: 98%;
	margin:0 auto 30px auto;
}
.course03{
	border-right: none;
	width: 98%;
	margin:0 auto 30px auto;
}
	
	
.flow{
	width: 95%;
	margin: 0 auto;
	padding: 20px 0 0 0;
	font-size: 1.0em;
}
.f_box{
	flex: 1 100%;
}
.farw{
	text-align: center;
	width: 100%;
	margin: 0;
	transform: rotate(90deg);
}
.farw img{
	width: 35px;
	height: auto;
}
	
.cancel{
	text-align: center;
	font-size: 0.9em;
}
	
/* contents5 */
.conbace05{
	width: 95%;
	font-size: 0.9em;
	padding-bottom: 8px;
}
.faq{
	font-size: 0.9em;
}
	
ul.jisan{
	max-width: 98%;
}
ul.jisan li ul{
	margin: 0 0 30px 0;
	padding: 0;
}
.js01{
	width: 100%;
	max-width: 100%;
	margin-left: 0;
}
	
.basyo_tx{
	max-width: 98%;
}
ul.basyo{
	max-width: 98%;
}
ul.basyo li{
	margin: 0 0 15px 0;
}
.bs01{
	width: 100%;
}
.bs02{
	width: 100%;
}
	
.sp10{
	padding-left: 1.0em;
}

	
/* pp */	
.pp{
	width: 95%;
}
.pp_bace{
	font-size: 0.8em;
}

/* footer */
.ft_tel{
	font-size: 0.9em;
}
.ft_sns{
	width: 37px;
}
.ft_sns a{
	line-height: 37px;
}
	
/* 202502 */
.sc_course{
	width: 100%;
	max-width: 100%;
}
ul.gallery li{
	padding: 5px;
}
	
.shidou{
	max-width: 90%;
}
	
.shidou .imgbox{
	max-width: 194px;
	margin-left: 15px;
}	
.shidou h4{
	line-height: 100%;
	padding: 5px;
}
.copy{
	line-height: 150%;
	font-size: 0.9em;
	padding: 10% 8px 0 8px;
}
	
/* contents6 */
.conbace06{
	padding: 42px 0 40px 0;
}
.hotel ul{
	max-width:540px;
	margin: 0 auto;
	padding: 0 0 75px 0;
	justify-content:flex-start;
}
.hotel ul li{
	width: 50%;
}
	
/* footer */
footer{
	padding:40px 0;
}
.bace02{
	max-width: auto;
	display: flex;
	justify-content:center;
}
.ft_sp{
	display: none;
}
.ft_box{
	max-width: 270px;
}
.copyright{
	width: 100%;
	justify-content: center;
	text-align: center;
	padding-top: 40px;
}
	
}


/** モバイル小 **/
@media screen and (max-width: 512px) {
/* 202502 */
ul.gallery li{
	width: 50%;
	padding: 0px;
}
	
.taiken{
	padding: 0px 0;
}
	
.shidou {
	width: 100%;
	max-width: 100%;
	padding-left: 10px;
	margin: 0 auto 15px auto;
}
	
.shidou h4{
	font-size: 0.8em;
	line-height: normal;
	margin-top: 10px;
}
.shidou .copy{
		font-size: 0.7em;
	}	
.shidou .imgbox{
	max-width: 160px;
	margin-left: 20px;
}
.copy{
	font-size: 0.8em;
	padding: 10% 8px 0 8px;
}

.ssp{display: block;}
	
/* contents4 */
.anzen{
	margin: 0 auto 0 auto;
}
/* contents6 */
.conbace06{
	padding: 28px 0 40px 0;
}
.hotel ul{
	max-width:270px;
	padding: 0 0 75px 0;
	justify-content:center;
}
.hotel ul li{
	width: 100%;
}
.hotel h4{
	font-size: 1.0em;
	text-align: center;
}
	

	
}

