@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Abel&family=Noto+Sans+JP:wght@100..900&display=swap');

html {
	font-size: 62.5%;
}
body {
	color: #222222;
	font-size: 1.8rem;
	line-height: 1.8;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
	min-height: 100vh;
	display: flex;
	flex-direction: column;

}
p:not(:last-child) {
	margin-bottom: 1.1em;
}

p.img img {
	border-radius: 12px;
}
p {
	margin: 0 0 1.1rem 0;
	padding: 0;
}
p:last-child {
	margin: 0;
}
p span {
}

@media screen and (max-width: 1194px) {
	body:before {
		animation: none;
	}
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 559px) {
	body {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 320px) {
	body {
	}
}


/* ***************************************
 * リンク
 * **************************************/

a {
	color: #222222;
	text-decoration: none;
	transition: all .3s ease;
	word-break: break-all;
	cursor: pointer;
}
a:hover {
	opacity: .7;
}
a.noopacity,
a.noopacity img {
	opacity: 1 !important;
}
a img {
	transition: all .3s;
	-webkit-transition: all .3s;
}
a img:hover {
	opacity: .7;
}


/* 別ウィンドウリンク
 * ************************************/

a.popup,
span.popup {
	display: inline-block !important;
	position: relative;
	padding-right: 20px;
	line-height: 1;
	height: 1em;
}
a.popup:after,
span.popup:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url(../images/icon/popup.svg) no-repeat;
	background-size: 100%;
	width: 12px;
	height: 12px;
}

a.btn_tab {
	position: relative;
}
a.btn_tab:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	background: url(../images/common/icon_tabWhite.webp) no-repeat;
	background-size: 100%;
	width: 12px;
	height: 12px;
}



.arrow {
	display: inline-block;
	padding-left: 28px;
	position: relative;
}
aside .arrow {
	font-size: .9em;
}
.arrow:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../images/icon/arrow-grn.svg) no-repeat;
	background-size: 100%;
	width: 18px;
	height: 18px;
	transition: all .3s ease;
}
.arrow span {
	display: inline-block;
	font-weight: 600;
	color: #00634d;
}
.arrow:hover:before {
	left: 3px;
}


.button-web {
	display: inline-block;
    width: 100%;
    background: #cf6541;
    color: #FFF;
    text-align: center;
    border-radius: 6px;
	font-weight: 500;
    padding: 18px 18px;
    margin: 0;
    box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);
}



/* ボタンリスト */
ul.btn_list a {
	display: block;
}
ul.btn_list li {
	border-radius: 12px;
    box-shadow: 0 0 14px rgba(102, 102, 102, 0.2);
    transition: all .3s ease;
}
ul.btn_list li:hover {
	transform: translateY(-3px);
}
ul.btn_list a:hover,
ul.btn_list li img:hover {
	opacity: 1;
}



/* テキストリンク */
a.linkText {
	display: inline-block !important;
	padding-bottom: 3px !important;
	border-bottom: 1px solid !important;
}



@media screen and (max-width: 834px) {
	
}
@media screen and (max-width: 560px) {
	/* ボタンリスト */
	ul.btn_list li {
		box-shadow: 0 0 18px rgba(102, 102, 102, 0.2);
	}
}
@media screen and (max-width: 430px) {
}
@media screen and (max-width: 320px) {
}




/* 黄色の立体ボタン
 * *************************************************** */

a.btnYL {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1em;
	width: auto;
	min-width: 250px;
    max-width: 280px;
	margin: 0 auto;
	background: #FFC84D;
	color: #FFF;
	box-shadow: 0 4px 0 #E5B347;
	position: relative;
	border-radius: 50vh;
	transition: .3s;
}
a.btnYL:hover {
	opacity: 1;
	transform: translateY(3px);
	background: #FFB619;
	box-shadow: 0 2px 0 #E5B347;
}
a.btnYL span {
	display: block;
	text-align: center;
	width: 100%;
	padding: 12px 18px 12px 60px;
	font-weight: bold;
	position: relative;
}
a.btnYL span:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: #FFF;
	border-radius: 50vh;
}
a.btnYL span::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 26px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 14px;
	border-color: transparent transparent transparent #fec84d;
}
a.btnYL.dbl {
	margin: 12px 0 0;
}

@media screen and (max-width: 834px) {
	a.btnYL {
		min-width: 220px;
		max-width: 250px;
	}
	a.btnYL span {
		padding: 12px 12px 12px 48px;
	}
	a.btnYL span:before {
		width: 32px;
		height: 32px;
	}
	a.btnYL span::after {
		left: 22px;
		border-width: 6px 0 6px 10px;
	}
}
@media screen and (max-width: 560px) {
	a.btnYL {
		min-width: 250px;
		max-width: 280px;
	}
	a.btnYL span {
		text-align: center;
		width: 100%;
	}
}
@media screen and (max-width: 430px) {
}
@media screen and (max-width: 320px) {
	a.btnYL {
		min-width: 100%;
		max-width: 100%;
	}
}

/* メインボタン
 * *************************************************** */

.main_btn {
	display: inline-block !important;
	width: auto !important;
	margin: 10px !important;
	padding: 18px 4.6em !important;
	text-align: center !important;
	text-transform: uppercase !important;
	transition: .5s !important;
	border-radius: 100px !important;
	background-size: 200% auto !important;
	color: #FFF !important;
	font-family: sans-serif !important;
	font-weight: bold !important;
	background-image: linear-gradient(to right, #ba9747 0%, #998d7a 51%, #ba9747 100%) !important;
	position: relative !important;
	font-size: 1.3em;
}
.main_btn:before {
	content: '';
	width: 12px;
	height: 12px;
	border: 0;
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
	position: absolute;
	top: 50%;
	right: 1.6em;
	transform: translateY(-50%) rotate(45deg);
}
.main_btn:hover {
	opacity: 1 !important;
	background-position: right center !important;
	box-shadow: 2px 2px 6px -1px rgb(19 71 52 / 30%) !important;
	color: #fff !important;
	text-decoration: none !important;
}
.big_box .main_btn { /*トップイメージの中のボタン*/
	font-size: 1.3em;
}

.btnMain {
	display: inline-block;
    width: auto;
    min-width: 380px;
    max-width: 680px;
    padding: 18px 3.6em 18px 60px;
    text-align: center;
    text-transform: uppercase;
    transition: .5s !important;
    border-radius: 100px;
    background-size: 200% auto;
    color: #FFF;
    font-family: sans-serif;
    font-weight: bold;
    background-image: linear-gradient(to right, #ba9747 0%, #998d7a 51%, #ba9747 100%);
    position: relative;
    font-size: 1.3em;
	line-height: 1.6;
}
#blog .btnMain {
	max-width: 860px;
}
.btnMain:before {
	content: '';
	width: 12px;
	height: 12px;
	border: 0;
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
	position: absolute;
	top: 50%;
	right: 1.6em;
	transform: translateY(-50%) rotate(45deg);
}
.btnMain:hover {
	opacity: 1 !important;
	background-position: right center !important;
	box-shadow: 2px 2px 6px -1px rgb(19 71 52 / 30%) !important;
	color: #fff !important;
	text-decoration: none !important;
}


.btnMain-blue,
.btnMain-red {
	display: inline-block;
    width: auto;
    min-width: 380px;
    max-width: 780px;
    padding: 18px 3.6em 18px 60px;
    text-align: center;
    text-transform: uppercase;
    transition: .5s !important;
    border-radius: 100px;
    color: #FFF;
    font-family: sans-serif;
    font-weight: bold;
    position: relative;
    font-size: 1.3em;
	line-height: 1.6;
}
.btnMain-blue {
	background-color: #1B3F8D;
}
.btnMain-red {
	background-color: #E7081E;
}
.btnMain-blue:before,
.btnMain-red:before {
	content: '';
	width: 12px;
	height: 12px;
	border: 0;
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
	position: absolute;
	top: 50%;
	right: 1.6em;
	transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 834px) {
	.btnMain-blue,
	.btnMain-red {
		min-width: 380px;
		max-width: 680px;
	}
}
@media screen and (max-width: 768px) {
.btnMain {
	font-size: 1.2em;
	}
}
@media screen and (max-width: 560px) {
	.btnMain {
		min-width: 320px;
        max-width: 100%;
		padding: 18px 3.2em 18px 45px;
		font-size: 1.1em;
	}
	.btnMain-blue,
	.btnMain-red {
		min-width: 320px;
		max-width: 100%;
		padding: 18px 3.2em 18px 45px;
		font-size: 1.2em;
	}
}
@media screen and (max-width: 430px) {
	.btnMain,
	.btnMain-blue {
		min-width: 250px;
        max-width: 100%;
		padding: 18px 3.2em 18px 45px;
		font-size: 1em;
	}
	.btnMain:before,
	.btnMain-blue:before {
		width: 9px;
		height: 9px;
		right: 1.4em;
	}
	.btnMain-blue,
	.btnMain-red {
		min-width: 250px;
        max-width: 100%;
		padding: 18px 3.2em 18px 45px;
		font-size: 1em;
	}
	.btnMain-blue:before,
	.btnMain-red:before {
		width: 9px;
		height: 9px;
		right: 1.4em;
	}
}
@media screen and (max-width: 390px) {
	.btnMain-blue,
	.btnMain-red {
		padding: 18px 2.6em 18px 20px;
	}
}
@media screen and (max-width: 320px) {
	.btnMain {
		min-width: 220px;
		line-height: 1.4;
		padding: 15px 2.6em 15px 20px;
	}
	.btnMain-blue,
	.btnMain-red {
		min-width: 220px;
		line-height: 1.4;
		padding: 15px 2.6em 15px 20px;
		border-radius: 12px;
	}
}


/* ***************************************
 * レスポンシブ
 * **************************************/

@media screen and (min-width: 769px) {
	.pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}


/* ***************************************
 * レイアウト
 * **************************************/

.inner {
	max-width: 1240px;
	padding: 0 30px;
	margin: 0 auto;
}
.inner__nr {
	width: 980px;
	padding: 0;
    margin: 0 auto;
}
.inner_wd {
	width: 99%;
	padding: 0;
	margin: 0 auto;
}
main {
	flex: 1;
	padding: 60px 0;
}
main#front-page {
	/*
	display: flex;
    align-items: center;
    justify-content: center;
	*/
}
main.single-blog {
	padding-top: 0;
	    margin-top: -9px;
}
.contents {
	
}

article {
	width: 100%;
}
section {
	padding: 90px 0;
}
.content {
	margin: 0 auto 0;
	padding: 90px 0 90px;
}
.center {
	text-align: center;
}

/* 固定ページ */
.page_contents {
	
}
.page_items {
	margin-top: 90px;
}
.page_item {
	margin-top: 90px;
}


@media screen and (max-width: 1194px) {
	.inner {
		padding: 0 60px;
	}
	.inner__nr,
	.inner__wd {
		width: 100%;
		padding: 0 60px;
	}
}
@media screen and (max-width: 1024px) {
	.inner {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	section {
		padding: 75px 0;
	}
	.inner,
	.inner__nr,
	.inner__wd {
		width: 100%;
		padding: 0 45px;
	}
}
@media screen and (max-width: 559px) {
	section {
		padding: 60px 0;
	}
	main {
		padding: 45px 0;
	}
}
@media screen and (max-width: 430px) {
	.inner,
	.inner__nr,
	.inner__wd {
		padding: 0 30px;
	}
	section {
		padding: 45px 0;
	}
	main {
		padding: 30px 0;
	}
}
@media screen and (max-width: 380px) {
	.inner,
	.inner__nr,
	.inner__wd {
		padding: 0 20px;
	}
}
@media screen and (max-width: 320px) {
	section {
		padding: 30px 0;
	}
	main {
		padding: 20px 0;
	}
}


/* YouTube 埋め込み
 * ***************************************/

.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 90px 0;
}
.youtube iframe {
	display: block;
	width: 100%;
	height: 100%;
}
.youtube p.youtube_title {
	
}
.youtube p.youtube_title span {
	display: inline-block;
	padding-left: 38px;
	line-height: 1.2;
	font-size: 1.6rem;
	font-family: serif;
	font-weight: bold;
	color: #c5a942;
	background: -webkit-linear-gradient(0deg, #e0c66d, #B67B03);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	position: relative;
}
.youtube p.youtube_title span:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../images/icon/play.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
	width: 28px;
	height: 28px;
	z-index: 0;
}
@media screen and (max-width: 768px) {
	.youtube {
		margin: 75px 0;
	}
}
@media screen and (max-width: 560px) {
	.youtube {
		margin: 60px 0;
	}
	#single-blog .youtube {
		margin: 45px 0;
	}
	.youtube p.youtube_title span {
		font-size: 1.3rem;
	}
	.youtube p.youtube_title span:before {
		width: 22px;
		height: 22px;
	}
}
@media screen and (max-width: 320px) {
	.youtube {
		margin: 45px 0;
	}
	#single-blog .youtube {
		margin: 30px 0;
	}
}

/* common
 * ***************************************/

#common .header_flex .header_flex___logo {
	width: calc(100% / 2);
	text-align: center;
}
#common .header_flex .header_flex___logo a {
	display: inline-block !important;
}


@media screen and (max-width: 834px) {
	#common .header_flex {
		flex-direction: row;
	}
	#common .header_flex .header_flex___logo {
		
	}
}



/* ***************************************
 * ヘッダー
 * ***************************************/

#header {
	background: #f0eee6;
}
#header .header-top {
	position: relative;
	padding: 18px 2.66667vw 18px 2.66667vw;
	width: 100%;
	height: auto;
}
#header .header-top .header-top-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#header .header-top .header-top-flex .header-top-flex___image {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 350px;
    width: 33%;
	height: 100%;
}
#header .header-top .header-top-flex .header-top-flex___image .header-logo {
	max-width: 300px;

}
#header .header-top .header-top-flex .header-top-flex___inquiry {


}
#header .header-top .header-contacts {
	display: flex;
	align-items: center;
	gap: 18px;
}
#header .header-top .header-contacts a.header-contact-phone {
	display: block;
	width: 60%;
	max-width: 280px;
}
#header .header-top .header-contacts a.header-contact-phone span.openhour {
	display: block;
	text-align: center;
	line-height: 1.2;
	margin-top: 6px;
	font-size: .9em;
}
#header .header-top .header-contacts a.header-contact-web {
	display: block;
	width: 45%;
	max-width: 220px;
}


#header .header-band {
	padding: 18px 0;
	background: #00634d;
}
#header .header-band .header-band-flex {
	display: flex;
    justify-content: center;
    align-items: center;
}
#header .header-band p.header-band-text {
	margin: 0;
	color: #FFF;
	font-size: 2.6rem;
	line-height: 1.2;
}
#header .header-band p.header-band-text.header-band-station span {
	background: #FFF;
	color: #cf6541;
	display: inline-block;
	border-radius: 4px;
	padding: 9px 12px;
	font-weight: 500;
}
#header .header-band p.header-band-text.header-band-everyday span {
	background: #FFF;
	color: #cf6541;
	display: inline-block;
	border-radius: 4px;
	padding: 9px 12px;
	margin: 0 12px;
	font-weight: 500;
}
#header .header-band p.header-band-text.header-band-msg {
	
}

header #navigation {
	background: #f0eee6;
}
header .header-bottom {
	display: none;
}

@media screen and (max-width: 1441px) {
	header .header-top {
		padding: 0 1.04167vw;
	}
}
@media screen and (max-width: 768px) {
	header .header-top {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 0 2.66667vw;
		width: 100%;
	}
	header .header-top .header-image {
		width: 50%;
	}
	
	header .header-bottom {
		display: block;
	}
	header .header-bottom .header-bottom-flex {
		display: flex;
		justify-content: space-between;
        align-items: stretch;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___phone {
		width: 50%;
		background: #ededed;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___web {
		width: 50%;
		background: #000;
		display: flex;
        align-items: center;
        justify-content: center;
	}
	header .header-bottom .header-bottom-flex a {
		display: block;
        text-align: center;
        padding: 12px;
		line-height: 1;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___phone a.hb-phone {
		display: flex;
        justify-content: center;
        align-items: center;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___phone a.hb-phone span.number {
		        font-size: 1.6em;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___phone a.hb-phone img.hours {
		margin-left: 12px;
	}
	
	header .header-bottom .header-bottom-flex .header-bottom-flex___web a.hb-web {
		color: #FFF;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___web a.hb-web span {
		font-size: 1.2em;
	}
}
@media screen and (max-width:560px) {
	header .header-bottom .header-bottom-flex {
		flex-direction: column;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___phone {
		width: 100%;
	}
	header .header-bottom .header-bottom-flex .header-bottom-flex___web {
		width: 100%;
	}
}
@media screen and (max-width:430px) {
	header .header_flex .header_flex___logo {
		width: 120px;
	}
}
@media screen and (max-width: 320px) {
	header .header_flex {
		padding: 18px 18px;
	}
}



/* ハンバーガー 
 * **************************************/

nav.general .toggle_btn {
	display: block;
	position: fixed;
	top: 60px;
	right: 60px;
	width: 60px;
	height: 30px;
	transform: translate(0, 0);
	transition: all .5s;
	cursor: pointer;
	z-index: 3;
}
nav.general .open .toggle_btn {
	right: 330px;
}
nav.general .toggle_btn span {
	display: block;
	position: absolute;
	right: 0;
	width: 30px;
	height: 2px;
	background-color: #FFF;
	transition: all .5s;
}
nav.general .toggle_btn span:nth-child(1) {
	top: 5px;
	width: 60px;
	animation: equalizer01 7000ms infinite;
}
nav.general .toggle_btn span:nth-child(2) {
	top: 15px;
	width: 30px;
	animation: equalizer02 5000ms infinite;
	animation-delay: 0.33s;
}
nav.general .toggle_btn span:nth-child(3) {
	top: 25px;
	width: 20px;
	animation: equalizer02 5000ms infinite;
}
nav.general .open .toggle_btn span {
	background-color: #fff;
	width: 30px;
}
nav.general .open .toggle_btn span:nth-child(1) {
	transform: translate(0, 10px) rotate(-45deg);
	animation: unset;
}
nav.general .open .toggle_btn span:nth-child(2) {
	opacity: 0;
	animation: unset;
}
nav.general .open .toggle_btn span:nth-child(3) {
	transform: translate(0, -10px) rotate(45deg);
	animation: unset;
}

@keyframes equalizer01 {
	0% { width: 70%; }
	10% { width: 50%; }
	20% { width: 100%; }
	30% { width: 10%; }
	40% { width: 50%; }
	50% { width: 70%; }
	60% { width: 50%; }
	70% { width: 10%; }
	80% { width: 100%; }
	90% { width: 10%; }
	100% { width: 70%; }
}
@keyframes equalizer02 {
	0% { width: 30%; }
	10% { width: 20%; }
	20% { width: 40%; }
	30% { width: 10%; }
	40% { width: 20%; }
	50% { width: 30%; }
	60% { width: 20%; }
	70% { width: 10%; }
	80% { width: 40%; }
	90% { width: 10%; }
	100% { width: 30%; }
}

@media screen and (max-width: 1194px) {
	nav.general .toggle_btn {
		top: 42px;
		right: 30px;
	}
}
@media screen and (max-width: 768px) {
	.open .toggle_btn {
		right: 260px;
	}
	nav.general .toggle_btn span {
		background: #E4007F;
	}
}
@media screen and (max-width: 560px) {
	nav.general .toggle_btn {
		top: 30px;
		right: 30px;
	}
	nav.general .toggle_btn span {
		background: #E4007F;
	}
}
@media screen and (max-width: 430px) {
	nav.general .toggle_btn {
		top: 24px;
	}
	nav.general .open .toggle_btn {
		right: 290px;
	}
}
@media screen and (max-width: 380px) {
	nav.general .open .toggle_btn {
		right: 275px;
	}
}
@media screen and (max-width: 380px) {
	nav.general .open .toggle_btn {
		right: 260px;
	}
}
@media screen and (max-width: 320px) {
	nav.general .open .toggle_btn {
		right: 250px;
	}
}



/* マスク 
 * **************************************/

nav.general #mask {
	visibility: hidden;
	opacity: 0;
	transition: all .3s ease;
}
nav.general .open #mask {
	visibility: visible;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .7;
	z-index: 2;
	transition: all .3s ease;
	cursor: pointer;
}


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

/* ***************************************
 * H要素
 * **************************************/

h1, h2, h3, h4, h5, h6 {
	font-family: serif;
	font-weight: 400;
	font-weight: normal;
	line-height: 1.4;
	margin: 0;
	text-align: center;
	color: #BA9847;
}

h1 { font-size: 3rem; }
h2 { font-size: 4.8rem; margin-bottom: 42px; }
h3 { font-size: 3.8rem; margin-bottom: 30px; }
h4 { font-size: 3.2rem; margin-bottom: 30px; }

@media screen and (max-width: 1194px) {
	h1 { font-size: 3rem; }
	h2 { font-size: 4.2rem; }
	h3 { font-size: 3.4rem; }
	h4 { font-size: 3rem; }
}
@media screen and (max-width: 768px) {
	h1 { font-size: 3rem; }
	h2 { font-size: 3.8rem; margin-bottom: 30px; }
	h3 { font-size: 3rem; }
	h4 { font-size: 2.8rem; }
}
@media screen and (max-width: 559px) {
	h1 { font-size: 3rem; }
	h2 { font-size: 3.4rem; }
	h3 { font-size: 2.8rem; }
	h4 { font-size: 2.6rem; }
}
@media screen and (max-width: 430px) {
	h1 { font-size: 3rem; }
	h2 { font-size: 2.8rem; }
	h3 { font-size: 2.6rem; }
	h4 { font-size: 2.4rem; }
}
@media screen and (max-width: 380px) {
	
}
@media screen and (max-width: 320px) {
	h1 { font-size: 3rem; }
	h2 { font-size: 2.8rem; }
	h3 { font-size: 2.4rem; }
	h4 { font-size: 2.2rem; }
}


/****************************************
 * パンくず
 * **************************************/

.breadcrumbs-block {
	padding: 18px 0;
}
.breadcrumbs-block .breadcrumbs {
	font-size: .6em;
}
.breadcrumbs a {
	color: #00634d;
}
.breadcrumbs span.hyphen {
	padding: 0 12px;
}

@media screen and (max-width: 560px) {
	.breadcrumbs {
		overflow-x: auto;
		white-space: nowrap;
	}
}
@media screen and (max-width: 560px) {
	
}


/* ******************************************
 * 共通
 * *****************************************/

.serif {
	font-family: serif;
}
.abel {
	font-family: 'Abel-Regular', Helvetica, Arial, Lucida, sans-serif !important;
}


/* ボタンボックス
 * *****************************************/

.button-box,
.button_box {
	text-align: center;
	margin-top: 60px;
}
.button_box_right {
	text-align: right;
	margin-top: 60px;
}
.button_box_left {
	text-align: left;
	margin-top: 60px;
}

@media screen and (max-width: 559px) {
	.button-box,
	.button_box,
	.button_box_right,
	.button_box_left {
		margin-top: 45px;
	}
}


/* よくある質問
 * *****************************************/

.faq {
	padding: 90px 0;
}
.faq_box ul.faq_list {
	list-style: none;
	margin: 0 auto 0;
	padding: 0;
}
.faq_box ul.faq_list li {
	margin: 0;
	border-bottom: 1px solid #F0EADA;
}
.faq_box ul.faq_list li:first-child {
	border-top: 1px solid #F0EADA;
}
.faq_box ul.faq_list li .faq_title {
	display: block;
	font-size: 1em;
	text-align: left;
	position: relative;
	cursor: pointer;
	background: #FCFBF9;
	margin: 0;
	padding: 18px 30px 18px 60px;
	transition: all .6s ease;
}
.faq_box ul.faq_list li .faq_title.close {
	background: #ba9747;
	color: #FFF;
}
.faq_box ul.faq_list li .faq_title:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 30px;
	top: 50%;
	transform: translate(0,-50%);
	background: #BA9847;
	width: 18px;
	height: 1px;
	transition: all .6s ease;
}
.faq_box ul.faq_list li .faq_title.close:before {
	content: "";
	background: #FFF;
}
.faq_box ul.faq_list li .box {
	display: none;
	text-align: left;
	background: #FCFBF9;
	    padding: 30px 30px 30px 60px;
}
.faq_box ul.faq_list li .box a {
	text-decoration: underline;
	color: #BA9847;
}
.faq_box ul.faq_list li a.faq_btn {
	display: inline-block;
	padding: 8px 1em;
    margin: 12px 0 0;
	text-decoration: none;
	background: #BA9847;
	color: #FFF;
}

@media screen and (max-width: 768px) {
	.faq {
		padding: 75px 0;
	}
}
@media screen and (max-width: 560px) {
	.faq {
		padding: 60px 0;
	}
	.faq_box ul.faq_list li .box {
		padding: 30px;
	}
}
@media screen and (max-width: 430px) {
	.faq_box ul.faq_list li .faq_title {
		padding: 16px 20px 18px 45px;
	}
	.faq_box ul.faq_list li .faq_title:before {
		left: 18px;
	}
	.faq_box ul.faq_list li .box {
		padding: 20px;
	}
}
@media screen and (max-width: 320px) {
	.faq {
		padding: 45px 0;
	}
	.faq_box ul.faq_list li .box {
		padding: 15px;
	}
}


/* パスワード制御ページ
 * *****************************************/

#onenessyoga-movie .one_movie.pass {
	padding: 90px 0 0;
}
.pass_msg {
	padding: 60px 0;
	text-align: center;
}
input.pass_form {
	width: 320px;
	padding: 10px 20px;
	font-family: sans-serif;
	border-radius: 4px;
	border: 2px solid #BA9847;
	transition: all .3s;
}
input.pass_btn {
	background: #BA9847;
	color: #FFF;
	margin-left: 12px;
	padding: 9px 20px;
	border-radius: 3px;
	border: 3px outset #AA8B42;
}
/*パスワード入力 ここまで*/

@media screen and (max-width: 1024px) {
	#onenessyoga_movie .one_movie_title span.sub {
		font-size: .7em;
	}
}
@media screen and (max-width: 768px) {
	
	/*パス*/
	#onenessyoga_movie .one_movie.pass {
		padding: 75px 0 0;
	}
	
	
	#onenessyoga_movie .one_movie {
		padding: 75px 0;
	}
}
@media screen and (max-width: 559px) {
	/*パス*/
	#onenessyoga_movie .one_movie.pass {
		padding: 0;
	}
	.pass_msg {
		padding: 30px 0 0;
	}
	input.pass_form {
		width: 100%;
	}
	input.pass_btn {
		display: block;
		width: 100%;
		margin: 12px 0 0;
		padding: 0;
		border: none;
		line-height: 48px;
	}
	
	
	#onenessyoga_movie .one_movie {
		padding: 60px 0;
	}
	#onenessyoga_movie .one_movie_title {
		text-align: center;
	}
	#onenessyoga_movie .one_movie_title span.main {
		display: block;
		margin: 0;
	}
	#onenessyoga_movie .one_movie_title span.number {
		margin: 0 3px;
	}
}
@media screen and (max-width: 430px) {
	
}
@media screen and (max-width: 320px) {
	/*パス*/
	#onenessyoga_movie .one_movie.pass {
		padding: 45px 0 0;
	}
	
	
	#onenessyoga_movie .one_movie {
		padding: 45px 0;
	}
}


/* 受講者の声（共通）
 * *****************************************/

.newarrival_voices {
	padding: 90px 0;
	margin: 0 0 -60px;
	background: #f7f4ec;
	position: relative;
	z-index: 1;
}
.newarrival_voices:before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(images/common/newarrival_voices_bgleft.webp);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: left bottom;
	width: 300px;
	height: 300px;
	z-index: -1;
}
.newarrival_voices:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	background: url(images/common/newarrival_voices_bgright.webp);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: right top;
	width: 300px;
	height: 300px;
	z-index: -1;
}

p.newarrival_voices_title {
	font-weight: bold;
	margin: 0 0 12px;
}
p.newarrival_voices_title span {
	font-weight: normal;
	font-size: .9em;
	margin-right: 3px;
}

.newarrival_voices p.name {
	margin: -1em 0 0 1em;
}

/*徐々に表示するリスト*/
ul.newarrival_voices_list {
	margin: 60px auto;
}
ul.newarrival_voices_list li.target {
	width: 100%;
	margin: 30px auto 0;
	padding: 45px 45px 45px 105px;
	background: #FFF;
	box-shadow: 0 0 14px rgb(102 102 102 / 15%);
	position: relative;
	z-index: 1;
}
ul.newarrival_voices_list li.target:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 45px;
	left: 45px;
	background: url(images/common/newarrival_target_icon.png) no-repeat;
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: right top;
	width: 45px;
	height: 33px;
	z-index: 1;
}
ul.newarrival_voices_list li.target:after {
	content: "VOICE";
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	background: #bc861d;
	color: #FFF;
	font-size: .7em;
	padding: 6px 45px 6px 20px;
}
ul.newarrival_voices_list li.target.is-hidden {
    display: none;
    opacity: 0;
  }
ul.newarrival_voices_list li.target.is-show {
	animation: fadeIn 1s ease;
}
@keyframes fadeIn {
	0% {
		transform: translateY(20px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}
ul.newarrival_voices_list li ol {
	margin: 0 0 1em 2em;
    padding: 0;
    list-style: decimal;
}
button.more_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 60px;
	margin: 20px auto;
	border-radius: 60px;
	background: #FFF;
	color: #BA9747;
	border: 1px solid #BA9747;
}
button.more_btn:hover {
	background: #BA9747;
	color: #FFF;
}
/*徐々に表示するリスト ここまで*/

/*準備中*/
.newarrival_voices_ready {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
}

/*投稿内のリスト*/
ul.newarrival_voices_list li.target ul {
	list-style: disc;
}
ul.newarrival_voices_list li.target ul li {
	margin-top: 18px;
}

@media screen and (max-width: 560px) {
	.newarrival_voices {
		padding: 60px 0;
	}
	ul.newarrival_voices_list {
		margin: 0;
	}
	ul.newarrival_voices_list li.target {
		padding: 60px 45px 45px 45px;
	}
	ul.newarrival_voices_list li.target:before {
		top: 20px;
		left: 50%;
		transform: translateX(-50%);
		width: 32px;
		height: 24px;
	}
	p.newarrival_voices_title {
		margin: 0 0 18px;
	}
}
@media screen and (max-width: 430px) {
	.newarrival_voices:after,
	.newarrival_voices:before {
		width: 240px;
		height: 350px;
	}
	ul.newarrival_voices_list li.target {
		padding: 60px 30px 30px 30px;
	}
}
@media screen and (max-width: 320px) {
	.newarrival_voices {
		padding: 45px 0;
	}
	ul.newarrival_voices_list li.target {
		padding: 60px 20px 20px 20px;
	}
}

/*****************************************
 * フッター
 * ***************************************/

footer {
	padding: 60px 0;
	background: #F7F4EC;
}
footer p.totop {
	    font-size: .8em;
	text-align: center;
}
footer .copyright {
	text-align: center;
	font-size: .8em;
}
footer .copyright a.copyright-bloginfo {
	
}



/* ***************************************
 * developer
 * **************************************/

p.dev {
	text-align: center;
	color: red;
	font-weight: bold;
	font-family: sans-serif;
}


/****************************************
 * ログインユーザー 編集
 * **************************************/

.edit {
	margin-top: 30px;
	text-align: right;
}
.edit .edit_user {
	font-size: 1rem;
	margin: 0;
}
.edit a.editURL {
	font-size: 1.2rem;
	border-bottom: 1px solid;
}



