@charset "utf-8";
/*----------------------------------------------------------------------------------------------
【記載ルール】
・ブレークポイント、キーフレームでインデント
・不要な半角スペースやタブは削除
・短縮できるものは短縮（例）0.7 → .7、#FFFFFF → ＃FFF
・継承を考え、無駄なプロパティを削除（特にSP）
----------------------------------------------------------------------------------------------*/
/* reset.css*/
article, aside, details, figcaption, figure, footer, header, hgroup, img, menu, nav, section { display: block } a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video { margin: 0; padding: 0; border: 0; font: inherit; vertical-align: baseline } body { line-height: 1 } ol, ul { list-style: none } blockquote, q { quotes: none } blockquote:after, blockquote:before, q:after, q:before { content: ''; content: none } table { border-collapse: collapse; border-spacing: 0 } img { margin: 0 auto; padding: 0; max-width: 100%; vertical-align: bottom; overflow: auto; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

/*----------------------------------------------------------------------------------------------
PC
----------------------------------------------------------------------------------------------*/
/* BASIC */
.pc { display: block!important; }
.sp { display: none!important; }
html { font-size: 62.5%; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; font-weight: 300; }
body { margin: 0; font-size: 2.2rem; line-height: 1.7; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: "palt" 1; background: url(../img/base/bg.jpg); color: #3F3F3F; }
#main { width: 964px; padding: 50px 0; margin: 0 auto; border-left: 2px solid #ccc; border-right: 2px solid #ccc; background: #FFF; }
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom:1; }
.arrow { width: 0; height: 0; border-style: solid; border-width: 50px 100px 0 100px; border-color: #cb3636 transparent transparent transparent; display: block; margin: 2rem auto; }

/* TEXT */
.b { font-weight: bold; }
.u { text-decoration: underline; }
.large { font-size: 120%; }
.xlarge { font-size: 150%; }
.xxlarge { font-size: 180%; }
.small { font-size: 80%; }
.xsmall { font-size: 70%; }
.xxsmall { font-size: 60%; }
.red { color: #cb3736; }
.blue { color: #003673; }
.yellow { color: #fffaa0; }
.mark { background: #fff876; }
.KG { font-family: Gothic MB101 Heavy, sans-serif; font-weight: 800; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; }
.MN { font-family: Reimin Heavy, "A-OTF 黎ミン Pro H", serif; font-weight: 600; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; }
.flex { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; }
.flex-bet { justify-content: space-between; }
.flex-cen { -ms-align-items: center; align-items: center; }
p + img { margin-top: 1em; }
img + p, img + .letter { margin-top: 1em; }
.text-right { text-align: right; }
.text-center { text-align: center; }
.img-right { float: right; padding: 0 0 2rem 2rem; }
.img-left { float: left; padding: 0 2rem 2rem 0; }
.img-right, .img-left { max-width: 280px!important; }
h2 + .img-right, h2 + .img-left, h3 + .img-right, h3 + .img-left { margin-top: 1em; }
.img-right img, .img-left img { margin: 0 auto; width: 100%; }
.img-right img + img, .img-left img + img { margin-top: 2rem; }
.caption { max-width: 100%; margin: 0!important; padding: 1rem; font-size: 1.6rem; font-weight: bold; line-height: 1.3; border-left: 2px solid; color: #222222; }
.caption .small { font-size: 80%; }
.caption + img { margin-top: 3rem; }
.img-right + p, .img-left + p { margin-top: 1rem!important; }
.img-half > div{ width: 48%; padding: 2rem 0; }
.tilt { display: inline-block; transform: rotate(-8deg); padding: 0 0.1em; }
hr { border: none; border-bottom: 2px dashed #ccc; margin: 4rem 0; }

/* COUNTDOWN */
.timer { position: fixed; top: 0; width: 100%; z-index: 1000; }
.timeleft { display: block; }
.timer01 { color: #ffffff; font-size: 22px; background: #2b2b2b; padding: 10px 0; text-align: center; font-weight: bold; line-height: 1.2; font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN,"メイリオ", Meiryo,sans-serif; }
.timer01 .timer_num { font-size: 170%; color: #fff873; font-family: Century Gothic, "Courier New", Courier, "monospace"; }

/* HEADER */
header { background: url("../img/header-bg.jpg")no-repeat center bottom; }

/* SECTION */
section + section { margin-top: 80px; }
.sub-head01 { font-size: 6rem; text-align: center; line-height: 1.2; margin-bottom: 4rem; color: #111; }
.sub-head02 { font-size: 3rem; border-left: 5px solid; padding: 0.5em; margin: 1em 0 0.3em; color: #cb3736; line-height: 1.3; overflow: auto; }
.sub-head02:first-child { margin-top: 0; }
.sub-head03 { font-weight: bold; font-size: 3rem; border-bottom: 2px solid; line-height: 1.3; padding-bottom: 0.3em; margin-bottom: 0.5em; overflow: auto; }
p + .sub-head03, img + .sub-head03 { margin-top: 1em; }
.sub-head04 { text-align: center; font-size: 3rem; }
.subpick { background: url("../img/base/pick01.png")no-repeat 3% bottom, url("../img/base/pick02.png")no-repeat 97% bottom; }
.letter { padding: 0 50px; }
.letter.gray { background: #f5f5f5; margin: 0; padding: 50px; }
.letter-blue { background: #00508A; padding: 2rem 50px; }
.letter + .letter { margin-top: 5rem; }
.letter > p + p { margin-top: 1.5em; }
.box01 { background: #f5f5f5; padding: 30px; margin: 1em 0; }

/* LIST */
.sublist01 { justify-content: center; }
.sublist01 li { font-size: 3rem; padding: 0.2em; margin: 0 0.2em 0.3em; line-height: 1.5; display: inline-block; background: #eee; }
.voice-box03 .voice-title .sublist01 li { background: #920100; }
.voice-box04 .voice-title .sublist01 li { background: #0f5ab3; }
.sublist02 li { font-size: 1.8rem; padding: 0.2em; margin: 0 0.2em 0.3em; line-height: 1.5; display: inline-block; border: 1px solid;}
.list01, .list02, .list03, .list04, .list05, .bullet01 { margin: 1em 0; overflow: auto; }
.list01 li { background: url("../img/base/list01.png") no-repeat left 50%; line-height: 1.3; -webkit-background-size: 1.8em auto; background-size: 1.8em auto; padding: 0.5em 0 0.5em 2em; border-bottom: 1px dashed #ccc; }
.list02 li { background: url("../img/base/list02.png") no-repeat left 50%; line-height: 1.3; -webkit-background-size: 1.8em auto; background-size: 1.8em auto; padding: 0.5em 0 0.5em 2em; border-bottom: 1px dashed #ccc; }
.list01 li:last-child, .list02 li:last-child { border-bottom: none!important; }
.list03 { font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; font-weight: 500; }
.list03 dt { width: 30%; background: #cb3736; color: #fff; font-weight: bold; letter-spacing: 0.2em; padding: 0.3em 0.5em; margin: 0.2em 0; }
.list03 dd { width: 70%; padding: 0.3em 1em; border-bottom: 1px dashed #ccc; font-weight: bold; margin: 0.2em 0; }
.list04 dt { color: #cb3736; font-weight: bold; margin-top: 0.5em; }
.list04 dd { border-bottom: 1px dashed #ccc; font-weight: bold; margin-bottom: 0.5em; padding-left: 1em; }
.list05 li { background: url("../img/base/list03.png") no-repeat left 50%; line-height: 1.3; -webkit-background-size: 1.8em auto; background-size: 1.8em auto; padding: 0.5em 0 0.5em 2em; border-bottom: 1px dashed #ccc; }
.bullet01 li { background: url("../img/base/list02.png") no-repeat left 1em; line-height: 1.4; -webkit-background-size: 1.8em auto; background-size: 1.8em auto; padding: 1em 0 1em 2em; border-bottom: 1px dashed #ccc; font-weight: bold; font-size: 2.5rem; }
.bullet01 li:nth-child(even) { background-color: #f5f5f5; }
.bullet01 p { font-weight: 500; font-size: 2.2rem; margin-top: 0.5em; }

/* VOICE */
.voice-box01, .voice-box02 { background: #f5f5f5; padding: 30px; margin: 5rem 0; }
.voice-box01 .box01, .voice-box02 .box01 { background: #fff; }
.voice-box01 .voice-title { text-align: center; font-size: 4rem; line-height: 1.3; padding-bottom: 0.3em; margin-bottom: 0.5em; }
.voice-box02 .voice-title { font-size: 3.6rem; line-height: 1.3; margin-bottom: 0.5em; }
.voice-box02 .voice-title h3 { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 2px solid #ccc; overflow: auto; }
.voice-box02 .voice-title .small { font-size: 2rem; }
.voice-box03 { background: #fff0f0; }
.voice-box03 + .voice-box03 { margin-top: 8rem; }
.voice-box03 .voice-title { text-align: center; color: #fff; background: #cb3736; padding: 20px 0; position: relative; margin-bottom: 5rem; }
.voice-box03 .voice-title:after { content: ""; position: absolute; width: 0; height: 0; border-style: solid; border-width: 30px 30px 0 30px; border-color: #cb3636 transparent transparent transparent; bottom: -20px; left: 50%; transform: translateX(-50%);}
.voice-box03 .voice-title h3 { font-size: 4rem; line-height: 1.3; }
.voice-box03 .voice-txt { padding: 0 50px 50px; }
.voice-box03 .box01 { background: #fff; }
.voice-box03 .box01 > div > p + p { margin-top: 1.5em; }
.voice-box04 { background: #eafaff; }
.voice-box04 + .voice-box04 { margin-top: 8rem; }
.voice-box04 .voice-title { text-align: center; color: #fff; background: #0a3469; padding: 20px 0; position: relative; margin-bottom: 5rem; }
.voice-box04 .voice-title:after { content: ""; position: absolute; width: 0; height: 0; border-style: solid; border-width: 30px 30px 0 30px; border-color: #0a3469 transparent transparent transparent; bottom: -20px; left: 50%; transform: translateX(-50%);}
.voice-box04 .voice-title h3 { font-size: 4rem; line-height: 1.3; }
.voice-box04 .voice-txt { padding: 0 50px 50px; }
.voice-box04 .box01 { background: #fff; }
.voice-txt > p + p { margin-top: 1.5em; }
.voice-ba { align-items: flex-start; }
.voice-ba img { max-width: 48%; height: auto; margin: 0; }
.voice-before { border: 1px solid #777; padding: 20px; overflow: auto; margin: 2rem 0; }
.voice-before-title { display: table; padding: 0.5em; margin-bottom: 0.5em; background: #777; color: #fff; line-height: 1; }
.voice-after { border: 1px solid #cb3736; padding: 20px; overflow: auto; margin: 2rem 0; color: #cb3736; }
.voice-after-title { display: table; padding: 0.5em; margin-bottom: 0.5em; background: #cb3736; color: #fff; line-height: 1; }
.history { font-size: 1.8rem; overflow: auto; font-weight: bold; margin: 1em 0; }
.history th { padding-right: 1em;}

/* MERIT */
.merit01-box { background: #fff; margin: 3rem 0; padding: 30px; border: 2px solid #66c1dc; border-radius: 10px; }
.merit01-title p { text-align: center; font-weight: bold; color: #00508b; border: 1px solid; padding: 0.2em; }
.merit01-title h3 { text-align: center; font-size: 3.3rem; line-height: 1.3; margin: 0.5em 0 1em; padding-bottom: 0.5em; border-bottom: 1px solid #00508b; }
.merit01-txt > p + p { margin-top: 1.5em; }
.merit02 dt { border-bottom: 1px dashed #ccc; padding-bottom: 1rem; margin-bottom: 1rem; }
.merit02 dd + dt { margin-top: 4rem; }
.merit02-num { width: 60px; height: 60px; position: relative; background: #d71523; border-radius: 50px; color: #fff; }
.merit02-num span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 4rem; font-weight: bold; }
.merit02-title { width: calc(100% - 80px); margin: 0!important; font-weight: bold; font-size: 3rem; line-height: 1.3; }

/* TOKUTEN */
.tokuten-box + .tokuten-box { margin-top: 8rem; }
.tokuten-title { background: url("../img/base/tokuten-bg.jpg"); text-align: center; padding: 30px 0; margin-bottom: 3rem; }
.tokuten-num { display: inline-block; background: #fff; padding: 0.5em; margin-bottom: 1rem; line-height: 1; color: #cb3736; font-weight: bold; }
.tokuten-title .MN { font-size: 3rem; line-height: 1.2; color: #fff; text-shadow: 0 2px 3px rgba(0,0,0,0.3); }
.tokuten-title .KG { font-size: 4rem; line-height: 1.2; color: #fff; text-shadow: 0 2px 3px rgba(0,0,0,0.3); }

/* HOSYOU */
#hosyou .img-left { max-width: 50%!important; }
.hosyou { padding: 30px 0 0; }
.hosyou-item { width: 20%; margin: 0 0 2rem; position: relative; }
.hosyou-item img { margin: 0; }
.hosyou-item:after { position: absolute; content: url(../img/base/arrow.png); right: -40px; top: 70px; }
.hosyou-item:last-child:after { content: ""; }
.hosyou-title { color: #333; text-align: center; line-height: 1.3; }
.hosyou-txt { font-size: 1.3rem; text-align: justify; text-justify: inter-ideograph; line-height: 1.5; }
.hosyou-info { border-top: 1px solid #ccc; padding-top: 15px; }
.hosyou-info li { font-size: 1.3rem; text-indent: -1em; padding-left: 1em; }
.hosyou2-flow_wrap {width:90%; margin: 15px auto 0; font-size: 70%; }
.hosyou2-flow_wrap_box{display: flex;}
.hosyou2-flow_list {margin: 0 auto;flex: 1;}
.hosyou2-flow_list p{padding: 5px 20px;}
.hosyou2-flow_center{border-top:1px solid #BFBFBF; margin: 30px 0;padding:15px 0;}

/*TSUISHIN*/
#tsuishin { padding: 5rem; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; color: #3C3C3C; background: url(../img/base/bg_tsuishin.jpg); }
.tsuishin-sub h2 { margin: 0 auto .5em; font-size: 5rem; line-height: 1.3; }
.tsuishin-sub p { margin: 0 !important; border-bottom: 4px double; font-size: 3rem; line-height: 1.3; background-image: none !important; }
.tsuishin-box { padding: 5rem; box-shadow: 0 3px 10px -2px rgba(0,0,0,.4); background: url(../img/base/bg_tsuishin-box.jpg); }
.tsuishin-box p { margin: 1em 0 0; font-weight: 500; background-image: linear-gradient(#e5d6b6 1px, transparent 1px); background-size: auto 2em; background-position: 0 -3px; font-size: 2.2rem; line-height: 2; }
.tsuishin-name { position: relative; display: block; margin: -200px 0 0 auto; }

/* Q&A */
#qa {}
#qa dt { color: #d71523; font-weight: bold; font-size: 2.5rem; border-bottom: 2px solid; }
#qa dd { line-height: 1.5; font-size: 2rem; margin: 10px 0 30px 2em; }

/* FORM */
.product-tokuten { width: 90%; margin: 20px auto; border: 2px solid #2C3C3F; }
.product-tokuten h3 { background: #2C3C3F; color: #fff; font-weight: bold; padding: 5px; text-align: center; font-size: 3rem; }
.product-tokuten img { margin: 40px auto; }
.price-table { width: 90%; margin: 20px auto; border: 2px solid #2C3C3F; }
.price-table th { background: #2C3C3F; color: #fff; font-weight: bold; padding: 5px; }
.price-table tr:nth-child(2n) { background: #f5f5f5; }
.price-table td { padding: 10px; vertical-align: middle; }
.price-table td .small { font-size: 60%; }
.price-table td:nth-child(odd) { width: 60%; font-size: 1.8rem; }
.price-table td:nth-child(even) { width: 40%; text-align: center; font-size: 2.5rem; border-left: 2px solid #2C3C3F; }
.price-box { margin-top: 2rem; }
.price-result { width: 90%; margin: 0 auto; }
.price-result_main { color: #d00; font-size: 6rem; line-height: 1.3; }
.price-result_main img { float: left; width: 120px; padding-right: 2rem }
.price-result_sub { font-size: 6rem; text-align: right; }
.price-notice { width: 90%; padding: 2rem; margin: 1rem auto 0; background: #eee; box-sizing: border-box; }
.price-notice p { padding-left: 1em; font-size: 2rem; text-indent: -1em; }
input.btn_submit, input.btn_submit02, input.btn_submit03 { cursor: pointer; display: block; width: 700px; height: 160px; margin: auto; border: none; text-indent: -9999px; }
input.btn_submit:hover, input.btn_submit02:hover, input.btn_submit03:hover { opacity: .8; }
input.btn_submit { background: url(../img/base/btn04.png) no-repeat 0 0; }
.formWrap { width: 100%; margin: 2rem 0 4rem; }
#float { position: fixed; bottom: 0; background: rgba(0,0,0,0.5); }
#float button { border: none; background: none; }

/* FOOTER */
footer { background: #ddd; }
.footer_logo img { max-width: 300px; }
.footer_txt { padding: 0 0 0 2rem; font-size: 1.1rem; text-align: left; line-height: 1.9; }
#footer-wrap { display: flex; width: 800px; padding: 2rem 0; margin: 0 auto; font-size: 80%; justify-content: center; }
#footer-wrap li { display: inline-block; padding: 0 1rem 0; border-left: 1px solid #aaa; }
#footer-wrap li:first-child { border: none; padding: 0 1em 0 0; }
#float { display: none; }

@media screen and (max-width: 480px) {
	/* BASIC */
	.pc { display: none!important; }
	.sp { display: block!important; }
	html { font-size: 2vw; font-weight: 400; }
	#main { width: 100%; border: none; padding: 3rem 0; }
	.img-left, .img-right { float: none; padding-right: 0; padding-left: 0; margin: 0 auto; }
	.img-half > div { width: 100%; }
	.caption { font-size: 4vw; }
	.arrow { border-width: 10vw 20vw 0 20vw ; }
	.flex { display: block; }
	p.xlarge { line-height: 1.3; }
	
	/* COUNTDOWN */
	.timer01 { font-size: 3.5vw; padding: 0.5em; }
	.timer_num { font-size: 130%!important; }
	
	/* SECTION */
	section + section { margin-top: 6rem; }
	.letter { padding: 0 5%; }
	.letter-blue { padding: 5%; }
	.letter.gray { padding: 5%; }
	.sub-head01 { font-size: 6.5vw; margin-bottom: 2rem; }
	.sub-head01 img { width: 95%; }
	.sub-head02 { font-size: 5.5vw; font-family: inherit; }
	.sub-head03 { font-size: 2.5rem; }
	.subpick { -webkit-background-size: 6%; background-size: 6%; }
	.sublist01 li { font-size: 5vw; }
	.box01 { padding: 5%; }
	
	/* LIST */
	.list03 dt { width: 50%; margin: 0; }
	.list03 dd { width: 100%; margin: 0 0 2rem; line-height: 1.3; }
	.bullet01 p { display: none; }
	
	/* VOICE */
	.voice-box01, .voice-box02 { padding: 5%; margin: 2rem 0; }
	.voice-box01 .voice-title { font-size: 5.5vw; }
	.voice-box02 .voice-title h3 { font-size: 5.5vw; }
	.voice-box03 + .voice-box03 { margin-top: 5rem; }
	.voice-box03 .voice-title h3 { font-size: 5.5vw; }
	.voice-box03 .voice-txt { padding: 5%; }
	.voice-box04 + .voice-box04 { margin-top: 5rem; }
	.voice-box04 .voice-title h3 { font-size: 5.5vw; }
	.voice-box04 .voice-txt { padding: 5%; }
	.voice-ba img { max-width: 100%; margin: 0 0 1rem; }
	
	/* MERIT */
	.merit01-box { padding: 5%; }
	.merit01-title h3 { font-size: 5.5vw; }
	.merit01-title p { line-height: 1.3; }
	.merit02 .flex { display: -webkit-flex;display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex; }
	.merit02-title { font-size: 5vw; width: calc(100% - 14vw); }
	.merit02-num { width: 12vw; height: 12vw; }
	
	/* TOKUTEN */
	.tokuten-title { padding: 5%; }
	.tokuten-title .MN { font-size: 5vw; }
	.tokuten-title .KG { font-size: 6vw; }
	
	/* HOSYOU */
	#hosyou .img-left { max-width: 100%!important; }
	.hosyou .flex { display: -webkit-flex;display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex; }
	.hosyou-item { width: 46%; }
	.hosyou-item:after { right: -7vw; }
	.hosyou-item:nth-child(2):after { display: none; }
	.hosyou-txt { font-size: 3vw; }
	.hosyou-info li { font-size: 3vw; }
	.hosyou-wrap { display: block; }
	.hosyou-wrap p { padding: 1rem 0; font-size: 4vw; }
	.hosyou2-flow_wrap {width:100%; margin: 0 auto 15px; font-size: 4.5vw; }
	.hosyou2-flow_wrap_box{display: block;}
	.hosyou2-flow_list {margin: 0 auto;flex: 1;}
	.hosyou2-flow_list img {width:80%; margin: 0 auto;flex: 1;}
	.hosyou2-flow_list p{width:95%;padding: 5px 0; text-align: center; margin: 0 0 15px;}
	.hosyou2-flow_center{border-top:1px solid #BFBFBF; margin: 30px 0;padding:15px 0;}
	
	/* TSUISHIN */
	#tsuishin { padding: 5%; }
	.tsuishin-box { padding: 5%; }
	.tsuishin-box .tsuishin-sub p { font-size: 4vw; }
	.tsuishin-name { position: relative; margin: 0; }
	
	/* FORM */
	input.btn_submit { max-width: 100%; }
	.price-table { line-height: 1.3; }
	.price-result_main { font-size: 7vw; }
	.price-result_main img { width: 14vw; padding-right: 1.4rem }
	.price-result_sub { font-size: 5.8vw; }
	.price-notice { padding: 1rem; }
	.price-notice p { font-size: 3.8vw; }
	input.btn_submit, input.btn_submit02, input.btn_submit03 { width: 100%; height: 22vmin; padding: 0; background-size: 100%; }
	
	/* FOOTER */
	.footer_logo img { display: block; }
	.footer_txt { padding: 1rem; }
	#footer-wrap { display: block; width: 100%; }
}


