@charset "utf-8";
body{
	font-size: 17px;
    line-height: 1.5em;
    font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
    overflow-wrap: break-word;
	word-break: normal;
	color: #333;
}

/*カラー*/
:root {
	--maincolor: #a58a53;
	--subcolor: #1D64AA;
	--sub2color: #BDA040;
	--bgcolor: #f9f4ea;
	--redcolor: #BC2427;
	--yecolor: #FFEB2E;
	--gdcolor: linear-gradient(130deg, rgba(91, 47, 32, 1) 0%, rgba(172, 119, 50, 1) 50%, rgba(91, 47, 32, 1) 100%);

	--serif: 'Shippori Mincho B1', serif;
	--italic: "Lugrasimo", cursive, serif;;

	--shadow: drop-shadow(2px 2px 10px hsla(0, 0%, 0%, 0.2));

	--_radius-base: 10px;
	--_padding: 8px;
	--_radius-inner: calc(var(--_radius-base) - var(--_padding));
}
::selection {
	background: #333;
	color: #FFF;
}
::-webkit-scrollbar {width: 12px;}
::-webkit-scrollbar-track {background: #eee;}
::-webkit-scrollbar-thumb {background: var(--maincolor);}

/*共通*/
img{width:auto;
	height: auto;
	max-width:100%;
}p{line-height: 1.7em;
	margin-bottom: 1.5em;}

.big{font-size: 1.3em;}
.small{font-size: .8em;}
.b{font-weight: 700;}
.u{text-decoration: underline;}
.red{color: var(--redcolor);}
.blue{color: var(--subcolor);}

.sp{display: none!important;}

.center{
	text-align: center;
	display: block;
	margin: 0 auto;
}
.right{
	width: 280px;
	display: block;
    float: right;
	padding: 0 1%;
}
.img_b{
	text-align: center;
	margin: 0 auto 3% auto;
	display: block;
}
.refl{
	-webkit-box-reflect: below 2px -webkit-gradient(linear, left bottom, left 90%, from(rgba(255, 255, 255, 0.3)), to(transparent));
	margin-bottom: 2em;
}
.flex{
	display: flex;
	gap: 5px;
	justify-content: center;
}

:is(p,.img_b,.btn,.box,.movie,.timer,ul:not([class])):last-child{margin-bottom: 0;}

/* clearfix */
.cf:before {
    content: "";
    display: table;
}
.cf:after {
    content: " ";
    display: block;
    clear: both;
}

/*追従*/
.cont{
    width: 170px;
    height: auto;
    position:fixed;
    bottom :10px;
    right: 10px;
	z-index: 1000;
	transition: opacity 0.3s;
}

/********
header
********/
.top_head{
	margin-bottom: 0;
	text-align: center;
	padding: .3em;
}
.top_head p:not([class]){
	margin-bottom: .5em;
	color: var(--redcolor);
	font-weight: 700;
}
.top_head .timer{margin: 0 auto;}
header{
	background: url(../img/head_bg.png)center/cover;
	text-align: center;
	padding: 2em 0;
}

/********
main
********/
.bg{background: var(--bgcolor);}
.main{
	background: url(../img/bg_img.png)center/cover;
	background-attachment: fixed;
}
.bg_tktn{
	background: url(../img/bg_tktn.png)center/cover;
	background-attachment: fixed;
}
.wrap{
	max-width: 900px;
	margin: 0 auto;
	padding: 3em 2%;
}

/********
index
********/
h2,h3{
	text-align: center;
	font-weight: 700;
	line-height: 1.4em;
	font-family: var(--serif);
	margin: 1em auto;
	font-size: 1.5em;
	display: block;
}
h2{
	min-height: 85px;
	font-size: 1.8em;
	background: url(../img/h2_l.png),url(../img/h2_r.png);
	background-position: 0 90%,100% 90%;
	background-repeat: no-repeat;
	color: var(--maincolor);
}
h2 span:not([class]) {font-size: 1.2em;}
h3{
	font-size: 1.6em;
}
h3 span{font-size: .9em;}
:is(h2,h3):first-child{margin-top: 0;}

h4 {
    background: var(--maincolor);
    background: var(--gdcolor);
    color: #fff;
    text-align: center;
    font-size: 1.4em;
    padding: .5em .8em;
    border-radius: var(--_radius-base);
    margin-bottom: .5em;
}

h5 {
    position: relative;
    padding: 1rem;
	font-family: var(--serif);
	font-size: 1.4em;
	line-height: 1.5em;
	font-weight: 800;
    font-weight: bold;
    text-align: center;
	margin-bottom: 3%;
}
h5::before,h5::after {
    position: absolute;
    width: 30px;
    height: 30px;
    content: '';
}
h5::before {
    border-left: solid 2px var(--redcolor);
    border-top: solid 2px var(--redcolor);
    top: 0;
    left: 0;
}
h5::after {
    border-right: solid 2px var(--redcolor);
    border-bottom: solid 2px var(--redcolor);
    bottom: 0;
    right: 0;
}
h6{
	text-align: center;
    padding: 1%;
    background: #eee;
    color: #fff;
    font-weight: 600;
    font-size: 1.1em;
    margin: 0 auto 1em auto;
    letter-spacing: .1em;
	line-height: 1.2em;
}

.c_txt{
	text-align: center;
	font-family: var(--serif);
	font-size: 1.3em;
	font-weight: 800;
	margin-bottom: 0.8em;
	font-feature-settings: "palt";
}
.c_txt span:not([class]) {font-size: 1.3em;}

/**/
.btn{
	text-align: center;
	margin: 1% auto 1.3em auto;
	transition: all .5s;
}
.btn img{transition: all .5s;}
.btn img:hover,.p_btn:hover,.m_btn img:hover{transform: translateY(-10px);}

/**/
.movie{
	width: 100%;
    aspect-ratio: 16/9;
	margin: 0 0 3% 0;
}
.movie iframe {
	width: 100%;
	height: 100%;
}

.f_btn{margin-bottom: 1em;}

.modaal-video-wrap{margin: auto 0!important;}
.m_btn{
	display: inline-block;
	width: 33.3%;
	padding: 0 .5%;
	box-sizing: border-box;
	margin-top: 2%;
}
.m_btn img{
	max-height: 100%;
	width: 100%;
	transition: all .5s;
	margin-bottom: 5%;
}

/********/
.box{
	background: #fff;
	padding: 3%;
	filter: var(--shadow);
	border-radius: 10px;
	margin-bottom: 1.3em;
}
.box_2{
	padding: 3%;
	border: solid 2px var(--bgcolor);
}

/********/
.step{margin-bottom: 1.5em;}
.step .box{
	width: calc( 100% / 3 );
	position: relative;
	margin-top: 40px;
	box-sizing: border-box;
	margin-bottom: 0;
}
.step .num{
    width: 80px;
    height: 80px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: -50px auto 1em auto;
	line-height: 1.4em;
	font-weight: 600;
}
.step .num span{
	display: flex;
    flex-direction: column;
	background-image:var(--gdcolor);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.step .num span span{font-size: 2em; padding-bottom: 0.2em;}
.step p{margin-bottom: 0;}

/******/
.about{
	text-align: center;
    padding: 0;
    margin: 0 auto;
	font-size: 1.4em;
	font-family: var(--serif);
	font-weight: 600;
}
.about h4{color: var(--yecolor);}


/************/
dl{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
	gap : 10px;
	font-size: 1.1em;
	font-weight: 600;
	margin-bottom: 1em;
}
dl dt {
	width: calc(30% - 10px);
	font-size: 1.1em;
	margin-bottom: 0;
	background: var(--maincolor);
	background: linear-gradient(90deg, rgba(11, 47, 48, 1) 0%, rgba(57, 131, 141, 1) 95%);
	color: #fff;
	border-radius: 500px;
	text-align: center;
	padding: .3em .7em;
	box-sizing: border-box;
	font-family: var(--serif);
	letter-spacing: .1em;
}
dl dd {
    width: 69%;
    font-weight: 600;
	margin-bottom: 0;
}

/********
お客様の声
********/
.swiper{margin-bottom: 5%;}
.swiper-slide {
	/* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
	width: 100%;
	padding: 7% 10%;
	background: #fff;
	min-height: 400px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: .9em;
	border: solid 2px var(--bgcolor);
}
.swiper-button-prev:after, .swiper-button-next:after{
	color: var(--redcolor);
	font-size: 1.7em!important;
}
.swiper-navigation-icon{display: none;}

/**/
.voice_box{
	border: solid 2px var(--bgcolor);
	padding: 3%;
	background: #fff;
	height: 250px;
	overflow-y: scroll;
}
.voice_box hr{
	border: none;
	height: 2px;
	margin:  2% 0;
	background: #eee;
}

.r_name,.name{
	display: block;
	margin-right: 0;
	text-align: right;
}
.r_name::after{
	content: "さん";
	font-size: .8em;
}


/******/
.v_box{
	display: flex;
	gap: 20px;
	align-items: center;
	margin-bottom: 1.3em;
}
.v_img{
	object-fit: cover;
	height: 200px;
	width: 200px;
	border-radius: 500px;
}
.v_inner h3{
	width: 100%;
	display: block;
	margin: 0 auto .3em auto;
	text-align: left;
}
.v_inner .name,.voice .name{
	display: flex;
	align-items: center;/* 縦位置の調整 */
	text-align: right;
	color: var(--maincolor);
	font-size: .7em;
	gap: 10px;
}
.v_inner .name::before,.voice .name::before{
	content: '';
	flex-grow: 1;
	height: 2px;
	background: var(--gdcolor);
}

/**/
.voice{
	padding: 5%;
	margin-bottom: 3%;
	border: solid var(--maincolor) 3px;
}
.voice .img_b{margin-top: 2%;}
.v_index{
	display: inline-block;
	width: 75%;
	font-family: 'Shippori Mincho B1', serif;
	font-weight: 600;
	letter-spacing: .1em;
}
.v_index h3{
	padding-left: 3%;
	margin-bottom: 5%;
}
.v_index_2{
	display: block;
	width: 80%;
	text-align: center;
	margin: 0 auto;
}
.m_voice .v_index_2{width: 100%; margin-bottom: 1em;}
.v_index_2 h3{
	padding: 0;
	margin-bottom: 3%;
}

.voice .name{font-size: 1.1em;}
.voice .name span{font-size:.8em;}

/******/
.features{margin-top: 4em;}
.features .num{
	margin: -4em auto .5em auto;
	display: block;
}

/******/
.list{
	background: url(../img/list_bg.png)center/cover;
	background-attachment: fixed;
}
.list ul:not([class]) li{
	background: url(../img/li_icon.png),linear-gradient(90deg, rgb(105, 92, 79, .9) 60%, rgba(108, 74, 41, 0) 95%);
	background-repeat: no-repeat;
	background-position: 5px 50%,center;
	color: #fff;
	font-size: 1.2em;
	font-family: var(--serif);
	padding: .2em 0 .2em 35px;
}
.list ul:not([class]) li::before{content: none;}

.list_2{
	background: url(../img/list_bg_2.png)center/cover;
	background-attachment: fixed;
}

/******/
.program{
	background: #fff;
	padding: 3%;
	border: 3px solid var(--maincolor);
	margin-bottom: 1em;
}
.program:last-child{margin-bottom: 0;}
h3 span:not([class]){
	position: relative;
    background-image:var(--gdcolor);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 1.2em;
    line-height: 1.2em;
    width: fit-content;
	line-height: 1.6em;
}
h3 span span{
	font-size: 1.4em;
	padding: 0 .1em;
}

.program ul:not([class]),.program ul.cf{
	font-weight: 600;
	border: solid 3px var(--bgcolor);
	padding: 3%;
	margin-bottom: 1.5em;
}
.program ul:not([class]):last-child{margin-bottom: 0;}

/*******/
.service{
	padding: 3%;
	border-radius: 10px;
	margin-bottom: 1em;
	background: #dde2f0;
	background: linear-gradient(45deg, rgba(221, 226, 240, 1) 0%, rgba(240, 243, 247, 1) 50%, rgba(216, 220, 230, 1) 100%);
}
.service h3{
	margin-bottom: 1em;
}
.service h3 span:not([class]){
	font-size: .6em;
    display: flex;
	align-items: center;
    flex-direction: column;
	line-height: 1.2em;
	margin:  0 auto;
}
.service h3 span:not([class]) span{
	font-size: 2.5em;
	padding-bottom: .2em;
	margin-bottom: .4em;
	border-bottom: solid #c5bbb0;
	width: fit-content;
	background-image:linear-gradient(90deg,rgba(63, 63, 63, 1) 0%, rgba(157, 157, 157, 1) 50%, rgba(63, 63, 63, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.service .in_txt{
	background: #fff;
	padding: 3%;
	box-shadow: inset 2px 2px 8px #e2e3e8;
}

/********/
.items{
	display: flex;
    flex-wrap: wrap;
	margin-bottom: 1.8em;
	gap: 8px;
	justify-content: center;
}
.items .item{
	width: calc(25% - 8px);
	box-sizing: border-box;
    text-align: center;
}
.items .refl{margin-bottom: 1em;}
.items h4{
	font-size: 1em;
	padding: .3em;
}
.items p{
	font-size: .8em;
	line-height: 1.4em;
}

/******
プロフィール
******/
.prof .prof_img{height: 150px;}
.prof .index{
	display: flex;
	gap: 30px;
    align-items: center;
	margin-bottom: 1.7em;
}
.prof .index img{
	height: 250px;
    width: 250px;
}
.prof h3{
	text-align: left;
	width: 100%;
}

.msg{
	font-family: var(--serif);
    background: url(../img/msg_bg.png)center/cover;
	background-attachment: fixed;
    padding: 3%;
}
.msg h3{color: #333;}
.msg h4{
	font-family:var(--italic) ;
	display: flex;
	align-items: center;
	text-align: right;
	gap: 8px;
	color: var(--maincolor);
	background: none;
}
.msg h4::after {
    content: '';
    flex-grow: 1;
    height: 2px;
    background: var(--maincolor);
}
.msg .r_name{
	font-family:var(--italic) ;
	text-align: right;
}
.msg .r_name::after{content: none;}

/********
日程
********/
table{width: 100%; margin-bottom: 1em;}
.prg td{
	box-sizing: border-box;
	padding: .8em 2%;
	vertical-align: middle;
	background: #fff;
	border: var(--maincolor) solid 1px;
	text-align: center;
	font-size: 1.1em;
}
.prg .tr-h2{
	text-align: center;
	background:var(--maincolor);
	color: #fff; font-size: 1.1em;
}
.prg .tr-h2:last-child{background: var(--redcolor); border-left: #fff;}
.prg .tr-h2 td{background: var(--maincolor); font-size: 1em; font-weight: bold;}
.prg .td-h2{text-align: center; background:var(--bgcolor); font-weight: bold;}

.dow {
    color: #FFF;
    font-size: .6em;
    margin: 0 10px 0 5px;
    padding: 3px 6px;
    background: #333;
    border-radius: 100px;
    vertical-align: middle;
}
.dow_Sat{ background: var(--subcolor);}
.dow_Sun{ background: var(--redcolor);}

.program .dow{padding: 6px 6px;}

/*******
リスト
*******/
ul:not([class],:last-child),ul.notes:not(:last-child){margin-bottom: 1.5em;}
ul:not([class]) li,ul.cf li{
    position: relative;
    padding-left: 1.3em;
	margin-bottom: .3em;
}
ul:not([class]) li:before,ul.cf li:before{
    border-radius: 50%;
    width: 7px;
    height: 7px;
    display: block;
    position: absolute;
    left: 5px;
    top: 10px;
    content: "";
	background: var(--maincolor);
}

/**/
ul.notes li {
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: .2em;
	line-height: 1.5em;
	font-size: .9em;
}
ul.notes li::before {content: "※";}

/**/
ul.check li{
    margin-bottom: .8em;
    position: relative;
    padding-left: 30px;
    display: flex;
	font-weight: 600;
}
ul.check li::before{
	content: url(../img/li_icon.png);
    position: absolute;
    left: 0;
}
ul li:last-child{margin-bottom: 0;}

/********/
ol:not([class]){margin-bottom: 1em;}
ol:not([class]) li {
	font-weight: 600;
    position: relative;
    padding-left: 30px;
    line-height: 1.5em;
    padding: 0.5em 0.5em 0em 30px;
    counter-increment: my-counter; /* li要素ごとにカウンターをインクリメント */
}
ol:not([class]) li:before {
    position: absolute;
    content: counter(my-counter);
    display:inline-block;
    background: var(--maincolor);
    color: white;
    font-family: 'Avenir','Arial Black','Arial',sans-serif;
    font-weight:bold;
    font-size: 14px;
    border-radius: 50%;
    left: 0;
    width: 23px;
    height: 23px;
    line-height: 23px;
    text-align: center;
    top: 23px;
    transform: translateY(-50%);
}

/***form***/
form{
	background: rgba(255, 255, 255);
	filter: var(--shadow);
	padding: 3%;
	max-width: 700px;
	margin: 0 auto 2em auto;
}
.form-mail p{
	text-align: center;
	font-size: 1.2em;
	margin-bottom: 1%;
}
form p{
	margin: 0 auto;
	text-align: center;
	line-height: 1.5em;
	margin-top: 1%;
}
.label{width: 120px;}
.form-item {
    padding-bottom: 2%;
    width: 95%;
    display: flex;
    align-items: center;
	margin: 0 auto;
	gap: 15px;
}
.input {
    border: 2px solid #d7d7d7;
    padding: 0 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    max-width: 530px;
	border-radius: 5px;
}

.form_btn{
	display: block;
	margin: 3% auto 5% auto;
	-webkit-animation: anime_pulse 1.5s infinite;
	animation: anime_pulse 1.5s infinite;
	border-radius: 5px;
}
/*アニメーション*/
@-webkit-keyframes anime_pulse {
	0% { -webkit-transform: scale(0.95);
	transform: scale(0.95); }
	70% { -webkit-transform: scale(1);
	transform: scale(1) }
	100% { -webkit-transform: scale(0.95);
	transform: scale(0.95);}
}

/********/
table.table {
	width:100%;
	border-right:#D9D9D9 solid 1px;
	border-collapse: collapse;
	margin-bottom: 1.5em;
	font-size: .8em;
	text-align: center;
}
table.table thead th {
	background:#D9D9D9;
	padding:10px 15px;
	border-right:#FFF solid 1px;
	border-bottom:#FFF solid 1px;
	vertical-align: middle;
}
table.table thead th:last-child {border-right:#D9D9D9 solid 1px;}
table.table tbody th {
	background:#D9D9D9;
	padding:10px 15px;
	border-bottom:#FFF solid 1px;
	vertical-align: middle;
	font-size: 1.1em;
	width: 20%;
	box-sizing: border-box;
	text-wrap: nowrap;
	font-weight: 600;
}
table.table thead th.real{
	background: var(--redcolor);
	color: #FFF;
}
table.table thead th.online{
	background: var(--subcolor);
	color: #FFF;
}
table.table tbody tr:last-child th {border-bottom:#D9D9D9 solid 1px;}
table.table tbody td {
	background:#FFF;
	padding:10px 15px;
	border-left:#D9D9D9 solid 1px;
	border-bottom:#D9D9D9 solid 1px;
	box-sizing: border-box;
	vertical-align: middle;
	font-weight: 700;
}
table.table tbody td:empty:after {content: "－";/*要素が空の時*/}

/********
価格
*********/
.price{
	background: var(--subcolor);
	padding: .8%;
	margin: 0 auto 1em auto;
	text-align: center;
	font-weight: 500;
	max-width: 800px;
	font-feature-settings: "palt";
	border-radius: 10px;
    background: var(--redcolor);
}
.price_2{background: var(--subcolor);}

.List_price.price{
	background: var(--redcolor);
    background: linear-gradient(0deg, rgba(235, 235, 235, 0.55) 0%, rgba(235, 235, 235, 0.55) 50%), var(--redcolor);
}
.List_price.price_2{
	background: var(--subcolor);
    background: linear-gradient(0deg, rgba(235, 235, 235, 0.55) 0%, rgba(235, 235, 235, 0.55) 50%), var(--subcolor);
}

.price h4{
	color: #fff;
	margin-bottom: 2%;
	padding: 2% 0 0 0;
	font-size: 1.5em;
	background: none;
}
.List_price h4{color: #333;}
.price h4 span:not([class]){
	background: #fff;
    padding: 0.1em 1em;
    border-radius: 50px;
    color: var(--redcolor);
    display: block;
    width: fit-content;
    margin: 0 auto;
    letter-spacing: .1em;
    font-size: .8em;
	margin-top: .3em
}
.price_2 h4 span:not([class]){color: var(--subcolor);}

h4.price{
	color: #fff;
	max-width: 100%;
	border-radius: 5px;
}

.price h6{color: var(--redcolor);}

.price_text{
	background: #fff;
	padding: 3%;
	font-size: 1.3em;
	border-radius: 0 0 5px 5px;
}
.price:not(:has(h4)) .price_text {border-radius: 5px;}

.price_no .price_text p{line-height: 1.4em;}
.price_text p:not(:last-child){
	margin-bottom: 1em;
	line-height: 1.4em;
}

.price_text p span:not([class]){
	font-size: 1.7em;
	font-weight: bold;
	/* font-family: var(--serif); */
	padding: 0 1.5% 0% 1%;
	position: relative;
    background: var(--redcolor);
    background: linear-gradient(0deg, rgba(0,0,0,.2) 0%, rgba(113,113,113,0) 60%),var(--redcolor);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.price_text p s{
	font-weight: bold;
	padding: 0 1%;
}
ruby{
	font-size: .9em;
    padding-left: .4%;
}

.price .notes {
    font-size: .7em;
    text-align: left;
	background: #eee;
    padding: 3%;
    margin: 0 auto;
}
.price img{
	display: block;
	margin-bottom: 2%;
	max-height: 40px;
}
.price a img{
	width: auto;
    max-height: 100%;
    margin: 0 auto;
}

/*吹き出し*/
.tail{
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--redcolor);
	font-weight: 600;
	margin: 0 auto 0.5em auto;
}
.tail::before,.tail::after{
	content: '';
	width: 30px;
	height: 1px;
	background: #333;
}
.tail::before{transform: rotate(60deg);}
.tail::after{transform: rotate(-60deg);}

/*矢印*/
.arrow_s {
    position: relative;
    padding-left: 12px;
    text-decoration: none;
}
.arrow_s:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 0 8px 10px;
    border-color: transparent transparent transparent #333;
    position: absolute;
    top: 60%;
    left: -3px;
    margin-top: -13px;
}

/**/
.arrow {
	display: block;
	margin: 0 auto 5% auto;
	animation: arrow 2s infinite;
	text-align: center;
}
@-webkit-keyframes arrow {
  0% {-webkit-transform: translate(0, 0);
    opacity: 0;}
  50% {opacity: 1;}
  100% {-webkit-transform: translate(0, 25px);
    opacity: 0;}
}

/************
決済ボタン
*************/
.pay_wrap{
	display:flex;
	align-items: stretch;
	gap:5px;
}
.pay_btn{
	font-size: .9em;
	display: flex;
	flex-direction: column;
    width: -webkit-fill-available;
}
.pay_btn .price_text{
	flex: 2;
	display:grid;
	align-content: space-evenly;
	font-size: 1.5em;
}
.pay_btn .price_text p{margin: 1em 0;}

/*一括価格のみ適用*/
.pay_btn .price_text p:not(:has(br)) {
	min-height: 80px;
    display: flex;
    justify-content: center;
	align-items: center;
    line-height: 2.3em;
}
.pay_btn .price_text p:not(:has(br)) ruby {font-size: 1em; line-height: 1em;}

.pay_btn .price_text p span{font-size: 1.8em;}
.pay_btn .price_text p .small{font-size: .7em;}
.pay_btn .price_text ruby{font-size: .6em;}

.pay_btn img{margin: 0 auto;}
.pay_btn .price_text p.notes{margin-bottom: 0; font-size: .5em; text-align: center;}

.p_btn {
    text-align: center;
    margin-bottom: 3%;
    width: 100%;
    padding: 13px 0;
    text-decoration: none;
    border-radius: 5px;
	background: #0CA401;
	background: linear-gradient(180deg, #54BD4C 0%, #0CA401 100%);
	color: #fff;
	box-sizing: border-box;
    border: #ccc solid 2px;
	font-weight: 600;
	font-family: var(--serif);
	position: relative;
	transition: all .5s;
	font-size: .85em;
	letter-spacing: .1em;
}
.p_btn_b{
	background: #177ab3;
	background: linear-gradient(180deg, #5999bc 0%, #177ab3 100%);
}
.p_btn_c{
	background: #f25565;
	background: linear-gradient(180deg, #eba29a 0%, #f25565 100%);
}
.p_btn::after {
	position: absolute;
	top: 50%;
	right: .7em;
	width:  .3em;
	height: .3em;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	content: "";
}

/*タイマー*/
.timer{
	text-align: center;
	padding: 1% 2%;
	font-family: var(--serif);
	font-size: 1.2em;
	font-weight: 800;
	filter: var(--shadow);
	margin: 1em auto 2em auto;
}
.timer p{margin-bottom: 0;}
.counter span{
	font-size: 1.4em;
	padding: .3em .3em;
	margin: 0 .2em;
	border-radius: 5px;
	background: var(--gdcolor);
	color: #fff;
}

/**********/
.voice .accordion .link{
	font-size: 1.2em;
	max-width: 600px;
	margin: 0 auto;
}
.voice .a-text{
	max-width: 630px;
	margin: 0 auto;
}

.accordion .link {
	cursor: pointer;
	display: block;
	padding: 2% 2.5em 2% 1.8em;
	border: 3px solid var(--maincolor);
	position: relative;
	-webkit-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
	font-weight: 600;
	background: var(--maincolor);
	color: #fff;
	border-radius: 500px;
}
.accordion .link i {
	position: absolute;
	color: var(--maincolor);
	-webkit-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	font-weight: bold;
	top: 40%;
	right: 20px;
	color: #fff;
}

.accordion.open i.fa-chevron-down,.accordion .open i.fa-chevron-down {transform: rotate(180deg);}
.fa {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.a-text {
	display: none;
	padding: 2%;
	margin-bottom: 0;
}

.accordion li{margin-bottom: .7em;}

/************
募集概要
*************/
.paymentTable{
	width: 100%;
	border: 1px solid #aaa;
	margin: 2% 0;
	font-size: 0.9em;
	background: #fff;
}
.paymentTable th{
	width: 30%;
	border: 1px solid #767676;
	background: #ADADAD;
    color: #fff;
}
.paymentTable td{
	width: 70%;
	border: 1px solid #aaa;
	padding: 10px;
}

.paymentTable h6{
	font-size: 1.1em;
	margin: 1em 0 .5em 0;
	padding: .4em .6em;
	color: #333;
	text-align: left;
	letter-spacing: normal;
}
.paymentTable h6.price{color: #fff; border-radius: 5px; text-align: center;}
.paymentTable h6:first-child{margin-top: 0}
.paymentTable .big{font-size: 1.2em;}

.kiyaku{
	margin: 2% 0;
	width: 100%;
	height: 200px;
	background: #fff;
}
.kiyaku iframe{width: 100%;}
.paymentTable img{
	display: block;
	height: 30px;
	margin: .5% 0 3% 0;
}

/********
footer
********/
footer{
	background: #333;
	padding: 30px 2%;
	text-align:center;
	font-size:14px;
}
footer p{
    line-height: 1em;
	color:#FFF;
}
footer a{
	font-size:13px;
	color:#FFF;
	margin: 0 .5%;
}

@media screen and (max-width: 768px) {
/*--- 表示領域が768px以下の場合に適用するスタイル ---*/

}/*///media*/

@media screen and (max-width: 640px) {
/*--- 表示領域が640px以下の場合に適用するスタイル ---*/

	.sp{display: block!important;}
	.pc{display: none!important;}

	.text p:not([class]) br{display: none;}
	.text p.br br,.text p br.br,
	.text .price p br{display: block;}

	.right{
		float: none;
		width: 100%;
		margin: 0 auto 5%;
		padding: 0;
	}
	.flex{
		flex-direction: column;
   		align-items: center;
	}

	/*追従*/
	.cont{width: 130px;}

	/*header*/
	header{padding: .5em 0;}
	header .timer{padding-top: 1em; margin-bottom: 1em;}

	/*main*/
	h2{
		font-size: 1.4em;
		background-size: 60px;
	}
	h3,h4{font-size: 1.3em;}
	h5,.c_txt{font-size: 1.1em;}

	h6{font-size: 1em;
	letter-spacing: normal;}

	/**/
	.m_btn{
		display: block;
		width: 90%;
		margin: 0 auto 2% auto;
	}

	.intro_txt{font-size: 1.2em;}

	/******/
	.step .box {width: 100%; text-align: center;}

	.about_flex,.about_flex:nth-of-type(even) {flex-direction: column; gap: 25px;}
	.about_img,.column{width: 100%;}

	/******/
	.v_box {flex-direction: column;}
	.v_inner h3{text-align: center;}
	.v_index{width: 100%;}

	/******/
	.list{background: url(../img/list_bg.png) 70% 50% / cover;}
	.list ul:not([class]) li{
		background: url(../img/li_icon.png),linear-gradient(90deg, rgb(105, 92, 79, .95) 60%, rgba(105, 92, 79, .8) 95%);
		background-repeat: no-repeat;
		background-position: 5px 50%,center;
	}
	.list_2{

	}

	/******/
	.prof .index{
		text-align: center;
		flex-direction: column;
		margin-bottom: 1em;
	}
	.prof .prof_img{height: auto;}

	/********/
	.items .item{width: calc(50% - 8px);}

	/*form*/
	.form-mail p{font-size: 1.1em;}
	.form-item {width: 100%;}
	.label {display: none;}
	.input {margin: 1% auto;}
	.form_btn{width: 100%;}

	/********/
	table.table thead {display:none;}
	table.table tbody th,table.table tbody td {display:block; width: 100%;border: none;}
	table.table tbody td::before {
		content: attr(label);
		float: left;
		clear:both;
		font-size: .8em;
		font-weight:600;
		background: var(--redcolor);
		color: #fff;
		padding: 0 10px;
		border-radius: 50px;
		min-width: 100px;
	}
	table.table tbody td:last-child::before{background: var(--subcolor);}
	table.table tbody td {
		display: block;
		position: relative;
		padding: .5em 0 .5em 125px;
		border: none;
	}
	table.table tbody td:last-child{margin-bottom: .3em;}
	table.table,table.table tbody tr,
	table.table tbody tr.lto td {border: none;}
	table.table td::before {
		content: attr(data-label);
		font-weight: bold;
		position: absolute;
		left: 10px;
	}

	/*タイマー*/
	.counter {display: block; padding-top: .5em;}

	/********
	価格
	*********/
	.price h4{font-size: 1.3em;}
	.price_text{font-size: 1.2em;}

	/************
	決済ボタン
	*************/
	.pay_wrap{flex-direction: column;}

	/************
	募集概要
	*************/
	.paymentTable{border:none;}
	.paymentTable tr th,.paymentTable td{
		width:100% !important;
		display:inline-block;
		border: none;
		padding: 5px 0;
	}
	.paymentTable td{padding:0;
		border: none;
		padding: 10px;
		box-sizing: border-box;
	}

}/*///media*/