@charset "utf-8";
/* ===================================================
	Spa CSS
====================================================== */
#contents_wrap section:not(#sec01) { padding: 100px 0; }

.v_rl { writing-mode: vertical-rl; font-feature-settings: "palt" 0;}
.upr/* 縦中横 */ { -webkit-text-combine: horizontal; -ms-text-combine-horizontal: all; -moz-text-combine-upright: all; text-combine-upright: all; }
.cmn_tit_01 { margin-bottom: 20px; }

@media screen and (min-width: 601px) and (max-width: 1340px) {
	.inner_md { width: calc(100% - 140px); }
}
@media screen and (min-width: 601px) {
	#spa #contents_wrap { font-size: 16px; }
	#contents_wrap section h2+p { text-align: center; line-height: 2; }
}
@media screen and (max-width: 600px) {
	#contents_wrap section:not(#sec01) { padding: 10vw 0; }
}


/* ---------------------------------------------------
	#sec01
------------------------------------------------------ */
#sec01 [class^="box_"] { display: flex; }
#sec01 [class^="box_"] .txt .tit { font-size: 30px; color: #7e6b2e; }
#sec01 [class^="box_"] .txt p:not(.tit) { line-height: 2; }
#sec01 .box_1 h2 { order: 2; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; width: 200px; padding-top: 45px; font-size: 40px; color: #7e6b2e; }
#sec01 .box_1 h2 span { display: block; margin-top: -16px; }
#sec01 .box_1 .photo { order: 1; }
#sec01 .box_1 .txt { order: 3; padding-right: calc(50vw - 700px); }
#sec01 .box_1 .txt p:not(.tit) { margin-top: 2em; }
#sec01 .box_2 { flex-direction: row-reverse; margin-top: 80px; }
#sec01 .box_2 .txt p:not(.tit) { margin-top: 1em; }
#sec01 .box_2 .cmn_arrow_link_01 { margin-top: 2em; }
#sec01 .cnav { margin-top: 120px; }

@media screen and (min-width: 601px) {
	#sec01 .box_1 .photo,
	#sec01 .box_1 .txt { width: calc((100% - 200px)/ 2); }
	#sec01 .box_2 .photo { width: calc(100% - 500px); }
	#sec01 .box_2 .txt { width: 500px; padding-right: 90px; }
}
@media screen and (max-width: 1489px) {
	#sec01 .box_1 .txt { padding-right: 3vw; }
}
@media screen and (max-width: 600px) {
	#sec01 .box_1 { flex-wrap: wrap; padding-top: 40px; }
	#sec01 .box_1 h2 { width: 140px; padding-top: 0; font-size: 30px; }
	#sec01 .box_1 .photo { order: 3; width: 100%; max-height: 280px; margin-top: 30px; }
	#sec01 .box_1 .txt { order: 2; width: calc(100% - 140px); padding-right: 0; }
	#sec01 .box_1 .txt p:not(.tit) { margin-top: 0; }
	#sec01 .box_1 .txt p:last-child { margin-top: 1em; padding-right: 3vw; }
	#sec01 .box_2 { flex-direction: column; margin-top: 60px; }
	#sec01 .box_2 .txt { margin-top: 1.5em; }
	#sec01 .cnav { margin-top: 12vw; }
	#sec01 .cnav span { font-size: 15px; }
}
@media screen and (max-width: 400px) {
	#sec01 [class^="box_"] .txt .tit { font-size: 24px; }
	#sec01 [class^="box_"] .txt p:not(.tit) { line-height: 1.8; }
	#sec01 .box_1 h2.v_rl { writing-mode: horizontal-tb; display: block; width: 94%; margin: 0 auto 5vw; font-size: 24px; line-height: 1.3; text-align: center; }
	#sec01 .box_1 h2 span { margin: 0; }
	#sec01 .box_1 .txt { width: 94%; margin: 0 auto; }
	#sec01 .box_1 .txt p:last-child { padding: 0; }
}


/* ---------------------------------------------------
	#sec02
------------------------------------------------------ */
#sec02 { background: url(../img/cmn_bg.jpg); }
#sec02 .cmn_tit_02 { font-size: 32px; }
#sec02 [class^="box"] { display: flex; margin-top: 100px; }
#sec02 [class^="box"] .txt p:not(.tit) { margin-top: .75em; line-height: 2; }
#sec02 .link_exit.bg { margin-top: 2.5em; }
#sec02 .box_rl { flex-wrap: wrap; }
#sec02 .box_rl .cmn_tit_01 { display: flex; align-items: center; justify-content: flex-start; width: 270px; font-size: 30px; }
#sec02 .box_rl .cmn_tit_01::before { margin: 0 auto 15px; }
#sec02 .box_rl .cmn_tit_01 .lg { font-size: 40px; }
#sec02 .box_rl .photo { display: flex; justify-content: space-between; width: calc(100% - 270px); }
#sec02 .point_col { display: flex; justify-content: space-between; width: 100%; margin-top: 50px; }
#sec02 .point_col>div { width: 380px; max-width: calc((100% - 60px)/ 3); padding: 30px 25px 40px; border-radius: 10px; background: #fff; }
#sec02 .point_col dt { font-size: 32px; letter-spacing: .08em; }
#sec02 .point_col dt span { margin-left: .75em; font-size: 16px; color: #7e6b2e; letter-spacing: 0; }
#sec02 .point_col dd { margin-top: .75em; line-height: 2; }
#sec02 .info_col { margin-top: 50px; padding: 35px; border: 1px solid #7e6b2e; text-align: center; }
#sec02 .info_col .tit { font-size: 32px; color: #7e6b2e; }
#sec02 .info_col p:not(.tit) { margin-top: .75em; line-height: 2; }
#sec02 .info_col .cmn_arrow_link_01 { margin: 2em auto 0; }

@media screen and (min-width: 601px) {
	#sec02 .box .photo { width: calc(100% - 500px); }
	#sec02 .box .txt { width: 500px; }
	#sec02 .box:nth-child(odd) .txt { padding-left: 90px; }
	#sec02 .box:nth-child(even) { flex-direction: row-reverse; }
	#sec02 .box:nth-child(even) .txt { padding-right: 90px; }
}
@media screen and (max-width: 600px) {
	#sec02 .cmn_tit_02 { margin-bottom: 0; font-size: 22px; }
	#sec02 [class^="box"] { margin-top: 9vw; }
	#sec02 [class^="box"] .txt { margin-top: 1.5em; }
	#sec02 [class^="box"] .txt p:not(.tit) { line-height: 1.8; }
	#sec02 .box { flex-direction: column; }
	#sec02 .box_rl .cmn_tit_01 { width: 120px; font-size: 24px; line-height: 1.3; }
	#sec02 .box_rl .cmn_tit_01 .lg { font-size: 32px; }
	#sec02 .box_rl .photo { width: calc(100% - 120px); }
	#sec02 .box_rl .photo li { width: 49%; }
	#sec02 .point_col { display: block; margin-top: 6vw; }
	#sec02 .point_col>div { width: 100%; max-width: none; padding: 25px 20px 30px; }
	#sec02 .point_col>div+div { margin-top: 10px; }
	#sec02 .point_col dt { font-size: 24px; }
	#sec02 .point_col dt span { font-size: 13px; }
	#sec02 .point_col dd { line-height: 1.8; }
	#sec02 .info_col { margin-top: 8vw; padding: 30px 6vw; }
	#sec02 .info_col .tit { font-size: 24px; }
	#sec02 .info_col p:not(.tit) { text-align: left; line-height: 1.8; }
	#sec02 .info_col .cmn_arrow_link_01 { margin: 1em auto 0; }
}
@media screen and (max-width: 400px) {
	#sec02 .box_rl { display: block; }
	#sec02 .box_rl .cmn_tit_01 { width: 100%; font-size: 20px; text-align: center; }
	#sec02 .box_rl .cmn_tit_01 .v_rl { writing-mode: horizontal-tb; }
	#sec02 .box_rl .photo { width: 100%; }
}


/* ---------------------------------------------------
	#sec03
------------------------------------------------------ */
#sec03 .cmn_tit_01 { margin-bottom: 50px; }
#sec03 .box { display: flex; }
#sec03 .box .tit { margin-bottom: .5em; font-size: 32px; color: #7e6b2e; }
#sec03 .box .txt p:not(.tit) { line-height: 2;}
#sec03 .box li { padding-left: 17px; text-indent: -17px; }
#sec03 .box li::before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #7e6b2e; }
#sec03 .box li+li { margin-top: .75em; }
#sec03 .box:not(:first-of-type) { margin-top: 80px; }

@media screen and (min-width: 601px) {
	#sec03 .box:nth-of-type(even) { flex-direction: row-reverse; }
	#sec03 .box:nth-of-type(odd) .txt { padding-left: 80px; }
	#sec03 .box:nth-of-type(even) .txt { padding-right: 80px; }
	#sec03 .box:first-of-type .photo { width: calc(100% - 500px); }
	#sec03 .box:first-of-type .txt { width: 500px; }
	#sec03 .box:nth-of-type(2) .photo { width: calc(100% - 600px); }
	#sec03 .box:nth-of-type(2) .txt { width: 600px; }
	#sec03 .box:nth-of-type(3) { justify-content: flex-start; background: #a6915c; }
	#sec03 .box:nth-of-type(3) .tit,
	#sec03 .box:nth-of-type(3) .txt { color: #fff; }
	#sec03 .box:nth-of-type(3) .photo { position: relative; top: -50px; padding-left: 50px; box-sizing: border-box; width: calc(100% - 650px); }
	#sec03 .box:nth-of-type(3) .txt { width: 650px; padding: 45px 80px 60px; }
}
@media screen and (max-width: 600px) {
	#sec03 .cmn_tit_01 { margin-bottom: 6vw; }
	#sec03 .box { flex-direction: column; }
	#sec03 .box .txt { margin-top: 1.5em; }
	#sec03 .box .txt p:not(.tit) { line-height: 1.8;}
	#sec03 .box .tit { font-size: 24px; }
	#sec03 .box li { padding-left: 14px; text-indent: -14px; }
	#sec03 .box li::before { width: 7px; height: 7px; }
	#sec03 .box li+li { margin-top: 0.5em; }
	#sec03 .box:not(:first-of-type) { margin-top: 8vw; }
}


/* ---------------------------------------------------
	#sec04
------------------------------------------------------ */
#sec04 { background: url(../../spa/img/sec04_bg.jpg)no-repeat center/cover; }
#sec04 .cmn_tit_01, #sec04 h3 { color: #fff; }
#sec04 .inner_md { display: flex; }
#sec04 .cmn_tit_01 { justify-content: flex-start; width: 200px; font-size: 42px; }
#sec04 .cmn_tit_01::before { margin: 0 auto 15px; background: url(../../spa/img/ico_tit_w.svg)no-repeat center; }
#sec04 .cmn_outline { flex-wrap: wrap; width: 800px; max-width: 100%; margin-bottom: 25px; border-bottom: none; }
#sec04 .cmn_outline dt,
#sec04 .cmn_outline dd { border-bottom: 1px solid #aaa; box-sizing: border-box; }
#sec04 .cmn_outline dd { background: #fff; }
#sec04 h3 { margin-bottom: 5px; font-size: 26px; }
#sec04 h3::before { content: '■'; }

@media screen and (min-width: 601px) {
	#sec04 .cmn_outline dt { width: 220px; }
	#sec04 .cmn_outline dd { width: calc(100% - 220px); }
}
@media screen and (max-width: 600px) {
	#sec04 .inner_md { display: block; }
	#sec04 .cmn_tit_01 { display: block; width: 100%; text-align: center; font-size: 32px; }
	#sec04 .cmn_tit_01 .v_rl { writing-mode: horizontal-tb; }
	#sec04 .cmn_outline dt { border-bottom: none; }
	#sec04 h3 { font-size: 20px; }
}


/* ---------------------------------------------------
	#sec05
------------------------------------------------------ */
#sec05 { padding: 100px 0 150px!important; background: #f0ead6; }
#sec05 .inner_md { display: flex; justify-content: space-between; flex-wrap: wrap; }
#sec05 h2,
#sec05 h2+p { width: 100%; }
#sec05 .inner_md>dl { margin-top: 30px; background: #fbf8ed; }
#sec05 .inner_md>dl dt { display: flex; align-items: flex-end; color: #a1151a; }
#sec05 .inner_md>dl dd:not(.photo) { margin-top: .75em; }
#sec05 .inner_md>dl:nth-of-type(1) { margin-top: 55px; }
#sec05 .inner_md .grid { display: grid; grid-template-rows: 60px 1fr; grid-template-columns: 470px 1fr; column-gap: 50px; width: 100%; }
#sec05 .inner_md .grid dt { grid-column: 2; grid-row: 1; font-size: 26px;}
#sec05 .inner_md .grid .photo { grid-column: 1; grid-row: 1/3; width: 470px; }
#sec05 .inner_md .grid dd:not(.photo) { grid-column: 2; grid-row: 2; padding: 0 80px 30px 0; line-height: 2;}
#sec05 .inner_md>dl:not(.grid) { display: flex; flex-direction: column; width: 380px; max-width: calc((100% - 60px)/ 3); }
#sec05 .inner_md>dl:not(.grid) dt { order: 2; margin-top: .75em; padding: 0 15px; font-size: 22px; }
#sec05 .inner_md>dl:not(.grid) .photo { order: 1; }
#sec05 .inner_md>dl:not(.grid) dd:not(.photo) { order: 3; padding: 0 20px 30px; line-height: 1.8; }
#sec05 .inner_md>dl:not(.grid) dd:not(.photo) p:last-child { margin-top: 0.75em; text-align: right; }
#sec05 .cmn_arrow_link_01 { width: 240px; height: 60px; margin-left: auto; padding: 13px 25px; }
#sec05 .link_run::before { background: #fbf8ed; }

@media screen and (min-width: 601px) {
	#sec05 .cmn_tit_01 { font-size: 42px; }
}
@media screen and (max-width: 600px) {
	#sec05 { padding: 10vw 0 15vw!important; }
	#sec05 .inner_md>dl { margin-top: 4vw; }
	#sec05 .inner_md>dl:nth-of-type(1) { margin-top: 7vw; }
	#sec05 .inner_md .grid { display: flex; flex-direction: column;}
	#sec05 .inner_md .grid dt,
	#sec05 .inner_md>dl:not(.grid) dt { order: 2; margin-top: 1em; padding: 0 4vw; font-size: 20px; }
	#sec05 .inner_md .grid .photo { order: 1; width: 100%; }
	#sec05 .inner_md .grid dd:not(.photo),
	#sec05 .inner_md>dl:not(.grid) dd:not(.photo) { order: 3; padding: 0 4vw 6vw; line-height: 1.8; }
	#sec05 .inner_md>dl:not(.grid) { width: 100%; max-width: none; }
	#sec05 .cmn_arrow_link_01 { margin: 1em 0 0; }
}
