@charset:"utf-8";
/*************************
	outline
*************************/
*{
	box-sizing:border-box;
}
body{
	font-family:"Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; 
	background:#F4F5F0;
	color:#fff;
    margin:0;
	padding:0;
}
#x-hidden{
      	overflow-x:hidden;
}
#contents{
	display:flex;
	flex-direction:column;
	margin-top:20px;
}
#top{
	display:flex;
	flex-direction:row;
	width:100%;
}
#left{
	width:35%;
}
#right{
	height:100%;
	width:50%;
	color:#000;
	text-align:center;
	padding:10px;
	margin:0 auto;
}
#bottom{
	height:auto;
	width:50%;
	position:relative;
	//display:flex;
	flex-direction:column;
	margin-top:40px;
}

#picup{
	width:50%;
	margin-top:170px;
	position:fixed;
}

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

.size{
	font-size:18pt;
	text-align:center;
}     

.size2{
	font-size:12pt;     
	line-height:3px;
	text-align:center;
}



.size5{
	font-size:18pt;:
	font-family:"Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height:130px;
	text-align:center;
}
/*************************
      nav
*************************/


#nav1{    
	position: fixed; 
	top:20px; right:0px; 
	width:50%; 
	height:40px;
        color:#000;
        font-weight:bold;
	font-family:"Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; white-space: nowrap; }

#nav1 ul{
	display:flex; 
        flex-direction:row;
        justify-content:space-evenly;
        list-style:none;
}

#nav1 ul li a.normal,a.current{ 
	text-decoration:none;
	color:#000;
	line-height:20px;
	position: relative; /*アンダーラインの位置を決めるための基準 */
	padding-bottom:15px;
}
a.normal{
	padding-bottom:15px;
}
a.current{
	padding-bottom:8px;
	border-bottom:3px solid #27acd9;
}


a.normal::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #27acd9;
	bottom: 0px; /*アンダーラインが現れ始める位置（aタグの下辺からの高さ）*/
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}

a.normal:hover::after {
	visibility: visible;
	bottom: 5px;
	opacity: 1;
}



#nav { 
	position: fixed;
	top: 0;
	left: -200px;
	width: 200px;
	height: 100vh;
	margin: 0;
	padding: 0;
	background-color:#444;
	transition: 1s ease;
	z-index:2;
}

.btn{ 
	background:#27acd9;
	border-radius:5px;
	height:30px; width:100px;
	text-align:center;
	box-shadow:-1px 1px 3px #000;
}


.btn a{
	text-align:center;
        line-height:30px;
}
/*****************logo_box************************/
#logo_box{
	margin-top:20px;
	position:fixed; 
    left:0px; top:0; 
	background:#000; 
	z-index:6;
	width:13%;
	height:34%;
}
#logo_wrap{
	display:flex; 
	flex-direction:column;
	justify-content: center;
	text-align:center;
	width:100%;
}
#logo_wrap a.toplogo img{
	margin:auto;
	padding-top:25%;
	width:25%;
	height:25%;
	text-align:center;
	z-index:5;
}

/*************************
	mypage btn
*************************/
a.mybtn {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
	width: 120px;
	margin: auto;
	padding: 0.3em 1em;
	margin-top:-0.6em;
	margin-bottom:0.3em;
	font-weight: bold;
	border-radius: 10px;
	color: #27acd9;
	border: 3px solid #27acd9;
	box-shadow: 5px 5px #27acd9;
	transition: 0.3s ease-in-out;
}
a.mybtn:hover {
	box-shadow: none;
	transform: translate(5px, 5px);
	color: #27acd9;
}
/*************************
	pupup
*************************/
input#popup{
	width:30px;
	height:30px;
	display:none;
}
/* ポップアップwindow部分 */
#overlay {
	visibility: hidden;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 70;
	width: 100%;
	height: 100%;
}
/* オーバーレイの背景部分 */
#bg_gray {
	background: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 80;
}
/* ウィンドウ部分 */
#window {
	width: 70%;
	padding: 20px;
	position: fixed;
	left: 50%; top: 50%;
	transform: translate(-50%,-50%);
	background: #f9ffe3;
	border-radius: 10px;
	box-shadow: 0px 0px 20px -6px rgba(0,0,0,0.6);
	z-index: 999;
	opacity: 0;
	color:#000;
}
#msg{
	display:flex;
	flex-direction:row;
	text-align:center;
	z-index: 999;
}
#hyo1{
	width:70%;
}
#hyo2{
	width:30%;
	position:relative;
	margin-left:1%;
	padding:1%;
	border-left:2px dotted #000;
}
.a{
	position:absolute;
	top:8%;
	height:90%;
}
#syousai2{
	display:none;
}
.syosai{
	background:red;
	height:50%;
	overflow-y: scroll;
}
#msg h3{
	margin-top:50px;
}
/* 閉じるボタン */
#btn_cloth {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #27acd9;
	border-radius: 5px;
	z-index: 100;
	cursor: pointer;
}
#btn_cloth:hover {
	opacity: 0.7;
}
#btn_cloth span,
#btn_cloth span::before {
	display: block;
	height: 3px;
	width: 25px;
	border-radius: 3px;
	background: #fff;
	margin-top:20px;
}
#btn_cloth span {
    transform: rotate(45deg);
}
#btn_cloth span::before {
	content: "";
	position: absolute;
	bottom: 0;
	transform: rotate(-90deg);
}
.close{
	margin-bottom:20px;
}
/* クリックで表示 */
#popup:checked ~ #overlay {
	visibility: visible;
}
#popup:checked ~ #overlay #window {
	animation: fadein 500ms forwards;
	animation-timing-function: ease-in-out;
}
@keyframes fadein {
    100% {
        opacity: 1;
    }
}
#pupup{
	width:100%;
	height:100vh;
}
#txt_label{
	display:block;
	background:#232427;
	text-align:center;
	color:#fff;
	cursor: pointer;
	z-index:998;
	padding:5px;
	width:100%;
}
#txt_label2{
	display:block;
	background:#bdc25e;
	text-align:center;
	color:#fff;
	cursor: pointer;
	z-index:998;
	padding:5px;
	width:100%;
}
.pupup_p{
	text-align:center;
	font-size:80%;
	font-weight:bold;
}
#popup_wrap{
	width:100%;
	z-index:999;
}
.pupup_icon{
	width:40px;
	height:40px;
	padding-top:5px;
}
#calendar{
	width:100%;
}
#calendar th,#calendar td{
	width: calc(100%/7);
}

.setsumei{
	font-size:85%;
}
/*************************
	top right(php)
*************************/
#send{
	cursor: pointer;
}
table.picup_table{
	width:85%;
	margin:0 auto;
	border-collapse: collapse;
}
th,td{
	border-bottom:1px solid #000;
}
tr.gyo:nth-child(1){
	font-size:12pt;
}
.hyou{
	font-size:12pt;
}
.th1,.td1{
	padding:5px;
	width:20%;
}
.th2,.td2{
	padding:5px;
	width:30%;
}
.th3,.td3{
	padding:5px;
	width:50%;
	line-height:1;
}
.td1{
	font-size:9pt;
}
.td2,.td3{
	font-size:11pt;
}
.picup_table td,.picup_table th{
	padding:0 3%;
}
.sun{
	color:red;
}
.sat{
	color:blue;
}
.outline,.TITLE{
	border-radius:5px;
}
.title{
	border-radius:10px;
	border-style:none;
	width:20px;
	height:20px;
	margin:5px;
	cursor: pointer;
}
.title:hover{
	border:1.5px solid;
}
.TITLE{
	font-size:70%;
	color:#000;
	width:100%;
	cursor: pointer;
}
.td2 a{
	text-decoration: none;
}
.schedule td span{
	width:30px;
	height:30px;
	margin-bottom:0;
}
.title1{
	background-color:#FEAD64;
}
.title2{
	background-color:#00cc00;
}
.title3{
	background-color:#27acd9;
}
th.weekdays{
	color:#fff;
}
td{
	position:relative;
}
#marker{
	width:80%;
	margin:0 auto;
	display:flex;
	flex-direction:row;
	margin-top:10px;	
}

.mark{
	display:block;
	width:10px;
	height:10px;
	border-radius:5px;
	position:absolute;
	top:5px; left:0px;
}    
.mark_text{
	font-size:13px;
	height:20px;
	line-height:20px;
	position:relative;
	margin-right:30px;
}
.mark1{
	background:#FEAD64;
}

.mark2{
	background:#00CC00;
}

.mark3{
	background:#27acd9;
}
.top{
	text-align:left;
	position:absolute;
	top:0;
}
.a{
	width:100%;
	font-size:90%;
	text-align:center;
}
/*************************
	top left
*************************/
#left{
        background:#232427;
	margin-left:15%;
}

/*------------------------
	box1
-----------------------*/
#box1{
	width:100%;
	position:relative;
}
#midashi{ 
	padding:0px;
	overflow:hidden;
	margin: 0 auto;      
	border-radius: 2px;
	width:100%; height:150px;
	text-align:center;
	z-index:4;
}
#midashi .size{
	text-align:center;
	margin:20px auto 0px auto;
	font-size:18pt;
	line-height:50px;
	font-family:"Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#midashi .size2{
	text-align:center;
	margin:15px auto 0px auto;
	line-height:20px;
}
#detail1.topsrc{
	width:100%;
}
#detail2.topsrc,#detail3.topsrc{
	width:100%;
	height:18%;
}

#youtube,.topimg{
	width:100%;
	height:100%;
}
.tate{
	writing-mode: vertical-rl;
	position:absolute;
	left:13%;
	text-align:center;
	height:100%;
	font-size:14pt;
	z-index:3;
	font-family:"Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	letter-spacing:0.4em;
}
.tate{
	text-shadow:-1px 1px 3px #000;
}

/*カギカッコ
----------------*/
#box1::before,
#box1::after {
	position: absolute;
	width: 30px;
	height: 30px;
	content: '';
}

#box1::before {
    border-left: solid 3px;
    border-top: solid 3px;
    top: 20px;
    left: 5%;
}
#box1::after {
    border-right:solid 3px;
    border-top:solid 3px;
    top:20px;
    right:5%;
}

/*------------------------
	box2
-----------------------*/
#box2{
	width:100%;
	position:relative;
}

.circle{
	width: 40px;
	height: 40px; 
	background-color:#fff;
	border:solid 2px #232427;
	border-radius: 50%;
	margin:0 auto;
	text-align:center;/* ←文字を左右に中央揃え */
	line-height:40px;/* ←文字を上下に中央揃え */
	box-shadow:0 0 0 2px #fff;
	color:#232427;
	font-family:"Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.flex{
	display:flex; 
        flex-direction:row;
        justify-content: space-between;
        margin:0 auto;
        padding:40px 0; 
        width:270px;
}
#box2 p{
	text-align:center;
        font-size:13pt;
     //   margin-bottom:20px;
}
#box2 img{
	width:70%;
	margin:10px auto;
        object-fit: cover;
}

/*------------------------
	box3
--------------------------*/
#box3{ 
	width:100%;
	margin:0 auto;
	padding:20px 0;
	background:#dfdccd;
	color:#000815;
	display:flex;
	flex-direction:row;
}
.b3box1{
	width:80%;
	padding-left:35px;
	margin-top:20px;
}
.b3box2{
	width:20%;
	font-size:21pt;
        letter-spacing:0.5em;
        writing-mode: vertical-rl;
        float:right;
        margin-top:40px;
      padding-right:30px;
}
.b3p1,.b3p2{
	font-size:12pt;
	padding:0px 8px 0px 8px;
}
.b3p1-a{
	width:100%;
	font-size:20pt;
	text-align:center;
}
.b3box3{
	text-align:center;
	width:100%;
	margin:0 auto;
}
#box3 img{
	width:90%;
	margin-left:5%;
        object-fit: cover;
}
.b3img{
	margin:0 auto;
}
/*************************
	bottom info
*************************/
#info{
	width:70%;
	height:auto;
        background:#000;
	margin-left:30%;
}
.info_title{
	width:100%;
	height:auto;
       	margin:0 auto;
}
.kazari{
	font-size:17pt;
        position:relative;
        letter-spacing: 0.5em;
        line-height:70px;
        text-align:center;
}
.kazari:before {
	position: absolute;
	content: '';
	width: 100%;
	height: 3px;
	top:100%;
	left: 0;
	border-radius: 3px;
	background:#fff; 
}

.kazari:after {
	position: absolute;
	content: '';
	width: 100%;
	height: 3px;
	top:-30;
	left: 0;
	border-radius: 3px;
	background:#fff;
}

#info ul{
	margin:40px auto;
	padding:0 auto;
	white-space: nowrap;
	list-style-image: url("images/icon_s.png");
}

#info ul li {
	font-size:13pt;
        padding:10px 0;
//	background:cyan;
}
#price{
	height:auto;
	width:100%;
	color:#000815;
	padding:20px; 
	box-sizing:border-box;
        background:#dfdccd;
}
.price_title{
	width:90%; height:40px;
	background:#0481a2;
	text-align:center;
	line-height:40px;
	font-size:16pt;
	border-radius: 10px;
	color:#fff;
	margin:0 auto 15px auto;
}
.price_wrap{
	width:100%;
	text-align:center;
}
.price_normal{
	text-align:center;
	width:100%; height:140px;
}

.price_special{
	text-align:center;
	width:100%; height:160px;
}
.normal_price{
	font-size:13pt;
	text-align:center;
	//height:80px;
}
.special_price{ 
	font-size:13pt;
	text-align:center;
	height:80px;
}
.normal_price{
	line-height:50px;
	font-size:14pt;
	font-weight:bold;
}

.special_price p{
	margin:0;
	padding:0;
	color:red;
	font-size:18px;
	font-weight:bold;
}
.special_price p.limited{
	font-size:18pt;
	color:red;
	font-weight:bold;
	margin-bottom:5px;
}
.price1{
	text-align:center;
	font-size:19pt;
	font-weight:bold;
}
.yen1{
	font-size:10pt;
	display: inline-block;
}
.pen {
    width: auto;
    background: linear-gradient(transparent 60%, #ff6 60%);
}
.price2{
	text-align:center;
	font-size:35pt;
	color:red;
	font-weight:bold;
	//border-top: 1px solid #000815;
	padding-top:10px;
}
.yen2{
	font-size:17pt;
	display: inline-block;
}
.forwup{
	//background:#000815;
        margin:20px 0;
        //border-radius: 10px;
        padding:10px;
        font-size:13pt;
        //color:#fff;
}
.forwup div{
	margin:10px;
	text-align:center;
}
.forw_p{ 

        color:#000815;
        //width:100%;
        font-size:20pt;
        text-align:center;
}
.pen{
	width:auto;
	background:linear-gradient(transparent 60%, #ff6 60%);
}
.forwup nobr{
	font-size:300%;
	font-weight:bold;
	color:red;
	padding:0;
	margin:0 5px;
}
.caution_wrap{
	width:100%;
        margin-top:10px;
}
.caution1{
	font-size:18pt;
	letter-spacing:0.5em;
	writing-mode:vertical-rl;
	float:left;
	width:20%;
	height:auto;
}
.caution_title{
	margin-top:5%;
	width:100%;
	height:150%;
	text-align:center;
}
.caution2{
	float:right;
	width:80%;
}
.caution2 ul{
	margin:0 auto;
	width:90%;
	list-style-position: inside;
	padding:0;
}
.caution2 li{
	width:100%;
	white-space:normal;
	line-height:30px;
	padding-left: 0.7em;
	text-indent: -0.7em;
}
.caution3{
	margin:0;
	padding:0;
	text-align:center;
	clear:both;
	color:red;
}
.caution{
	font-size:13pt;
}
/*---------------------------------
   申込ボタン
-----------------------------------*/

#button{
        height:100px;
        background:#dfdccd;
	position: relative;
	
}
.button1{
	//position:absolute;
        left:15px;
	text-align:center;
}
.button1 a,.button2 a {
	text-decoration:none;
	font-size: 40px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	max-width: 450px;
	padding: 10px 25px;
	color: #000;
	transition: 0.3s ease-in-out;
	font-weight: 600;
	background: #bdc25e;
	border-radius: 50px;
	border: 2px solid #fff;
	box-shadow: 0.2rem 0.2rem 0px 0.1rem #232427;
}
.button1 a:hover,.button2 a:hover {
	transform: translate3d(0.2rem, 0.2rem, 0);
	box-shadow: none;
	opacity: 1;
	transition: all 0.2s;
}
/*************************
	FAQ
*************************/
#faq{
	height:auto;
	width:70%;
	margin-left:30%; 
	background:#000815;
}
.FAQwrap{
	width:90%;
        margin:0 auto;
}
.FAQ_title{
	font-size:17pt;
	font-weight:bold;
	line-height:17pt;
	position: relative;    
	padding: 0 0 5px 0;
	border-bottom: 1px solid #27acd9;
}
.FAQ_title:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 230px;
	height: inherit;
	border-bottom: 1px solid #fff;
}

/*---------------------------
      アコ-ディオン
-----------------------------*/
.accordion_area {
	margin:40px 5% 0px 5%;
	width:90%;
	height:auto;
	font-family:Arial;
}

/*     Q ↓
---------------------*/
.accordion_area .accordion_one .ac_header{
       background:#ffffff;
       border: 1px solid #ccc;
       padding:5px;
       padding-right:60px;
       position: relative;
       z-index: +1;
       cursor: pointer;
       transition: .2s;
       border-radius: 15px;
}
.accordion_area .accordion_one .ac_header:not(.open):hover{
	background-color: #f1f8ff;
}

.accordion_area .accordion_one:nth-child(odd) .ac_header{
	background-color: #f5f5f5;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover{
	background-color: #f1f8ff;
}

.accordion_area .accordion_one .ac_header .i_box{
	position: absolute;
 	top: 50%; right: 1rem;
	width: 20px;
	height: 20px;
	margin-top: -10px;
}
.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after{
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
}

/*   ＋マーク
----------------------*/
.accordion_area .accordion_one .ac_header .i_box:before{
	border-top: 2px solid #27acd9;
	width: 20px;
	height: 0px;
	top: 0;
	bottom: 0;
	right: 0;
}
.accordion_area .accordion_one .ac_header .i_box:after{
	border-left: 2px solid #27acd9;
	width: 0;
	height: 20px;
	top: 0;
	bottom: 0;
	right: 9px;
	transition: .3s;
}
.accordion_area .accordion_one .ac_header.open .i_box:after{
	height: 0;
}

/*         A　↓
------------------------------*/
.accordion_area .accordion_one .ac_inner{
	display: none;
	padding:5px;
	padding-right:60px;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background: #fff;
	border-radius: 15px;
}
.accordion_one{
	 margin-top:30px;
}
 /*   Q
---------------------------*/
.p-faq__headinner{
	display: block;
	padding-left: 35px;
	position: relative;
	line-height: 1.5;
}

.p-faq__headinner::before{
	position: absolute;
	top:0; left: 0;
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-image: url(images/q.png);
	background-size: contain;
	vertical-align: middle;
}
/*  Q text
-----------------------------*/
.p-faq__headinner p.p-faq__q-txt{
  	font-size: 11pt;
        color:#000815;
	text-align:left;
        font-weight:bold;
        padding:0 0 0 10px;
	
}
/*           A
-------------------------------*/
.p-faq__bodyinner{
	display: block;
	padding-left: 35px;
	position: relative;
	line-height: 1.5;
}

/*       A text
-------------------------------*/
.p-faq__bodyinner p.p-faq__a-txt{
 	font-size: 10pt;
        font-weight:bold;
	color:#000;
	text-align:left;
}
        
/*************************
	footer
*************************/

footer{
	width:35%;
	margin-left:15%; 
	background:#dfdccd; 
        color:#000;
        display:flex;
        position:relative;
	height:400px;
} 

.lin,.SNS{
	height:230px;
	position:relative;
}

.lin{
	width:65%;
	height:400px;
//	background:red;
}

.lin span{  
	display:block;
	margin-bottom:20px;
        position:relative;
        white-space: nowrap;
}

.lin span::before{
	content:"";
	display:block;
	width:25px;
	height:1px;
	background-color:#000815;
	position:absolute;
	top:50%; left:-30px;
}



.linktitle1{
	position:absolute;
	top:10px; 
	left:60px;
}
.linktitle2{
	position:absolute;
	top:200px;
	left:100px;
        font-size:80%;
        white-space:nowrap;
}


.linkkouza{
	position:absolute;
	top:50px;
	left:100px;
	font-size:90%;
        white-space: nowrap;
}

.linkkouza a{
	text-decoration:none;
	color:#000;
}

.linktitle a{
	text-decoration:none;
        color:#000;
}

.SNS{
	width:35%;
        height:400px;
        padding:0;
//	background:cyan;
}

.SNSicon,.copyright{
	width:150px;
	height:auto;
	justify-content: space-between;
	display:flex;
	flex-direction:row;
}

.SNSicon{
	position:absolute;
	top:210px; left:80px;
        flex-direction: column;
        height:150px;
}

.SNSicon img{
	width:30px;
	height:30px;
}

.copyright{
	position:absolute;
	top:370px;
	right:30px;
}
.SNSicon img:hover{
	transform:scale(1.3);
}
.linkkouza a:hover{
	color:#fff;
}
.linktitle2 a:hover{
	color:#fff;
}