@charset "UTF-8";
/*
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;700&display=swap');
/* .zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400; font-weight: 700;  どちらか
  font-style: normal;
} */
/*
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;500;900&display=swap');
/* .zen-kaku-gothic-new-light {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300; font-weight: 500; font-weight: 900;
  font-style: normal;
} */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
/* .noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
} */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/* .noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
} */
/*
@import url('https://fonts.googleapis.com/css2?family=Pinyon+Script&display=swap');
/* .pinyon-script-regular {
  font-family: "Pinyon Script", cursive;
  font-weight: 400;
  font-style: normal;
} */
@import url('https://fonts.googleapis.com/css2?family=Alex+Brush&display=swap');
/* .alex-brush-regular {
  font-family: "Alex Brush", cursive;
  font-weight: 400;
  font-style: normal;
} */


/* ---------------------------------------------
 font
--------------------------------------------- */
body,select,input,button,textarea {
    font-size:1.4rem; color:#000;
    font-family:'Noto Sans JP', sans-serif,"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
    font-weight:400;
}


.f_serif { font-family:'Noto Serif JP', serif; }
.f_letterspace { letter-spacing:.3em; margin-left:.3em; }


/* ---------------------------------------------
 text
--------------------------------------------- */
.p + * { margin-top:20px; padding:0; }
.note { font-size:.9em; color:#666; }


.lead { margin:2em auto; width: 100%; max-width: 780px; }
.lead p { font-size:1.6rem; color:#482700; line-height:2; }
.lead p + * { margin-top:2em; }
@media screen and (max-width:767px) {
    .lead { margin:1em auto; max-width:90vw; }
    .lead p { font-size:1.5rem; line-height:1.8; }
    .lead p + * { margin-top:0; }
}

/* ---------------------------------------------
 h
--------------------------------------------- */
h1 { color:#000; font-size:6rem; margin:0 0 1em 0; text-align:center; font-family: "Pinyon Script"; font-weight: 400; font-style: normal; }
h1 span { display: block; font-size: 0.3em; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 800; font-style: normal;}
h2 { color:#000; font-size:5rem; margin:0 0 1em 0; text-align:center; font-family: "Pinyon Script"; font-weight: 400; font-style: normal; }
h2 span { display: block; font-size: 0.3em; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 800; font-style: normal;}
h3 { color:#000; font-weight:600; font-size:2.2rem; margin:2em 0 0.5em 0; font-family:'Noto Sans JP', sans-serif; }
h4 { color:#000; font-weight:bold; font-size:1.8rem; margin-top:2em; }
h5 { color:#333; font-weight:bold; font-size:1.6rem; margin-top:1em; }
@media only screen and (max-width:767px) {
  h1  { font-size:5.0rem; }
}
.h_green { color:#67ad35; font-family:'Noto Sans JP', sans-serif; font-weight: 800; margin-bottom: 5px; }

/* ---------------------------------------------
 a
--------------------------------------------- */
a { color:#654A2E; transition: .2s; text-decoration:none; }
a:hover { transform:translateY(-3px); }

a.link { margin:3px 0; display:inline-block; font-family:'Noto Sans JP', sans-serif; font-weight: 700; font-size: 1.5rem; }
a.link:after { font-family:"Font Awesome 5 Free"; content:'\f061'; font-weight:900; margin-left:5px; }

a.newwin { text-decoration:none; margin-top:0.5em; display:inline-block; font-family:'Noto Sans JP', sans-serif; }
a.newwin:after { font-family:"Font Awesome 5 Free"; content:'\f24d'; font-weight:400; margin-left:5px; }

/* ---------------------------------------------
 btn
--------------------------------------------- */
a.btn { margin:10px auto; width: 200px; display:block; color:#000; text-align:center; text-decoration:none; 
  transition: .2s; background-color:#EEECDD; position:relative; padding:20px 20px; 
  box-shadow:0 0 5px rgba(0, 0, 0, .3); 
  }
a.btn:hover { text-decoration:none;  }
a.btn::after { content:'\f35a'; display:inline-block; margin-left:0.5em; font-family:"Font Awesome 5 Free"; font-weight:900; }

.lp_btn { margin: 0 auto; display: block; text-align: center; }
.lp_btn a { margin:3px; display:inline-block; 
  font-family:'Noto Sans JP', sans-serif; font-weight: 700; font-size: 1.5rem; line-height:2;
  border-radius:50px; padding: 0.2em 1.0em;  margin: 0 auto; 
  box-shadow:0 0 3px rgba(0, 0, 0, .4); 
}
.lp_btn a:after { font-family:"Font Awesome 5 Free"; content:'\f061'; font-weight:900; margin-left:5px; }

.lp_btn_green { margin-top:1em; }
.lp_btn_green a { color: #fff; background-color: #5CB045; }

/* ---------------------------------------------
 list
--------------------------------------------- */
/*.article ul li,*/
ul.list { margin:0em auto 0; padding:1em 0 0 3em; text-align:left; }
ul.list li { list-style-type:none; padding:0 0 .5em 0; margin-left:-2em; }
ul.list li:before { content:"-"; margin:0 0.5em 0 -1em; position:relative; width:1em; }


ul.list1 { margin:0em auto 0; padding:1em 0 0 3em; text-align:left; line-height: 1.8; }
ul.list1 li { list-style-type:none; padding:0 0 .5em 0; margin-left:-2em; }
ul.list1 li:before { content:"・"; margin:0 0.2em 0 -1em; position:relative; width:1em; }


ul.list0 { padding-top:7px; text-align:left; }
ul.list0 li { padding:0 0 7px 12px; line-height:1.5; list-style:none; }


ul.idt { margin-left:1.3em; line-height:1.7;}
ul.idt li { text-indent:-1.3em; text-align:left; padding:0 0 10px; background:none;}
ul.idt li span { font-weight:bold; color:#378; margin-right:2px;}


ol { margin:0 0 20px 1.7em; list-style:decimal outside; }
ol li { padding:0 0 10px 2px; line-height:1.5; }


ol.num { margin:0 auto 20px auto; padding:0 0 0 5rem; list-style:decimal outside; font-size:1.5rem; list-style:none; counter-reset:num; max-width:950px; /*width:100%;*/ }
ol.num li { padding:0 0 10px 0; line-height:1.8; margin-left:-2rem; }
ol.num li:before { counter-increment:num; content:counter(num)"."; color:#666;; font-weight:100; margin:0 1rem 0 -2.2rem; font-size:1.5rem; }
    ul.list2 li ol.num li:before { top:0px; }
ol.num li.num_k:before { counter-increment:num; content:counter(num)"."; color:#333; font-weight:100; margin:0.1rem 1rem 0 -2.2rem; }


ul.inlineblock li { position:relative; display:inline-block; letter-spacing:normal; margin-right:25px; }
ul.inlineblock li img { vertical-align:middle; margin:3px;}


@media only screen and (max-width:767px) {
    ul.list li { max-width:calc(100% + 2em); }
}


/* ------------------------------------
header
------------------------------------ */
#header { width: 100%; margin: 10px auto 30px auto; }
#header .contentsinner { width: 100%; max-width: 1024px; margin: 0 auto; }
#header .head_navi ul { display: flex; align-items:center; justify-content: space-between; }
#header .head_navi ul li.sitelogo { padding-top: 1em; }
#header .head_navi ul li.sitelogo a { color: #000; font-size: 3.0rem; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 300; font-style: normal; }
#header .head_navi ul li.sitelogo a span { color: #333; display: block; font-size: 0.6em; font-weight: 300;font-style: normal;}
#header .head_navi ul li.sns ul li { padding: 0 5px; }
#header .head_navi ul li.onkyo { display: none; }
#header .head_navi ul li a { color: #000; position: relative; transition:0.2s; display:block; text-decoration:none; }
#header .head_navi ul li a:hover { transform:translateY(-3px); }
#header .sitelogo_sp { display: none; }
@media (min-width: 768px) and (max-width: 1024px) {
  #header .head_navi { padding: 0 1%; }
  #header .head_navi ul li.sitelogo a { font-size: 2.4rem; }
  #header .head_navi ul li a { font-size: 1.3rem; }
  #header .head_navi ul li.sns ul li img { width: 20px; }
}
@media screen and (max-width:767px) {
  #header .sitelogo_sp { display: block; margin: 10px 0 0 5%; }
  #header .sitelogo_sp a { color: #000; font-size: 3.0rem; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 300; font-style: normal; }
  #header .sitelogo_sp a span { color: #333; display: block; font-size: 1.8rem; font-weight: 300;font-style: normal;}
  #header .head_navi>ul { display: block; font-size: 1.7rem; }
  #header .head_navi ul li { padding: 0.5em 5%; text-align: center; }
  #header .head_navi ul li.sitelogo { display: none; }
  #header .head_navi ul li.sns ul { justify-content:space-around; padding: 1em; }
  #header .head_navi ul li.sns ul li img { width: 30px; }
  #header .head_navi ul li.onkyo { display: block; }
  #header .head_navi ul li.onkyo img { width: 90%; max-width: 250px; margin: 0 auto; display: block; }
}


.hamburger-menu { display: block; position: static; width: 100%; z-index:1100; }
#menu__toggle,
.menu__btn { display: none; }
.menu__box { position: static; width: 100%; }
@media only screen and (max-width:767px) {
  .hamburger-menu { display: block; position: fixed; top: 15px; right: 15px; width: 50px; height: 50px; z-index:1100; }
  #menu__toggle { opacity: 0; overflow: hidden; position:absolute; }
  #menu__toggle.open + .menu__btn > span { transform: rotate(45deg);}
  #menu__toggle.open + .menu__btn > span::before { top: 0; transform: rotate(0deg); }
  #menu__toggle.open + .menu__btn > span::after { top: 0; transform: rotate(90deg); }
  #menu__toggle.open ~ .menu__box { right: 0 !important; }
  #menu__toggle.open ~ .menu__btn { background: #f6f6f6; }
  #menu__toggle:checked + .menu__btn > span { transform: rotate(45deg);}
  #menu__toggle:checked + .menu__btn > span::before { top: 0; transform: rotate(0deg); }
  #menu__toggle:checked + .menu__btn > span::after { top: 0; transform: rotate(90deg); }
  #menu__toggle:checked ~ .menu__box { right: 0 !important; }
  #menu__toggle:checked ~ .menu__btn { background: #f6f6f6; }
  .menu__btn { top: 0px; right: 0px; position:relative; width: 50px; height: 50px; display:block; cursor: pointer; z-index: 3000; border: none; background: rgb(255, 255, 255, 0.5); padding: 5px;  border-radius: 3px; transition:transform .1s; }
  .menu__btn:hover { transform:scale(.95); }
  .menu__btn > span,
  .menu__btn > span::before,
  .menu__btn > span::after { display: block; position: absolute; width: 40px; top: 24px; height:2px; border-radius:2px; background-color: #111; transition-duration: .25s; }
  .menu__btn > span::before { content: ''; top: -15px; }
  .menu__btn > span::after { content: ''; top: 15px; }
  .menu__box { display: block; position: fixed; top: 0; right: -100%; width: 250px; height: 100%; margin: 0; padding: 80px 0; list-style: none; background-color: #F9F9F5; box-shadow: 2px 2px 5px rgba(0, 0, 0, .4); transition-duration: .25s; z-index: 1000; }
}


/* ------------------------------------
mainv_area
------------------------------------ */
.mainv_area { position: relative; padding: 30px 0; /* display: inline-block; */ }
.mainv_area .mainv_bg { display: block; width: 100%; /* max-width: 100%; */ height: auto; margin: 0 auto; }
.mainv_area .mainv { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; height: 100%; }
.main_catch { text-align: center; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-style: normal; padding:0 0 50px 0; }
.main_catch .h { font-weight: 400; font-size: 2.5rem; padding: 0 0 10px 0; }
.main_catch .h::first-letter { font-size: 2.0em; }
.main_catch p { font-weight: 200; font-size: 1.5rem; padding-bottom: 20px; }
@media only screen and (max-width:767px) {
  .main_catch { padding:0 5% 50px 5%; }
  .main_catch .h { font-size: 2.2rem; }
}

/* ------------------------------------
  footer
------------------------------------ */
footer { padding:0; margin:0; position: relative; color: #392613; }
footer a { text-decoration:none; }


footer .foot { background:#F9F9F5; padding: 30px 0; }
footer .foot .contentsinner { max-width: 1024px; width: 100%; margin: 0 auto; }
footer .foot .contentsinner ul.link_sns { display:flex; margin: 0 auto 20px auto; justify-content: center; }
footer .foot .contentsinner ul.link_sns li { margin: 0 10px; }
footer .foot .contentsinner ul.link_sns li a { position: relative; transition:0.2s; display:block; text-decoration:none; }
footer .foot .contentsinner ul.link_sns li a:hover { transform:translateY(-3px); }
footer .foot .contentsinner ul.links { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom: 20px; }
footer .foot .contentsinner ul.links li { }
footer .foot .contentsinner ul.links li a { position: relative; transition:0.2s; display:block; text-decoration:none; }
footer .foot .contentsinner ul.links li a:hover { transform:translateY(-3px); }
footer .foot .contentsinner ul.links li.onkyo img { width: 100px; }
footer .foot .contentsinner #copyright { display:block; font-size: 1.3rem; text-align: center; }
@media (min-width: 768px) and (max-width: 1024px) {
  footer .foot .contentsinner ul.links { justify-content:space-around; font-size: 1.3rem; }
}
@media only screen and (max-width:767px) {
  footer .foot { padding: 20px 5%; font-size: 1.3rem; }
  footer .foot .contentsinner { margin: 0 auto; display:block; text-align: center; }
  footer .foot .contentsinner ul.link_sns { margin: 0 auto 10px auto; }
  footer .foot .contentsinner ul.links { display: none; }
}




/*トップへ戻るボタン*/
.topBtn { transition: none; /*aタグにtransitionを使っている場合入れる*/
  position:fixed; /*固定*/
  bottom:10px; /*場所を右下に移動*/
  right:10px; /*場所を右下に移動*/
  display:block; /*aタグをblock要素に変更*/
  width: 50px; height: 50px; background: #F9F9F5; border-radius: 50%;
  z-index:1000; }
.topBtn:before {
  font-family: "Font Awesome 5 Free"; content: '\f077'; font-weight: 900; font-size: 25px; color: #654A2E; position: absolute; width: 25px; height: 25px; top: -3px; bottom: 0; right: 0; left: 0; margin: auto; text-align: center;}
.topBtn:hover { opacity:1.0; background: #eeeedf; transform: none; /*aタグにtransitionを使っている場合入れる*/ }
@media only screen and (max-width: 767px) {
    .topBtn:hover { background: #eeeedf; }
}


/* ---------------------------------------------
  LP
--------------------------------------------- */
.contentsinner {  width:1024px; max-width:95vw; }

.slider { padding: 0; }
.slider .slick-slide { margin: 0px; padding: 0; }
.slider .slick-slide img { width: 100%; height: 650px; object-fit: cover; object-position: top; }

body.lp { background-color:#fafaf7; margin:0; }

body.lp #header { margin: 0px auto 0px auto; }
body.lp #header .mainv_h { position: relative; }
body.lp #header .frm_bl { position: absolute; background-color: rgb(0, 0, 0, 0.7); width: 620px; height: 260px; top: 0; right: 0; bottom: 0; left: 0; margin: auto; }
body.lp #header .frm_bl h1 { font-size: 2.8rem; color: #fff; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
body.lp #header .frm_bl h1 span { font-family: "Alex Brush", cursive; font-weight: 400; font-style: normal; font-size: 0.6em; padding-top: 10px;}
body.lp #header .frm_bl .cap { font-size: 1.3rem; color: #000; background-color:#fff; width: 200px; padding: 0.2em 0.5em; text-align: center; margin: 75px auto 10px auto; border-radius: 20px; }
.lp_catch { background-image: linear-gradient(0deg, #fafaf7, #e6e4e0); }
.lp_catch .contentsinner { margin: 0 auto; padding: 50px 0; }
.lp_catch .contentsinner h2 { color: #654A2E; font-size: 2.5rem; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; margin: 0 ; padding: 0 0 10px 0; }
.lp_catch .contentsinner .catch2 { color: #654A2E; font-size: 1.6rem; text-align: center; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; padding: 0 0 30px 0; }
.lp_catch .contentsinner p { color: #444; font-size: 1.5rem; max-width: 700px; width: 100%; margin: 0 auto; }
@media only screen and (max-width:767px) {
  .slider .slick-slide img { height: 70vw; }
  body.lp #header .frm_bl { width:100%; height: fit-content; padding: 20px 5vw; }
  body.lp #header .frm_bl .cap { font-size: 1.3rem; margin: 10px auto 10px auto; border-radius: 20px; }
  body.lp #header .frm_bl h1 { font-size: 2.2rem; }
  .lp_catch .contentsinner { max-width: 90vw; margin: 0 auto; padding: 30px 0; }
  .lp_catch .contentsinner h2 { font-size: 2.0rem; }
  .lp_catch .contentsinner .catch2 { font-size: 1.5rem; }
}


.exp_area { margin-bottom: 50px; }
  .exp_area:after { content:""; display:table; clear:both; }
.exp_area .contentsinner { margin: 0 auto; padding: 50px 0; }
.exp_area .left_img { width: 400px; float: left; }
.exp_area .right_img { width: 400px;  float: right;}
.exp_area .left_img img,
.exp_area .right_img img { width: 400px; }
.exp_area .left_txt { width:calc(100% - 430px); float: left; padding-right: 20px; }
.exp_area .right_txt { width:calc(100% - 430px); float: right; padding-left: 20px; }
.exp_area h3 { margin: 0; padding:20px 0 20px 0; color: #654A2E; font-size: 3.6rem; font-weight: 200; }
.exp_area p { font-size:1.5rem; color: #444; padding: 0 0 30px 0; }
.exp_area .lp_btn a { margin:3px 0; display:inline-block; font-family:'Noto Sans JP', sans-serif; font-weight: 700; font-size: 1.5rem; background-color: #EEECDD; border-radius: 20px; padding: 0.2em 2.0em; }
.exp_area .lp_btn a:after { font-family:"Font Awesome 5 Free"; content:'\f061'; font-weight:900; margin-left:5px; }
@media only screen and (max-width:767px) {
  .exp_area { margin-bottom: 0px; }
  .exp_area .contentsinner { max-width: 90vw; margin: 0 auto; padding: 30px 0; }
  .exp_area .left_img { max-width: 400px; width: 100%; float: none; }
  .exp_area .right_img { max-width: 400px; width: 100%;  float: none;}
  .exp_area .left_img img,
  .exp_area .right_img img { width: 100%; }
  .exp_area .left_txt { width:100%; float: none; padding-right: 0px; }
  .exp_area .right_txt { width:100%; float: none; padding-left: 0px; }
  .exp_area h3 { font-size: 2.8rem; }
}


.custom { text-align: center; }
.custom .contentsinner {  margin: 0 auto; padding: 50px 0; }
.custom h3 { margin: 0; padding:20px 0 20px 0; color: #654A2E; font-size: 3.6rem; font-weight: 200; }
.custom p { font-size:1.5rem; color: #444; padding: 0 0 10px 0; }
.custom p.caution { font-size:1.3rem; padding: 0 0 40px 0; }
.custom_cols3 { display: flex; justify-content:space-between; margin: 0 0 30px 0; }
.custom_cols3 .item { text-align: center; }
.custom_cols3 .item h4 { font-size: 6.0rem; color: #654A2E; font-family: "Alex Brush", cursive; font-weight: 400; font-style: normal; position: relative; margin: 0; }
.custom_cols3 .item h4 span { position: absolute; font-size: 1.3rem; display: block; width: 150px; font-family:'Noto Sans JP', sans-serif; font-weight: 700; right: 0; left: 0; margin: 0 auto; }
.custom_cols3 .item h4 span.elegant { left: 30px; }
.custom_cols3 .item h4 span.modern { right: -35px; }
.custom_cols3 .item h4 span.fairy { left: -50px; }
.custom_cols3 .item p { color: #654A2E; font-size: 1.3rem; font-weight: 600; line-height: 1.4; }
.custom_cols3 .item img { border: 1px solid #ddd; }
.custom_cols3 .item .lp_btn { margin-top:-20px; }
@media only screen and (max-width:767px) {
  .custom .contentsinner { max-width: 90vw; padding: 30px 0; }
  .custom h3 { font-size: 2.8rem; }
  .custom_cols3 { display: block; }
  .custom_cols3 .item { margin-bottom: 30px; }
  .custom_cols3 .item img { width: 100%; max-width: 300px; }
}

.plan { text-align: center; background-color: #F0F0E8;  }
.plan .contentsinner { width:960px; margin: 0 auto; padding: 50px 0; }
.plan h3 { margin: 0; padding:20px 0 20px 0; color: #654A2E; font-size:3.6rem; font-weight: 200; }
.plan p { font-size:1.8rem; color: #444; padding: 0 0 10px 0; }
.plan_cols3 { display: flex; justify-content:space-between; margin:50px 0 10px; }
.plan_cols3 .box { text-align: center; width:350px; font-size:1.6rem; }
.plan_cols3 .box .box_h { background-color: #fff; border-radius: 20px 20px 0 0; border: 1px solid #ddd; position:relative; }

.plan_cols3 .box .box_h .fukidashi { color:#ca0; text-align: center; font-size:1.8rem; font-weight:600; 
  position: absolute; top: -35px; right: 0; left: 0; margin: 0 auto; } /* #B4940D */
.plan_cols3 .box .box_h .fukidashi:before,
.plan_cols3 .box .box_h .fukidashi:after { display: inline-block; content: ""; background:#ca0;/* 斜め線の色 */ width: 2px;/* 斜め線の太さ */ height: 1.5em;/* 斜め線の長さ */ 
  margin: 0 1em;/* テキストとの間に左右余白をつくる */ margin-top: 0em;/* 斜め線の位置調整 */ vertical-align: middle; } /* #B4940D */
.plan_cols3 .box .box_h .fukidashi:before { transform: rotate(-35deg);/* 角度調整 */ }
.plan_cols3 .box .box_h .fukidashi:after { transform: rotate(35deg);/* 角度調整 */ }

.plan_cols3 .box.light .box_h { background-image: linear-gradient(0deg, #7cd, #7ab); } /* #5bd7eb, #1a9aa8 */
.plan_cols3 .box.standard .box_h { background-image: linear-gradient(0deg, #d0d867, #b48109); }
.plan_cols3 .box.master .box_h { background-image: linear-gradient(0deg, #cac, #b9b); } /* #c58ea9, #8e527c */
.plan_cols3 .box .box_h h4 { color: #fff; margin: 10px 10px; font-size:2.2rem; line-height:1.2; }
.plan_cols3 .box .box_h h4 div { display: block; position: relative; font-size:4.2rem; margin-bottom: 10px; font-family:'Noto Sans JP', sans-serif; font-weight: 800; }
.plan_cols3 .box .box_h h4 div::after { content: ''; width: 30px; height: 3px; display: inline-block; 
  background-color: rgb(255, 255, 255, 0.8); position: absolute; bottom:-7px; left: calc(50% - 15px); }
.plan_cols3 .box .box_f { /* position: relative; */ background-color: #fff; padding: 1em 2.0em 0.2em 2.0em; text-align: left; 
  border-radius: 0 0 20px 20px; border-right: 1px solid #ddd; border-left: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.plan_cols3 .box .box_f .lead { font-weight: 700; margin: 0.5em auto 1em auto; }
.plan_cols3 .box.light .box_f .lead { color: #7ab; } /*#1D9DAB*/
.plan_cols3 .box.standard .box_f .lead { color: #ca0; } /* #B4940D */
.plan_cols3 .box.master .box_f .lead {  color: #b9b; } /* #BB5F9F */
.plan_cols3 .box .box_f .spec_list li { padding: 0 0 10px 0; margin: 0; }
.plan_cols3 .box .box_f .spec_list li sup { transform:translateY(2px); display: inline-block; }
.plan_cols3 .box .box_f .spec_list li.off { color: #aaa; }
.plan_cols3 .box .box_f .spec_list li span { display: inline-block; padding-right: 5px; }
.plan_cols3 .box .box_f .spec_list li span.num { margin-left: 5px; color: #5CB045; font-weight: 700; font-style: normal; font-size: 2.8rem; vertical-align: sub; }

.plan_cols3 .box .box_f .lp_btn { transform:translateY(15px);}
.plan_cols3 .box .box_f .lp_btn a { background:#67ad35; color:#fff; line-height:3; }

@media only screen and (max-width:767px) {
  .plan .contentsinner { width: 90vw; margin: 0 auto; padding: 30px 0; }
  .plan h3 { font-size: 2.8rem; }
  .plan_cols3 { display: block; margin: 30px 0; }
  .plan_cols3 .box { margin: 0 auto 50px auto; }
}
.box.light,
.box.master { transform:scale(.85) translateY(0px); }
.box.light .spec_list,
.box.master .spec_list { color:#666; }
.box.standard .spec_list { color:#000; }
.box.standard .box_h { box-shadow:0 -1px 5px rgba(0, 0, 0, .4); }
.box.standard .box_f { box-shadow:0px 1px 5px rgba(0, 0, 0, .4); }

.price_area { margin-right:-42px; margin-left:25px; text-align: right; padding: 1em 0 0; }
.price_area .price { line-height: 0; }
.price_area .price .price-box { line-height: 1.4; background-color: #7ab; color: #fff; 
  margin:0; padding: 0; clip-path: polygon(100% 100%, 0% 100%, 5% 0, 100% 0); padding: 0.5em 1.5em; 
  font-family:'Noto Sans JP', sans-serif; font-weight: 900; font-size: 2.8rem; text-align: left; }
   /*#1D9DAB*/
.price_area .price .price-box span { font-size: 1.3rem; }
.price_area .price .price-box-shdw { border-color: #0D6A74 #F0F0E8 #F0F0E8 #0D6A74; border-style: solid; border-width: 0 0 10px 10px; margin:0 0 0 auto; display: inline-block; }
.price_area .price .price-box .xline { color: rgb(255, 255, 255, 0.5); font-size: 1.3rem; }
.price_area .price .price-box .xline span { font-size: 2.4rem; text-decoration:line-through; }
.plan_cols3 .box.standard .price_area .price .price-box { background-color: #ca0; } /* #B4940D */
.plan_cols3 .box.master .price_area .price .price-box { background-color: #b9b; } /* #BB5F9F */
.plan_cols3 .box.standard .price_area .price .price-box-shdw { border-color: #8F6C49 #F0F0E8 #F0F0E8 #8F6C49; }
.plan_cols3 .box.master .price_area .price .price-box-shdw { border-color: #7A1D5E #F0F0E8 #F0F0E8 #7A1D5E; }

.follow_area .contentsinner { width:960px; margin: 0 auto; padding: 50px 0; }
.follow_area .contentsinner h3 { margin: 0; padding:20px 0 20px 0; color: #654A2E; font-size: 3.6rem; font-weight: 200; }
.follow_area .contentsinner h4 { margin-bottom: 10px; font-size: 2.0rem; }
.follow_area .contentsinner p { font-size: 1.5rem; margin-bottom: 20px; }
@media only screen and (max-width:767px) {
  .follow_area .contentsinner { max-width:90vw; margin: 0 auto; padding: 30px 0; }
  .follow_area .contentsinner h3 { font-size: 2.8rem; }
  .follow_area .contentsinner h4 { font-size: 1.8rem; margin-top: 1em; }
}

.table-scroll { overflow-x: auto; }
.table_follow { border-collapse: collapse; table-layout: fixed; width:100%; min-width: 700px; text-align: center; margin: 50px 0 10px 0; }
.table_follow thead th { font-size: 1.5rem; border-radius: 15px 15px 0 0; padding: 0.5em; color: #fff; position: relative; }
.table_follow thead th:first-child { background: none; }
.table_follow thead th:nth-child(2) { background: #ab9; font-size:1.3rem; } /* #6CB756 */
.table_follow thead th:nth-child(2) span { font-size:1.1rem; } 
.table_follow thead th:nth-child(4) { background-color: #3bc; font-size:1.3em; 
  width:290px; position: relative; padding:10px 0 0; transform:translateY(-10px); } /* #4AA4BB */
.table_follow thead th:nth-child(4):after { content:''; display:block; width:100%; height:10px; 
  background:#3bc; position:absolute; bottom:-10px; left:0; }
.table_follow thead th:nth-child(6) span { font-size:1.1rem; } 
.table_follow thead th:nth-child(6) { background-color: #78a; font-size:1.3rem; } /* #6276B8 */
.table_follow thead th:nth-child(3),
.table_follow thead th:nth-child(5) { width: 3px; padding: 0; }
.table_follow thead th .fukidashi { color: #4AA4BB; text-align: center; font-size:1.9rem; 
  position: absolute; top:-35px; right: 0; left: 0; margin: 0 auto; }
.table_follow thead th .fukidashi:before,
.table_follow thead th .fukidashi:after { display: inline-block; content: ""; background: #4AA4BB;/* 斜め線の色 */ width: 2px;/* 斜め線の太さ */ height: 1.5em;/* 斜め線の長さ */ margin: 0 1em;/* テキストとの間に左右余白をつくる */ margin-top: 0em;/* 斜め線の位置調整 */ vertical-align: middle; }
.table_follow thead th .fukidashi:before { transform: rotate(-35deg);/* 角度調整 */ }
.table_follow thead th .fukidashi:after { transform: rotate(35deg);/* 角度調整 */ }
.table_follow thead th { font-size: 1.6rem; font-weight: 800; text-align: center; }
.table_follow thead th span { font-size: 0.7em; display: block; }
.table_follow tbody { border: 1px solid #ccc; }
.table_follow tbody th { font-weight: 800; }
.table_follow tbody th span { font-size: 0.8em;}
.table_follow tbody tr { background-color: #f6f5ee; }
.table_follow tbody tr:nth-child(even) { background-color: #fff; }
.table_follow tbody td { border-left:1px solid #ccc; border-right:1px solid #ccc; padding:0.8em 0.3em; }
.table_follow tbody td:nth-child(4) { font-weight:bold; font-size:1.2em; color:#0ac; }
.table_follow tbody td.off { color: #aaa; }
.table_follow tbody td.option { color: #aaa; }
.table_follow tbody td.price { font-size:2.0rem; font-weight: 800; }
.table_follow tbody td.price:nth-child(4) { font-size:2.8rem; }
.table_follow tbody td.price span { display:inline-block; font-size:1.3rem; margin-left:.2em; }
.table_follow th,
.table_follow td { padding:0.8em 1em; }


.flow_area { background-color: #F0F0E8; }
.flow_area .contentsinner { margin: 0 auto; padding: 50px 0; }
.flow_area .contentsinner h3 { margin: 0; padding:20px 0 20px 0; color: #654A2E; font-size: 3.6rem; font-weight: 200; }
.flow_area .contentsinner p { font-size: 1.5rem; margin-bottom:20px; }
.flow_area .flow { margin:0; display:flex; justify-content:space-between; }
  .flow_area .flow:after { content:""; display:table; clear:both; }
.flow_area .flow .flow_img { float: left; width:min(300px,90vw); margin-top:20px; margin-left:min(30px,2vw); margin-right:min(30px,2vw); }
  .flow_area .flow .flow_img div:after { content:""; display:table; clear:both; }
.flow_area .flow .flow_img div { display: flex; }
.flow_area .flow .flow_img div div img.gray { margin-left: 50px; }
.flow_area .flow .flow_img div div img.lft_mr20 { margin-right: 10px; float: left; }
.flow_area .flow .flow_img div div.cap_green { width:50%; float: left; font-size: 1.3rem; line-height: 1.4; color: #5CB045; font-weight: 600; }
.flow_area .flow .flow_img div div.cap_green.cap_green2line { padding-top: 0.7em; }
.flow_area .flow .flow_txt { float: right; width:min(900px,90vw); margin:0 10px; }
.flow_area .flow .flow_txt .h_green { margin:18px 0 0; padding: 0; }
.flow_area .flow .flow_txt > p { margin:0; padding: 0; }
@media only screen and (max-width:767px) {
  .flow_area .contentsinner { max-width: 90vw; margin: 0 auto; padding: 30px 0; }
  .flow_area .flow { margin: 30px 0; flex-wrap:wrap; }
  .flow_area .flow .flow_img div div img { height: 68px; }
  .flow_area .flow .flow_img div div.cap_green { width:inherit; margin-bottom: 5px; }
  .flow_area .flow .flow_img div div.cap_green.cap_green2line { padding-top: 0em; }
}


.faq_area {}
.faq_area .contentsinner { margin: 0 auto; padding: 50px 0; }
.faq_area .contentsinner h3 { margin: 0; padding:20px 0 20px 0; color: #654A2E; font-size: 3.6rem; font-weight: 200; }
.faq_area .contentsinner dl.faq { color: #444; margin: 50px 0 50px 2.0em; }
.faq_area .contentsinner dl.faq dt { font-size: 1.8rem; font-weight: 800; margin: 0 0 15px 1.3em; }
.faq_area .contentsinner dl.faq dd { font-size: 1.5rem; margin: 0 0 40px 1.5em; line-height: 1.8; }


.faq_area .contentsinner dl.faq dt::before,
.faq_area .contentsinner dl.faq dd::before { font-size: 3rem; font-weight: 600; line-height: 1.0; }
.faq_area .contentsinner dl.faq dt::before { content:"Q."; color: #1C70B1; margin:0 0.3em 0 -1.4em; }
.faq_area .contentsinner dl.faq dd::before { content:"A."; color: #222; margin:0 0.3em 0 -1.25em; }


.foot_btn { padding:50px 0; width: 100%; background-color: #B7ACA2; }
.foot_btn .contentsinner { margin:0 auto; }
.foot_btn a.btn { margin:10px auto; width: 250px; display:block; color:#000; text-align:center; text-decoration:none; transition: .2s; background-color:#EEECDD; position:relative; padding:1em 20px; border-radius: 30px; font-size: 1.5rem; color: #654A2E; font-weight: 800; }
.foot_btn a.btn:hover { text-decoration:none;  }
.foot_btn a.btn::after { content:'\f35a'; display:inline-block; margin-left:0.7em; font-family:"Font Awesome 5 Free"; font-weight:900; }
.foot_btn h2 { font-size: 2.0rem; color: #fff; margin-bottom: 20px; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
.foot_btn .fukidashi { color: #fff; text-align: center; font-size: 1.5rem; font-weight: 600; }
.foot_btn .fukidashi:before,
.foot_btn .fukidashi:after { display: inline-block; content: ""; background: #fff;/* 斜め線の色 */ width: 1px;/* 斜め線の太さ */ height: 2.0em;/* 斜め線の長さ */ margin: 0 1em;/* テキストとの間に左右余白をつくる */ margin-top: 0em;/* 斜め線の位置調整 */ vertical-align: middle; }
.foot_btn .fukidashi:before { transform: rotate(-35deg);/* 角度調整 */ }
.foot_btn .fukidashi:after { transform: rotate(35deg);/* 角度調整 */ }
.foot_btn .fukidashi p { display: inline-block; line-height: 1.2; }
.foot_btn p { text-align: center; margin-bottom: 3px; }
/* .foot_btn p span.tel::before { content:'\f095'; display:inline-block; margin-right:0.5em; font-family:"Font Awesome 5 Free"; font-weight:900; } */
body.lp footer .foot { background-color: #706357; color: #fff; }
body.lp footer .foot .contentsinner { width:640px; margin: 0 auto; }
body.lp footer .foot .contentsinner ul.links li a { color: #fff; }
body.lp .topBtn { background-color: #B7ACA2; }
body.lp .topBtn:hover { background-color: #EEECDD; }
@media only screen and (max-width:767px) {
  .faq_area .contentsinner { max-width: 90vw; margin: 0 auto; padding: 30px 0; }
  .faq_area .contentsinner dl.faq { margin: 30px 0 30px 1.0em; }
  .foot_btn { padding:20px 0 20px 0;}
  .foot_btn p span { display: block; margin: 0 0px 5px 0; }
  .foot_btn p span.class_name { font-size: 1.2em; }
  body.lp footer .foot .contentsinner ul.links { display: flex;flex-wrap: wrap; margin-bottom: 10px; }
  body.lp footer .foot .contentsinner ul.links li { width: 50%; margin-bottom: 5px; }
}


/* ---------------------------------------------
  横並びグリッド
--------------------------------------------- */
.cols { display:flex; flex-wrap:wrap; }
.cols .col { box-sizing:border-box; position: relative; }
.cols .col:after { content:""; display:table; clear:both; }


/* レイアウト:横2つ  */
.cols2 { margin-right:-40px; }
.cols2 .col { width:calc(50% - 40px); }
.cols2 .col { margin:0 40px 40px 0; }


/* レイアウト:横3つ  */
.cols3 { margin-right:-30px; }
.cols3 .col { width:calc(33.3% - 30px); }
.cols3 .colspan2 { width:66.6%; }
.cols3 .col { margin:0 30px 30px 0; }


/* レイアウト:横4つ  */
.cols4 { margin-right:-20px; }
.cols4 .col { width:calc(25% - 20px); }
.cols4 .colspan2 { width:50%;}
.cols4 .col { margin:0 20px 20px 0;}


@media only screen and (max-width:1080px) {
    .cols3 { margin-right:-15px; }
    .cols3 .col { margin-right:15px; margin-bottom:15px; }
}


@media only screen and (max-width:767px) {
    .cols2,
    .cols3 { margin-left:auto; margin-right:auto; }
    .cols.cols2 .col,
    .cols.cols3 .col { width:100%; margin:0 auto 30px; }
    .cols2,
    .cols3 { margin:0 0 10px !important; }
    .cols.cols1sp { margin-left:auto; margin-right:auto; }
    .cols.cols1sp .col {width:100%; margin:0 auto; }
    .cols1sp { margin:0 0 10px !important; }
    .cols2sp { margin-right:-3vw; }
    .cols2sp .col { width:50%; margin:0; }
    .cols2sp .col { margin:0 3vw 3vw 0 !important; }
}




/* ---------------------------------------------
 .img
--------------------------------------------- */
a.img  { overflow:hidden; display:block; }
a.img img  { transition:transform .2s; width:100%; height:100%; }
a.img_hover:hover img  { transform:scale(1.05); }


/* -----------------------------------
contents
-------------------------------------*/
#container { padding:0 0 10px 0; margin:0; max-width:none; }
section { margin:0 auto; padding:0 0 20px 0; font-size:1.5rem; }
section .contentsinner { width: 100%; max-width: 1024px; margin: 0 auto; }
section:after { content:''; display:block; clear:both; }
article { margin:0 auto; max-width:100%; }
.archive #container { min-height: 70vh; }
@media only screen and (max-width:767px) {
  section { font-size:1.6rem; }
  .contentsinner { min-width:0; }
}


.g_map_area { width: 100%; /* max-width: 1024px; */ margin: 0 auto; }
.g_map { position: relative; width: 100%; padding-top: 50%; /* 2:1のアスペクト比  *//* padding-top: 75%; 4:3のアスペクト比 */ /* padding-top: 56.25%; */ /* 16:9のアスペクト比 */ height: 0; }
.g_map iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
@media only screen and (max-width:767px) {
  .g_map_area { /* width: 90vw; */ }
  .g_map { padding-top: 75%; /* 4:3のアスペクト比 */}
}




@media only screen and (max-width:767px) {
	.spTbl tr,
	.spTbl th,
	.spTbl td { display:block; width:inherit !important; }
	.spTbl td { padding-top: 5px; }
}
