@charset "utf-8";
html{
  -webkit-text-size-adjust: 100%;
}
html.close {
  overflow: hidden;
  height: 100%;
}
body {
  font-family: "Zen Old Mincho", serif;
  font-size:min(1.6vw,16px);
  text-align:center;
  color:#464B73;
  line-height:1.6;
}

@media screen and (max-width:768px){
  body {
    font-size:4vw;
  }
}


a {
  color:#464B73;
  -webkit-transition : opacity 0.1s, background 0.1s, color 0.1s;
  transition : opacity 0.1s, background 0.1s, color 0.1s;
  opacity:1;
  outline:none;
}
a.opacity:hover,
a:hover img {
  opacity: 0.6;
}

img{
  max-width:100%;
  vertical-align:bottom;
}

h1,h2,h3,h4,h5,h6{
  font-weight:normal;
}

.only_sp,
.only_sp_i,
.only_sp_f{
  display:none !important;
}

@media screen and (max-width:768px){
  .only_pc{
    display:none !important;
  }

  .only_sp{
    display:block !important;
  }
  .only_sp_i{
    display:inline-block !important;
  }
  .only_sp_f{
    display: -webkit-flex !important;
    display: flex !important;
  }
}

#wrapper{
  overflow:hidden;
}

.inner{
	max-width:1080px;
	width:94%;
	margin:auto;
}
@media screen and (max-width:768px){
  .inner{
    width:86%;
  }
}


/* 色関係 */
.bg_navy{
  color:#fff;
  background-color:#2E3C98;
}
.bg_blue{
  color:#fff;
  background-color:#589DD8;
}
.bg_sky{
  color:#fff;
  background-color:#78BDF8;
}
a.bg_blue:hover,
a.bg_sky:hover{
  color:#589DD8;
  background-color:#DCE6F0;
}

.pink{
  color:#E66E96;
}
.bg_pink{
  color:#fff;
  background-color:#E66E96;
}
.bg_lpink{
  color:#fff;
  background-color:#F09EBA;
}

a.bg_pink:hover,
a.bg_lpink:hover{
  color:#E66E96;
  background-color:#FEF2F3;
}
.bg_white{
  background-color:#fff;
}

.shadow{
  box-shadow:0 0 24px rgba(88,157,216,0.15);
}


/* 書式 */
.text_left{
  text-align:left;
}
.text_right{
  text-align:right;
}
.bold{
  font-weight:bold;
}

/* .btn */
.btn{
  width:20em;
  display:block;
  margin:min(4%,40px) auto 0;
  padding:0.3em 0;
  border-radius:100px;
  font-weight:bold;
  line-height:2.2;
  position:relative;
}
.btn:after{
  content:'';
  display:block;
  width:0.5em;
  height:0.5em;
  border-top:2px solid;
  border-right:2px solid;
  position:absolute;
  right:1.5em;
  top:50%;
  transform:translateY(-50%) rotate(45deg);
}

@media screen and (max-width:768px){
  .btn{
    margin:12% auto 0;
    font-size:4vw;
  }
}


/* .tel_btn */
.tel_btn{
  display:block;
  padding:0.5em 0;
  border-radius:100px;
  font-size:min(1.6vw,16px);
  line-height:1.3;
  position:relative;
}
.tel_btn:after{
  content:'';
  display:block;
  width:0.5em;
  height:0.5em;
  border-top:2px solid;
  border-right:2px solid;
  position:absolute;
  right:1em;
  top:50%;
  transform:translateY(-50%) rotate(45deg);
}
.tel_btn .small{
  display:block;
  font-size:min(1.4vw,14px);
}
.tel_btn .large{
  display:block;
  font-size:min(2.4vw,24px);
}

@media screen and (max-width:768px){
  .tel_btn{
    font-size:4vw;
  }
  .tel_btn .small{
    font-size:3.5vw;
  }
  .tel_btn .large{
    font-size:6vw;
  }
}


/* .more_link */
.more_link{
  display:inline-block;
  font-weight:bold;
}
.more_link img{
  width:2.4em;
  margin-left:0.5em;
  vertical-align:-0.8em;
}


/* header */
header{
  width:100%;
  height:58px;
  padding-left:20px;
  position:fixed;
  left:0;
  top:0;
  z-index:100;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
header.fixed{
  background-color:#fff;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
}
header .head_logo{
  width:162px;
  line-height:0;
}

header nav .menu{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
header nav .menu > li{
  font-size:16px;
  padding:0 0.8em;
}
header nav .menu > li:nth-child(n+2){
  border-left:1px solid;
}
header nav .menu > li > a,
header nav .menu > li .parent a{
  display:inline-block;
}
header nav .menu > li > a:hover,
header nav .menu > li .parent a:hover{
  color:#E66E96;
}
header nav .menu .sub{
  position:relative;
}
header nav .menu .sub .submenu{
  padding:0.5em 0.5em 0;
  position:absolute;
  left:0;
  top:100%;
  display:none;
}
header nav .menu .sub .submenu li a{
  width:12em;
  line-height:1.3;
  display:block;
  padding:0.5em 1em;
  font-size:14px;
  text-align:left;
  border-bottom:1px solid;
}

header nav .menu > li:last-child{
  height:58px;
  padding:0;
  border-left:none;
}
header nav .menu > li:last-child a{
  height:100%;
  line-height:1.3;
  padding:0 1em;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
}
header nav .menu > li:last-child a:hover{
  color:#fff;
}
header nav .menu > li:last-child a .small{
  display:block;
  font-size:12px;
}
header nav .menu > li:last-child a .large{
  display:block;
  font-size:20px;
}

@media screen and (max-width:1300px){
  header .head_logo{
    width:150px;
  }
  header nav .menu > li{
    padding:0 0.5em;
    font-size:15px;
  }
  header nav .menu > li:last-child a .small{
    font-size:11px;
  }
  header nav .menu  > li:last-child a .large{
    font-size:16px;
  }
}

@media screen and (max-width:1140px){
  header{
    padding:0 10px 0 10px;
  }
  header nav .menu > li:last-child{
    display:none;
  }
}

@media screen and (max-width:980px){
  header{
    padding-right:0;
  }
  header nav{
    width:100%;
    height:calc(100vh - 58px);
    padding:30px 0 100px;
    background-color:#FEF2F3;
    overflow:auto;
    position:fixed;
    top:58px;
    left:0;
    display:none;
  }
  header nav .menu{
    width:min(86%,340px);
    display: block;
    margin:auto;
  }
  header nav .menu > li{
    margin:0.8em 0;
    font-size:min(5vw,20px);
    font-weight:600;
    padding:0;
    text-align:left;
  }
  header nav .menu > li:nth-child(n+2){
    border-left:none;
  }
  header nav .menu .sub .parent{
    display:block;
    position:relative;
    cursor:pointer;
  }
  header nav .menu .sub .parent:after{
    content:'＋';
    font-size:min(7.5vw,30px);
    color:#E5B8C7;
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-55%);
    line-height:1;
  }
  header nav .menu .sub .parent.close:after{
    content:'－';
  }
  header nav .menu > li > a,
  header nav .menu > li .parent a{
    display:block;
    padding-left:0.5em;
    border-left:2px solid #E5B8C7;
  }
  header nav .menu > li > a:hover,
  header nav .menu > li .parent a:hover{
    color:#464B73;
  }
  header nav .menu .sub .parent a{
    pointer-events: none;
  }
  header nav .menu .sub .submenu{
    padding:0.5em;
    position:static;
    left:auto;
    top:auto;
    display:none;
  }
  header nav .menu .sub .submenu li.only_sp{
    display:block !important;
  }
  header nav .menu .sub .submenu li a{
    width:auto;
    line-height:1.3;
    display:block;
    padding:0.3em 0;
    font-size:min(4vw,16px);
    font-weight:normal;
    border-bottom:none;
    color:#464B73;
    background-color:transparent;
    text-indent:-0.3em;
  }
  header nav .menu .sub .submenu li a:before{
    content:'・';
    color:#E5B8C7;
    text-indent:0;
  }
  header nav .menu .sub .submenu li a br{
    display:none;
  }
}

@media screen and (max-width:768px){
  header nav .tel_btn{
    width:min(86%,340px);
    margin:0 auto 1.5em;
    font-size:min(4vw,16px);
  }
  header nav .tel_btn .small{
    font-size:min(3.5vw,14px);
  }
  header nav .tel_btn .large{
    font-size:min(6vw,24px);
  }
  header nav .menu > li{
    margin:0.8em 0;
    font-size:min(5vw,20px);
  }
  header nav .menu .sub .parent:after{
    font-size:min(7.5vw,30px);
  }
  header nav .menu .sub .submenu li a{
    font-size:min(4vw,16px);
  }
  header nav .bottom_banner{
    width:min(86%,340px);
    margin:1em auto 0;
  }
}


/* #btnmenu */
#btnmenu{
  width:58px;
  height:58px;
  margin:0;
  padding:0;
  cursor:pointer;
  background-color:#FEF2F3;
  position:relative;
  display:none;
}
#btnmenu:after{
  content:'MENU';
  font-size:14px;
  font-weight:bold;
  color:#E66E96;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
#btnmenu span{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 2px;
	border-radius:2px;
	margin: -1px 0 0 -20px;
	background: transparent;
	-webkit-transition: .2s;
	transition: .2s;
}
#btnmenu span:before,
#btnmenu span:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 40px;
	height: 2px;
	background: #E66E96;
	border-radius:2px;
	-webkit-transition: .3s;
	transition: .3s;
}

#btnmenu span:before{
	margin-top: -13px;
}
#btnmenu span:after{
	margin-top: 12px;
}

#btnmenu.close{
	background-color:#E66E96;
}
#btnmenu.close:after{
  content:none;
}
#btnmenu.close span{
	width:58px;
	height:58px;
	margin-top:-28px;
	margin-left:-30px;
	background-color:transparent;
}

#btnmenu.close span:before,
#btnmenu.close span:after{
	margin-top: 0;
	background-color:#fff
}

#btnmenu.close span:before{
	width: 40px;
	height: 2px;
	margin: -2px 0 0 10px;
	border-radius:2px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#btnmenu.close span:after{
	width: 40px;
	height: 2px;
	margin: -2px 0 0 10px;
	border-radius:2px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

@media screen and (max-width:980px){
  #btnmenu{
    display:block;
  }
}


/* main */
main{
  padding-top:58px;
}


/* .cont */
.cont{
  padding:min(9%,90px) 0 min(12%,120px);
}

@media screen and (max-width:768px){
  .cont{
    padding:24% 0;
  }
}


/* 見出し */
.cont .tit{
  line-height:1.3;
  font-weight:normal;
  text-align:left;
}
.cont .tit .en{
  display:block;
  margin-bottom:0.5em;
  font-size:min(1.6vw,16px);
}
.cont .tit .en:first-letter{
  color:#E66E96;
}
.cont .tit .jp{
  display:block;
  font-size:min(2.4vw,24px);
}

@media screen and (max-width:768px){
  .cont .tit .en{
    font-size:4vw;
  }
  .cont .tit .jp{
    font-size:6vw;
  }
}


/* .square_tit */
.square_tit:before{
  content:'◆';
  font-size:0.4em;
  color:#E66E96;
  margin-right:1em;
  vertical-align:0.4em;
}
.square_tit:after{
  content:'◆';
  font-size:0.4em;
  color:#E66E96;
  margin-left:1em;
  vertical-align:0.4em;
}



/* .schedule */
.schedule{
  width:100%;
  font-size:min(1.8vw,18px);
}
.schedule tr{
  background-image: linear-gradient(to left, #CCE8FE, #E5B8C7);
  background-repeat: no-repeat;
  background-size: 100% 2px;
  background-position: left bottom;
}
.schedule tr:last-child{
  background-image:none;
}
.schedule th{
  padding:0.7em 0;
  font-weight:normal;
}
.schedule th:first-of-type{
  width:8em;
}

@media screen and (max-width:768px){
  .schedule{
    font-size:4vw;
  }
  .schedule th{
    padding:0.7em 0;
    font-weight:normal;
  }
  .schedule th:first-of-type{
    width:6.5em;
    padding-right:0.6em;
    white-space:nowrap;
  }
}


/* footer */
footer{
  padding-top:min(5%,50px);
  background-color:#FFE6E9;
}
footer .inner{
  max-width:1120px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

@media screen and (max-width:768px){
  footer{
    padding-top:12%;
  }
  footer .inner{
    display: block;
  }
}


/* .footer .foot_address */
footer .foot_address dl{
  width:min(38%,430px);
  position:relative;
}
footer .foot_address dl dt{
  width:min(65%,280px);
}
footer .foot_address dl .address{
  margin-top:1.5em;
  font-size:min(1.4vw,16px);
  text-align:left;
}
footer .foot_address dl .access{
  width:7em;
  height:7em;
  font-size:min(1.4vw,16px);
  background-color:#fff;
  border-radius:100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  position:absolute;
  right:0;
  top:0;
}
footer .foot_address dl .access .upper{
  display:inline-block;
  border-bottom:1px solid;
}
footer .foot_address dl .access .lower .large{
  line-height:1;
  font-size:min(3.1vw,31px);
}
footer .foot_address .hour{
  line-height:1.8;
  margin-top:1em;
  background-color:#fff;
  font-size:min(1.4vw,14px);
}
footer .foot_address .tel{
  width:min(75%,280px);
  margin:1em auto 0;
}
footer .foot_address .map{
  width:min(58%,660px);
  padding-top:22%;
  position:relative;
}
footer .foot_address .map iframe{
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
}

@media screen and (max-width:768px){
  footer .foot_address dl{
    width:auto;
  }
  footer .foot_address dl dt{
    width:57.5vw;
  }
  footer .foot_address dl .address{
    font-size:3.5vw;
  }
  footer .foot_address dl .access{
    font-size:4vw;
    transform:translate(15%,-12%);
  }
  footer .foot_address dl .access .lower .large{
    font-size:7.7vw;
  }
  footer .foot_address .hour{
    font-size:3.5vw;
  }
  footer .foot_address .tel{
    width:100%;
    margin:1em auto 0;
  }
  footer .foot_address .map{
    width:100%;
    margin-top:9%;
    padding-top:100%;
    position:relative;
  }
}


/* .footer .foot_nav */
footer .foot_nav{
  margin-top:min(4%,40px);
}
footer .foot_nav .foot_menu{
  width:min(48%,534px);
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  text-align:left;
}
footer .foot_nav .foot_menu div{
 width:38%;
}
footer .foot_nav .foot_menu div:last-child{
  width:20%;
}
footer .foot_nav .foot_menu div dt{
  margin-bottom:1em;
  padding-left:0.5em;
  border-left:2px solid #E5B8C7;
}
footer .foot_nav .foot_menu div dd{
  font-size:min(1.4vw,14px);
}
footer .foot_nav .foot_menu div dd ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
footer .foot_nav .foot_menu div dd ul li{
  white-space:nowrap;
}
footer .foot_nav .foot_menu div dd ul li:before{
  content:'・';
  color:#E5B8C7;
}
footer .foot_nav .foot_banner{
  width:min(45%,500px);
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
footer .foot_nav .foot_banner .banner{
  width:min(82%,414px);
}
footer .foot_nav .foot_banner .insta{
  width:min(10%,50px);
}

footer .copy{
  margin-top:min(5%,50px);
  line-height:3;
  font-size:12px;
  background-color:#fff;
}

@media screen and (max-width:768px){
  footer .foot_nav{
    margin-top:9%;
  }
  footer .foot_nav .foot_menu{
    width:auto;
    display: block;
  }
  footer .foot_nav .foot_menu div{
   width:auto;
   margin-top:7%;
  }
  footer .foot_nav .foot_menu div:last-child{
    width:auto;
  }
  footer .foot_nav .foot_menu div dt{
    margin-bottom:0.5em;
  }
  footer .foot_nav .foot_menu div dd{
    line-height:1.8;
    font-size:3.4vw;
  }
  footer .foot_nav .foot_banner{
    width:auto;
    margin-top:9%;
    display: block;
  }
  footer .foot_nav .foot_banner .banner{
    width:auto;
  }
  footer .foot_nav .foot_banner .insta{
    width:15%;
    margin-top:5%;
  }
  footer .copy{
    margin-top:9%;
    font-size:3vw;
  }
}



/* #topbtn */
#topbtn{
  width:50px;
  line-height:50px;
  font-size:21px;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  border-radius:50%;
  box-shadow:0 0 3px rgba(0,0,0,0.3);
  position:fixed;
  z-index:99;
  right:20px;
  bottom:-150px;
  -webkit-transition: bottom 0.8s;
  transition: bottom 0.8s;
}
@media screen and (max-width:750px){
  #topbtn{
    width:40px;
    line-height:40px;
    font-size:18px;
    right:15px;
  }
}


/* .tel_bottom */
.tel_bottom{
  display:none;
}

@media screen and (max-width:1140px){
  .tel_bottom{
    width:250px;
    height:50px;
    line-height:1.3;
    position:fixed;
    right:10px;
    bottom:10px;
    z-index:99;
    border-radius:100px;
    font-size:16px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-transition: bottom 0.8s;
    transition: bottom 0.8s;
  }
  .tel_bottom:after{
    content:'';
    display:block;
    width:0.5em;
    height:0.5em;
    border-top:2px solid;
    border-right:2px solid;
    position:absolute;
    right:1em;
    top:50%;
    transform:translateY(-50%) rotate(45deg);
  }
  .tel_bottom .small{
    display:block;
    font-size:12px;
  }
  .tel_bottom .large{
    display:block;
    font-size:20px;
  }
}

@media screen and (max-width:480px){
  .tel_bottom{
    right:50%;
    transform:translateX(50%);
  }
}



/* fadein */
.fadein {
	opacity : 0;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_0 {
	opacity : 0;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}

.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.2s;
	transition-delay : 0.2s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay3 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.6s;
	transition-delay : 0.6s;
}
.delay4 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}
.delay5 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.0s;
	transition-delay : 1.0s;
}
.delay6 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.2s;
	transition-delay : 1.2s;
}

.fadein.scrollin,
.fadein_0.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}