@charset "UTF-8";

/* ==================================================
   表示制御用ユーティリティクラス
================================================== */
@media screen and (max-width: 767px) {
  .pc-only { display: none !important; }
}
@media screen and (min-width: 768px) {
  .sp-only { display: none !important; }
}

/* ==================================================
   PC用スタイル (min-width: 768px)
================================================== */
@media screen and (min-width: 768px) {
	section.mv { height: 350px; background-repeat: no-repeat; background-position: center center; background-size: cover; }
	section.mv .inner_mv { display: table; width: 100%; height: 100%; }
	section.mv .inner_mv .container { display: table-cell; position: relative; vertical-align: middle; text-align: center; }
	section.mv .inner_mv .container .ttl { font-size: 36px; font-weight: normal; letter-spacing: 2px; color: #FFFFFF; }
	section.mv .inner_mv .container .ttl_sub { height: 12px; margin-top: 12px; }
	section.mv .inner_mv .container .description { font-size: 16px; line-height: 1.8em; letter-spacing: 1px; color: #FFFFFF; margin-top: 1.0em; }
	.ttl { text-align: center; }
	.ttl-copy { color: #333333; font-size: 26px; letter-spacing: 4px; margin-top: 20px; text-align: center; font-weight: normal; }
	.inner_menu { width: 1000px; margin: 0 auto; }
	.inner_othermenu { margin: 0 auto; padding-top: 50px; text-align: center; width: 1000px; }
	.othermenulist { margin-bottom: 60px; margin-top: 45px; overflow: hidden; text-align: left; }
	.othermenulist .title { display: block; line-height: 1.8; }
	.othermenulist li a:hover .title { animation: qa_arrow_on 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
	.othermenulist li { border: 1px solid #bf9c7b; border-radius: 6px; box-sizing: border-box; display: block; float: left; line-height: 1.5; padding: 25px 30px; width: 487px; }
	.othermenulist a { display: block; text-decoration: none; }
	.othermenulist li + li { margin-left: 25px; }
	.othermenulist li.condensed { letter-spacing: -0.1em; }
	section.qa { background-color: #fbf9f5; margin-top: 80px; }
	section.qa .inner_qa { width: 1000px; margin: 0 auto; padding: 60px 0 60px 0; }
	section.qa .inner_qa .ttl { font-size: 26px; font-weight: normal; color: #b39a7a; text-align: center; }
	section.qa .inner_qa .ttl p { margin-bottom: 16px; }
	section.qa .inner_qa .description { font-size: 16px; color: #584e3e; text-align: center; margin-top: 2.0em; }
	.btn:after { background-repeat: no-repeat; content: ''; display: block; position: absolute; top: 50%; }
	.plan-block-header { margin: 60px 0 40px; text-align: center; }
	.plan-block-header h4 { font-size: 18px; letter-spacing: .02em; color: #584e3e; font-family: "YuMincho", "Yu Mincho", YuMincho, "游明朝", "游明朝体", "Hiragino Mincho Pro", "ヒラギノ明朝 Pr6 W6", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-weight: normal; margin-bottom: 15px; }
	.plan-block-header h4 em{ display: block; font-size: 26px; font-family: "YuMincho", "Yu Mincho", YuMincho, "游明朝", "游明朝体", "Hiragino Mincho Pro", "ヒラギノ明朝 Pr6 W6", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-style: normal; margin-top: 15px; }
	.plan-block-header p { font-size: 14px; line-height: 1.85714; }

	section.mv { height: auto !important; padding: 80px 0 10px !important; }
	section.mv .inner_mv{ background: none !important; }
	section.mv .inner_mv .container .ttl{ color:#004EA2 !important; }
	section.mv .inner_mv .container .description{ color:#666666 !important; font-weight: 700 !important; }
	section.menu{ background: #D9E5F1 !important; padding:60px 0; }
	.ttl-copy{ color:#004EA2 !important; }
	.basics{ max-width: 900px; border: solid 1px #004EA2; margin:60px auto 50px; padding:30px 40px; text-align: center; }
	.basics .h2-ttl{ font-size: 27px !important; color:#004EA2 !important; padding-bottom:25px; }
	.basics .h2-ttl-copy{ text-align: left !important; }
	.basics p{ line-height: 1.8em; }
	.newbtn_pink { width: 100%; max-width: 286px; height: 62px; color: #fff; font-size: 15px; line-height: 1.5; text-decoration: none; background: #ec6d81; border-bottom: 5px solid #AB2945; display: flex; justify-content: center; align-items: center; position: relative; transition:all 0.4s; padding-right: 3%; }
	.newbtn_pink::after { content: ""; width: 14px; height: 22px; background: url("/common/img/btn_arrow_white.svg") no-repeat center; background-size: 14px auto; position: absolute; top: 0; right: 5.5%; bottom: 0; margin: auto; }
	.newbtn_pink:hover { opacity: 0.7; }
	.newbtn_pink::before { content: ''; display: block; width: 35px; height: 32px; background: url("/common/img/header_icon_reserve.svg") no-repeat 50%; background-size: auto 32px; margin-right: 0.5em; }
	.inner_menu{ width: 900px !important; }
	.ttl{ color:#666666; }
	.ttl-copy{ margin-bottom:30px; }
	.shindan{ border: solid 1px #004EA2; margin-bottom:30px; }
	.shindan h3{ background: #004EA2; text-align: center; color:#fff; font-weight: 700; font-size: 20px; padding:0.8em; }
	.shindan .inner{ background: #fff; padding:30px 40px 40px; position: relative; }
	.shindan h4{ text-align: center; font-weight: 700; font-size: 18px; line-height: 1.4em; padding-bottom:0.5em; border-bottom:solid 1px #004EA2; margin-bottom:30px; }
	.shindan .flex{ display: flex; flex-wrap:wrap; justify-content: space-between; align-items: center; width: 100%; padding-bottom:0; }
	.shindan .flex2{ display: flex; flex-wrap:wrap; justify-content: space-between; align-items: center; width: 100%; }
	.shindan .flex .price{ font-size: 2.5em; font-weight: 700; color:#004EA2; width:100%; padding-bottom:15px; }
	.shindan .flex .price span{ font-size: 0.7em; }
	.shindan .time{ background: #E7F5FB; width: 50%; padding:5px 15px; text-align:left; font-size: 1em; line-height: 1.4em; }
	.shindan .time span{ font-size: 0.8em; }
	.shindan .chuui{ text-align: center; width: 45%; font-size: 1em; line-height: 1.4em; color:#EC6D81; font-weight: 700; }
	.shindan .flex2 .time{ text-align: center; }
	.shindan .txt1{ width: 100%; line-height: 1.8em; padding-bottom:15px; }
	.shindan .txt2{ font-size: 1.3em; width: 100%; font-weight: 700; line-height: 1.8em; padding-bottom:15px; }
	.main_contents_bottom{ line-height: 1.7em; padding-left: 1em; font-size: 0.9em; }
	section.common__qa{ background: #fff !important; margin:0 !important; color:#666666; padding:50px 0 !important; }
	.qa-title{ font-size: 25px; font-weight: 700; line-height: 1.3em; text-align: center; padding-bottom:30px; }
	section.qa .inner_qa{ width: 900px; }
	section.qa .inner_qa dl{ padding:40px 0; }
	section.qa .inner_qa dl.bg{ background: #FDF0F2; margin:0 -100%; padding:40px 100%; }
	section.qa .inner_qa dl dt{ position: relative; padding:10px 0 10px 40px; font-size: 18px; }
	section.qa .inner_qa dl dt::before{ content: "Q."; color:#EC6D81; font-size: 30px; position: absolute; left: 0; top:0; }
	section.qa .inner_qa dl.bg dt::before{ color:#004EA2; }
	section.qa .inner_qa dl dd{ position: relative; padding:10px 0 10px 40px; line-height: 1.8em; }
	section.qa .btn{ text-align: center; padding-top:60px; }
	section.qa .btn a{ color:#666666; font-size: 18px; text-decoration: underline; }
	.bg1{ background: #DCF1F9; margin:0 !important; padding:60px 0; }
	.inner_othermenu { margin: 0 auto; padding-top: 0; text-align: center; width: 900px; }
	.othermenu .h2-ttl{ background: #004EA2; color:#fff; font-size: 20px; font-weight: 700; padding:0.8em !important; text-align: center; }
	.othermenulist{ display: flex; flex-wrap:wrap; justify-content: space-between; }
	.othermenulist li{ width: 48%; background: #fff; border: none !important; padding:15px !important; border-radius: 0 !important; }
	.othermenulist li .title{ width: 100% !important; border-bottom:solid 1px #004EA2; text-align: center; color:#004EA2 !important; background: none !important; font-size: 20px !important; font-weight: 700 !important; padding-bottom:8px !important; margin-bottom:15px; }
	.othermenulist li p{ min-height: 6em; }
	.othermenulist li .btn{ width: 90%; margin:15px auto 10px; border: solid 2px #004EA2; padding:15px; text-align: center; color:#004EA2; background: url("/common/img/btn_arrow_blue.svg") no-repeat 95% center; background-size: 1em auto; }
	.othermenulist li .btn:hover{ background:#004EA2 url("/common/img/btn_arrow_white.svg") no-repeat 95% center; background-size: 1em auto; color:#fff; }
	body{ width: 100%; overflow-x: hidden; }
	.plan-block-header { margin: 20px 0 40px !important; text-align: center; }
}

/* ==================================================
   SP用スタイル (max-width: 767px)
================================================== */
@media screen and (max-width: 767px) {
	section.menu { background-color: #ebe6dc; }
	section.menu .inner_menu { margin: 0 auto; padding: 0 0 20px 0; }
	section.menu .inner_menu .clm:last-child { margin-bottom: 0; }
	section.menu .inner_menu .clm + .clm { padding-top: 20px; }
	section.menu .inner_menu .clm .ttl { color: #b39a7a; font-size: 1.7em; font-weight: normal; letter-spacing: 2px; padding: 24px 0 0; }
	section.menu .inner_menu .clm .article { width:86%; background-color: #FFF; border-radius: 6px; margin: 26px auto; color:#584e3e; }
	section.menu .inner_menu .clm .article .overview { padding-bottom: 36px; }
	section.menu .inner_menu .clm .article .txt_side, section.menu .inner_menu .clm .article .img_side { display: inline-block; font-size: 14px; vertical-align: top; }
	section.menu .inner_menu .clm .article .txt_side { width: 580px; }
	section.menu .inner_menu .clm .article .img_side { box-sizing: border-box; padding: 26px 40px 0; width: 420px; }
	section.menu .inner_menu .clm .article .img_side img { max-width: 100%; }
	section.menu .inner_menu .clm .article .menu_ttl { border-bottom: 1px solid #ebe6dc; box-sizing: border-box; font-size: 18px; padding: 26px 0 16px 40px; position: relative; }
	section.menu .inner_menu .clm .article .menu_ttl p:first-child { color: #a08769; font-size: 22px; }
	section.menu .inner_menu .clm .article .menu_ttl p:nth-of-type(2) { color: #333333; letter-spacing: 2px; margin-top: 24px; }
	section.menu .inner_menu .clm .article .menu_ttl p:nth-of-type(2) span { font-size: 14px; }
	section.menu .inner_menu .clm .article .menu_ttl p.monopoly, section.menu .inner_menu .clm .article .menu_ttl p.original { background-color: #69c8af; border-radius: 50%; display: table; height: 82px; position: absolute; text-align: center; top: 12px; right: 0; width: 82px; }
	section.menu .inner_menu .clm .article .menu_ttl p.original { background-color: #9f8e6e; }
	section.menu .inner_menu .clm .article .menu_ttl p.monopoly span, section.menu .inner_menu .clm .article .menu_ttl p.original span { color: #FFF; display: table-cell; font-size: 12px; height: 100%; line-height: 1.5; letter-spacing: 1px; vertical-align: middle; }
	section.menu .inner_menu .clm .article .menu_detail { padding: 12px 20px; }
	section.menu .inner_menu .clm .article .menu_detail p { line-height: 1.9; }
	section.menu .inner_menu .clm .article .menu_detail .menu_advantage { background-color: #fbf9f5; border: 1px solid #cccccc; border-radius: 6px; margin-bottom: 8px; margin-top: 13px; padding: 13px 16px; font-size: 0; }
	section.menu .inner_menu .clm .article .menu_detail .menu_advantage p { color: #333333; display: inline-block; font-size: 14px; margin-right: 14px; }
	section.menu .inner_menu .clm .article .menu_detail .menu_advantage p:before { background-color: #c2a783; border-radius: 50%; content: ""; display: inline-block; height: 12px; margin-right: 6px; width: 12px; }
	section.menu .inner_menu .clm .article + .article { margin-top: 15px; }
	p.ttl_sub { margin: 0px auto; padding-top: 10px; width: 42%; }
	section.menu h3 .eiji_ttl { width: 19%; display: block; margin: 0 auto; }
	section.menu h3 .menu_index { text-align: center; display: block; color: #333; font-size: 1.2em; }
	section.menu h3 .menu_index img{ width: 60%; }
	section.menu .article .prevention_menu p { text-align: center; padding: 26px 0; font-size: 1.4em; color: #c2a783; position: relative; font-weight: bold; }
	section.menu .article .prevention_menu > p:after { content: ""; width: 15%; height: 1px; position: absolute; background: #c2a783; bottom: 15px; left: 42%; }
	section.menu .article .prevention_menu img { width: 50%; margin-left: 25%; }
	section.menu .article .prevention_menu img.largeimg { width: 70%; margin-left: 15%; }
	section.menu .article .menu_detail .needtime { background-color: rgb(253, 249, 243); color: #c2a783; padding: 10px 10px 10px 15px; margin: 5px 0; }
	section.menu .article .menu_detail .menu_comment { background-color: #f3e9d2; color: #471311; padding: 10px 10px 10px 15px; margin: 5px 0; }
	section.menu .article .menu_detail .reserve { background-color: #43110f; color: #c2a783; width: 50%; margin: 15px auto 5px; }
	section.menu .article ul { background: #fff; }
	section.menu .article .icon { width: 8%; }
	section.menu .article .txt { font-size: 1.3em; padding-left: 5%; padding-top: 1%; }
	section.menu .article .arrow { width: 16px; padding-top: 5px; }
	section.menu .inner_menu .clm h3.ttl { text-align: center; font-size: 1.5em; letter-spacing: 1px; line-height: 1.5em; }
	section.menu .article .prevention_menu img#big_img { width: 82%; margin-left: 10%; }
	.plan-block-header{ margin: 10.66667vw 0 5.33333vw; }
	.plan-block-header h4 { font-size: 1.45455em; font-family: "YuMincho", "Yu Mincho", YuMincho, "游明朝", "游明朝体", "Hiragino Mincho Pro", "ヒラギノ明朝 Pr6 W6", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; line-height: 1.5; font-weight: normal; letter-spacing: .04em; color: #584e3e; margin-bottom: 1.33333vw; text-align: center; }
	.plan-block-header h4 em { display: block; font-family: "YuMincho", "Yu Mincho", YuMincho, "游明朝", "游明朝体", "Hiragino Mincho Pro", "ヒラギノ明朝 Pr6 W6", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-style: normal; font-size: 1.375em; text-align: center; -webkit-font-feature-settings: 'palt'; font-feature-settings: 'palt'; }
	.plan-block-header p { font-size: 1.27273em; line-height: 1.85714; margin-bottom: 4vw; margin: 0 auto; width: 86%; }

	section.mv{ background: none !important; text-align: center; padding:10vw 0 6vw; }
	section.mv .ttl{ color:#004EA2 !important; font-size: 25px !important; }
	section.menu{ background: #D9E5F1 !important; padding:8vw 4vw; }
	.plan-block-header{ margin:4vw 0 !important; }
	.plan-block-header p{ width: 90%; font-size: 1.1em; }
	.ttl-copy{ color:#004EA2 !important; }
	.ttl{ font-size: 1.1em; color:#666666; text-align: center; padding-bottom:10px; }
	.ttl-copy{ margin-bottom:30px; }
	.basics{ width: 92%; max-width: 900px; border: solid 1px #004EA2; margin:4vw auto 6vw; padding:1.5em; text-align: center; }
	.basics .h2-ttl{ font-size: 21px !important; color:#004EA2 !important; padding-bottom:25px; }
	.basics p{ text-align: left; line-height: 1.8em; }
	.newbtn_pink { width: 100%; max-width: 100%; height: 62px; color: #fff; font-size: 15px; line-height: 1.5; text-decoration: none; background: #ec6d81; border-bottom: 5px solid #AB2945; display: flex; justify-content: center; align-items: center; position: relative; transition:all 0.4s; padding-right: 3%; }
	.newbtn_pink::after { content: ""; width: 14px; height: 22px; background: url("/common/img/btn_arrow_white.svg") no-repeat center; background-size: 14px auto; position: absolute; top: 0; right: 5.5%; bottom: 0; margin: auto; }
	.newbtn_pink:hover { opacity: 0.7; }
	.newbtn_pink::before { content: ''; display: block; width: 35px; height: 32px; background: url("/common/img/header_icon_reserve.svg") no-repeat 50%; background-size: auto 32px; margin-right: 0.5em; }
	.inner_menu{ width: 100% !important; }
	.ttl-copy{ text-align: center; font-size: 25px; margin-bottom:1em; }
	.shindan{ border: solid 1px #004EA2; margin-bottom:15px; }
	.shindan h3{ background: #004EA2; text-align: center; color:#fff; font-weight: 700; font-size: 20px; padding:0.8em; }
	.shindan .inner{ background: #fff; padding:1em; position: relative; }
	.shindan h4{ text-align: center; font-weight: 700; font-size: 18px; line-height: 1.4em; padding-bottom:0.5em; border-bottom:solid 1px #004EA2; margin-bottom:30px; }
	.shindan .flex{ display: flex; flex-wrap:wrap; justify-content: space-between; align-items: center; width: 100%; padding-bottom:0; }
	.shindan .flex .box{ width: 70%; }
	.shindan .flex .price{ font-size: 2em; font-weight: 700; color:#004EA2; width:100%; padding-bottom:15px; }
	.shindan .flex .price span{ font-size: 0.7em; }
	.shindan .time{ background: #E7F5FB; width: 100%; padding:5px 15px; text-align:left; font-size: 1em; line-height: 1.4em; }
	.shindan .time span{ font-size: 0.8em; }
	.shindan .chuui{ text-align: center; width: 100%; font-size: 1.2em; line-height: 1.4em; color:#EC6D81; font-weight: 700; padding-top:0.5em; }
	.shindan .flex2 .time{ text-align: center; }
	.shindan .txt2{ font-size: 1.3em; width: 100%; font-weight: 700; line-height: 1.8em; padding-bottom:15px; }
	.shindan .txt1{ width: 100%; line-height: 1.8em; padding:0 0 1em; }
	.shindan .flex .pic{ width: 26%; }
	.main_contents_bottom { line-height: 1.7em; padding-left: 0; margin: 0 0 -10vw; font-size: 0.9em; }
	section.common__qa{ background: #fff !important; margin:0 !important; color:#666666; padding:9vw 4vw !important; }
	.qa-title{ font-size: 25px; font-weight: 700; line-height: 1.3em; text-align: center; padding-bottom:0.8em; }
	section.qa .inner_qa{ width: 100%; }
	section.qa .inner_qa dl{ padding:7vw 0; }
	section.qa .inner_qa dl.bg{ background: #FDF0F2; margin:0 -4vw; padding:5vw 4vw; }
	section.qa .inner_qa dl dt{ position: relative; padding:0 0 0 1.5rem; font-size: 21px; line-height: 1.6em; }
	section.qa .inner_qa dl dt::before{ content: "Q."; color:#EC6D81; font-size: 1.1rem; position: absolute; left: 0; top:0; }
	section.qa .inner_qa dl.bg dt::before{ color:#004EA2; }
	section.qa .inner_qa dl dd{ position: relative; padding:10px 0 10px 1.5rem; line-height: 1.8em; }
	section.qa .btn{ text-align: center; padding-top:4vw; background: none !important; }
	section.qa .btn a{ background: none !important; color:#666666; font-size: 18px; text-decoration: underline !important; }
	.bg1{ background: #DCF1F9; margin:0 !important; padding:8vw 0; }
	.inner_othermenu { margin: 0 auto; padding-top: 0; text-align: center; width: 92%; }
	.othermenu .h2-ttl{ background: #004EA2; color:#fff; font-size: 16px; font-weight: 700; padding:0.8em !important; text-align: center; }
	.othermenulist{ padding:1em 0; }
	.othermenulist li{ width: 100%; background: #fff; border: none !important; padding:15px !important; border-radius: 0 !important; margin-bottom:1em; }
	.othermenulist li a{ text-decoration: none !important; }
	.othermenulist li .title{ width: 100% !important; border-bottom:solid 1px #004EA2; text-align: center; color:#004EA2 !important; background: none !important; font-size: 20px !important; font-weight: 700 !important; padding-bottom:8px !important; margin-bottom:15px; }
	.othermenulist li p{ min-height: auto; text-align: left; line-height: 1.8em; }
	.othermenulist li .btn{ width: 90%; margin:15px auto 10px; border: solid 2px #004EA2; padding:15px; text-align: center; color:#004EA2; background: url("/common/img/btn_arrow_blue.svg") no-repeat 95% center; background-size: 1em auto; }
	.othermenulist li .btn:hover{ background:#004EA2 url("/common/img/btn_arrow_white.svg") no-repeat 95% center; background-size: 1em auto; color:#fff; }
	body{ width: 100%; overflow-x: hidden; }
}