
@charset "utf-8";

body{
	font-family: 'Noto Sans JP', sans-serif;
  position: relative;
  font-size: 1.6rem;
  font-weight: 400;
  color: #545454;
}
html{
	font-size:62.5%;
}

.font-serif{
	font-family: 'Noto Serif JP', serif;
}

.font-sans-serif{
	font-family: 'Noto Sans JP', sans-serif;
}

img{
  max-width: 100%;
  line-height: 0;
	vertical-align: bottom;
}
*{ box-sizing: border-box;}
table{border-collapse:collapse;border-spacing:0;}
a{outline:none !important;}
a:focus{outline:none !important;}
a:link{color: #545454; text-decoration:none;}
a:visited{color: #545454; text-decoration:none;}
a:hover{text-decoration:underline;}



input[type='submit'],
input[type='text'],
input[type='tel'],
input[type='email'],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;

}

input[type='text'],
input[type='tel'],
input[type='email'],
textarea {
  
  border:1px solid #378CE7;
  width: 100%;
  min-width: 100%;
  min-width: 100%;
  padding: 0.5em 1em;
  background-color: #FFFFFF;	
}


textarea {
  resize: vertical;
}

.underline{
text-decoration:underline;
}


select::-ms-expand {
  display: none;
}



.w100{
  width: 100%;
}

.hidden-title{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  border: 0px none;
}

.color-accent{
	color:#40B7BD;
}

.relative{
	position: relative;
}
.bold{
	font-weight: bold;
}



/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 hover
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.over input,
.over a{
  text-decoration: none;
}
#page-top > img:hover,
.over input:hover,
.over a:hover,
.over li a:hover{
	filter: alpha(opacity=70);
	moz-opacity: 0.5;
	opacity: 0.5;
  transition: opacity 0.3s;
  text-decoration: none;
}
.txt-c{text-align:center;}
.txt-r{text-align:right;}
.txt-l{text-align:left;}


.txt-box{
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}


#page-top > img{
	cursor: pointer;
}

.header{
	position: relative;
}


.page-404{
	padding: 80px 16px;
}

.page-404 h2{
	font-size: 2rem;
	margin-bottom: 1em;
}
.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 400px;
	position: relative;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

.slide-img img{
	width: 100%;
}
.photos-list .swiper,
.gallery-list .swiper {
 /* overflow: hidden;*/
  width: 100%;
}

.photos-list .swiper-wrapper,
.gallery-list .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;

}



@-webkit-keyframes zoomUp {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1.15);
      transform: scale(1.15);
  }
}

@keyframes zoomUp { /* 1.15倍させる指定 */
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1.15);
      transform: scale(1.15);
  }
}

.mv-list .swiper-slide {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.mv-list .swiper-slide-active .slide-img,
.mv-list .swiper-slide-duplicate-active .slide-img,
.mv-list .swiper-slide-prev .slide-img{
    -webkit-animation: zoomUp 10s linear 0s;
    animation: zoomUp 10s linear 0s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards ;
  
}

.mv-list .slide-img img{
  display: block;
  width: 100%;
}


.footer{
	/*border-top: 5px solid white;*/
}

#page-top{
	display: block;
	width: 48px;
	height: 48px;
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 100;	
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 PC
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/

@media screen and (min-width: 769px) {
  .sp{display:none !important;}
  .inner{
    max-width: 1232px;
    padding: 0px 16px;
    margin: 0 auto;
  }
  
	.anc{
	  margin-top:-100px;
	  padding-top:100px;
	}  
  
  main{
	  padding-top: 100px;
  }
  

  .no-head main{
	  padding-top: 60px;
  }
  .header{
	  width: 100%;
    position: fixed;
    z-index: 999;
  }
	
  
  .header-area{
	  display: flex;
	  justify-content: space-between;
	  align-items: center;
	  position: relative;
	  height:60px;
	  width: 100%;
	  padding: 0 1em;
	  background-color: #FFFFFF;

  }
  .header-area .logo{
	  display: flex;
	  align-items: center;
	  padding: 0 1em;
  }
  .header-area a{
	  display: block;
		text-decoration: none;
  }
	.header h1{
		font-size: 3.0rem;
		font-weight: 400;
	}
	.header .logo img{
		width:160px;
		margin-right: .5em;
	}

	
	.header .nav{
		background-color: rgba(4, 12, 156, 0.55);
	}
	.header .nav ul{
		display: flex;
		justify-content:center;
		align-items: center;
		font-size: 1.6rem;
		height: 40px;
	}
	
	.header .nav ul li{
		text-align: center;
	}
	.header .nav ul li a{
		color: #FFFFFF;
		display: block;
		font-size: 1.4rem;
		
		font-weight: bold;
		padding: 0 .5em;
		text-decoration: none;
		transition: color .3s;
	}

	.header .nav ul li a:hover{
		color: #A7E6FF;
	}
	
	.footer{
		background-color: #378CE7;
		padding: 40px 0 20px;
		font-size: 1.3rem;
	}
	
	.footer a:hover,
	.footer a{
		color: #ffffff !important;
		font-weight: 300;
	}
	.footer .link1 img{
		width: 50px;
		margin-right: 0.5em;
	}
	.footer p{
		color: #ffffff;
		font-weight: 300;
	}
	.footer .title{
		font-size: 3rem;
		font-weight: 400;
	}
	
	.footer .link1 a{
		display: flex;
		align-items: center;
		margin-bottom: 1em;
		text-decoration: none;

	}
	.footer .link1{
		min-width: 350px;
	}
	.footer .link2{
		min-width: 8em;
	}
	.footer .link3{
		min-width: 11em;
	}

	.footer .link4{
		min-width: 13em;
	}

	.footer .links-wrap{
		display: flex;
		justify-content:space-between;
		margin-bottom: 65px;
	}
	.footer .link2,
	.footer .link3,
	.footer .link4{
		border-left: 1px solid #FFFFFF;
		padding-left: 1em;		
	}


	.footer li{
		margin-bottom: 0.5em;
	}

	.footer .copy{
		font-size: 1.2rem;
		color: #d0d0d0;
		text-align: center;
	}
	
	.bg-img .catch{
		padding-left: 20%;
	}
  .footer .logo img{
		width: 200px;
	}	

}

.header .nav ul li > a.active,
.header .nav ul li > a:hover {
  color: #5ce4ff !important;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 SP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/

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

  html {
   font-size: 1.3333vw;
   font-size: 1.6333vw;
  }

  body{
    font-size: 2.4rem;
    font-size: 16px;
  }
  body img{width:100%;}
  .pc{display:none !important;
  }
	.anc{
	  margin-top:-12vw;
	  padding-top:12vw;
	}
	main{
		padding-top: 12vw;
	}
  .inner{
    padding: 0 4vw;
    margin: 0 auto;
  }
  

  
  .header{
    width: 100%;
    height: 12vw;
    background-color: rgba(255, 255, 255, 1);
    position: fixed;
    z-index: 999;
  }
  
 	.header h1{
		font-size: 4rem;
		font-weight: 400;
	} 
	.header .logo img{
		width:30vw;
		margin-right: 0.5em;
	}
	.header-area{
		display: flex;
		align-items: center;
		justify-content: space-between;
    height: 12vw;
    padding: 0 3.7333vw;
	}

  .header-area .logo{
	  display: flex;
	  align-items: center;
  }
  .header-area a{
	   display: block;
		text-decoration: none;
  }

  .btn-menu{
    display: block;
    position: relative;
    width: 6.4vw;
    height: 6.4vw;
    background-color: rgba(255, 255, 255, 1);
  }

  
  .btn-menu span{
    position: absolute;
    width: 6.4vw;
    height: 2px;
    background-color: #378CE7;
    -webkit-transition: transform .4s;
    transition: transform .4s;
  }
  .btn-menu span:nth-of-type(1){
    top:0.8vw;
  }
  .btn-menu span:nth-of-type(2){
    top:calc(50% - 1px);
  }
  .btn-menu span:nth-of-type(3){
    bottom:0.8vw;
  }
  .btn-menu.active span:nth-of-type(1) {
    transform: translateY(2.2667vw) rotate(-315deg);
  }
  .btn-menu.active span:nth-of-type(2) {
    opacity: 0;
    transition:opacity 0.3s ease-in-out;
  }
  .btn-menu.active span:nth-of-type(3) {
    transform: translateY(-2.2667vw) rotate(315deg);
  }


  .header .nav{
    display: block;
    position: absolute;
    transition: 0.5s ease-in-out;
    overflow: hidden;
		width: 100%;
    left:0;
    top:12vw;
    background-color: rgba(255, 255, 255, 1);
    white-space: nowrap;
    max-height: 0;
    overflow-y: auto;
 }
  
  .header .nav .inner{
    padding: 2em 0;
  }

  .header .nav.active{
    max-height: 100vh;
  }

  .header .nav li{
    text-align: center;
    margin-bottom: 1em;
  }
  .header .nav li > a {
		display: block;
    text-decoration: none;
    color: #757575;
    padding: 1em 0;
    font-size: 2.8rem;
  }
  


	.footer{
		background-color: #378CE7;
		padding: 6vw 0;
	}
	
	.footer a:hover,
	.footer a{
		color: #ffffff !important;
		font-weight: 300;
		text-decoration: none;
	}	
	.footer .links-wrap{
		display: flex;
		flex-wrap: wrap;	
		font-size: 14px;
	}
	
	.footer .link1 img{
		width:8vw;
		margin-right: 0.5em;
	}	
	.footer .title{
		font-size: 3rem;
		font-weight: 400;
	}
	.footer p{
		color: #ffffff;
		font-weight: 300;
	}	
	
	.footer .link1 a{
		display: flex;
		align-items: center;
		margin-bottom: 1em;

	}	
	
	.footer .link1{
		text-align: left;
		width: 100%;
		margin-bottom: 2em;
		border-bottom: 1px solid #ffffff;
		padding-bottom: 1em;
	}
	.footer .link4,
	.footer .link3,
	.footer .link2{
		width: 50%;
		margin-bottom: 1em;
	}
	

	.footer li{
		margin-bottom: 1em;
	}
	.footer .copy{
		font-size: 2rem;
		color: #d0d0d0;
		text-align: center;
	}
	
	.footer .logo{
		text-align: center;
		width: 100%;
		border-bottom: 1px solid #FFFFFF;
		padding-bottom: 1em;
		margin-bottom: 1em;
	}
		
	.footer .logo img{
		width:50vw;
		margin-bottom: 1em;
	}	
		
	.bg-img{
		justify-content: center;
	}
	.bg-img .catch{
		text-align: center;
		padding: 1em;
	}
	
	#page-top{
		display: block;
		width: 8vw;
		height: 8vw;
		right: 5.3333vw;
		bottom: 5.3333vw;
	}
	
	.c-btn{
		position: absolute !important;
		right: 14vw;
	}
}

h2{
	font-size: 3.8rem;
	padding: 0.5em 0;
	text-align: center;
}
h3{
	font-size: 2.4rem;
	padding: 0.5em 0;
	text-align: center;
}

p{
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.7em;
}

.footer p{
	font-size: 1.4rem;
}

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

h2{
	font-size: 24px;
}
h3{
	font-size: 20px;
}

p{
	font-size: 16px;
}

.footer p{
	font-size: 14px;
}


}


.bg ul,
.bg p,
.bg h4,
.bg h3,
.bg h2{
	color: #FFF;
}


h2.title{
	display: inline-block;
  margin: 0 auto;             /* デフォルトCSS打ち消し */
  position:  relative;    /* 位置調整 */
  font-weight:  normal;   /* 文字の太さ調整 */
  margin-bottom: 2em;    /* 周りの余白指定 */
  border-bottom: solid 4px #378CE7;        /* 線指定 */
  border-radius: 0px 0px 160px 180px/0px 0px 20px 4px;    /* 角丸指定 */
	padding-left:2em;
	padding-right:2em;
	padding-bottom: 0.25em !important;
}

.bg h2.title{
	border-bottom: solid 4px #FFFFFF;        /* 線指定 */
}


.c-btn,
.btn{
	display: inline-block;
	text-decoration: none !important;
	position: relative;
	z-index: 110;
}

.btn span{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	min-width: 320px;
	max-width: 100%;
	height: 60px;
	border-radius: 30px;
	border: 1px solid #378CE7;
	background-color: #378CE7;
	color: #FFFFFF;
	font-weight: 500;
	transition: background-color .3s,color .3s;
}

.c-btn span:after,
.btn span:after{
	content: '\f105';
	display: inline-block;
	font-family: FontAwesome;
	position: absolute;
	top: calc(50% - .5em);
  right: 1em;
	font-weight: normal;
	font-size: inherit;
	text-rendering: auto;
	
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.bg .btn span{
	border: 1px solid #FFFFFF;
	background-color: #FFFFFF;
	color: #378CE7;	
}
.btn:hover span{
	background-color: #FFFFFF;
	color: #378CE7;
}

.bg .btn:hover span{
	background-color: #378CE7;
	color: #FFFFFF;
}


.submit-btn input[type='submit']{
	font-size: 20px;
	min-width: 240px;
	max-width: 100%;
	height: 60px;
	border-radius: 30px;
	border: 1px solid #378CE7;
	background-color: #378CE7;
	color: #FFFFFF;
	font-weight: 500;
	transition: background-color .3s,color .3s;
}

.submit-btn input[type='submit']:hover{
	background-color: #FFFFFF;
	color: #378CE7;

}

.submit-btn .wpcf7-spinner{
	display: none !important;
}


.c-btn span{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	width: 11em;
	height: 2.2em;
	border-radius: 1.2em;
	border: 1px solid #ff0d66;
	background-color: #ff0d66;
	color: #FFFFFF;
	font-weight: 500;
	transition: background-color .3s,color .3s;
}



.c-btn:hover span{
	background-color: #FFFFFF;
	color: #ff0d66;
}


.breadcrumb{
	font-size: 14px;
	padding: 16px 0;
	font-weight: 300;
}
.breadcrumb a{ 
	display: block;
}
.breadcrumb ul{
	display: flex;
	align-items: center;
	height: 16px;
}

.breadcrumb ul li{
	position: relative;
}
.breadcrumb .home{
	margin-right: 24px;
}
.breadcrumb .home img{
	display: block;
	width: 13.24px;
}

.breadcrumb .home:after{
	display: block;
	height: 16px;
	position: absolute;
	top:0;
	right: -16px;
	content: ">";
	font-size: 14px;
	line-height: 1em;
	
}

.radius{
	border-radius: 16px;
	overflow: hidden;
}

.radius-pt{
	border-radius: 16px;
	padding: 1em;
	overflow: hidden;
}

.bg .radius-pt{
	background-color: #FFFFFF;
}


.price-box,
.shadow{
 /* box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.3);*/
}

.d-shadow{
  filter: drop-shadow(6px 6px 10px rgba(0, 0, 0, 1));
}

.boder{
	border: 2px solid #378CE7;
}

h2{
	padding: 2em 0;
}

.price-box{
	max-width: 800px;
	margin: 0 auto 1em;
	border-radius: 16px;
	overflow: hidden;
	font-size: 1.6rem;
	border: 2px solid #378CE7;
}

.price-box.beauty{
	max-width: 600px;
}

.sec-price p{
	max-width: 800px;
	margin: 0 auto;
}

.price-box h3{
	background-color: #378CE7;
	color: #FFF;
}

.price-box dl span{
	padding: 0;
	line-height: 1.2em;
}

.price-box dd,
.price-box dt{
	padding: .5em .8em;
	display: flex;
	align-items: center;
	color: #378CE7;
	font-size: 16px;
}
.price-box dd{
	border-left: 1px dashed #378CE7;
}



.price-box dl{
	display: flex;
	flex-wrap: wrap;
}

.price-box dl:not(:last-child){
	border-bottom: 2px solid #378CE7;
}

.price-box dt{
	width: 250px;
}

.price-box dl dd:nth-child(3n-1){
	width: 250px;
	display: flex;
	justify-content: center;
	text-align: center;
}


.price-box dl dd:nth-child(3n){
	width: calc(100% - 500px);
}

.price-box.beauty dl dt{
	width: calc(100% - 150px);
}
.price-box.beauty dl dd{
	width: 150px;
	text-align: right;
	display: block;
	border-left: none;
}


.price-box .l-price{
	text-decoration-line:line-through;
	text-decoration-color: #ff0000;
	text-decoration-thickness:2px;
}

.bg .price-box .l-price{
	color: white;
}


.price-box .price,
.price-box .n-price{
	font-size: 28px;
	font-weight: bold;
}
/*
.price-box .price + span,
.price-box .price{
	color: #ff2525;
}
*/
.price-box .c-price{
	font-size: 12px;
	color: #FFF;
	display: inline-block;
	margin-top: 10px;
	background-color: #ff5757;
	padding: 0.2em 0.5em;
	border-radius: 4px;
	font-weight: bold;
	
}

.price-box dl.c2 dd{
	width: calc(100% - 250px);
	justify-content:flex-start;
	font-size: 16px;
	text-align: left;
}


.sec-price.bg p,
.sec-price.bg h2{
	color: white;
}

section.bg{
	background-color: #378CE7 !important;
}

.bg.bg-none{
	background-color: transparent;
}

.bg .price-box{
	border: 2px solid white;
}

.bg .price-box h3{
	background-color: #FFF;
	color: #378CE7;
}

.bg .price-box dd,
.bg .price-box dt{
	color: white;
	background-color: #076fb3;
}


.bg .price-box dd{
	border-left: 1px dashed white;
}
.bg .price-box dl:not(:last-child){
	border-bottom: 2px solid white;
}

@media screen and (max-width: 768px) {
	.price-box dt{
		width: calc(100% - 200px);
	}
	.price-box dl dd:nth-child(3n){
		width: 100%;
		border-left: none;
		border-top: 1px dashed #378CE7;
	}
	.bg .price-box dl dd:nth-child(3n){
		border-top: 1px dashed white;
	}

	.price-box dl dd:nth-child(3n-1){
		width: 200px;
	}
	
	.price-box dl.c2 dt{
		width: 100%;
	}	
	.price-box dl.c2 dd{
		border-top: 1px dashed #378CE7;
		width: 100%;
	}	
	.bg .price-box dl.c2 dd{
		border-top: 1px dashed white;
	}
	
	.price-box.beauty dl dt{
		width: calc(100% - 150px);
	}
	.price-box.beauty dl dd{
		width: 150px;
	}	
}


.flex2{
	display: flex;
}

.flex2 > div{
	width: 50%;
}

.flex3{
	display: flex;
	justify-content: space-between;
	align-items: center;
}


.inner{
	z-index: 1;
	position: relative;
}



/* view_top_sep_b */
/* view_top_sep_w */

.top-sep-w,
.top-sep-b {
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
    z-index: 20;
    height: 7vw;

}


.top-sep-w svg,
.top-sep-b svg {
    position: relative;
    display: block;
    width: calc(130% + 1.3px);
    height: 10vw;
}
.top-sep-b .shape-fill {
    fill: #378CE7;
}



.top-sep-w .shape-fill {
    fill: #FFFFFF;
}

/* view_bottom_sep_b */
/* view_bottom_sep_w */
.bottom-sep-w,
.bottom-sep-b {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    line-height: 0;
    transform: rotate(180deg);
    z-index: 20;
    height: 7vw;
    overflow: hidden;
}
.bottom-sep-w-line,
.bottom-sep-b-line {
	position: absolute;
	bottom:0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background-color: #FFF;
  line-height: 0;
	z-index: 21;
}
.bottom-sep-b-line {
	background-color: #378CE7;
}

.bottom-sep-w svg,
.bottom-sep-b svg {
    position: relative;
    display: block;
    width: calc(130% + 1.3px);
    height: 10vw;
}

.bottom-sep-b .shape-fill {
    fill: #378CE7;
}

.bottom-sep-w .shape-fill {
    fill: #FFFFFF;
}


section.bg ,
section{
/*	margin-bottom: -2px;*/
	position: relative;
	overflow:hidden;
	background-color: #FFFFFF;
/*	border-bottom: 1px solid red;*/
/*
	padding-bottom: 1px !important;
	margin-bottom: -1px !important;
*/
}
section.bg {
/*	border-bottom: 1px solid #378CE7 !important;*/
}


@media screen and (max-width: 768px) {
	.title-area p{
		text-align: left;
	}
	.sub-page h3 > span{
		display: block;
		font-size: 2.6rem;
		padding-left: 0;
	}
	.dl-table > dd,
	.dl-table > dt{
		width: 100%;
		font-size: 3rem;
	}	
	.dl-table > dt{
		border-right:none;
	}
	
}


.box2{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	
}
.box2 > div:nth-child(1){
	width: calc(50% - 10px);
}
.box2 > div:nth-child(2){
	width: calc(50% - 10px);
}

.box2_30 > div:nth-child(1){
	width: calc(35% - 10px);
}
.box2_30 > div:nth-child(2){
	width: calc(65% - 10px);
}



.box2 h3{
	padding-top: 0;
	margin-bottom: 10px
}

.box-beauty-flow .box2,
.box-beauty .box2{
	margin-bottom: 50px;
	align-items: flex-start;

}

.box-beauty .box2 h3{
	display: inline-block;
	border-bottom: 2px dotted #FFF;
	padding-bottom: 0.1em;
}

.box-beauty .box2:nth-child(2){
	flex-direction: row-reverse;

}

.box-beauty .box2 p{
	text-align: left;
}
.box-beauty-flow .box2 p{
	text-align: left;
	margin-bottom: 1em;
}
.box-beauty-flow .box2{
/*	flex-direction: row-reverse;*/
}

.box-beauty-flow .box2 > div:nth-child(1){
	width: calc(30% - 10px);
	/*padding-top: 50px;*/
}
.box-beauty-flow .box2 > div:nth-child(2){
	width: calc(70% - 10px);
}
.box-beauty-flow h3,
.box-beauty-flow .box-inner{
	text-align: left;
}
.box-beauty-flow h3{
	font-size: 20px;
  position: relative;
  padding: .5em .8em;
  background: -webkit-linear-gradient(to right, rgba(115, 155, 255, 1), transparent);
  background: linear-gradient(to right, transparent, rgba(115, 155, 255, 1) 0%);
  color: #FFFFFF;
	margin-bottom: 16px;
	text-align: left;
	border-radius: 4px;
	overflow: hidden;	
}

.box-beauty-flow p .bold{
	border-bottom: 2px dotted #378CE7;
	color: #378CE7;
}


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

	.box2 > div:nth-child(1){
		width: 80%;
		margin: 0 auto 1em;
		order: 2;
	}
	.box2 > div:nth-child(2){
		width: 100%;
		margin: 0 0 1em;
		order: 1;
	}
	
	.sec-shop .box2 > div:nth-child(1){
		width: 100%;
	}
	.sec-shop .box2 > div:nth-child(2){
	}
	
	.box-beauty-flow .box2{
/*		display: block;*/
	}
	.box-beauty-flow .box2 > div:nth-child(1){
		width: 70%;
		order: 2;
	}
	.box-beauty-flow .box2 > div:nth-child(2){
		width: 100%;
		order: 1;
	}

}



/* トップメイン画像 */
.section-top .text-box{
	width: 100%;
	text-align: center;
	display: block;
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%, -50%);
  text-shadow: 0px 10px 8px rgba(0, 0, 0, 0.8);
  font-weight: bold;
	padding-bottom: 1em;
	line-height: 1.8em;
}
.section-top h2{
	color: #FFF;
	font-size: 9rem;
	line-height: 1.2em;
	padding: 0;
}
.section-top h3{
	color: #FFF;
	font-size: 4rem;
	line-height: 1.2em;
	padding: 1em 0;
	
}
.section-top.beauty h2{
	font-size: 4rem;
}

.section-top.beauty h3{
	font-size: 2rem;
}
.section-top .right-box{
	width: 50%;
	left:50%;
	transform: translate(0, -50%);
	padding-right: 1em;
}

.section-top .left-box{
	width: 50%;
	left:0%;
	transform: translate(0, -50%);
	padding-right: 1em;
}

.section-top .left-box h1,
.section-top .right-box h1{
	display: inline-block;
	text-align: center;
}


.section-top li{
	color: #FFF;
	font-size: 2.4rem;
  text-shadow: 0px 8px 8px rgba(0, 0, 0, 0.8);
	line-height: 1.4em;
}

@media screen and (max-width: 768px) {
	.section-top h2{
		font-size: 6rem;
	}
	.section-top h3{
		font-size: 3rem;
	}
	.section-top li{
	font-size: 1.8rem;
	}
}


/* about　*/
.section-about{
}
.section-about p{
	text-align: left;
	line-height: 1.8em;
}

.align-center{
	align-items: center;
	
}
/* about　o2 */

.section-about-o2box .img img{
	width: 100%;
	max-width: 500px;	
}

.section-about-o2box .sub-img img{
	width: 100%;
	max-width: 80%;	
	border-radius: 16px;
	overflow: hidden;
}

@media screen and (max-width: 768px) {
	.section-about-o2box .sub-img img{
		max-width: 100%;
	}
}

.section-about-o2box{
}

/* effect o2 */
.effect-box{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-around;

	
} 

.effect-box > li{
	width: 30%;
	margin-bottom: 2em;
/*	box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.3);*/
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid #378CE7;

}

.effect-box2 > li{
	width: 45%;
}
.effect-box .img-box{
	overflow: hidden;
}
.effect-box h3{
	font-size: 1.5rem;
	font-weight: 400;
	color: #378CE7;
}
.effect-box2 h3{
	font-size: 2.0rem;
}
.effect-box > li a{
 text-decoration: none;

}

.bg .effect-box h3{
	background-color: #FFF;
	color: #378CE7;
}

.effect-box > li{
	overflow: hidden;
}
.effect-box > li a img{
 transition:.5s all;
}

.effect-box > li a:hover img{
	transform:scale(1.2,1.2);
  transition:.5s all;

}
.effect-box > li p{
	padding: 1em;
	font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
	.effect-box > li{
		width: 100%;
	}
	.effect-box h3{
		font-size: 2.6rem;
	}
	p{
		font-size: 16px !important;
		text-align: left !important; 
	}
}
.dl-box{
	display: flex;
	flex-wrap: wrap;
	border-radius: 16px;
	overflow: hidden;
	padding: 1em 0;
}



.dl-box dd,
.dl-box dt{
	padding:1em 1em;
	border-bottom: 1px solid #378CE7;
}

.dl-box dd{
	width: 70%;
}
.dl-box dt{
	width: 30%;
}

@media screen and (max-width: 768px) {
	.box2{
		
	}
	.dl-box2 dt,
	.dl-box2 dd{
		width: 100%;
	}
}


.principle-list2,
.principle-list{
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
}

.principle-list > li{
	width: 48%;
	text-align: center;
}

.principle-list2 > li{
	width: calc(33.33% - 20px);
	text-align: center;
}


.principle-list2 > li:nth-child(2){
	margin: 0 2%;
}

@media screen and (max-width: 768px) {
	.principle-list2{
		justify-content:space-between;
	}
	.principle-list2 > li{
		width: 48%;
		margin-bottom: 1em !important;
	}
	.principle-list2 > li:nth-child(2){
		margin: 0;
	}
}
.s-box{
	max-width: 800px;
	margin: 0 auto 1em;
}


.news-list > li{
	border-bottom: 1px solid #378CE7;
	display: flex;
	padding: 1em 0;
}
.news-list .date-box{
	display: flex;
	align-items: center;
}

.news-list .date{
	font-size: 1.6rem;
	margin-right: 1em;
}

.news-list .tag-box{
	margin-right: 1em;
}

.sec-news-single .tag,
.news-list .tag{
	text-align: center;
	min-width: 7em;
	padding: 0.3em 1em;
	font-size: 1.2rem;
	border-radius: 4px;
	background-color: #5D8BF4;
	color: #ffffff;
	display: block;
}


.news-list .text{
	font-size: 1.6rem;
	font-weight: 300;
	text-align: left;
}
.bg .news-list .text{
	color: #FFFFFF;
}


.news-logo{
	padding-top: 1em;
	text-align: right;
}

.news-logo img{
	width: 150px;

}


@media screen and (max-width: 768px) {
	.news-list .date{
		font-size: 16px;
	}

	.news-list > li{
		display: block;
	}

	.sec-news-single .tag,
	.news-list .tag{
		font-size: 12px;
	}
	
	.news-list .text{
		font-size: 16px;
	}
}

.bg .gallery-list .swiper-pagination-bullet{
    background-color: #FFFFFF;
}
.gallery-list{
	position: relative;
	padding-bottom: 50px;
}

.gallery-list .slide-img{
	overflow: hidden;
}
.gallery-list .slide-img img{
  transition: .5s all;
}
.gallery-list .slide-img img:hover{
	transform: scale(1.2,1.2);
}

.wp-pagenavi {
	clear: both;
	text-align:center;
	margin-bottom: 2em;
}
.wp-pagenavi a, .wp-pagenavi span {
	color: #5D8BF4;
	padding: 8px 15px;
	margin: 0 8px;
	white-space: nowrap;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration: none;
	background-color: #DFF6FF;
	font-size: 16px !important;
}
.wp-pagenavi a:hover{
	color: #fff;
	background-color: #5D8BF4;
}
.wp-pagenavi span.current{
	color: #fff;
	background-color: #5D8BF4;
}
    
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink{
	background-color: #F2F2F2;
	color: #000;
}

/* お問い合わせ */


.form-box{
	max-width: 800px;
	margin: 0 auto 1em;
	border-radius: 16px;
	overflow: hidden;
	font-size: 1.6rem;
	border: 2px solid #378CE7;
}
.sec-contact p{
	max-width: 800px;
	margin: 0 auto;
}


.form-box h3{
	background-color: #378CE7;
	color: #FFF;
}

.form-box .required{
	margin-left: 1em;
	padding: 0.1em 1em;
	background-color: #f63aa4;
	
	color: #fff;
	border-radius: 3px;
	font-size: 1.0rem;
}

.form-box p{
	font-size: 1.4rem;
}

.form-box dd,
.form-box dt{
	padding: .5em 1em;
	display: flex;
	align-items: center;
	color: #378CE7;
}
.form-box dd{
	border-left: 2px solid #378CE7;
}
.form-box dt span{
	vertical-align: middle;

}
.form-box dl{
	display: flex;
}


.form-box dl:not(:last-child){
	border-bottom: 2px solid #378CE7;
}

.form-box dt{
	width: 15em;
	min-width: 15em;
}

.form-box dd{
	width: calc(100% - 15em);
	min-width: calc(100% - 15em);
}


.btn-submit-wrap{
	padding: 1em 0;
	text-align: center;
	
}
.btn-submit-wrap p{
	display: block;
	position: relative;
	text-align: center !important;
}
.btn-submit-wrap input.wpcf7-submit{
	position: relative;
	font-size: 1.8rem;
	min-width: 200px;
	height: 40px;
	border-radius: 20px;
	border: 1px solid #378CE7;
	background-color: #378CE7;
	color: #FFFFFF;
	font-weight: 500;
	transition: background-color .3s,color .3s;		

}
.btn-submit-wrap .wpcf7-spinner{
		position: absolute;
    top: 50%;
    left: calc(50% + 2em);
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.btn-submit-wrap input.wpcf7-submit:hover{
	background-color: #FFFFFF;
	color: #378CE7;
}

@media screen and (max-width: 768px) {
	.form-box dl{
		display: block;
		padding-bottom: 1em;
	}
	.form-box dt{
		width: 100%;
	}
	.form-box dd{
		border-left: none;
		width: 100%;
	}
	
	.form-box dl dd:nth-child(2n-1){
		width: 100%;
		font-size: 2.2rem;
	}
	
	
}
	

.section-info h3{
	text-align: left;
	font-size: 20px;
	padding: 1em 0 0;
	margin-bottom: 1em;
	border-bottom: 1px solid #378CE7;
}

.section-info a{
	color: #378CE7;
}
.section-info p{
	margin-bottom: 1em;
	font-size: 16px;
}

.section-testimonials ul,
.section-testimonials li,
.section-info li,
.section-info ul{
	list-style:disc;
	
}
.section-testimonials ul,
.section-info ul{
	padding-left: 2em;
}

.section-info table {
  width: 100%;
  border-collapse:separate;
  overflow: hidden;
	border-radius: 16px;
	border: 1px solid #378CE7;
	
}
.section-info th,
.section-info td {
  padding: 1em;
/*  border: 1px solid #378CE7;*/
  text-align: left;
  font-size: 16px;
}
.section-info th {
  background-color: #378CE7;
  min-width: 14em;
  color: #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
}


.section-info td{
 border-bottom: 1px solid #378CE7;
}

.section-info table tr:last-child td,
.section-info table tr:last-child th {
	border: none;
}

.gallery-img-text{
	color: #FFFFFF;
}

@media screen and (max-width: 768px) {
	.section-info table,
	.section-info tr,
	.section-info td,
	.section-info th{
		display: block;
	}

	.section-info td,
	.section-info th {
		border: none;
	}

}

/*
.attention{
	border-radius: 0.5em;
	padding: 0.5em 1em;
	background-color: #ff5f5f;
}
*/

.qa-box {
    margin-bottom: 10px;
    border: none;
    border-radius: 16px;
    background-color: #fff;
    border: 1px solid #378CE7;
}

.qa-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-question::before,
.qa-answer::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-question::before {
    color: #75bbff;
    content: "Q";
}

.qa-question::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    border-bottom: 3px solid #3333b3;
    border-right: 3px solid #3333b3;
    content: '';
    transition: transform .5s;
		position: absolute;
		right: 1em;
}

.qa-box .qa-question.active::after {
    transform: rotate(225deg);
}

.qa-answer {
    position: relative;
    transform: translateY(-10px);
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    display: none;
    
}

.qa-question{
	font-size: 16px;	
	color: #333 !important;
}
.qa-answer p{
	font-size: 16px;	
	color: #333 !important;
}

.qa-answer::before {
    color: #ff8c8c;
    line-height: 1.2;
    content: "A";
}




.lity-active body {
    overflow: hidden;
}
.lity-inline .lity-content > * {
    max-height: none !important;
}
.lity-inline .lity-wrap {
    overflow: auto;
}

.gallery-img-text{
	padding: 16px;
}
.gallery-img-text p{
	margin-bottom: 16px;	
}

.p-down{
	color: #ff6b6b !important;
}

video{
	max-width: 100%;
	width: 100%;	
}

.text-box span{
	font-size: 60%;
}

.sub-mv{
	position: relative;
	width: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.sub-mv .sub-mv-box{
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 2em;
	
}

.sub-mv .sub-mv-box h2{
	font-weight: bold;
	color: #FFFFFF;
	text-shadow: 0px 10px 8px rgba(0, 0, 0, 0.8);
	border: none;
}


.img_wave1,
.img_wave2,
.img_wave3{
	border-top-left-radius: 80px;
	border-bottom-right-radius: 80px;

	border-top-right-radius: 20px;
	border-bottom-left-radius: 20px;


	overflow: hidden;
}

.f-small{
	font-size: 70%;
}

.campaign-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.campaign-box{
	margin-bottom: 16px;
		width: 100%;

}

.campaign-box2{
	margin-bottom: 16px;
	width: calc(50% - 10px);

}
@media screen and (max-width: 768px) {
	.campaign-box{
		width: 100%;
	}
}



.section-form canvas{
	border: 1px solid #378CE7;
	width: 100% !important;
}

.wpcf7 {width:100% !important;}
.wpcf7-form {width:100% !important;}



.dscf7_signature{
	width: 100% !important;
}

.section-form h3{
	font-size: 18px;
	text-align: left;
	padding-top: 2em;
}

.voice-box{
	display: flex;
	border-bottom: 1px solid #378CE7;
	margin-bottom: 16px;
}

.voice-box > .img-box{
	width: 100px;
	
}
.voice-box h3{
	text-align: left;
}
.voice-box > .comment-box{
	padding-left: 16px;
	width: calc(100%  - 100px);	
	margin-bottom: 1em;
}


.rice-menu{
	text-align: center;
}
.rice-menu li{
	margin-bottom: 1em;
}
.rice-menu a{
	display: block;
	width: 100%;
	text-align: center;
	border-radius: 16px;
	background-color: #378CE7;
	border: 1px solid #378CE7;
	color: #FFFFFF;
	padding: 0.5em 1em;
	text-decoration: none;
	transition: background-color .3s,color .3s;

}
.rice-menu a:hover{
		background-color: #FFFFFF;
	color: #378CE7;
}


.no-head main{
	padding-top: 0;
}

.sec-reservation h3{
	font-size: 20px;
  position: relative;
  padding: .5em .8em;
  background: -webkit-linear-gradient(to right, rgba(115, 155, 255, 1), transparent);
  background: linear-gradient(to right, transparent, rgba(115, 155, 255, 1) 0%);
  color: #FFFFFF;
	margin-bottom: 16px;
	text-align: left;
	border-radius: 4px;
	overflow: hidden;	
	margin-top: 2em;
}

.sec-reservation img{
	max-width: 400px;
}
.sec-reservation p{
	margin-bottom: 2em;
	
}

.sec-reservation .caution{
	color: #ff3939;
	text-align: left;
}


.sec-reservation .img-box{
	margin-bottom: 30px;
  border-radius: 4px;
  background-color: #fff;
  border: 1px solid #378CE7;
  padding: 1em;
}


.sec-reservation .info {
	padding: .5em .8em;
	color: #494949;
	background: #f4fbff;
	border-left: solid 8px #378CE7;
	margin-bottom: 1em;
	border-radius: 4px;
	overflow: hidden;	
	font-size: 18px;
	text-align: left;

}

.ShinobiReviews{
	max-width: 600px;
	margin: 30px auto;
}


.return-btn{
	display: block;
	width: 6em;
	padding: 0.5em;

	border-radius: 6em;
	border: 1px solid #378CE7;
	background-color: #378CE7;
	color: #FFFFFF !important;
	font-weight: 500;
	transition: background-color .3s,color .3s;		
}
.return-btn:hover{
	color: #378CE7 !important;
	background-color: #FFF;
}
