@charset "utf-8";
/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
html {
  font-family: "Noto Sans JP", sans-serif;
}

/* -----------------------------------------------------------
	common
------------------------------------------------------------*/
html,body {
height:100%;
margin:0;
}
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
font-weight: 500;
color:#333;
line-height:1.8;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-webkit-overflow-scrolling: touch;
}

/* ゴシック系 */
body, table, th, td, p, li, dt, dd, div, span,.go {
  font-family: "Noto Sans JP", sans-serif;
}

h1,h2,h3,h4,h5 {
line-height: 1.4;
font-weight:bold;
}

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
h1,h2,h3,h4,h5 {
margin:0;
}
p,li,dt,dd,th,td,div,span,em {
color: #444;
line-height: 1.8;
word-wrap: break-word;
margin-top:0;
}
li {
line-height: 1.4;
list-style: none;
}
ul,ol {
padding-left:0;
margin:0;
}
dl,dt,dd {
  margin-left:0;
}
table {
width: 100%;
border-collapse: collapse;
}
a {
  word-break: break-word;
  color:#000;
}
a:hover {
  color:#333;
}
#header a:hover, #footer a:hover {
  text-decoration: none;
}

@media screen and ( min-width: 768px ){
  a {
  -webkit-transition: background  0.3s ease, color 0.3s ease;
  -moz-transition: background  0.3s ease, color 0.3s ease;
  -o-transition: background  0.3s ease, color 0.3s ease;
  transition: background  0.3s ease, color 0.3s ease;
}
	a:hover {
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	opacity: 0.7;
	cursor:pointer;
  transition:opacity 0.3s;
  text-decoration: none;
	}
	a:hover img {
	-ms-filter: "alpha(opacity=70)";
	filter: alpha(opacity=70);
	}
	#page-top a:hover {
  text-decoration: none;
  opacity: 0.7;
	}

  /* タブレット、PC768以上 */
  a[href^="tel:"] { pointer-events: none; }
  .sp {
  display:none!important;
  }
  .sp-br {
    display: none;
  }
  .pc-none {
    display: none!important;
  }
}

img {
line-height: 0;
max-width: 100%;
vertical-align: bottom;
}

article:after,main:after,
clearfix:after {
content: "";
display: block;
clear: both;
}

figure {
  margin:0;
}

/* -----------------------------------------------------------
common default
------------------------------------------------------------*/
.tc { text-align:center!important; }
.tl { text-align:left!important; }
.fl { float:left; }
.fr { float:right; }
.bold { font-weight:bold; }
.inline { display:inline-block; }
.block { display:block; }
.super { vertical-align: super; font-size:10px;}


/* -----------------------------------------------------------
font-size
------------------------------------------------------------*/

/* -----------------------------------------------------------
font-size
------------------------------------------------------------*/
/* rem相対、px固定*/
@media (min-width: 768px) {
  :root {
    font-size: calc(0.5625rem + ((1vw - 7.68px) * 0.1736));
    min-height: 0vw;
  }
  p,div,span,li,i,td,th,em,dt,dd {
    font-size:1.6rem;
  }
}
@media (min-width: 1344px) {
  :root {
    font-size: 10px;
  }
}
@media (max-width: 1100px) {
  @media (min-width: 768px) {
    :root {
      font-size: calc(0.52rem + ((1vw - 7.68px) * 0.1736));
      min-height: 0vw;
    }

  }
}
@media screen and (max-width:767px) {
  html {
  font-size: 62.5%;
  }
  body { font-size: 1.3rem; }
  p,div,span,li,i,td,th,em,dt,dd {
    font-size:1.3rem;
  }
}


/* -----------------------------------------------------------
共通
------------------------------------------------------------*/
.pb10 { padding-bottom:10px; }
.pb15 { padding-bottom:15px; }
.pb20 { padding-bottom:20px; }
.pb30 { padding-bottom:30px; }
.pb40 { padding-bottom:40px; }
.pb50 { padding-bottom:50px; }
.pb60 { padding-bottom:60px; }
.pb80 { padding-bottom:80px; }
.pb100 { padding-bottom:100px; }

.pt60 { padding-top:60px; }
.pt70 { padding-top:70px; }
.pt80 { padding-top:80px; }
.pt5 { padding-top:3px; }
.pl10 { padding-left:10px; }
.pl20 { padding-left:20px; }
.mt10 { margin-top:10px; }
.mt20 { margin-top:20px; }
.mt40 { margin-top:40px; }
.mt60 { margin-top:60px; }
.mt80 { margin-top:80px; }
.mt100 { margin-top:100px; }
.mt120 { margin-top:120px; }
.mt140 { margin-top:140px; }

.mb5 { margin-bottom:5px; }
.mb10 { margin-bottom:10px; }
.mb15 { margin-bottom:15px; }
.mb20 { margin-bottom:20px; }
.mb30 { margin-bottom:30px; }
.mb40 { margin-bottom:40px; }
.mb50 { margin-bottom:50px; }
.mb60 { margin-bottom:60px; }
.mb70 { margin-bottom:70px; }
.mb80 { margin-bottom:80px; }
.mb100 { margin-bottom:100px; }
.mb110 { margin-bottom:110px; }
.mb120 { margin-bottom:120px; }

.mr20 { margin-right:20px; }

.pt30 { padding-top: 30px; }
.pb20 { padding-bottom:20px; }

.vt { vertical-align: top; }
.tr { text-align :right; }
.bgfff { background: #fff; }

.fs14 { font-size: 14px; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fs26 { font-size: 26px; }
.fs28 { font-size: 28px; }
.fs30 { font-size: 30px; }
.fs32 { font-size: 32px; }
.fs34 { font-size: 34px; }
.fs36 { font-size: 36px; }
.fs38 { font-size: 38px; }
.fs40 { font-size: 40px; }

.fa {
line-height: 1;
}
i.far {
margin-left:3px;
}

/* -----------------------------------------------------------
page
------------------------------------------------------------*/
.full {
width: 100%;
}
.container {
margin: 0 auto;
max-width:1000px;
position: relative;
width:90%;
}
.container.medium {
margin:0 auto;
max-width:1160px;
width:90%;
}
.container.large {
margin:0 auto;
max-width:1220px;
width:90%;
}

/* -----------------------------------------------------------
	pageTop
------------------------------------------------------------*/
/* scroll top */
#page-top {
  position: fixed;
  bottom: 10px;
  right: 20px;
  background: #aaa;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  display: block;
  width: 44px;
  height: 44px;
  z-index: 10;
}

#page-top a {
  text-decoration: none;
  color: #fff;
  width: 40px;
  height: 40px;
  text-align: center;
  display: block;
  border-radius: 50%;
  text-indent: -9999px;
}
#page-top a:after {
  content: "";
  position: absolute;
  left: 16px;
  top: 19px;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  z-index: 10;
}
#page-top:hover {
  text-decoration: none;
  opacity: 0.8;
}

/* -----------------------------------------------------------
main
--------------------------------------------------------------*/
#page {
  overflow-x: hidden;
}
#mv {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  z-index: 0;
}
.cta {
  margin:0 auto;
  max-width:1000px;
  width:90%;
  text-align: center;
  padding:2rem 1rem;
  position: relative;
  margin:2vw auto 3vw;
}
.cta img {
  width:50%;
  max-width:600px;
}
.cta-top {
  margin:-9rem auto 1em;
}
.cta-inner {
  padding:2.5rem;
}
.cta p {
  color:#707070;
  font-weight: 500;
}
p.cta-ttl {
  color:#333;
  font-size:3rem;
  font-weight:bold;
  margin:0;
}
.yellow.cta {
  background-color: #FFFEE7;
}
.yellow .cta-inner {
  border-color:#F6D95F;
}
.cta .ls {
  letter-spacing: 0.2em;
}
.txt-line {
  text-align: center;
  margin:0 auto;
  width: 95%;
}
.what {
  background:url(../img/what-bg.png)no-repeat center 0;
  background-size:contain;
  max-width:1100px;
  margin:2em auto 0;
  width:100%;
}
.what-inner {
  background:url(../img/lm.svg)no-repeat 0 0, url(../img/rm.svg)no-repeat right bottom;
  background-size: 3em auto;
  max-width: 720px;
  width: 90%;
  margin: 0 auto 6rem;
  padding: 2.5rem 5% 4rem;
  text-align: center;
}
.ttl-what-sub {
  font-size: 130%;
  font-weight: bold;
}
.ttl-what * {
  font-size:3.3rem;
  font-weight: bold;
}
.ttl-what {
  margin-bottom:1rem;
}
.what-txt {
  text-align: left;
  color:#444;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin:0;
  line-height: 2;
}
.marker01 {
  background:linear-gradient(transparent 60%, #FEE93F 0%);
}
.recommend {
  position: relative;
  background: url(../img/bg-rec.png)no-repeat center 1rem;
  background-size:1495px 662px;
  padding-bottom:7vw;
}
.recommend:before {
  content:"";
  position: absolute;
  top:5rem;
  left:0;
  width:100%;
  height:calc(100% - 5rem);
  background-color: #F5F5F5;
  z-index: -1;
}
.ttl-recommend {
  text-align: center;
  margin:0 auto 1rem;
  width:60%;
  max-width:650px;
}
.rec-check {
  max-width:680px;
  width:90%;
  margin:0 auto;
}
.check01 li {
  background:url(../img/check.svg)no-repeat 10px center;
  background-size:38px 32px;
  margin:0;
  padding:1.8rem 1rem 1.8rem 6rem;
  border-top:5px solid #D4D6D8;
  font-size:2.1rem;
  color:#6D6D6D;
  font-weight: bold;
}
.check01 li:last-of-type {
  border-bottom:5px solid #D4D6D8;
}
.check01 li strong {
  color:#21B9CB;
}
.reason-wrap {
  background-color: #F5F5F5;
  padding-bottom:3vw;
}
.reason-outer {
  max-width:1200px;
  width:90%;
  margin:0 auto;
}
.sha {
  background:url(../img/sha.png) repeat 0 0;
  background-color:#fff;
  background-size:15px 15px;
}
.ttl-reason {
  display: flex;
  align-items: center;
  font-size:3.8rem;
  color:#444;
  letter-spacing: 0.05em;
  border-bottom:1px solid #666;
  height:3em;
  padding-bottom:3rem;
  margin:1.5rem 0 0;
  line-height: 1.2;
}
.ttl-reason i {
  width:100px;
  text-align: center;
}
.reason-txt {
  padding:2rem;
}
.reason-txt p {
  color:#707070;
  line-height: 2;
  font-weight: 500;
  margin:0;
}
.reason-note {
  border:4px solid #DDDDDD;
  padding:1.5rem 2.5rem;
  border-radius: 15px;
  margin-top:1.5rem;
}
.reason-note strong {
  color:#21B9CB;
  font-weight: bold;
  display: block;
}
.reason.left figure {
  order:1;
}
.left .reason-inner {
  order:2;
}
table.type01 th {
  background-color: #03A0BB;
  color: #fff;
  text-align: center;
  border-top: 1px solid #707070;
}
table.type01 th,
table.type01 td {
  padding:0.5em 5px;
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
table.type01 th:first-of-type,
table.type01 td:first-of-type {
  border-left: 1px solid #707070;
}
table.type01 td {
  background-color: #fff;
  font-size: 90%;
  color: #707070;
}
table.type02 {
  max-width:600px;
  margin:0 auto;
  border:1px solid #707070;
}
table.type02 th {
  background-color: #F0FBFC;
  text-align: center;
  border-right: 1px solid #707070;
  width:30%;
}
table.type02 th,
table.type02 td {
  padding:0.5em;
  border-bottom: 1px solid #707070;
}
table.type02 td {
  background-color: #fff;
  font-size: 110%;
  color: #707070;
  padding-right:0;
}
table.type02 td:first-of-type {
  padding-left:2em;
  width:30%;
}
table.type02 td.td2 {
  padding-left:0;
}

.reason04 .reason-txt {
  padding:2rem 0 0;
}


.program {
  background:url(../img/bg-program.jpg)no-repeat center bottom;
  background-size:cover;
  padding:10rem 0;
}
.ttl-program {
  max-width:735px;
  width:90%;
  margin:0 auto;
  text-align: center;
}
.program-box {
  max-width:900px;
  width:90%;
  border:5px solid #6B6968;
  border-radius: 20px;
  padding:3rem 4rem 3rem;
  margin:1rem auto;
}
.program-ttl {
  color:#6B6968;
  font-size:3.8rem;
  margin:auto;
  text-align: center;
}
.program-en {
  color:#A9A9A9;
  font-weight: 500;
  margin:2rem 0;
  text-align: center;
}
.program-txt {
  color:#707070;
  text-align: left;
}
.course {
  background:url(../img/bg-dot.png) repeat center top;
  background-color: #F1ECE2;
  padding:6vw 0 8vw;
}

.ttl-course {
  max-width:634px;
  width:90%;
  margin:0 auto;
  text-align: center;
}
.course-wrap {
  max-width:1160px;
  margin:0 auto;
  width:90%;
}
.course-wrap .reason-txt {
  line-height: 1.8;
}
.course-wrap .reason-inner {
  padding-bottom:2.5rem;
  border-top: 8px solid #21B9CB;
  margin-top:6rem;
}
.course-wrap .ttl-reason {
  padding-left:2rem;
}
.schedule-wrap {
  max-width:1100px;
  width:90%;
  margin:0 auto;
}
.ttl-schedule-sub {
  color: #6B6968;
  text-align: center;
  margin:0 auto 2rem;
}
.ttl-schedule,
.ttl-week {
  max-width:580px;
  width:90%;
  margin:0 auto 2rem;
}
.skd-ttl {
  margin-bottom:0.5rem;
}
.schedule-flex-outer {
  position: relative;
}
.schedule-flex-outer:before {
  content: "";
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  margin:auto;
  width: 3px;
  height: calc(100% - 410px);
  background-color: #21B9CB;
}
.schedule-flex:before {
  content:"";
  position: absolute;
  top: 20px;
  left:0;
  right:0;
  margin:auto;
  width:28px;
  height:28px;
  border-radius: 10em;
  background-color: #21B9CB;
}
.schedule-flex:after {
  content:"";
  position: absolute;
  top: 38%;
  left:0;
  right:0;
  margin:auto;
  width:28px;
  height:28px;
  border-radius: 10em;
  background-color: #21B9CB;
}
.schedule-flex .skd-right:before {
  content:"";
  position: absolute;
  top: 10px;
  left: -58px;
  width:28px;
  height:28px;
  border-radius: 10em;
  background-color: #21B9CB;
}
.schedule-flex .skd-right:after {
  content:"";
  position: absolute;
  top: 58%;
  left: -58px;
  width:28px;
  height:28px;
  border-radius: 10em;
  background-color: #21B9CB;
}
.skd-free {
  margin-top:7em;
}
.skd-freetime {
  margin-right:-8%;
}
.skd-ttl {
  font-size:2.1rem;
  color:#6B6968;
  font-weight: bold;
  padding-left:2rem;
  line-height: 1;
}
.skd-ttl em {
  font-size:1.8rem;
  color:#6B6968;
  font-weight: bold;
  line-height: 1;
  font-style: normal;
}
.skd-ttl.mb0 {
  margin-bottom:0;
}
.skd-ttl span {
  font-size:2.4rem;
  color:#21B9CB;
  font-weight: bold;
  letter-spacing: 0.03em;
  margin-right:1rem;
}
.skd-box {
  margin-bottom:1rem;
}
.skd-box.mb {
  margin-bottom:4rem;
}
.one-week {
  padding:8rem 0 5rem;
}

.course-wrap .ttl-reason {
  font-size:2.7rem;
}
.course-wrap strong {
  color:#21B9CB;
}
.course-wrap .reason-inner {
  padding-right:2rem;
}
.course-wrap .ttl-reason i {
  width: 70px;
  padding-left: 10px;
  text-align: left;
}
.ttl-english,
.ttl-it {
  max-width: 468px;
  padding-left: 1.5rem;
}
.holiday-area {
  margin:0 auto;
  text-align: center;
  padding:8rem 0 10.5rem;
}
.ttl-holiday {
  max-width:503px;
  margin:0 auto;
}
.holiday-txt {
  color:#707070;
  font-size:95%;
}
.room {
  background:url(../img/bg-room.png)no-repeat center 20%;
  background-size:1495px 415px;
  padding:6rem 0 0;
  text-align: center;
  position: relative;
}
.room:before {
  content:"";
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color: #E3F6FF;
  z-index: -1;
}
.ttl-room {
  max-width:678px;
  margin:0 auto 1rem;
}
.ttl-stay {
  padding:0 0 1rem;
  max-width:552px;
  margin:0 auto 2rem;
}
.note02 {
  background: url(../img/bg-note02.png)no-repeat center top;
  background-size: 100%;
  max-width: 630px;
  width: 90%;
  margin: 0 auto 6rem;
  padding: 3rem 4rem;
  text-align: center;
}
.note02 .txt {
  color:#6D6D6D;
}
.room-inner {
  padding-top:4rem;
}
.room-img {
  max-width:752px;
  margin:0 auto;
}
.room-caption {
  font-size:80%;
  text-align: right;
}
.work {
  text-align: center;
  background-color: #E3F6FF;
  padding:8rem 0;
}
.ttl-work {
  margin:0 auto 2rem;
  max-width:678px;
  text-align: center;
}
.work-read {
  color: #555;
  font-size: 110%;
  margin:2rem auto;
}
.work-img {
  max-width:1000px;
  margin-bottom:4rem;
  margin-top:-4rem;
}
.note03 {
  background: url(../img/bg-what.png)no-repeat center bottom;
  background-size: cover;
  max-width: 920px;
  /* width: 90%; */
  margin: 0 auto;
  padding: 4rem 4rem 4rem 8rem;
  text-align: center;
  line-height: 2;
  /* min-height: 233px; */
}
.note-inner {
  max-width:760px;
  margin:0 auto;
  width:85%;
}
.note03 .txt {
  line-height:1.8;
  color:#707070;
  font-weight: 500;
}
.work-ttl {
  margin-bottom:3rem;
}
.work-ttl span {
  font-size: 3.2rem;
}

.room-inner {
  max-width:800px;
  width:90%;
  margin:0 auto;
}
.room .note03 {
  padding-top:3rem;
}
.room .note03 .txt {
  line-height: 2;
}
.flow-wrap .bg-ttl h2 {
  padding-top: 35px;
}
.flow-area {
  padding:8rem 0;
  background: url(../img/bg-dot.png) repeat center 35px;
  background-color:#E3F6FF;
}
.flow {
  background-color: #fff;
  padding:10px;
  margin-bottom:5rem;
  position: relative;
}
.flow:after {
  content:"";
  position: absolute;
  left:0;
  right:0;
  bottom:-4.5rem;
  margin:auto;
  background:url(../img/arrow.svg) no-repeat 0 0;
  background-size:contain;
  width:63px;
  height:63px;
}
.flow:last-of-type:after {
  content:none;
  background: none;
}
.flow-inner {
  justify-content: space-between;
  border:1px solid #009DB8;
  padding:10px;
}
.flow-ttl {
  display: flex;
  align-items: center;
  margin:0 1rem 1rem 0;
}
.flow-box .txt {
  color:#6D6D6D;
  line-height:2;
  padding-left:2rem;
}
.flow-message {
  text-align: center;
}
.flow-photo {
  margin-top:9rem;
  display: flex;
  align-items: flex-start;
}
.flow-photo img {
  width:25%;
}
.flow-photo img:nth-child(1),
.flow-photo img:nth-child(3) {
  margin-top:7rem;
}
.faq-wrap {
  background-color: #F4F1ED;
  position: relative;
  padding:2rem 0 8rem;
}
.faq-wrap:before {
  content:"";
  position: absolute;
  top:-7rem;
  left:0;
  width:100%;
  height:100%;
  background-color: #F4F1ED;
}
.faq {
  padding:1.5rem 0;
  border-bottom:1px dotted #777;
}
.faq dt {
  font-size:1.8rem;
  font-weight: bold;
  padding:1rem 0 1rem 2.6em;
  background: url(../img/q.svg)no-repeat 0 0.5em;
  background-size:35px 35px;
  line-height: 1.4;
}
.faq dd {
  color:#6D6D6D;
  padding:1rem 0 1rem 3em;
  background: url(../img/a.svg)no-repeat 0 0.8em;
  background-size:35px 35px;
  line-height: 1.4;
}
.faq-area {
  max-width:900px;
  margin:0 auto;
}
.ttl-faq {
  margin: 0 auto 2rem;
  max-width: 552px;
  text-align: center;
}

.bg-ttl {
  width:100%;
  font-weight: 600;
  position: relative;
  min-height: 112px;
}
.bg-ttl:after {
  content:"";
  position: absolute;
  top:0;
  left:0;
  right:0;
  margin:auto;
  background: #0068B7;
  width:100%;
  height: 140px;
  z-index: -1;
}
.bg-ttl,
.bg-ttl h2 {
  height:140px;
  padding:19px 0 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bg-ttl .ttl-h {
  max-width:840px;
  width:90%;
  margin:0 auto;
  text-align: center;
}
.ttl-ya {
  position: relative;
}
.ttl-ya:before {
  content:"";
  position: absolute;
  left:0;
  right:0;
  margin:auto;
  top:0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 26px 20px 0 20px;
  border-color: #0068B7 transparent transparent transparent;
}
.about-wrap {
  background-color: #F1ECE2;
  padding:6vw 0;
}
.about-box {
  padding:3.5rem 2rem 4rem 6rem;
  background-color: #fff;
  border-top:8px solid #21B9CB;
  box-shadow: 5px 5px 10px rgba(0,0,0,0.15);
}
.bg-circle {
  background:url(../img/bg-about.png)no-repeat 70% center;
  background-size:38%;
  background-color: #fff;
}
.about-ttl {
  color: #333;
  font-size: 2em;
}
.about-ttl-sub {
  padding-bottom:1em;
  margin-bottom:1.5em;
  color: #333;
  margin-top:0.3em;
  position: relative;
}
.about-ttl-sub:after {
  content:"";
  position: absolute;
  bottom:0;
  left:0;
  width:70%;
  background:#ccc;
  height: 2px;
}
.about-photo {
  float:right;
  width:28%;
  max-width:307px;
  margin-left:2rem;
}
.about-ttl-sub {
  font-size: 2.2rem;
}
.about-txt {
  font-size: 1.5rem;
  padding-right: 2rem;
}
.about-box.flex {
  display: flex;
}
.about-box-left {
  width:60%;
}
.about-box figure {
  width:35%;
  justify-content: space-between;
}
.ttl-about {
  margin:0 auto 1rem;
  max-width:503px;
  width: 90%;
  text-align: center;
}
.about-box.mb {
  margin-bottom:4em;
}
.about-box.-mb {
  margin-bottom:-2em;
}



/* -----------------------------------------------------------
	footer
------------------------------------------------------------*/

#footer {
  text-align: center;
  background: #009DB8;
  height:100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-copyright {
  font-size:12px;
  text-align: center;
  color:#fff;
  letter-spacing: 0.1em;
}

/* -----------------------------------------------------------
mediaQuery レスポンシブ
------------------------------------------------------------*/
@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}



@media screen and (min-width: 768px) {
  .reason {
    display: flex;
    align-items: start;
  }
  .reason01 {
    padding-top:7rem;
  }
  .reason02 {
    margin-top:-1em;
  }
  .reason figure {
    width: 45.67%;
    margin-left: 1rem;
    position: relative;
  }
  .reason-inner {
    width: 61%;
    margin-left: -7%;
    padding:2rem 4rem 3.5rem 8%;
    margin-top:3rem;
  }
  .right .reason-inner {
    width: 62%;
    margin:3rem -7% 0 0;
    padding:2rem 9% 3.5rem 4rem;
  }
  .right.reason figure {
    width: 44.5%;
    margin: 1rem -3.5% 0 0;
  }
  .reason02 .reason-inner {
    width: 62%;
    margin:5rem -7% 0 0;
    padding:2rem 9% 3.5rem 4rem;
  }
  .reason02.reason figure {
    width: 48.5%;
    margin: 1rem -3.5% 0 0;
  }
  .reason03 {
    margin:2em 0 0;
  }
  .reason05 {
    margin:1em 0 0;
  }
  .right.reason04 figure {
    margin-top:-6em;
  }
  .reason-note.flex {
    display: flex;
    justify-content: space-between;
  }
  .reason-note-col {
    width:48%;
    font-size: 95%;
  }
  .schedule-flex {
    display: flex;
    justify-content: space-between;
    position: relative;
  }
  .schedule-flex .schedule {
    width:46%;
    position: relative;
  }
  .schedule.skd-right {
    margin-top: 19%;
  }
  .skd-box.skd05 {
    margin-right:-8%;
  }
  .holiday {
    max-width:1307px;
    margin:-16rem auto -1rem;
  }
  .flow-inner {
    display: flex;
  }
  .flow-inner figure {
    width:31.733%;
  }
  .flow-box {
    width:68%;
    padding:0 1rem 2rem 1rem;
  }
  .flow-ttl {
    height:6em;
  }
  .flow-ttl .icn {
    max-width:102px;
  }
  .flow-ttl span {
    font-size:3.2rem;
    display: inline-block;
    padding-left:1em;
  }
}

@media screen and (max-width: 1200px) {
  .bg-ttl {
    min-height: 90px;
  }
  .ttl-reason {
    font-size: calc(28/1200*100vw);
  }
  .course-wrap .ttl-reason {
    font-size: calc(25/1200*100vw);
  }
  .ttl-reason img {
    height:4.5em;
  }
  .reason-inner {
    padding-bottom:2rem;
  }
  .reason05 {
    margin: 1rem 0 4rem;
  }
  .reason03 {
    margin: 2rem 0 4rem;
  }
}

@media screen and (max-width: 1023px) {
  .ttl-img img {
    width:20vw;
  }
  .cta-inner {
    border-width:6px;
  }
}

/* -----------------------------------------------------------------------------
スマホSP
------------------------------------------------------------------------------*/

/*--------------------------------------------------
767px以下
/*--------------------------------------------------*/
@media screen and (max-width: 767px) {
  .container {
    width:95%;
  }
  #page-top {
    bottom: 15px;
    right: 5px;
  }
  .cta {
    padding:7px;
    margin:3rem auto 4rem;
  }
  p.cta-ttl {
    font-size:calc(35/767*100vw);
  }
  .cta-inner {
    padding:1rem 1rem 1.5rem;
  }
  .cta img {
    width: 88%;
    max-width: 600px;
  }
  .cta-inner {
    border-width: 4px;
  }
  .cta-top {
    margin: -1rem auto 1rem;
  }
  .cta-inner,
  .cta {
    border-radius: 12px;
  }
  .cta .ls {
    margin-bottom:0.5rem;
    letter-spacing: 0.05em;
  }
  .ttl-what * {
    font-size:calc(40/767*100vw);
  }
  .bg-ttl .ttl-h {
    width:98%;
  }
  .what {
    padding:0 2rem 3rem;
    min-height:inherit;
  }
  .what-txt {
    line-height: 1.8;
  }
  .what-inner {
    width:100%;
    margin-bottom:0;
    padding: 1.5rem 5% 2rem;
  }
  .recommend {
    padding-bottom:4rem;
  }
  .ttl-recommend {
    width:80%;
  }
  .check01 li {
    font-size:calc(30/767*100vw);
  }
  .check01 li {
    background-size: 24px 18px;
    margin: 0;
    padding: 1rem 1rem 1rem 3.6rem;
    border-width:3px;
  }
  .check01 li:last-of-type {
    border-width:3px;
  }
  .bg-ttl, .bg-ttl h2 {
    height: 80px;
    padding:0;
  }
  .flow-wrap .bg-ttl h2 {
    padding-top: 0;
  }
  .bg-ttl {
    padding: 14px 0 15px;
    min-height: 80px;
  }
  .ttl-ya:before {
    border-width: 20px 14px 0 14px;
  }
  .reason-wrap {
    padding-top:3rem;
  }
  .ttl-reason,
  .course-wrap .ttl-reason {
    font-size:2.2rem;
    height:inherit;
    padding-bottom:1.5rem;
  }
  .course-wrap .ttl-reason{
    font-size:1.6rem;
  }
  .ttl-reason i,
  .course-wrap .ttl-reason i {
    width: 60px;
    padding-left:0;
    text-align: center;
  }
  .course-wrap .ttl-reason i {
    width:45px;
  }
  .ttl-reason i img {
    height:35px;
  }
  .reason figure {
    position: relative;
    width:80%;
    margin:auto;
    text-align: center;
    transform: rotate(-6deg);
    margin-top: -4rem;
    margin-bottom:3rem;
  }
  .course-wrap .reason figure{
    margin-top:-7rem;
    margin-bottom:1rem;
  }
  .reason-inner {
    border-top:4px solid #21B9CB;
    margin-top:0;
    margin-bottom:2rem;
  }
  .reason02 {
    margin:3rem 0 4rem;
  }
  .reason-txt {
    padding: 1rem 1rem 2rem 1.5rem;
  }
  .reason-note {
    border: 3px solid #DDDDDD;
    padding: 1rem 1.5rem;
    border-radius: 12px;
    margin-top: 1rem;
  }
  .reason-note-col {
    font-size: 93%;
  }
  .reason03,
  .reason04 {
    margin-bottom:3rem;
  }
  .reason05 {
    margin-bottom:1rem;
  }
  .program,
  .course-wrap {
    padding:0 0 2rem;
  }
  .program-ttl{
    font-size:2.1rem;
  }
  .program-box {
    border-width: 4px;
    border-radius: 15px;
    padding: 2rem 2rem 1rem;
  }
  .course-wrap .reason-inner {
    padding-right:0;
    margin-top:0;
  }
  .schedule-wrap {
    margin:2rem auto 0;
    width:100%;
  }
  .skd-ttl {
    font-size: 1.6rem;
  }
  .skd-ttl span {
    font-size:1.8rem;
  }
  .skd-ttl em {
    font-size:1.4rem;
  }
  .ttl-english, .ttl-it {
    padding-left:0;
    width: 90%;
    margin: 0 auto;
  }
  .schedule-flex:before,
  .schedule-flex:after,
  .schedule-flex-outer:before {
    content:none;
    background:none;
  }
  .skd-ttl {
    margin-bottom:0;
  }
  .skd-box {
    margin-bottom: 0;
  }
  .ttl-schedule {
    margin-bottom:1rem;
  }
  .skd-free {
    margin-top:0;
  }
  .skd-box.mb {
    margin-bottom:0;
  }
  .ttl-holiday {
    width:85%;
    margin:0 auto -3rem;
  }
  .holiday-area {
    padding-bottom:3rem;
    padding-top: 0;
  }
  .ttl-room {
    margin: 0 auto 2rem;
  }
  .note03 {
    background: url(../img/bg-what.png) no-repeat center bottom;
    background-size: cover;
    padding: 3rem 1.5rem 2.5rem;
    min-height: inherit;
    margin-bottom: 1rem;
    width:100%;
  }
  .work .note03 {
    padding-bottom:4rem;
    padding-top:4rem;
  }
  .work {
    padding:4rem 0;
  }
  .ttl-work {
    margin-bottom:1rem;
  }
  .work-ttl span {
    font-size: 2rem;
  }
  .marker01 {
    margin-bottom:0;
  }
  .work-ttl {
    margin-bottom:0;
  }
  .note-inner {
    width:97%;
  }
  .work-img {
    margin-bottom: 2rem;
    margin-top:0;
  }
  .note03 .txt {
    text-align: left;
  }
  .flow-wrap .container {
    width:88%;
  }
  .flow-wrap .ttl-h img {
    height:30px;
  }
  .flow-area {
    padding:3rem 0;
  }
  .flow-inner {
    padding:15px;
  }
  .flow-ttl {
    margin-right:0;
    margin-bottom:0;
  }
  .flow-ttl i {
    width: 20%;
    margin:1rem 0 0;
  }
  .flow-ttl span {
    font-size:2.3rem;
    margin-left:1.5rem;
  }
  .flow-box:nth-child(2) .flow-ttl span {
    font-size:2rem;
  }
  .flow-ttl img {
    vertical-align: 5px;
  }
  .flow-box .txt {
    padding-left:5px;
    font-size:14px;
  }
  .flow-box .txt br {
    display: none;
  }
  .flow-photo {
    margin: 2rem auto 0;
    flex-wrap:wrap;
    width:90%;
    position: relative;
    z-index: 1;
  }
  .flow-photo img {
    width: 50%;
  }
  .flow-photo img:nth-child(1), .flow-photo img:nth-child(3) {
    margin-top: 3rem;
  }
  .faq-wrap {
    padding:0 0 4rem;
  }
  .faq-wrap .container {
    width: 90%;
  }
  .faq {
    padding: 0 0 1rem;
  }
  .faq dd {
    padding-left:3.8em;
  }
  #footer {
    height:50px;
  }
  .footer-copyright {
    font-size: 11px;
    text-align: center;
  }
  .faq dt {
    font-size:1.6rem;
    padding-left:3em;
  }
  table.type01 th:nth-child(2) {
    width:34%;
  }
  .skd-freetime {
    width:90%;
    margin-left:auto;
    margin-right: auto;
  }
  .one-week {
    max-width:90%;
    margin:auto;
    padding: 4rem 0 5rem;
  }
  .ttl-schedule, .ttl-week,
  .ttl-course {
    margin-bottom:1rem;
  }
  .about-box {
      padding: 2.5rem 1rem 2rem 2.5rem;
      border-top: 5px solid #21B9CB;
  }
  .about-photo {
    width:45%;
    margin-bottom: -3rem;
  }
  .about-ttl {
    font-size: 1.6em;
  }
  .about-ttl-sub {
    font-size: 1.2em;
  }
  .about-txt {
    font-size: 1.36rem;
  }
  .about-ttl-sub:after {
    width:55%;
  }
  .about-wrap {
    padding:5rem 0;
  }
  .about-box.flex {
    display: block;
  }
  .about-box-left,
  .about-box figure {
    width:100%;
  }
  .about-box.-mb {
    margin-bottom:-1rem;
  }
  .room-inner {
    padding-top:0;
  }
}


