﻿@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%; }
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

/*----------------------------------------------------------------------------------------------
button:hover
----------------------------------------------------------------------------------------------*/
@-webkit-keyframes hvr-wobble-vertical {
	16.65% { -webkit-transform:translateY(8px); transform:translateY(8px) }
	33.3% { -webkit-transform:translateY(-6px); transform:translateY(-6px) }
	49.95% { -webkit-transform:translateY(4px); transform:translateY(4px) }
	66.6% { -webkit-transform:translateY(-2px); transform:translateY(-2px) }
	83.25% { -webkit-transform:translateY(1px); transform:translateY(1px) }
	100% { -webkit-transform:translateY(0); transform:translateY(0) }
}
@keyframes hvr-wobble-vertical {
	16.65% { -webkit-transform:translateY(8px); transform:translateY(8px) }
	33.3% { -webkit-transform:translateY(-6px); transform:translateY(-6px) }
	49.95% { -webkit-transform:translateY(4px); transform:translateY(4px) }
	66.6% { -webkit-transform:translateY(-2px); transform:translateY(-2px) }
	83.25% { -webkit-transform:translateY(1px); transform:translateY(1px) }
	100% { -webkit-transform:translateY(0); transform:translateY(0) }
}
.hvr-wobble-vertical { display: inline-block; vertical-align: middle; -webkit-transform: translateZ(0); transform: translateZ(0); box-shadow: 0 0 1px rgba(0,0,0,0); -webkit-backface-visibility: hidden; backface-visibility: hidden; -moz-osx-font-smoothing: grayscale }
.hvr-wobble-vertical:active, .hvr-wobble-vertical:focus, .hvr-wobble-vertical:hover { -webkit-animation-name: hvr-wobble-vertical; animation-name: hvr-wobble-vertical; -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; -webkit-animation-iteration-count: 1; animation-iteration-count: 1 }

/*----------------------------------------------------------------------------------------------
reflection
----------------------------------------------------------------------------------------------*/
@keyframes reflection {
	0% { transform:scale(0) rotate(45deg); opacity:0; }
	80% { transform:scale(0) rotate(45deg); opacity:.25; }
	81% { transform:scale(10) rotate(45deg); opacity:.35; }
	100% { transform:scale(75) rotate(45deg); opacity:0; }
}
@-webkit-keyframes reflection {
	0% { -webkit-transform:scale(0) rotate(45deg); opacity:0; }
	80% { -webkit-transform:scale(0) rotate(45deg); opacity:.25; }
	81% { -webkit-transform:scale(10) rotate(45deg); opacity:.35; }
	100% { -webkit-transform:scale(75) rotate(45deg); opacity:0; }
}
@-moz-keyframes reflection {
	0% { -moz-transform:scale(0) rotate(45deg); opacity:0; }
	80% { -moz-transform:scale(0) rotate(45deg); opacity:.25; }
	81% { -moz-transform:scale(10) rotate(45deg); opacity:.35; }
	100% { -moz-transform:scale(75) rotate(45deg); opacity:0; }
}
@-ms-keyframes reflection {
	0% { -ms-transform:scale(0) rotate(45deg); opacity:0; }
	80% { -ms-transform:scale(0) rotate(45deg); opacity:.25; }
	81% { -ms-transform:scale(10) rotate(45deg); opacity:.35; }
	100% { -ms-transform:scale(75) rotate(45deg); opacity:0; }
}
@-o-keyframes reflection {
	0% { -o-transform:scale(0) rotate(45deg); opacity:0; }
	80% { -o-transform:scale(0) rotate(45deg); opacity:.25; }
	81% { -o-transform:scale(10) rotate(45deg); opacity:.35; }
	100% { -o-transform:scale(75) rotate(45deg); opacity:0; }
}
.reflection { position: absolute; top: -180px; left: 0; height: 100%; width: 30px; background-color: #fff; opacity: 0; transform: rotate(45deg); animation: reflection 2s ease-in-out infinite; -webkit-transform: rotate(45deg); -webkit-animation: reflection 2s ease-in-out infinite; -moz-transform: rotate(45deg); -moz-animation: reflection 2s ease-in-out infinite; -ms-transform: rotate(45deg); -ms-animation: reflection 2s ease-in-out infinite; -o-transform: rotate(45deg); -o-animation: reflection 2s ease-in-out infinite; }

/*----------------------------------------------------------------------------------------------
Basic
----------------------------------------------------------------------------------------------*/
html { font-size: 62.5%; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; }
body { margin: 0; color: #3f3f3f; 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); }
#main { width: 964px; padding: 0 0 0; margin: 0 auto; border-left: 2px solid #ccc; border-right: 2px solid #ccc; background: #FFF; }
/* Float / Clearfix */
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom:1; }
.side_photo { float: right; padding: 0 0 2rem 2rem; }
.side_photo2 { float: left; padding: 0 2rem 2rem 0; }
/* PC/SP表示調整 */
.display_pc { display: block!important; }
.display_sp { display: none!important; }
/* font */
.b { font-weight: bold; }
.u { text-decoration: underline; }
.bu { font-weight: bold; text-decoration: underline; }
.rub { font-weight: bold; border-bottom: 2px solid #EB0003; }
.r { color: #d00; }
.blue { color: #171c77; }
.purple { color: #664984; }
.orange { color: #ff5700; }
.gray { background: #eee; }
.text_c { text-align: center; }
.text_r { text-align: right; }
.text_l { text-align: left; }
.xxsmall { font-size: 50%; }
.xsmall { font-size: 80%; }
.small { font-size: 90%; }
.large { font-size: 110%; }
.xlarge { font-size: 130%; }
.xxlarge { font-size: 150%; }
.KG { font-family: "Gothic MB101 Bold", sans-serif; font-weight: bold; -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; }
.img-right { float: right; padding: 0 0 2rem 2rem; max-width: 380px; }
.img-left { float: left; padding: 0 2rem 2rem 0; max-width: 380px; }
h2 + .img-right, h2 + .img-left, h3 + .img-right, h3 + .img-left { margin-top: 1em; }
.caption { max-width: 100%; }
.caption .small { font-size: 80%; }
.img-right img, .img-left img { margin: 0 auto; width: 100%; }
.img-right .caption, .img-left .caption, .img-flex .caption { margin: 0; padding: 10px; font-size: 1.5rem; font-weight: bold; text-align: center; background: #3f3f3f; color: #fff; line-height: 1.3; }
.caption + img { margin-top: 30px; }
.img-right + p, .img-right + p { margin-top: 1em; }
.img-flex-box { width: 270px; }
.letter > p { margin: 1em auto; }
.letter > p + img { margin-top: 2em; }
.letter p { margin: 1.2em auto; }

/*----------------------------------------------------------------------------------------------
section/letter
----------------------------------------------------------------------------------------------*/
.sub-head { padding: 4rem 0 0; margin: 0; text-align: center; font-size: 6rem; letter-spacing: -2px; line-height: 1.2; color: #111; }
.sub-head .small { font-size: 4rem; }
.letter { padding: 3rem 50px; }
.letter img { display: block; max-width: 100%; }

/*----------------------------------------------------------------------------------------------
prihead
----------------------------------------------------------------------------------------------*/
#prihead { z-index: 10; position: fixed; width: 100%; font-size: 2.4rem; font-weight: bold; text-align: center; background: #960000; background: -moz-linear-gradient(left, #960000 0%, #cf0404 50%, #960000 100%); background: -webkit-linear-gradient(left, #960000 0%, #cf0404 50%, #960000 100%); background: linear-gradient(to right, #960000 0%, #cf0404 50%, #960000 100%); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#960000', endColorstr='#960000', GradientType=1); }
#prihead #CDT { width: 960px; padding: 1rem 0; margin: 0 auto; color: #fff; line-height: 1.3; }
#prihead #CDT .count_num { font-family: "Century Gothic", monospace; display: inline-block; padding: 0 .4rem; margin: 0 .4rem; border-radius: 3px; color: #333; font-size: 150%; background: #fff; }

@media all and (-ms-high-contrast:none) { *::-ms-backdrop, #prihead #CDT .count_num { /* IE11 */
padding:1rem .4rem 0; line-height:1; } }

/*----------------------------------------------------------------------------------------------
header
----------------------------------------------------------------------------------------------*/
header { background: url(../img/header6-bg.jpg) bottom; }
header h1 { margin: 0 auto; }

/*----------------------------------------------------------------------------------------------
ブレッド
----------------------------------------------------------------------------------------------*/
/* 共有 */
ul.check, .check2 { margin: 1.5rem 0; }
ul.check li { padding: 0rem 0 1rem 4rem; font-weight: bold; background: url(../img/base/check3.png) 0 .4rem no-repeat; }
ul.check2 li { padding: 0rem 0 1rem 4rem; font-weight: bold; background: url(../img/base/check3b.png) 0 .4rem no-repeat; }
/* 共有 */
ul.bullet1 { margin: 0 0 2rem; }
ul.bullet1 li p { font-size: 2rem; font-weight: normal; padding: 1rem 0 0; margin: 1rem 0 0; border-top: 1px dashed #aaa; }
ul.bullet1 li { padding: 2rem 0 2rem 5rem; margin: 0; border-bottom: 2px dotted #ccc; font-size: 2.8rem; font-weight: 900; background: url(../img/base/check3.png) 1rem 2.4rem no-repeat; }
ul.bullet1 li:nth-child(even) { background-color: #ffffee; }
ul.bullet1 img { margin: 1rem auto; }
.disc-title { margin-top: 50px; }

/*----------------------------------------------------------------------------------------------
voice
----------------------------------------------------------------------------------------------*/
.voice-box { margin: 60px 0 0; background: #fff2f1; }
.voice-title { padding: 30px 0; line-height: 1.2; text-align: center; color: #fff; margin: 0 auto; background: #d71523; position: relative; }
.voice-title h3 { font-size: 5rem; }
.voice-title h3 .small { font-size: 3.5rem; }
.voice-title:after { position: absolute; content: ""; width: 0; height: 0; border-style: solid; border-width: 25px 25px 0 25px; border-color: #d71522 transparent transparent transparent; bottom: -25px; left: 50%; transform: translateX(-50%); }
.voice-intro-left { width: 300px; }
.voice-intro-right { width: calc( 100% - 320px ); }
.voice-name { font-weight: bold; line-height: 1.5; border-bottom: 2px solid #ccc; padding-bottom: 5px; margin-bottom: 20px; }
.voice-txt h4 { display: block; line-height: 1.3; font-size: 3rem; color: #d71523; border-left: 7px solid #d71523; padding: 10px 0 10px 10px; margin: 1.5em 0 0.5em; }
.voice-list { background: url(../img/voice-bg.png)-1px -1px; border: 2px solid #cecece; padding: 10px 20px; margin: 1em 0; }
.voice-list h4 { margin-top: 10px; }
.voice-list .tag li { font-size: 1.8rem; /*font-family: "Gothic MB101 Medium"; */
font-weight: 500; display: inline-block; border: 1px solid; padding: 5px; margin: 0 5px 5px 0; }
.voice-list > ul li { margin: 20px 0; line-height: 1.5; text-indent: -1em; padding-left: 1em; }
.voice-list > ul li:before { content: "■"; }
.voice-notice { text-align: right; font-size: 70%; }

/*----------------------------------------------------------------------------------------------
merit
----------------------------------------------------------------------------------------------*/
.merit dt { border-bottom: 1px dashed #ccc; margin-bottom: 10px; }
.merit dd + dt { margin-top: 30px; }
.merit-num { width: 60px; height: 60px; position: relative; background: #d71523; border-radius: 50px; color: #fff; }
.merit-num span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 4rem; font-weight: bold; }
.merit-title { width: calc(100% - 80px); margin: 0!important; font-weight: bold; font-size: 3rem; line-height: 1.3; }

/*----------------------------------------------------------------------------------------------
profile
----------------------------------------------------------------------------------------------*/
#profile { width: 100%; padding: 30px 0; margin: 0 auto; background: url(../img/profile-bg.jpg) no-repeat center top; -webkit-background-size: cover; background-size: cover; }
.profile-box { width: 58%; }
.profile-sub { font-size: 4.5rem; font-weight: 700; line-height: 1.2; color: #d71523; padding-bottom: 10px; border-bottom: 2px solid; }
.profile-name { padding: 30px 0 20px; }
.profile-name p { font-weight: bold; font-size: 4rem; margin-top: 0!important; line-height: 1.3; letter-spacing: 0.1em; margin: 0; }
.profile-name p.small { font-size: 2rem; }
.profile-txt li { text-indent: -1em; padding-left: 1em; }
.profile-txt li:before { content: "◆"; }
#profile-info h3 { font-size: 3rem; line-height: 1.3; font-weight: bold; border-bottom: 1px solid; }

/*----------------------------------------------------------------------------------------------
tokuten
----------------------------------------------------------------------------------------------*/
#tokuten { margin: 0; }
.tokuten-box { margin: 40px 0; }
.tokuten-title { margin: 0; padding: 30px 0; background: #d71523; color: #fff; text-align: center; line-height: 1.3; font-size: 4rem; }
.tokuten-title .small { font-size: 3rem; }
.tokuten-box + .tokuten-box { margin: 2rem 0 0; }
.tokuten-box .text_c + p { margin-top: 2rem; }
.tokuten-box_contents { padding: 2rem; margin: 0 0 2rem; background: #f7f7f7; }
.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; }

/*----------------------------------------------------------------------------------------------
hosyou
----------------------------------------------------------------------------------------------*/
.hosyou-wrap { display: flex; align-items: center; }
.hosyou-wrap img { flex: 1; width: 100%; height: 100%; max-width: 70%; max-height: 380px; }
.hosyou-wrap p { flex: 1; padding: 1rem; font-size: 1.5rem; line-height: 1.6; }
.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; }
.tsuishin-name2 { margin: 0 auto 30px!important; }

/*----------------------------------------------------------------------------------------------
QA
----------------------------------------------------------------------------------------------*/
#qa { padding: 30px 0; }
#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
----------------------------------------------------------------------------------------------*/
.formWrap { width: 100%; margin: 2rem 0 4rem; }
/* ボタン */
/* 共通 */
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; }
input.btn_submit02 { background: url(../img/base/btn01.gif) no-repeat 0 0; }
input.btn_submit03 { background: url(../img/base/btn03.gif) no-repeat 0 0; }
/* 料金 */
.form { margin: 0 auto 40px; }
.price-box { margin-top: 2rem; }
.price-result { width: 90%; margin: 0 auto; }
.price-result_main { color: #d00; font-size: 7rem; }
.price-result_main img { float: left; width: 120px; padding-right: 2rem }
.price-result_sub { font-size: 5rem; 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; }

/*----------------------------------------------------------------------------------------------
information
----------------------------------------------------------------------------------------------*/
#information .info-wrap { align-items: flex-start; }
#information h3 { font-size: 2rem; text-align: left; border-bottom: 1px solid #ccc; padding: 0 0 5px; margin: 0 0 10px; }
#information .info-item-half { width: 49%; }
#information .info-box { border: 1px solid #ccc; padding: 20px; font-size: 1.5rem; line-height: 1.5; margin: 0 0 30px; }

/*----------------------------------------------------------------------------------------------
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; }

/*----------------------------------------------------------------------------------------------
scfooter
----------------------------------------------------------------------------------------------*/
#scfooter { z-index:1000; position: fixed;bottom: 0px;left: 0px;width: 100%;padding: 0;background: rgba(202, 202, 202, 0.7); }
.scfooter_inner {display: block;width: 100%;border-radius: 20px;margin: 0 auto;text-align: center;}
.scfooter_inner a {text-decoration: none;}
.hvr-wobble-vertical { vertical-align: middle;-webkit-transform: translateZ(0);transform: translateZ(0);-webkit-backface-visibility: hidden;backface-visibility: hidden;-moz-osx-font-smoothing: grayscale;}
.hvr-wobble-vertical:active, .hvr-wobble-vertical:focus, .hvr-wobble-vertical:hover { -webkit-animation-name: hvr-wobble-vertical;animation-name: hvr-wobble-vertical;-webkit-animation-duration: 1s;animation-duration: 1s;-webkit-animation-timing-function: ease-in-out;animation-timing-function: ease-in-out;-webkit-animation-iteration-count: 1;animation-iteration-count: 1;}
.reflection { height : 100%;width : 30px;position : absolute;top : -180px;left : 0px;background-color: #fff;opacity : 0;transform: rotate(45deg);animation: reflection 2.5s ease-in-out infinite;-webkit-transform: rotate(45deg);-webkit-animation: reflection 2.5s ease-in-out infinite;-moz-transform: rotate(45deg);-moz-animation: reflection 2.5s ease-in-out infinite;-ms-transform: rotate(45deg);-ms-animation: reflection 2.5s ease-in-out infinite;-o-transform: rotate(45deg);-o-animation: reflection 2.5s ease-in-out infinite;}
.btn_ft { display: table; margin-left: auto;margin-right: auto;width: 480px;position : relative;overflow : hidden;border-radius: 4px;-webkit-border-radius: 4px;-moz-border-radius: 4px;}
.btn_ft img { border-radius: 4px;-webkit-border-radius: 4px;-moz-border-radius: 4px;}
.btn_ft a { text-decoration: none !important;}
@media screen and (max-width:768px) { .btn_ft { width: 75%;} }
@media screen and (max-width:425px) { .btn_ft { width: 100%;} }
@-webkit-keyframes hvr-wobble-vertical { 16.65% { -webkit-transform: translateY(8px);transform: translateY(8px);} 33.3% { -webkit-transform: translateY(-6px); transform: translateY(-6px);} 49.95% { -webkit-transform: translateY(4px); transform: translateY(4px);} 66.6% { -webkit-transform: translateY(-2px); transform: translateY(-2px);} 83.25% { -webkit-transform: translateY(1px);transform: translateY(1px);} 100% { -webkit-transform: translateY(0); transform: translateY(0);} }
@keyframes hvr-wobble-vertical { 16.65% { -webkit-transform: translateY(8px);transform: translateY(8px);} 33.3% { -webkit-transform: translateY(-6px);transform: translateY(-6px);} 49.95% { -webkit-transform: translateY(4px);transform: translateY(4px);} 66.6% { -webkit-transform: translateY(-2px);transform: translateY(-2px);} 83.25% { -webkit-transform: translateY(1px);transform: translateY(1px);} 100% { -webkit-transform: translateY(0);transform: translateY(0);} }
@keyframes reflection { 0% { transform: scale(0) rotate(45deg);opacity: 0;} 80% { transform: scale(0) rotate(45deg);opacity: 0.25;} 81% { transform: scale(10) rotate(45deg);opacity: 0.35;} 100% { transform: scale(75) rotate(45deg);opacity: 0;} }
@-webkit-keyframes reflection { 0% { -webkit-transform: scale(0) rotate(45deg);opacity: 0;} 80% { -webkit-transform: scale(0) rotate(45deg);opacity: 0.25;} 81% { -webkit-transform: scale(10) rotate(45deg);opacity: 0.35;} 100% { -webkit-transform: scale(75) rotate(45deg);opacity: 0;} }
@-moz-keyframes reflection { 0% { -moz-transform: scale(0) rotate(45deg);opacity: 0;} 80% { -moz-transform: scale(0) rotate(45deg);opacity: 0.25;} 81% { -moz-transform: scale(10) rotate(45deg);opacity: 0.35;} 100% { -moz-transform: scale(75) rotate(45deg);opacity: 0;} } 
@-ms-keyframes reflection { 0% { -ms-transform: scale(0) rotate(45deg);opacity: 0;} 80% { -ms-transform: scale(0) rotate(45deg);opacity: 0.25;} 81% { -ms-transform: scale(10) rotate(45deg);opacity: 0.35;} 100% { -ms-transform: scale(75) rotate(45deg);opacity: 0;} }
@-o-keyframes reflection { 0% { -o-transform: scale(0) rotate(45deg);opacity: 0;} 80% { -o-transform: scale(0) rotate(45deg);opacity: 0.25;} 81% { -o-transform: scale(10) rotate(45deg);opacity: 0.35;} 100% { -o-transform: scale(75) rotate(45deg);opacity: 0;} }


@media screen and (max-width:768px) { .btn_ft { width: 75%; } }

@media screen and (max-width:425px) { .btn_ft { width: 100%; } }

/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【 SP 】
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width:768px) {
	/*----------------------------------------------------------------------------------------------
	basic
	----------------------------------------------------------------------------------------------*/
	body { background: none; font-size: 4.5vw; }
	img { max-width: 100%; }
	/* Float / Clearfix */
	.side_photo { width: 40%; padding: 0 0 1.4rem 1.4rem; }
	.side_photo2 { width: 40%; padding: 0 1.4rem 1.4rem 0; }
	.side_photo.name { width: 100%; }
	.img-right, .img-left { padding: 0 0 2rem; }
	/* PC/SP表示調整 */
	.display_pc { display: none!important; }
	.display_sp { display: block!important; }
	#main { padding: 1rem 0; width: 100%; border: none; }
	.img-flex-box { width: 100%; margin-bottom: 20px; }
	.img-flex-box img { width: 100%; }
	
	/*----------------------------------------------------------------------------------------------
	section/letter
	----------------------------------------------------------------------------------------------*/
	h2.sub-head { width: 100%; padding: 0; margin: 1rem auto; font-size: 7vw; }
	.sub-head .small { font-size: 6vw; }
	h3 { width: 95%; padding: 0; margin: 1rem auto; font-size: 4.5vw; }
	.letter { width: 90%; padding: 0 0 2rem; margin: auto; }
	
	/*----------------------------------------------------------------------------------------------
	prihead
	----------------------------------------------------------------------------------------------*/
	#prihead { font-size: 4.2vw; }
	#prihead #CDT { width: 100%; font-size: 3.6vw; }
	
	/*----------------------------------------------------------------------------------------------
	header
	----------------------------------------------------------------------------------------------*/
	
	/*----------------------------------------------------------------------------------------------
	ブレッド
	----------------------------------------------------------------------------------------------*/
	/* 共有 */
	ul.bullet1 li, ul.bullet2 li { font-size: 5vw; background-size: 8%; line-height: 1.3; }
	/* 固有 */
	ul.bullet1 li { padding: 1.2rem 0 1.2rem 4rem; background-position: 0 1.4rem; }
	ul.bullet1 img { margin: 1rem auto; }
	ul.bullet2 { border-width: 6px; }
	ul.bullet2 li { padding: 1.2rem 1.2rem 1.2rem 4rem; background-position: 1rem 1.4rem; }
	
	.disc-title { margin-top: 30px; margin-bottom: 0; }
	
	/*----------------------------------------------------------------------------------------------
	voice
	----------------------------------------------------------------------------------------------*/
	.voice-box { margin: 30px 0 0; }
	.voice-title { border-top: 3px solid #d71523; border-bottom: 3px solid #d71523; padding: 10px 0; margin: 0 0 25px; font-size: 5.5vw; }
	.voice-title h3 { font-size: 5.5vw; margin: 0rem auto; width: 100%; }
	.voice-title h3 .small { font-size: 4.5vw; }
	.voice-intro.flex { display: block; }
	.voice-intro-left { width: 40%; float: left; margin: 0 1em 1em 0; }
	.voice-intro-right { width: 100%; padding-top: 10px; }
	.voice-name { margin-bottom: 5px; }
	.voice-txt h4 { line-height: 1.3; font-size: 4.5vw; color: #d71523; border-left: 4px solid #d71523; padding: 10px 0 10px 10px; margin: 1em 0 0.5em; }
	.voice-list > ul li { margin: 15px 0; }
	.voice-list .tag li { font-size: 4vw; padding: 3px; }
	.voice-list h4 { font-size: 6vw; }
	
	/*----------------------------------------------------------------------------------------------
	merit
	----------------------------------------------------------------------------------------------*/
	.merit-num { width: 13vw; height: 13vw; font-size: 3.2vw; }
	.merit-title { width: 75vw; font-size: 4.8vw; }
	.merit dd { line-height: 1.5; }
	
	/*----------------------------------------------------------------------------------------------
	profile
	----------------------------------------------------------------------------------------------*/
	#profile { background: #f5f5f5; padding: 4rem 0; }
	.profile-box { width: 100%; }
	.profile-sub { font-size: 7vw; text-align: center; }
	.profile-name p { font-size: 7vw; text-align: center; }
	.profile-name p.small { font-size: 4vw; }
	.profile-txt img { margin-bottom: 20px; }
	#profile-info h3 { font-size: 5vw; margin: 1em 0; }
	
	/*----------------------------------------------------------------------------------------------
	tokuten
	----------------------------------------------------------------------------------------------*/
	.tokuten-box { margin: 20px 0; }
	.tokuten-title { font-size: 5vw; width: 100%; padding: 10px 0; margin-bottom: 10px; }
	.tokuten-title .small { font-size: 4.5vw; margin-bottom: 5px; }
	.product-tokuten h3 { font-size: 5vw; margin: 0; width: 100%; line-height: 1.3; }
	.product-tokuten img { width: 90%; height: auto; margin: 10px auto; }
	.price-table td { line-height: 1.3; }
	.price-table td:nth-child(odd) { font-size: 3.5vw; width: 55%; }
	.price-table td:nth-child(even) { font-size: 5vw;width: 45%; }

	/*----------------------------------------------------------------------------------------------
	hosyou
	----------------------------------------------------------------------------------------------*/
	.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: 1rem; }
	.tsuishin-sub h2 { font-size: 8vw; }
	.tsuishin-sub p { font-size: 5.2vw; }
	.tsuishin-box { padding: 2rem; }
	.tsuishin-box p { font-size: 4vw; background-size: auto 2em; }
	.tsuishin-name { margin: 0 0 0 auto; }
	
	/*----------------------------------------------------------------------------------------------
	QA
	----------------------------------------------------------------------------------------------*/
	#qa h2 { width: 90%; }
	#qa dt { font-size: 5vw; line-height: 1.3; }
	#qa dd { font-size: 4.5vw; margin: 10px 0 20px 2em; }
	
	/*----------------------------------------------------------------------------------------------
	form
	----------------------------------------------------------------------------------------------*/
	.formWrap { margin: 0; }
	/* ボタン */
	input.btn_submit, input.btn_submit02, input.btn_submit03 { width: 100%; height: 22vmin; padding: 0; background-size: 100%; }
	/* 料金 */
	.price-result_main { font-size: 7.5vw; }
	.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; }
	
	/*----------------------------------------------------------------------------------------------
	frame
	----------------------------------------------------------------------------------------------*/
	.frame01, .frame02, .frame03, .frame04 { width: 90%; padding: 2rem; margin: 2rem auto; background-size: 100%; }
	
	/*----------------------------------------------------------------------------------------------
	information
	----------------------------------------------------------------------------------------------*/
	#information .info-item-half { width: 100%; }
	
	/*----------------------------------------------------------------------------------------------
	footer
	----------------------------------------------------------------------------------------------*/
	.footer_logo img { display: block; }
	.footer_txt { padding: 1rem; }
	#footer-wrap { display: block; width: 100%; }
	
	/*----------------------------------------------------------------------------------------------
	scfooter
	----------------------------------------------------------------------------------------------*/
	.scfooter_inner { width: 100%; }
}