@charset "utf-8";

@import "sanitize.css";
@import "animate.css";
@import "vegas.min.css";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700');
@import url('https://fonts.googleapis.com/css?family=Questrial:100,200,300,400,500');
@import url('https://fonts.googleapis.com/css?family=Oswald:100,200,300,400');
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400');
@import url('https://fonts.googleapis.com/css?family=Ubuntu:300,400,500');


/* 共通部分
============================================================================== */



/* smart font */
@font-face {
    font-family: 'fgsmartweb';
    src: url('common/webfonts/fgsmartweb.woff') format('woff'),
        url('common/webfonts/fgsmartweb.ttf') format('truetype'),
        url('common/webfonts/fgsmartweb.svg#fgsmartwebl') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'FSS-SW';
    src: url('common/webfonts/fss-sw-webfont.eot');
    src: url('common/webfonts/fss-sw-webfont.woff') format('woff'),
        url('common/webfonts/fss-sw-webfont.ttf') format('truetype'),
        url('common/webfonts/fss-sw-webfont.svg#webfontOnwi4Tcn') format('svg');
    font-weight: normal;
    font-style: normal;
}

html, body {
    font-size: 16px;
    line-height: 1.85;
    font-weight:400;
    color: #333;
    background-color:transparent;
    letter-spacing: 0.05em;
    font-family: "メイリオ", Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", Verdana, "MS PGothic", "ＭＳ　Ｐゴシック", sans-serif;
    overflow-x: hidden;
}
::selection,
::-moz-selection { /* select color */
    background: rgba(0,0,0,.5);
}
.inner {
    width:100%;
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
#content,
footer,
.title_area { min-width: 0; }
table { table-layout: fixed; }
td input { max-width: 100%; }
i, em { font-style: normal; }
li { list-style: none; }
a, a:hover, a:active, a:focus {
    color:inherit;
    outline: none;
    text-decoration:none;
}
a:hover {
    opacity: .85;
    -webkit-transition: all .3s; transition: all .3s;
}
a:hover img,
.tel a:hover {
    -webkit-transition: all .7s; transition: all .7s;
    opacity: 0.7;
}
figure { margin:0; }
img {
    max-width:100%;
    height:auto;
}
h1, h2, h3, h4, h5, h6 {
    margin:0;
    padding:0;
    font-size:1rem;
    line-height:1;
    font-weight:400;
    letter-spacing:inherit;
}



/* pc tablet sp 特別指定の出し分け */
@media print, screen {
    .pc_only { /*display: none;*/ }
    .tb_only { display: none; }
    .sp_only { display: none; }
    .tb_pc   { display: inherit; }
    .sp_tb   { display: none; }
}
@media (min-width: 768px) and (max-width:960px) {
    .pc_only { /*display: none;*/ }
    .tb_only { display: inherit; }
    .sp_only { display: none; }
    .tb_pc   { display: inherit; }
    .sp_tb   { display: inherit; }
}
@media (max-width: 767px) {
    .pc_only { display: none; }
    .tb_only { display: none; }
    .sp_only { display: inherit; }
    .tb_pc   { display: none; }
    .sp_tb   { display: inherit; }
}

/* mega menu */
#wrap.tb_pc .head .gnav_wrap .gnav.g1 ul li.trigger01 > a { pointer-events: none; }

/* tel番号リンク外し */
@media screen and (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}
/* 標準フォントに戻す */
.nor {
    font-family: 'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}
.smrtfont {
    /*font-family: 'fgsmartweb', sans-serif;*/
    font-family: 'Ubuntu', sans-serif;
}
.quest {
    font-family: 'Questrial', sans-serif;
}

.orange { color:#74b562; }

/* 離脱対策ページの表示切替 */
#wrap.no_outlink .head .pc .row .right,
#wrap.no_outlink .head .pc .row.r2,
#wrap.no_outlink .foot_contact,
#wrap.no_outlink .foot_contact-spacer,
#wrap.no_outlink .fixed_footer,
#wrap.no_outlink footer .row_flex_common .col_txt_r,
#wrap.no_outlink footer .foot_main .name,
#wrap.no_outlink footer .foot_main .addr { display:none;}
#wrap.no_outlink .head .pc .row.r1 {
    padding-top:25px;
    padding-bottom:25px;
    border-bottom:1px solid #CCC;
}
#wrap.no_outlink footer {
    margin-top:50px;
    padding-bottom:0;
}
#wrap.no_outlink footer .row_flex_common {
    -webkit-justify-content: center; justify-content: center;
}
#wrap.no_outlink footer .row_flex_common .col_img_l { margin-right: 0; }
#wrap.no_outlink footer .foot_main .flogo { text-align:center; }

/* 決済時のwait画面 */
body.wait_overlay { position:relative; }
body.wait_overlay:before {
    content:"";
    width:100vw; height:100vh;
    position:fixed; top:0; left:0; z-index:99998;
    background:#000;
    opacity:0.8;
    pointer-events: none;
}
body.wait_overlay:after {
    content:"\f110";
    color:#FFF;
    font-family: "Font Awesome 5 Free";
    font-size:3em;
    font-weight:900;
    position:fixed; top:calc(50% - 1.5em); left:50%; z-index:99999;
    animation: spin 1.2s linear 0s infinite;
}
@keyframes spin { 0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}

/* 共通指定
============================================================================== */
.flexbox {
    display:-webkit-box; display:-ms-flexbox; display: -webkit-flex; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center;
    -webkit-justify-content: center; justify-content: center;
    -webkit-align-items: flex-start; align-items: flex-start;
    -webkit-flex-wrap: wrap; flex-wrap: wrap;
}
.flexbox.start   { -webkit-justify-content: flex-start; justify-content: flex-start; }
.flexbox.end     { -webkit-justify-content: flex-end; justify-content: flex-end; }
.flexbox.center  { -webkit-justify-content: center; justify-content: center; }
.flexbox.around  { -webkit-justify-content: space-around; justify-content: space-around; }
.flexbox.between { -webkit-justify-content: space-between; justify-content: space-between; }
.flexbox.nowrap  { -webkit-flex-wrap: nowrap; flex-wrap: nowrap; }
.flexbox.stretch { -webkit-align-items: stretch; align-items: stretch; }
.flexbox.al_center { -webkit-align-items: center; align-items: center; }
.flexbox.column { -ms-flex-direction:column; -webkit-flex-direction:column; flex-direction:column; }

.row_flex_common {
    display:-webkit-box; display:-ms-flexbox; display: -webkit-flex; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center;
    -webkit-justify-content: space-between; justify-content: space-between;
    -webkit-align-items: stretch; align-items: stretch;
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
}
/*.row_flex_common:not(:last-child) { margin-bottom: 45px; }*/
.row_flex_common.wrap { -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.row_flex_common .col_img_l {
    position:relative;
    width:auto;
    margin-right: 60px;
    flex-shrink:0;
    -webkit-box-ordinal-group:0; -ms-flex-order:0; -webkit-order:0; order:0;
}
.row_flex_common .col_img_r {
    position:relative;
    width:auto;
    margin-left: 60px;
    flex-shrink:0;
    -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
}
.row_flex_common .col_txt_l,
.row_flex_common .col_txt_r {
    position:relative;
    -webkit-box-ordinal-group:1; -ms-flex-order:1; -webkit-order:1; order:1;
}

.text-center { text-align:center; }
.v-top { vertical-align:top; }
.v-mid { vertical-align:middle; }
.flr { float:right; }
.fll { float:left; }

/* font */
.mincho {
    font-family: YuMincho, 'Yu Mincho', 'MS Mincho', serif;
    font-weight: 500;
}
.bold { font-weight:bold; }
.nobold { font-weight:normal; }
.uchikeshi { text-decoration:line-through; }
.underline { text-decoration: underline; }
.tategaki { writing-mode: tb-rl; /* IE独自仕様 */ writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; }

/* column */
ul.five { width:100%; column-count: 5; -moz-column-count: 5; -webkit-column-count: 5; }
ul.quad { width:100%; column-count: 4; -moz-column-count: 4; -webkit-column-count: 4; }
ul.triple { width:100%; column-count: 3; -moz-column-count: 3; -webkit-column-count: 3; }
ul.double { width:100%; column-count: 2; -moz-column-count: 2; -webkit-column-count: 2; }
ul.single { width:100%; }
@media screen and (max-width: 768px) {
    ul.five, ul.quad, ul.triple, ul.double { column-count: 1; -moz-column-count: 1; -webkit-column-count: 1; }
}

.w100per { width:100%; }
.w50per  { width:50%; }

.w250 { width:250px; }
.w150 { width:150px; }
.w390 {
    width:390px;
    margin-left:auto;
    margin-right:auto;
}
.w490 {
    width:490px;
    margin-left:auto;
    margin-right:auto;
}
.w590 {
    width:590px;
    margin-left:auto;
    margin-right:auto;
}
.w690 {
    width:690px;
    margin-left:auto;
    margin-right:auto;
}
.w790 {
    width:790px;
    margin-left:auto;
    margin-right:auto;
}

.mt5  { margin-top:5px; }
.mt10 { margin-top:10px; }
.mt15 { margin-top:15px; }
.mt20 { margin-top:20px; }
.mt25 { margin-top:25px; }
.mt30 { margin-top:30px; }
.mt35 { margin-top:35px; }
.mt40 { margin-top:40px; }
.mt45 { margin-top:45px; }
.mt50 { margin-top:50px; }
.mt55 { margin-top:55px; }
.mt60 { margin-top:60px; }
.mt65 { margin-top:65px; }
.mt70 { margin-top:70px; }
.mt75 { margin-top:75px; }
.mt80 { margin-top:80px; }
.mt85 { margin-top:85px; }
.mt90 { margin-top:90px; }
.mt95 { margin-top:95px; }
.mt100 { margin-top:100px; }
.mt105 { margin-top:105px; }
.mt110 { margin-top:110px; }
.mt115 { margin-top:115px; }
.mt120 { margin-top:120px; }
.mt125 { margin-top:125px; }
.mt130 { margin-top:130px; }
.mt135 { margin-top:135px; }
.mt140 { margin-top:140px; }
.mt145 { margin-top:145px; }
.mt150 { margin-top:150px; }

.mt05em { margin-top:0.5em; }
.mt10em { margin-top:1.0em; }
.mt15em { margin-top:1.5em; }
.mt20em { margin-top:2.0em; }
.mt25em { margin-top:2.5em; }
.mt30em { margin-top:3.0em; }

/* 汎用パーツ
============================================================================== */
/* link effect */
a.noeffect::after { content: ''; background-color: transparent; }
a.noeffect:hover::after { width:0; }
/* default effect */
a, a img {
    -webkit-transition: all .3s; transition: all .3s;
    display: inline-block; position: relative;
}
a:hover, a:active, a:focus { color: inherit; }
a::after {}
a:hover::after {}
a img:hover {}

/* img effect */
a.imgWrap { line-height:0; overflow:hidden; background: #000; opacity:1; }
a.imgWrap img:hover { transform: scale(1.02); transition-duration: 0.3s; opacity: 0.6; }

/* other type link 1 */
a.dotted_link { border-bottom:2px solid #000; }
a.dotted_link:hover { border-bottom:2px solid transparent; }
a.dotted_link::after { height: 2px; }
/* other type link 2 */
a.bordered_link {
    padding:0 0.5em;
    border-bottom:1px solid #000;
}
a.bordered_link:hover { border-bottom:1px solid transparent; }
/* other type link 3 */
a.underef { position:relative; }
a.underef::after {
    content: ''; width:100%; height: 1px;
    position: absolute; bottom: .1em; left: 0;
    background-color: #000; opacity: 0;
    -webkit-transition: all .3s; transition: all .3s;
}
a.underef:hover::after { bottom:-.1em; opacity:1; }
/* filter effect */
.effectelm a:hover {/*
    -webkit-filter: invert(20%);
    -moz-filter:    invert(20%);
    -o-filter:      invert(20%);
    -ms-filter:     invert(20%);
    filter:         invert(20%);*/
    -webkit-transition: all .3s; transition: all .3s;
}

/* button base */
.btnc,
.btnc a,
.bnrc,
.bnrc a {
    display:-webkit-box; display:-ms-flexbox; display: -webkit-flex; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center;
    -webkit-justify-content: center; justify-content: center;
    -webkit-align-items: flex-start; align-items: flex-start;
    -webkit-flex-wrap: wrap; flex-wrap: wrap;
    text-align:center;
}
.btnc > span,
.btnc a {
    display:inline-block;
    padding:0.5em;
    padding-right:1em;
    width:150px;
    line-height:1;
    background-color:transparent;
    border:1px solid transparent;
    vertical-align:middle;
    position:relative;
    -o-transition:.3s ease-out, background .3s ease-in; -ms-transition:.3s ease-out, background .3s ease-in; -moz-transition:.3s ease-out, background .3s ease-in; -webkit-transition:.3s ease-out, background .3s ease-in; transition:.3s ease-out, background .3s ease-in;
}
.btnc a span,
.bnrc a span,
.bnrc a small {
    display:inline-block;
    vertical-align: middle;
    line-height:inherit;
}
.btnc a:after,
.btnc > span:after {
    content:"\f105";
    font-family: "Font Awesome 5 Free";
    font-size:12px;
    font-weight:600;
    position:absolute;
    right: 10px;
    top: 50%;
    -webkit- transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}
.btnc a.noanchor:after,
.btnc > span.noanchor:after { display:none; }
.btnc a:hover {
    color:#000;
    background-color:#FFF;
    border-color:#000;
}
.btnc a:hover:after { background-color:transparent; }

.btnc.contact {
    -webkit-justify-content: center;
    justify-content: center;
    background:#74b562;
    border-radius:30px;
}
.btnc.contact a {
    color:#FFF;
    border:1px solid #74b562;
    border-radius:30px;
    background:#74b562;
    width:210px;
    padding:1.3em 0;
}
.btnc.contact a span {
    position:relative;
    padding-left:2em;
}
.btnc.contact a span:before {
    content:url(common/img/cmn/gnav_icn06.png);
    position:absolute;
    left: 0.5em;
    top: 54%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}
.btnc.contact a:after { display:none; }
.btnc.contact a:hover {
    color:#FFF;
    background-image:none;
    border-color:#FE9B46;
    background-color:#FE9B46;
    opacity:1;
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.contact a:hover span:before {}
.btnc.tel {
    -webkit-justify-content: center;
    justify-content: center;
}
.btnc.tel a {
    width:200px;
    padding:0;
}
.btnc.tel a small {
    color:#74b562;
    font-size:13px;
    line-height:1;
    font-weight:400;
    letter-spacing:-0.02em;
    display:block;
    margin-top:5px;
}
.btnc.tel a span {
    position:relative;
    padding-left:0.5em;
    font-size:28px;
    line-height:1;
    font-weight:400;
    letter-spacing:0;
}
.btnc.tel a span:before {
    content:url(common/img/cmn/gnav_icn07.png);
    position:absolute;
    left: 0em;
    top: 54%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}
.btnc.tel a:after { display:none; }
.btnc.tel a:hover {
    color:#74b562;
    background-image:none;
    border-color:#74b562;
    background-color:#FFF;
    opacity:1;
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.tel a:hover span:before {
    -webkit-filter: invert(20%);
    -moz-filter:    invert(20%);
    -o-filter:      invert(20%);
    -ms-filter:     invert(20%);
    filter:         invert(20%);
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.rightarw {
    -webkit-justify-content: center;
    justify-content: center;
}
.btnc.rightarw a,
.btnc.rightarw span {
    width:auto;
    padding:0;
}
.btnc.rightarw a span,
.btnc.rightarw > span span {
    position:relative;
    font-size:18px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.btnc.rightarw a:after,
.btnc.rightarw > span:after { display:none; }
.btnc.rightarw a:hover,
.btnc.rightarw > span:hover {
    /*color:#74b562;*/
    background-image:none;
    border-color:transparent;
    background-color:transparent;
    opacity:1;
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.rightarw a span:before,
.btnc.rightarw > span span:before {
    content:"";
    width:26px;
    height:11px;
    background:url(common/img/cmn/btnc_rightarw_icn01.png) left top no-repeat;
    position:absolute;
    right: -3em;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.rightarw a:hover span:before,
.btnc.rightarw > span:hover span:before {
    right:-3.3em;
}
.btnc.leftarw {
    -webkit-justify-content: center;
    justify-content: center;
}
.btnc.leftarw a {
    width:auto;
    padding:0;
}
.btnc.leftarw a span {
    position:relative;
    font-size:18px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
    padding-left:26px;
}
.btnc.leftarw a:after { display:none; }
.btnc.leftarw a:hover {
    /*color:#74b562;*/
    background-image:none;
    border-color:transparent;
    background-color:transparent;
    opacity:1;
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.leftarw a span:before,
.btnc.leftarw > span span:before {
    content:"";
    width:26px;
    height:11px;
    background:url(common/img/cmn/btnc_leftarw_icn01.png) left top no-repeat;
    position:absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.leftarw a:hover span:before,
.btnc.leftarw > span:hover span:before {
    left:0.3em;
}

.btnc.rbordered,
.btnc.rightarw.rbordered {
    -webkit-justify-content: center;
    justify-content: center;
}
.btnc.rbordered a.w235,
.btnc.rightarw.rbordered a.w150,
.btnc.rightarw.rbordered span.w150,
.btnc.rightarw.rbordered a.w250 {
    width:150px;
    padding:8px 0;
    border:1px solid #A7A6A6;
    border-radius:30px;
    background:#FFF;
}
.btnc.rbordered a.w235 { width:235px; }
.btnc.rightarw.rbordered a.w250 { width:250px; padding:16px; }
.btnc.rbordered a span,
.btnc.rightarw.rbordered a span,
.btnc.rightarw.rbordered > span span {
    position:relative;
    font-size:13px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.btnc.rbordered a:after,
.btnc.rightarw.rbordered a:after,
.btnc.rbordered > span:after,
.btnc.rightarw.rbordered > span:after { display:none; }
.btnc.rbordered a:hover,
.btnc.rightarw.rbordered a:hover,
.btnc.rbordered > span:hover,
.btnc.rightarw.rbordered > span:hover {
    /*color:#74b562;*/
    background-image:none;
    border-color:#74b562;
    background-color:#FFF;
    opacity:1;
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.rightarw.rbordered a span:before,
.btnc.rightarw.rbordered > span span:before {
    width:17px;
    height:9px;
    background:url(common/img/cmn/btnc_rightarw_icn02.png) left top no-repeat;
    position:absolute;
    right: -2.8em;
    top: 35%;
}
.btnc.rightarw.rbordered a:hover span:before,
.btnc.rightarw.rbordered > span:hover span:before {
    right:-3.1em;
}

.btnc.whitebnr {
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center; align-items: center;
}
.btnc.whitebnr a {
    width:auto;
    padding:0;
    display:-webkit-box; display:-ms-flexbox; display: -webkit-flex; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center;
    -webkit-justify-content: center; justify-content: center;
    -webkit-align-items: center; align-items: center;
    -webkit-flex-wrap: wrap; flex-wrap: wrap;
    text-align:center;
    background:#FFF;
    border-radius:8px;
    border-width:3px;
}
.btnc.whitebnr a.w435 { width:435px; height:76px; }
.btnc.whitebnr a span {
    color:#333;
    position:relative;
    font-size:18px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.btnc.whitebnr a small {
    color:#333;
    position:absolute;
    top:50%; left:10px;
    width:64px;
    height:64px;
    font-size:14px;
    line-height:1.1;
    font-weight:400;
    letter-spacing:0.05em;
    background:#FCE501;
    border-radius:50%;
    -webkit-justify-content: center; justify-content: center;
    -webkit-align-items: center; align-items: center;
    -webkit- transform: translateY(-50%);
    transform: translateY(-50%);
}
.btnc.whitebnr a:after { display:none; }
.btnc.whitebnr a:hover {
    color:#74b562;
    background-image:none;
    background-color: #FFF;
    border-color:#74b562;
    opacity:.9;
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.whitebnr a span:before {
    content:"";
    width:26px;
    height:11px;
    background:url(common/img/cmn/btnc_rightarw_icn01.png) left top no-repeat;
    position:absolute;
    right: -3em;
    top: 50%;
    -webkit- transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.whitebnr a:hover span:before {
    right:-3.3em;
}

/* fade button */
.btnc.arw a {}
.btnc.arw a:after {
    content:"\f054"; font-family: "Font Awesome 5 Free";
    color:#74b562;
    font-size:inherit; font-weight:600;
    height:auto; width:auto;
    position:absolute; right: -0.5em; left:auto; top: 48%; bottom:auto;
    transform: translateY(-50%) translateX(-50%); -webkit- transform: translateY(-50%) translateX(-50%);
    background-color: transparent;
    opacity: 1;
}
.btnc.arw a:hover {
    background-color: transparent;
    border-color: transparent;
}
.btnc.arw a:hover:after {
    right: -0.8em;
    transition:.3s ease-out, background .3s ease-in;
}
.btnc.arw.black a { color:#FFF; background:#000; border:1px solid transparent; }
.btnc.arw.black a:hover { color:#000; background:#FFF; border:1px solid #000; }
/* open button */
.btnc.opn a { z-index: 2; }
.btnc.opn a:hover { background-color: #fff; border-color: #000; color: #000; }
.btnc.opn a::before,
.btnc.opn a::after {
    content:""; position: absolute; opacity:0; top: 0; left: 0;
    width: 50%; height: 100%; background-color: #000;
    -webkit-transition: all .3s; transition: all .3s;
}
.btnc.opn a::before { right: 0; left: auto; }
.btnc.opn a:hover::before,
.btnc.opn a:hover::after { bottom: auto; opacity: 1; width: 0; background-color: #000; }
.btnc.opn.black a { color:#FFF; background:#c29040; border:1px solid transparent; }
.btnc.opn.black a:hover { color:#000; background:#FFF; border:1px solid #000; }
.btnc.opn.black a::before,
.btnc.opn.black a::after { background-color: #000; }
.btnc.opn.black a:hover::before,
.btnc.opn.black a:hover::after { background:#000; }

/* 基本型parts */
.dl-list { margin-left:0; margin-right:0; word-break:break-all; }
.dl-list:after { content: ""; display: block; clear: both; }
.dl-list > dt { float:left; min-width:0; }
.dl-list > dd { margin-left:1em; }
.dl-list > dt:not(:last-of-type),
.dl-list > dd:not(:last-of-type) { margin-bottom: 0.5em; }

.ul-parent {
    -ms-flex-pack: space-around;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}
.ul-list li {
    line-height: 1.35;
    letter-spacing: 0.1em;
    font-weight:500;
    padding-left: 1.7em;
    position: relative;
}
.ul-list li:before {
    content: "";
    width: 5px; height: 5px;
    border-radius: 50%;
    background: #000;
    position: absolute; left: 0; top: 0.25em;
}
.ul-list li:not(:last-child) { margin-bottom: 0.5em; }
.ul-list.nodot li { padding-left:0; }
.ul-list.nodot li:before { background: transparent; }

.tbl_01 { width:100%; }
.tbl_01 .col1 { width:210px; }
.tbl_01 .col2 { width:340px; }
.tbl_01 .col3 { width:210px; }
.tbl_01 .col4 { width:340px; }
.tbl_01 th,
.tbl_01 td { text-align:left; background-color:#FFF; word-break:break-all; }
.tbl_01 th {
    padding:15px 30px;
    color:#000;
    font-size:16px;
    font-weight:600;
    vertical-align:top;
    background-color:#F2F2F2;
    border:1px solid #CCC;
}
.tbl_01 td {
    padding:15px 30px;
    color:#000;
    font-size:16px;
    font-weight:400;
    border-top:1px solid #CCC;
    border-right:1px solid #CCC;
}
.tbl_01 tr:last-child { border-bottom:1px solid #CCC; }
.tbl_01.black th {
    color:#000;
    background-color:#FFF;
    border-color:#000;
}
.tbl_01.yellow td {
    color:#000;
    border-color:#FFF;
}
.tbl_01.yellow tr:last-child { border-color:#000; }

/* contact form 7 */
.wpcf7 .contact2 td .wpcf7-not-valid-tip { border-radius: 0 0 4px 4px / 0 0 4px 4px; }
.wpcf7 .wpcf7-validation-errors { color:#333333; border-color:#333333; }
.wpcf7 .wpcf7-not-valid-tip { color: #de0000; }
.wpcf7 .wpcf7-response-output { color:#333333; }
.wpcf7 .wpcf7c-conf { background-color: #333333; color:#FFF; border: 1px solid #333333; }
.wpcf7 .sendarea { margin-top:30px; text-align:center; }
.wpcf7 .sendarea p input { display:inline-block; margin:0 20px; }

.tblwrap th > em {
    display:inline-block;
    color:#FFF;
    font-size:10px;
    padding:3px 9px;
    margin-top:3px;
    background-color:#000;
    float:right;
}
.tblwrap td { padding:10px 30px; }
.tblwrap td input,
.tblwrap td textarea {
    border:1px solid #dddddd;
    padding:4px 8px;
}
.tblwrap td .wpcf7-list-item.first { margin-left:0; }
.tblwrap td input.text1 { width:100%; }
.tblwrap td input.text2 { width:100%; }
.tblwrap td textarea { width:100%; }

/* jQuery-Validation-Engineとかぶらないように */
span.wpcf7-not-valid-tip { display: none; }

.wpcf7 .form-agree { text-align:center; }
.wpcf7 .form-agree span,
.wpcf7 .form-agree p { font-size:14px; }
.wpcf7 .form-agree .wpcf7-checkbox .wpcf7-list-item-label:before,
.wpcf7 .form-agree .wpcf7-acceptance .wpcf7-list-item-label:before {
    top: 0.1em;
}
.wpcf7 .form-agree .wpcf7-checkbox .wpcf7-list-item-label:after,
.wpcf7 .form-agree .wpcf7-acceptance .wpcf7-list-item-label:after {
    top: calc(0.1em + 5px);
}
.wpcf7 .form-submit { text-align:center; }
.wpcf7 .form-submit .btn_common input {
    width:100%;
    height:100%;
    font-size:20px;
    line-height:1.5;
    font-weight:600;
    padding-top:0.15em;
}
.wpcf7 .form-submit .btn_common {
    width:270px;
    height:65px;
    display: inline-block;
    color:#FFF;
    background: #74b562;

    outline:none;
    border: none;
    border-radius:50px;
    position: relative;
    -webkit-transition: all .3s; transition: all .3s;
}
.wpcf7 .form-submit .btn_common:after {
    content:url(common/img/cmn/arw_right_white.png);
    position:absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}
/* （選択できないときは色を薄く表示する） */
.wpcf7 .btn_common input[type="submit"][disabled]{}
/* （確認チェックが入っている時のみカーソルが変わる ※SPのときは消す） */
.wpcf7 .btn_common input[type="submit"]:not([disabled]) {}
.wpcf7 .btn_common input[type="submit"]:not([disabled]):hover {
    cursor: pointer;
    opacity: 0.7;
    -webkit-transition: all .3s; transition: all .3s;
}
/* （ajax-loaderを消す　送信ボタンの→） */
.wpcf7 .ajax-loader { display: none !important; }

/* contactform7のチェックボックスをデザイン変更 */
.wpcf7 input[type="checkbox"]{ display: none; }
.wpcf7 input[type="radio"]{ display: none; }
.wpcf7 label{ cursor: pointer; }
.wpcf7 span.wpcf7-list-item:first-of-type { margin-left:0; }
.wpcf7 .wpcf7-radio .wpcf7-list-item-label,
.wpcf7 .wpcf7-checkbox .wpcf7-list-item-label,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label { position: relative; padding-left: 2.5em; }
.wpcf7 .wpcf7-checkbox .wpcf7-list-item-label:before,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label:before {
    width: 18px;
    height: 18px;
    content: '';
    position: absolute;
    left: 0.6em;
    top: 0.95em;
    background: #fff;
    border: 1px solid #dddddd;
}
.wpcf7 .wpcf7-checkbox .wpcf7-list-item-label:after,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label:after {
    width: 10px;
    height: 5px;
    border: 2px solid #717171;
    content: '';
    position: absolute;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: calc(0.6em + 5px);
    top: calc(0.95em + 5px);
    border-top: none;
    border-right: none;
    -webkit-transition: all .3s; transition: all .3s;
    opacity: 0;
}
.tbl_01.contact td .f_style .wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label {
    background:#F5EEE7;
}
.wpcf7 .wpcf7-radio .wpcf7-list-item-label:before {
    width: 18px;
    height: 18px;
    content: '';
    background: #fff;
    border: 1px solid #dddddd;
    border-radius:50%;
    position: absolute;
    left: 0;
    top: 0.25em;
}
.wpcf7 .wpcf7-radio .wpcf7-list-item-label:after {
    width: 10px;
    height: 5px;
    border: 2px solid #717171;
    content: '';
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-top: none;
    border-right: none;
    -webkit-transition: all .3s; transition: all .3s;
    opacity: 0;
    position: absolute;
    left: 5px;
    top:calc(0.25em + 5px);
}
.wpcf7 .wpcf7-radio span.wpcf7-list-item,
.wpcf7 .wpcf7-checkbox span.wpcf7-list-item,
.wpcf7 .wpcf7-acceptance span.wpcf7-list-item { margin-left: 0; margin-right: 20px; }
.wpcf7 input[type="checkbox"]:checked + .wpcf7-list-item-label:after { opacity: 1; }
.wpcf7 input[type="radio"]:checked + .wpcf7-list-item-label:after { opacity: 1; }


/* style
================================================================================= */
/* header */
header {
    width:100%;
    height:auto;
    padding:0;
    position:relative;
}
.head {
    width: 100%;
    height: auto;
    position:relative;
    z-index:9;
}
.head .pc .head_lead {
    padding:12px 25px;
    background:#333;
}
.head .pc .head_lead h1 {
    color:#FFF;
    font-size:11px;
}

.head .pc .row {
    margin:0 auto;
    height:auto;
    -webkit-align-items: center;
    align-items: center;
}
.head .pc .row.r1 {
    padding:0 25px 0;
}
.head .pc .row .right { margin-right:0; }
.head .pc .row.r2 {
    border-top:1px solid #CCC;
    background:#F2F2F2;
    padding:15px 25px;
}

.gnav_wrap .gnav.g1 > ul > li.pc_only,
.gnav_wrap .gnav.g1 > ul > li .pc_only { display:inherit; }
.gnav_wrap .gnav.g1 > ul > li.sp_only,
.gnav_wrap .gnav.g1 > ul > li .sp_only { display:none; }
.gnav_wrap {}
.gnav_wrap .gnav ul { margin:0 auto; }
.gnav_wrap .gnav ul > li,
.gnav_wrap .gnav ul > li > a {
    display:-webkit-box; display:-ms-flexbox; display: -webkit-flex; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center;
    -webkit-justify-content: center; justify-content: center;
    -webkit-align-items: center; align-items: center;
    text-align:center;
}
.gnav_wrap .gnav ul > li {
    /*position:relative;*/
    width:auto;
    padding:0 20px;
    /*border-bottom:3px solid transparent;*/
    transition:.3s ease-out, background .3s ease-in;
}
.gnav_wrap .gnav.g1 ul > li {
    padding-top:25px;
    padding-bottom:18px;
    border-bottom:7px solid transparent;
}
.gnav_wrap .gnav.g1 ul > li:not(.hcontact):hover,
.gnav_wrap .gnav.g1 ul > li.active { border-color:#74b562; }
.gnav_wrap .gnav ul > li:last-of-type { padding-right:0; }
.gnav_wrap .gnav ul > li:not(.trigger01):hover > a {
    /*border-color:#000;*/
    opacity:0.6;
    transition:.3s ease-out, background .3s ease-in;
}
.gnav_wrap .gnav ul > li > a {
    width:100%;
    height:100%;
}
.gnav_wrap .gnav ul > li a figcaption {
    margin-top:1em;
    color:inherit;
    font-size:15px;
    line-height:1;
    font-weight:400;
}
.gnav_wrap .gnav.g2 > ul {
    -webkit-align-items: center; align-items: center;
}
.gnav_wrap .gnav.g2 ul > li a figure {
    display:-webkit-box; display:-ms-flexbox; display: -webkit-flex; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center;
    -webkit-justify-content: flex-start; justify-content: flex-start;
    -webkit-align-items: center; align-items: center;
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
}
.gnav_wrap .gnav.g2 ul > li a figure img {
    margin-right:0.5em;
}
.gnav_wrap .gnav.g2 ul > li a figcaption {
    margin-top:0;
}
.gnav_wrap .gnav.g2 ul > li.oisogi a figcaption {
    color:#900117;
    font-weight:600;
}
.gnav_wrap .gnav.g2 ul > li:last-of-type { padding-right:25px; }

/*.gnav_wrap .gnav ul > li:nth-of-type(2) .sub_menu,*/
.gnav_wrap .gnav ul > li.trigger01:hover .sub_menu {
    visibility: visible;
    opacity: 1;
    transition:.3s ease-out, background .3s ease-in;
    transition-delay: 0.3s; /* 感度調整 */
}
.gnav_wrap .gnav ul > li .sub_menu {
    display:block;
    visibility: hidden;
    opacity: 0;
    position:absolute;
    top:113px;
    left: 0;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    transform: translateX(50%);
    width:100vw;
    padding-top:0;
    transition:.3s ease-out, background .3s ease-in;
}
.gnav_wrap .gnav ul > li .sub_menu .in {
    width:100%;
    padding:50px 0;
    margin:0 auto;
    background-color: rgba(239,239,239,0.99);
    box-shadow: 0px 2px 5px rgba(0,0,0,0.1);
}
.gnav_wrap .gnav ul > li .sub_menu .in .col_img_l {
    width:200px;
    margin-right:0;
}
.gnav_wrap .gnav ul > li .sub_menu .in .col_img_l .title {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}
.gnav_wrap .gnav ul > li .sub_menu .in .col_img_l .title figcaption {
    margin-top: 0.5em;
    font-size:18px;
    line-height:1.5;
    font-weight:600;
}
.gnav_wrap .gnav ul > li .sub_menu .in ul li {
    background:transparent;
    width: auto;
    height:auto;
    padding:0;
    border-bottom:none;
    position:relative;
}
.gnav_wrap .gnav ul > li .sub_menu .in .col_txt_r .withpic { padding:0 20px; }
.gnav_wrap .gnav ul > li .sub_menu .in .col_txt_r .withpic img { display:block; }
.gnav_wrap .gnav ul > li .sub_menu .in .col_txt_r .withpic figure { text-align:left; }
.gnav_wrap .gnav ul > li .sub_menu .in .col_txt_r .withpic figcaption { display:inline-block; }
.gnav_wrap .gnav ul > li .sub_menu .in .col_txt_r ul li figcaption {
    word-break:keep-all;
    color:#333;
    font-size:15px;
    line-height:1.3;
    font-weight:400;
    letter-spacing:0.05em;
    display:block;
    text-align:left;
}
.gnav_wrap .gnav ul > li .sub_menu .in .col_txt_r .sub02 { padding:0 20px;}
.gnav_wrap .gnav ul > li .sub_menu .in .col_txt_r .sub02 li:first-of-type figcaption { margin-top:0; }
.gnav_wrap .gnav ul > li .sub_menu .in .col_img_l .title figcaption,
.gnav_wrap .gnav ul > li .sub_menu .in ul li a figcaption { position:relative; }
.gnav_wrap .gnav ul > li .sub_menu .in .col_img_l .title figcaption:after,
.gnav_wrap .gnav ul > li .sub_menu .in ul li a figcaption:after {
    content:"\f054"; font-family: "Font Awesome 5 Free";
    color:#74b562;
    font-size:inherit; font-weight:600;
    height:auto; width:auto;
    position:absolute; right: -1.1em; bottom: 0.05em;
    background-color: transparent;
    opacity: 1;
    transition:.3s ease-out, background .3s ease-in;
}
.gnav_wrap .gnav ul > li .sub_menu .in .col_img_l .title figcaption:hover:after,
.gnav_wrap .gnav ul > li .sub_menu .in ul li a figcaption:hover:after {
    right: -1.4em;
    transition:.3s ease-out, background .3s ease-in;
}
.gnav_wrap .gnav ul > li .sub_menu .in ul > li a:before { display:none; }
.gnav_wrap .gnav ul > li .sub_menu .in ul > li:hover { border-color:transparent; }
.gnav_wrap .gnav ul > li .sub_menu .in ul > li a:hover {
    border-color:transparent;
    transition:.3s ease-out, background .3s ease-in;
}
.gnav_wrap .gnav ul > li .sub_menu .in a {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: nowrap; /* Safari */
    flex-wrap: nowrap;
    border-bottom:1px solid transparent;
}

.gnav_wrap .gnav ul > li .sub_menu .in .sub02.flexbox.start {
    margin:35px 0 0;
    width:100%;
}
.gnav_wrap .gnav ul > li .sub_menu .in .sub03 {
    margin:0;
    width:265px;
    height:130px;
}
.gnav_wrap .gnav ul > li .sub_menu .in .sub03:last-of-type {
    width:calc(100% - 265px);
}
.gnav_wrap .gnav ul > li .sub_menu .in .sub03:last-of-type > li {
    -webkit-align-items: flex-start;
    align-items: flex-start;
}
.gnav_wrap .gnav ul > li .sub_menu .in .sub04 {
    margin:10px 0 0;
    width:auto;
    height:100px;
}
.gnav_wrap .gnav ul > li .sub_menu .in .sub04 li {
    margin-top:10px;
    width:265px;
}
.gnav_wrap .gnav ul > li .sub_menu .in .sub04 li figcaption {
    font-size:13px;
    line-height:1.5;
    font-weight:400;
}

/* header fix */
header .head .row.r1 {
    margin:auto;
    position: relative;
    top:0; left:0; right:0;
    /*top:-112px; left:0; right:0;*/
    z-index: 10;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    transition: all .3s ease-in-out;
    backface-visibility:hidden;
}
/*header .head .row.r2 { margin-top:0; }*/
/*header.scr .head .row.r1 { position: fixed; top:0; }
header.scr .head .row.r2 { margin-top:112px; }
header.scr {
}
header.scr .head .row.r1 {
    background-color: rgba(255,255,255,0.95);
    box-shadow: 0px 2px 5px rgba(0,0,0,0.1);
    padding:0 25px;
}
header.scr .gnav_wrap .gnav ul > li .sub_menu {
    top:76px;
}
header.scr .gnav_wrap .gnav.g1 ul > li {
    padding-top:7px;
    padding-bottom:0;
}*/

/* 固定フッターメニュー */
.fixed_footer.scr { -webkit-transition: all .3s; transition: all .3s; }
.fixed_footer.scr .farea1 { height:auto; -webkit-transition: all .3s; transition: all .3s; }
.fixed_footer.scr .farea1 .col1 .col_img_l { margin-top:-61px; -webkit-transition: all .3s; transition: all .3s; }
.fixed_footer {
    position:fixed;
    width:100%;
    bottom:0; left:0;
    z-index:11;
}
.fixed_footer .in > .inner { max-width:100%; }
.fixed_footer .farea1 {
    height:60px;
    padding:0 25px 0;
    background:#FFF;
    -webkit-transition: all .3s; transition: all .3s;
}
.fixed_footer .farea1 .col1,
.fixed_footer .farea1 .col2,
.fixed_footer .farea1 .col3 { padding-top:7px; }
.fixed_footer .farea1 .col1 .col_img_l {
    margin-top:-56px;
    margin-right:20px;
    -webkit-transition: all .3s; transition: all .3s;
}
.fixed_footer .farea1 .col1 .col_txt_r,
.fixed_footer .farea1 .col1 .col_txt_r strong {
    font-size:14px;
    line-height:1.45;
    font-weight:600;
    word-break:keep-all;
}
.fixed_footer .farea1 .btnc.tel a span {
    font-size:27px;
}
.fixed_footer .farea1 .btnc.tel a small {
    color:#333;
    font-size:11px;
}
.fixed_footer .farea1 li:nth-of-type(1) { margin-left:30px; }
.fixed_footer .farea1 li:nth-of-type(2) { margin-left:48px; }
.fixed_footer .farea1 li:nth-of-type(3) { margin-left:5px; }
.fixed_footer .farea1 li.enji,
.fixed_footer .farea1 li.darkblue {
    width:145px;
    border:1px solid transparent;
    -webkit-transition: all .3s; transition: all .3s;
    color:#FFF;
    background:#333;
}
.fixed_footer .farea1 li.enji:hover,
.fixed_footer .farea1 li.darkblue:hover {
    color:#FFF;
    /*border-color:#74b562;*/
}
.fixed_footer .farea1  li.enji { background:#900117; }
.fixed_footer .farea1  li.darkblue { background:#000D40; }
.fixed_footer .farea1  li.enji a:hover { background-color:#A42F41; }
.fixed_footer .farea1  li.darkblue a:hover { background-color:#2E3963; }
.fixed_footer .farea1  li.enji a,
.fixed_footer .farea1  li.darkblue a {
    -webkit-justify-content:center; justify-content:center;
    -webkit-align-items: center; -ms-flex-align: center; align-items: center;
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
    padding:9px 0;
}
.fixed_footer .farea1 li.enji strong,
.fixed_footer .farea1 li.darkblue strong {
    padding-left:0.8em;
    display:block;
    font-size:14px;
    line-height:1;
    font-weight:600;
}
.fixed_footer .farea1 .fixed_foot_btn {
    font-size:15px;
    line-height:1;
    font-weight:600;
    position:relative;
    margin-top:1em;
    padding-right:3em;
    cursor: pointer;
    cursor: hand;
}
.fixed_footer .farea1 .fixed_foot_btn > span:after {
    content:"\f107";
    font-family: "Font Awesome 5 Free";
    color:#FF600A;
    font-size:28px;
    font-weight:600;
    position:absolute;
    right: 0;
    top: 42%;
    -webkit- transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}
.fixed_footer .farea1 .fixed_foot_btn.opn > span:after {
    content:"\f106";
}
.fixed_footer .farea1 .fixed_foot_btn.opn {
    display:none;
}
.fixed_footer .fixed_foot_btn_close {
    display:none;
}
.fixed_footer .fixed_foot_btn_close.opn {
    display:block;
    position:absolute;
    top:85px;
    right:25px;
    z-index:9;
    cursor: pointer;
    cursor: hand;
}

.fixed_footer .farea2 {
    height:0;
    background:#F8F6F4;
    transition:.6s ease-out, background .6s ease-in;
    position:relative;
}
.fixed_footer .farea2.opn {
    height:auto;
    overflow:visible;
    padding:30px 0;
    transition:.6s ease-out, background .6s ease-in;
}
.fixed_footer .farea2.opn h2 { text-align:left; }
.fixed_footer .farea2.opn h2 span {
    font-size:18px;
    line-height:1.2;
    font-weight:600;
}
.fixed_footer .farea2.opn .mostviewedul {
    height:200px;
}
.fixed_footer .farea2.opn .mostviewedul > ul {
    width:30%;
}
.fixed_footer .farea2.opn .mostviewedul > ul .sub04 {
    margin:0.5em 0 0;
    width:auto;
    height:90px;
}
.fixed_footer .farea2.opn .mostviewedul > ul .sub04 li {
    margin-top:0.2em;
    width:7em;
    padding-left:2em;
}
.fixed_footer .farea2.opn .mostviewedul > ul .sub04 li figcaption:after { display:none; }
.fixed_footer .farea2.opn .mostviewedul li a figcaption {
    -webkit-transition: all .3s; transition: all .3s;
}
.fixed_footer .farea2.opn .mostviewedul li a figcaption:after {
    content:"\f054"; font-family: "Font Awesome 5 Free";
    color:#74b562;
    font-size:inherit; font-weight:600;
    height:auto; width:auto;
    position:absolute; right: -1.1em; bottom: 0.05em;
    background-color: transparent;
    opacity: 1;
    transition:.3s ease-out, background .3s ease-in;
}
.fixed_footer .farea2.opn .mostviewedul li a figcaption:hover { color:#74b562; }
.fixed_footer .farea2.opn .mostviewedul li a figcaption:hover:after {
    right: -1.4em;
    transition:.3s ease-out, background .3s ease-in;
}

/* フッター */
.footer-spacer { padding-top:0; }
footer {
    bottom:0; left:0; right:0; margin-left:auto; margin-right:auto; z-index:-1;
    padding-bottom:55px;
}
footer .row_flex_common .col_img_l { width:320px; }
footer .row_flex_common .col_txt_r { width:780px; }

footer .foot_main {
    padding:40px 0;
    background:#464646;
    color:#FFF;
}
footer .foot_main .flogo {}
footer .foot_main .name {
    font-size:20px;
    line-height:1;
}
footer .foot_main .addr {
    letter-spacing:0.03em;
}
footer .foot_links {
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
footer .foot_links ul.ind li:hover > a { color:#74b562; }
footer .foot_links ul.ind { width:300px; }
footer .foot_links ul.ind > li:not(:first-of-type) { margin-top:0.2em; }
footer .foot_links ul.ind.w330 { width:300px; }
footer .foot_links ul.ind.w330 > li { width:100%; }
footer .foot_links ul.ind.w330 .sub { /*height:330px;*/ height:auto; }
footer .foot_links ul.ind .sub {
    margin:0.3em 0 0.5em;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: space-between;
    align-items: space-between;
}
footer .foot_links ul.ind .sub li {
    font-size:14px;
    margin-left:1em;
}

/* fixed */
.fix {
    position: fixed;
    top: 24%;
    right: 0;
    z-index: 8;
}
.fix ul {
    -webkit-align-items: flex-end;
    align-items: flex-end;
}
.fix ul li {
    color:#FFF;
    font-size:16px;
    line-height:1.15;
    font-weight:600;
    border-radius:2px 0 0 2px;
    background:#000;
    padding:22px 12px;
    text-align:center;
    -webkit-transition: all .3s; transition: all .3s;
}
.fix ul li:not(:first-of-type) { margin-top:3px; }
.fix ul li.fix_oisogi  { background:#900117; }
.fix ul li.fix_contact { background:#000D40; }
.fix ul li.fix_oisogi:hover { background-color:#A42F41; }
.fix ul li.fix_contact:hover { background-color:#2E3963; }
.fix ul li a {
    -webkit-align-items: center;
    align-items: center;
}
.fix ul li a > span {
    display:block;
    padding-top:10px;
}

/* pagetop*/
.page_top {
    position: fixed;
    right: 50px;
    bottom: 65px;
    z-index: 8;
}
.page_top a {
    display: block;
    width: 55px;
    height: 55px;
    line-height: 55px;
    border-radius: 50%;
    text-align: center;
    color: #fff;
    background: rgba(51, 51, 51, 0.5);
}

/* wp-pagenavi */
.page_main .wp-pagenavi {
    padding: 0;
    margin: 50px 0 40px;
    overflow: hidden;
    position: relative;
    text-align: center;
}
.page_main .wp-pagenavi a {
    display: inline-block;
    margin: 0 2px;
    text-align: center;
    list-style: none;
}
.page_main .wp-pagenavi a:hover {
    opacity: 0.6;
    border: none;
}
.page_main .wp-pagenavi a,
.page_main .wp-pagenavi span {
    transition: all .6s ease;
    display: inline-block;
    width: auto;
    padding: 7px 10px;
    margin: 2px 4px 2px;
    color: #000;
    text-decoration: underline;
    line-height: 1;
    border: none;
}
.page_main .wp-pagenavi a.nextpostslink,
.page_main .wp-pagenavi a.previouspostslink {
    font-weight:900;
    color:#ff794a;
    text-decoration: none;
}
.page_main .wp-pagenavi span.pages { display:none; }
.page_main .wp-pagenavi .current {
    background: transparent;
    color: #ff794a;
    text-decoration: none;
}


/* パンくずリスト */
.breadwrap {
    margin:0 25px;
    padding:15px 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
}
.breadcrumb {
    width: 100%;
    height: 100%;
    overflow-x: auto;
    padding-bottom: 0px; /* Increase/decrease this value for cross-browser compatibility */
    box-sizing: content-box; /* So the width will be 100% + 17px */
}
.breadcrumb li {
    position:relative;
    display:inline-block;
    padding-right:10px;
    vertical-align:middle;
    font-size:12px;
}
.breadcrumb li:not(:first-child) { padding-left:10px; }
.breadcrumb li a {
    color:inherit;
}
.breadcrumb i { color:#CCC; }
.breadcrumb li.bhome:before {
    content:url(common/img/cmn/bread_icn01.png);
    margin-right:0.5em;
}

.hakajimai_breadcrumb li.bhome:before {
    content:url(common/img/cmn/bread_icn_white.png);
    margin-right:0.5em;
}

/* 下層共通部品 */
h3.horizn_border,
h4.horizn_border {
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
h3.horizn_border > span,
h4.horizn_border > span {
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: nowrap; /* Safari */
    flex-wrap: nowrap;
}
h3.horizn_border > span:before,
h3.horizn_border > span:after,
h4.horizn_border > span:before,
h4.horizn_border > span:after {
    content:"";
    width:90px;
    margin:0 0.8em;
    display:block;
    border-bottom:1px solid #FFF;
    flex-grow: 1;
}

h2.top_border {}
h2.top_border > span {
    color:#ff794a;
    padding-top:20px;
    border-top:1px solid #ff794a;
}
h2.top_border > small {
    display:block;
    color:#ffbca4;
    font-size:16px;
    letter-spacing:0.1em;
    margin-top:6px;
}

h2.horizn_center {
    -webkit-justify-content:flex-start;/*--- safari（PC）用 ---*/
    justify-content:flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: nowrap; /* Safari */
    flex-wrap: nowrap;
}
h2.horizn_center > span {
    color:#FFF;
    font-size:40px;
    line-height:1;
    font-weight:300;
    letter-spacing:0.1em;
    margin-top:0.2em;
}
h2.horizn_center > small {
    display:inline;
    color:#FFF;
    font-size:16px;
    line-height:1;
    letter-spacing:0.1em;
    margin-left:25px;
}

.page_main .post_main h3,
.page_main section > h3 {
    width:100%;
    color:#633319;
    font-size: 24px;
    line-height: 1.25;
    font-weight:400;
    letter-spacing:0.1em;
    word-break:break-all;
    text-align:center;
    position:relative;
    padding-top:78px;
    background:url(images/page/hbg01.png) center top no-repeat;
}

.page_main .post_main h4.top_border,
.page_main section h4.top_border {
    padding-top:20px;
}
.page_main .post_main h4.top_border > small,
.page_main section h4.top_border > small {
    display:block;
    color:#ffbca4;
    font-size:16px;
    letter-spacing:0.1em;
}
.page_main .post_main h4.top_border > span,
.page_main section h4.top_border > span {
    font-size:26px;
    line-height:1;
    font-weight:300;
    letter-spacing:0.2em;
    color:#ff794a;
    padding-top:20px;
    border-top:1px solid #ff794a;
}

.page_main .post_main h5,
.page_main section h5 {
    font-size:20px;
    line-height:1.6;
    font-weight:400;
    letter-spacing:0.1em;
}

/* footer contact */
#wrap .foot_contact .sp_only { display:none; }
#wrap .foot_contact-spacer { padding-top:0; }
#wrap.home .foot_contact { background:#F8F8F8; }
#wrap .foot_contact {
    bottom:468px; left:0; right:0; margin-left:auto; margin-right:auto; z-index:-1;
    padding:65px 0 80px;
    background:#FFF;
}
#wrap .foot_contact h2 { text-align:center; }
#wrap .foot_contact h2 span {
    font-size:25px;
    line-height:2;
    font-weight:400;
    letter-spacing:0.3em;
}
#wrap .foot_contact h3.horizn_border > span:before,
#wrap .foot_contact h3.horizn_border > span:after {
    width:30px;
    margin:0 0.8em;
    border-color:#333;
}
#wrap .foot_contact .info1 .col_img_l { margin-left:10em; }
#wrap .foot_contact .info1 .badge1 {
    width: 93px;
    height:93px;
}
#wrap .foot_contact .info1 .badge1 span {
    font-size:22px;
    line-height:1.1;
}
#wrap .foot_contact .info1 .horizn_border span {
    font-size:17px;
}
#wrap .foot_contact .info1 .tel span {
    position:relative;
    padding-left:0.5em;
    font-size:54px;
    line-height:1;
     font-weight:400;
    letter-spacing:0;
}
#wrap .foot_contact .info1 .tel span:before {
    content:url(common/img/cmn/foot_contact_tel.png);
    position:absolute;
    left: 0em;
    top: 54%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}
#wrap .foot_contact .btnul {}
#wrap .foot_contact .btnul li {
    width:265px;
    border:3px solid transparent;
    -webkit-transition: all .3s; transition: all .3s;
    color:#FFF;
    background:#333;
}
#wrap .foot_contact .btnul li:hover {
    color:#FFF;
    /*border-color:#74b562;*/
}
#wrap .foot_contact .btnul li.enji { background:#900117; }
#wrap .foot_contact .btnul li.darkblue { background:#000D40; }
#wrap .foot_contact .btnul li.brown { background:#917535; }
#wrap .foot_contact .btnul li.enji a:hover { background:#A42F41; }
#wrap .foot_contact .btnul li.darkblue a:hover { background:#2E3963; }
#wrap .foot_contact .btnul li.brown a:hover { background:#CDC0A3; }
#wrap .foot_contact .btnul li a {
    -webkit-justify-content:center; justify-content:center;
    -webkit-align-items: center; -ms-flex-align: center; align-items: center;
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
    padding:22px 0;
}
#wrap .foot_contact .btnul li a strong {
    padding-left:0.5em;
    display:block;
    font-size:17px;
    line-height:1;
    font-weight:600;
}
#wrap .foot_contact .shareul {
    width:700px;
    padding:25px 0;
    margin-left:auto;
    margin-right:auto;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    -webkit-align-items: center; align-items: center;
}
#wrap .foot_contact .shareul li {
    font-size:18px;
    line-height:1;
    font-weight:600;
}
#wrap .foot_contact .shareul li a img {
    width:26px;
}
#wrap .foot_contact .shareul li a span {
    font-size:16px;
    line-height:1;
    font-weight:600;
}

/* / top
==============================================================================*/
#wrap.home {
    overflow-x: hidden;
}
/* slider */
.vegas-animation-kenburns-custom { animation: kenburns-custom ease-out; }
@keyframes kenburns-custom {
    0%   { transform: scale(1.05); }
    33% { transform: scale(1); }
    100% { transform: scale(1); }
}

.title_area-spacer { padding-top:90px; background:#FFF; }
.title_area {
    /*left:0; right:0; margin-left:auto; margin-right:auto; z-index:-1;*/
    position:relative;
    width:100%;
    height:auto;
    top:0;
    margin-bottom:0;
    z-index:1;
}




.main_img .in {
    position:relative;
    width:100%;
    height:100%;
    margin:0 auto;
    z-index:1;
}
.main_img .in .logo_index {
    width: auto;
    padding:30px 50px 30px 65px;
    position:absolute;
    top:50%;
    left:0;
    background:rgba(255,255,255,.9);
    -webkit- transform: translateY(-50%);
    transform: translateY(-50%);
}
.badge1 {
    background:#FCE501;
    border-radius:50%;
    text-align:center;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-line-pack: center; /*IE10*/
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-direction:column;
    -webkit-flex-direction:column;
    flex-direction:column;
}
.main_img .in .badge1 {
    width: 190px;
    height:190px;
    position:absolute;
    top:68%;
    right:35px;
    -webkit- transform: translateY(-50%);
    transform: translateY(-50%);
}
.main_img .in .badge1 span.utitle {
    width:66%;
    line-height:1;
    font-size:34px;
    padding-bottom:10px;
    margin-bottom:12px;
    border-bottom:2px solid #000;
}
.main_img .in .badge1 span.dtitle {
    width:100%;
    font-size:24px;
    line-height:1.35;
}

.home #content { margin-top:-180px; }
.home section { background-color:transparent; }
.home .btns_index {
    position:relative;
    z-index:2;
}
.home .btns_index ul.flexbox {
    padding:25px 25px;
    background:rgba(239,239,239,.82);
}
.home .btns_index ul.flexbox li {
    width:343.5px;
    background:#FFF;
    border:3px solid transparent;
    -webkit-transition: all .3s; transition: all .3s;
}
.home .btns_index ul.flexbox li.enji { background:#FFF; color:#333333; }
.home .btns_index ul.flexbox li.enji:hover {border-color:#74b562; }
.home .btns_index ul.flexbox li:hover {
    /*color:#74b562;*/
    border-color:#74b562;
}
.home .btns_index ul.flexbox li a {
    -webkit-justify-content:center;/*--- safari（PC）用 ---*/
    justify-content:center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: nowrap; /* Safari */
    flex-wrap: nowrap;
    padding:30px 0 18px;
    font-size:20px;
    line-height:1;
}
.home .btns_index ul.flexbox li a strong {
    margin-top:20px;
    display:block;
}

.home h2 {
    text-align:center;
}
.home h2 span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.home h2 small {
    margin-top:0.3em;
    display:block;
    color:#74b562;
    font-size:14px;
    line-height:1;
    font-weight:500;
    letter-spacing:0.05em;
}
.home h3.bordered {
    text-align:center;
}
.home h3.bordered span {
    font-size:22px;
    line-height:1.45;
    font-weight:600;
    letter-spacing:0.05em;
    padding-bottom:2.5px;
    border-bottom:1px solid #707070;
}

.home .aboutus_index {
    padding-top:60px;
    padding-bottom:0px;
}

.home .aboutus_index h3.lead span {
    font-size:28px;
    line-height:1.78;
    font-weight:400;
    letter-spacing:0.15em;
}
.home .aboutus_index p.w690 {
    width:800px;

}

/*
.home .aboutus_index .reasonbox {
    width:750px;
}
*/

.home .aboutus_index .reasonbox li {
    border:1px solid rgba(112,112,112,.5);
    border-radius:1px;
    background:rgba(255,255,255,0.5);
    -webkit-justify-content:center;
    justify-content:center;
}
.home .aboutus_index .reasonbox li:nth-of-type(n + 4) { margin-top:0px; }
.home .aboutus_index .reasonbox li.per3 { width:242px; }
.home .aboutus_index .reasonbox li.per4 { width:180px; }
.home .aboutus_index .reasonbox li a {
    text-align:center;
    width:100%;
    height:100%;
    padding:25px 0 15px;
}
.home .aboutus_index .reasonbox li:hover {
    color:#74b562;
    outline:3px solid #74b562;
}
.home .aboutus_index .reasonbox li strong {
    padding-top:20px;
    display:block;
    font-size:18px;
    line-height:1.45;
    font-weight:600;
    letter-spacing:0.05em;
}

.home .plan_index {
    padding:75px 0 100px;
    background:#EAD7C6 url(common/img/top/plan_bg01.png) center top / 100% auto no-repeat;
}
.plan_index .plans {}
.plan_index .plans li,
.plans_ind_list_index .lst li {
    width:345px;
    background:#FFF;
    -moz-box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
    -ms-box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
    box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
}
.plan_index .plans li:hover,
.plans_ind_list_index .lst li:hover {
    outline:3px solid #74b562;
}
.plan_index .plans li > a,
.plans_ind_list_index .lst li > a {
    width:100%;
    height:100%;
    padding:25px 0;
}
.plan_index .plans li h3,
.plans_ind_list_index .lst li h4,
.kaishoul li h3 { text-align:center; }
.plan_index .plans li h3 small,
.plans_ind_list_index .lst li h4 small {
    color:#74b562;
    font-size:13px;
    line-height:1;
    font-weight:400;
    letter-spacing:0.05em;
}
.plan_index .plans li h3 span,
.plans_ind_list_index .lst li h4 span,
.kaishoul li h3 span {
    display:block;
    font-size:28px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.plan_index .plans li h3 span.mt1em,
.plans_ind_list_index .lst li h4 span.mt1em,
.kaishoul li h3 span.mt1em {
    margin-top:1.2em;
}
.plan_index .plans li figure,
.plans_ind_list_index .lst li figure,
.kaishoul li figure {
    margin-top:35px;
    position:relative;
}
.plan_index .plans li figure > img,
.plans_ind_list_index .lst li figure > img {}
.plan_index .plans li figure figcaption,
.kaishoul li figure figcaption {
    margin-left:auto;
    margin-right:auto;
    margin-top:-47px;
    padding-bottom:0.3em;
    width:94px;
    height:94px;
    border-radius:50%;
    background:transparent url(common/img/top/plan_icn_bg.png) center top / 100% auto no-repeat;
    -webkit-justify-content:center;
    justify-content:center;
    -webkit-align-items: center;
    align-items: center;
    position:relative;
}
.plan_index .plans li figure .badge2 {
    width: 74px;
    height:74px;
    position:absolute;
    top:10px;
    right:6px;
    background:#FCE501;
    -webkit- transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius:50%;
    text-align:center;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-line-pack: center; /*IE10*/
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-direction:column;
    -webkit-flex-direction:column;
    flex-direction:column;
}
.plan_index .plans li figure .badge2 small {
    font-size:11px;
    line-height:1;
    font-weight:400;
}
.plan_index .plans li figure .badge2 span {
    margin-top:5px;
    display:block;
    font-size:20px;
    line-height:1;
    font-weight:400;
}
.plan_index .plans li .price,
.plans_ind_list_index .lst li .price {
    -webkit-align-items: center;
    align-items: center;
    margin-top:10px;
}
.plan_index .plans li .price .tategaki,
.plans_ind_list_index .lst li .price .tategaki {
    font-size:14px;
    line-height:1.25;
    font-weight:400;
}
.plan_index .plans li .price .smrtfont,
.plans_ind_list_index .lst li .price .smrtfont {
    font-size:52px;
    line-height:1;
   font-weight:400;
    letter-spacing:-0.01em;
    margin-left:15px;
}
.plan_index .plans li .price .en,
.plans_ind_list_index .lst li .price .en {
    margin-left:15px;
}
.plan_index .plans li .price .en small,
.plans_ind_list_index .lst li .price .en small {
    font-size:10px;
    line-height:1;
    font-weight:400;
}
.plan_index .plans li .price .en span,
.plans_ind_list_index .lst li .price .en span {
    font-size:17px;
    line-height:1;
    font-weight:400;
    margin-top:6px;
    margin-left:0.3em;
}
.plan_index .plans li > a > p,
.plans_ind_list_index .lst li > a > p,
.kaishoul li > p {
    padding:0 25px;
    font-size:14px;
    line-height:1.65;
    font-weight:400;
}

.plan_index .plans.middle {}
.plan_index .plans.middle li {
    width:23.6%;
    margin-left:1.5%;
    margin-right:1.5%;
}
.plan_index .plans.middle li > a {
    width:100%;
    height:100%;
    padding:15px 0;
}
.plan_index .plans.middle li h3 span {
    font-size:24px;
    line-height:1.2;
    font-weight:600;
}
.plan_index .plans.middle li figure {
    margin-top:20px;
    position:relative;
}
.plan_index .plans.middle li figure figcaption {
    margin-top:0;
    padding-bottom:0;
    width:auto;
    height:auto;
    background:none;
}
.plan_index .plans.middle li .price {
    margin-top:20px;
}
.plan_index .plans.middle li .price.mt1em {
    margin-top:30px;
}
.plan_index .plans.middle li .price .tategaki {}
.plan_index .plans.middle li .price .smrtfont {
    font-size:38px;
    letter-spacing:0.02em;
    margin-left:10px;
}
.plan_index .plans.middle li .price .en {
    margin-left:10px;
}
.plan_index .plans.middle li .price .en small {}
.plan_index .plans.middle li .price .en span {}
.plan_index .plans.middle li > a > p {}

.plan_index .plans.small {}
.plan_index .plans.small li {
    width:200px;
}
.plan_index .plans.small li > a {
    width:100%;
    height:100%;
    padding:20px 0;
}
.plan_index .plans.small li h3 span {
    font-size:20px;
    line-height:1.2;
    font-weight:600;
    margin-top:inherit;
}
.plan_index .plans.small li h3 span.mt1em {
    margin-top:0.7em;
}

.plan_index h3.religion {
    padding-top:72px;
    background:url(common/img/top/plan_hbg01.png) center top no-repeat;
}
.plan_index h3.religion span,
.plan_index h3.area span {
    font-size:18px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.plan_index h3.area {
    padding-top:66px;
    background:url(common/img/top/plan_hbg02.png) center top no-repeat;
}

.plan_index .areaul {}
.plan_index .areaul li {
    margin:5px 0;
    padding:0 0.8em;
    line-height:1;
}
.plan_index .areaul li:not(:last-of-type) {
    border-right:1px solid #333333;
}
.plan_index .areaul li:hover {
    color:#74b562;
}

#wrap .contact1_index {
    padding:45px 0 75px;
    background:#888;
    color:#FFF;
}

#wrap .contact1_index .col_img_l,
#wrap .contact1_index .col_txt_r { width:50%; }
#wrap .contact1_index h3 {
    padding-top:70px;
    background:url(common/img/ohaka/tel.png) center top no-repeat;
}
#wrap .contact1_index h3.soudan {
    padding-top:70px;
    background:url(common/img/ohaka/mail.png) center top no-repeat;
}
#wrap .contact1_index h3 span {
    font-size:18px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
#wrap .contact1_index .tel {}
#wrap .contact1_index .tel span {
    font-size:49px;
    line-height:1;
     font-weight:400;
    letter-spacing:0;
}
#wrap .contact1_index .tel small {
    margin-top:10px;
    display:block;
    font-size:16px;
    line-height:1;
    font-weight:400;
}
#wrap .contact1_index h4.horizn_border {
    margin-left:auto;
    margin-right:auto;
}
#wrap .contact1_index h4.horizn_border span {
    font-size:18px;
    line-height:1;
    font-weight:300;
}

#wrap .contact1_index .directorul li p {
    line-height:1;
    font-weight:400;
}
#wrap .contact1_index .directorul li p small {
    font-size:14px;
}
#wrap .contact1_index .directorul li p span {
    display:block;
    margin-top:8px;
}

#wrap .contact1_index .soudanlead strong {
    font-size:27px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:0;
}

#wrap .contact1_index .soudanchk {
    width:400px;
    margin-left:auto;
    margin-right:auto;
}
#wrap .contact1_index .soudanchk li {
    position:relative;
    padding-left:calc(21px + 0.8em);
    font-size:20px;
    line-height:2;
    font-weight:300;
    letter-spacing:0;
}
#wrap .contact1_index .soudanchk li:before {
    content: url(common/img/ohaka/check.png);
    width: 21px; height: 19px;
    position: absolute; left: 0; top: 0.08em;
}

.home .info1_index {
    padding:65px 0 75px;
background: #EAD7C6 url(common/img/ohaka/intro_bg01.jpg) center top / 100% auto no-repeat;
}
.home .info1_index .col_img_l,
.home .info1_index .col_txt_r { width:48%; }
.home .info1_index h3 {
    padding-top:75px;
}
.home .info1_index .col_txt_r h3 {
    padding-top:75px;
    background:url(common/img/top/info1_hbg02.png) center top no-repeat;
}
.home .info1_index h3 span {
    font-size:18px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.home .info1_index h4 {
    font-size:24px;
    line-height:1.5;
    font-weight:400;
}
.home .info1_index p {
    font-size:15px;
    line-height:1.7;
    font-weight:300;
}

.home .flow_index {
    padding:75px 0 90px;
    background:#FFF url(common/img/top/flow_bg01.png) center top / cover no-repeat;
}
.home .flow_index .col_img_l,
.home .flow_index .col_txt_r { width:50%; }
.home .flow_index h3 {}
.home .flow_index h3 span {
    font-size:22px;
    line-height:1.8;
    font-weight:400;
    letter-spacing:0.15em;
}
.home .flow_index .col_txt_r iframe {
    border:3px solid #D1D0D0;
}

.info2_index {
    padding:0px 0 105px;
    background:#FFF;
    width: 60%;
    margin: 0 auto;
}
.info2_index ul li {
    border:1px solid transparent;
}
.info2_index ul li:hover {
    color:#74b562;
    /*border-color:#74b562;*/
}

.home .strength_index {
    padding:75px 0 135px;
    background:#F2E9DF;
}

.number_index {
    padding:90px 0 0;
    background:#FFF;
}
.number_index .lead {
    width:730px;
    margin-left:auto;
    margin-right:auto;
}

.number_index .icnul,
.page_main.numbers .icnul {}
.page_main.numbers .icnul.large { width:100%; }
.page_main.numbers .icnul.large li {
    width:580px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.numbers .icnul.large.col2 li { width:45%; }
.page_main.numbers .icnul.large.col2 li.w380 { width:380px; }
.page_main.numbers .icnul.large.col2 li.w540 { width:540px; }
.page_main.numbers .icnul.large.col3 li { width:30%; }
.page_main.numbers .icnul.large.col3 li.wmarea.wm {
    background:url(common/img/about/numbers/icn06m_l.png) 2.5em top no-repeat,
               url(common/img/about/numbers/icn06w_l.png) calc(100% - 2.5em) top no-repeat;
}
.page_main.numbers .icnul.large.col3 li.wmarea.wm figcaption { padding-top:70px; }
.number_index .icnul li figure,
.page_main.numbers .icnul.large li figure { margin-top:-4em;}
.page_main.numbers .icnul.large.col3 li.wmarea.shain figure { margin-top:-4em;}
.page_main.numbers .icnul.large.col3 li.wmarea.shain figure figcaption { margin-top:-2em;}
.page_main.numbers .icnul.large.col3 li.wmarea.age figure { margin-top:-6em;}
.page_main.numbers .icnul.large.col3 li.wmarea.age figure figcaption { margin-top:-5em;}
.number_index .icnul li figure.center,
.page_main.numbers .icnul.large li figure.center { text-align:center; }
.page_main.numbers .icnul.large li figure.center > img { padding-left: 20%; }
.number_index .icnul li figure figcaption,
.page_main.numbers .icnul.large li figure figcaption {
    position: static;
    text-align:center;
    margin-top: -3em;
}
.page_main.numbers .icnul.large.col2 li figure figcaption { margin-top:-5em; }
.page_main.numbers .icnul.large.col3 li figure figcaption { margin-top:0; }
.number_index .icnul li figure figcaption > span {
    font-size:26px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.numbers .icnul.large li figure figcaption > span {
    font-size:43px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.number_index .icnul li figure figcaption > em {
    font-size:84px;
    line-height:1;
    font-weight:400;
    letter-spacing:-0.05em;
}
.page_main.numbers .icnul.large li figure figcaption > em {
    font-size:133px;
    line-height:1;
    font-weight:500;
    letter-spacing:-0.05em;
}
.page_main.numbers .icnul.large.col3 li figure figcaption > em { font-size:120px; }
.number_index .icnul li figure figcaption > em small {
    font-size:57px;
    line-height:1;
    font-weight:600;
    letter-spacing:0;
}
.page_main.numbers .icnul.large li figure figcaption > em small {
    font-size:91px;
    line-height:1;
    font-weight:600;
    letter-spacing:0;
}
.page_main.numbers .icnul.large li figure figcaption > em small.yen {
    font-size:60px;
}
.page_main.numbers .icnul.large.col3 li figure figcaption > em small { font-size:47px; }
.number_index .icnul li figure figcaption > em.up:after,
.page_main.numbers .icnul.large li figure figcaption > em.up:after {
    content:"";
    display:inline-block;
    width:93px;
    height:69px;
    background:url(common/img/about/numbers/icn_up.png) center bottom no-repeat;
}
.number_index .icnul li figure figcaption > em.up:after {
    width:55px;
    height:41px;
    background:url(common/img/top/icn_up.png) center bottom no-repeat;
}
.number_index .icnul li > p,
.page_main.numbers .icnul.large li > p { text-align: center; }
.page_main.numbers .icnul.large li > p.smtxt { font-size:13px; }

.number_index .icnul li,
.page_main.numbers .icnul li { width:325px; }
.number_index .icnul.middle li:nth-of-type(n + 4),
.page_main.numbers .icnul.middle li:nth-of-type(n + 4) {
    margin-top:80px;
}
.number_index .icnul figure,
.page_main.numbers .icnul figure {
    position:relative;
    text-align:right;
}
.number_index .icnul figure > img {}
.number_index .icnul figure figcaption,
.page_main.numbers .icnul figure figcaption {
    position:absolute;
    bottom:-50px;
    right:15px;
}
.number_index .icnul figure figcaption em,
.page_main.numbers .icnul figure figcaption em {
    font-size:80px;
    line-height:1;
    font-weight:400;
    letter-spacing:0em;
}
.number_index .icnul li > p,
.page_main.numbers .icnul li > p {
    text-align:left;
}
.number_index .icnul li > h4 span,
.page_main.numbers .icnul li > h4 span {
    font-size:26px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
    z-index: 1;
    position: relative;
}
.number_index .icnul.small li,
.page_main.numbers .icnul.small li { width:245px; }
.number_index .icnul.small li:nth-of-type(n + 5),
.page_main.numbers .icnul.small li:nth-of-type(n + 5) {
    margin-top:80px;
}
.number_index .icnul.small figure figcaption,
.page_main.numbers .icnul.small figure figcaption {
    bottom:-25px;
    right:15px;
}
.number_index .icnul.small figure figcaption em,
.page_main.numbers .icnul.small figure figcaption em {
    font-size:56px;
}


/* タブ */
.voicefaqtab_index .tab,
.voicefaqtab_index .tab_items {
    position: relative;
    margin-left:auto;
    margin-right:auto;
}
.voicefaqtab_index .tab .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y { display:none; }
.voicefaqtab_index .tab ul {
    width: 100%;
}
.voicefaqtab_index .tab ul li {
    width: 49.5%;
    padding:26px 0;
    position:relative;
    background:#E2E2E2;
    border-radius:5px 5px 0 0;
    -webkit-transition: all .3s; transition: all .3s;
    cursor: pointer;
    cursor: hand;
}
.voicefaqtab_index .tab ul li:hover,
.voicefaqtab_index .tab ul li.selected {
    background: #F8F8F8;
}
.voicefaqtab_index .tab ul li h3,
.voicefaqtab_index .tab ul li h3 span {
    font-size:24px;
    line-height:1;
    font-weight:600;
    text-align:center;
}
.voicefaqtab_index .tab_items {
    -webkit-justify-content:center; justify-content:center;
    -webkit-align-items: flex-start; align-items: flex-start;
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
    width:100%;
}
.voicefaqtab_index .tab_items .item {
    width:100%;
    padding:70px 0 65px;
}
.voicefaqtab_index .tab_items .item ul.voices { width:100%; }
.voicefaqtab_index .tab_items .item ul.voices > li {
    width:100%;
    border:1px solid transparent;
    background:#FFF;
    -moz-box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
    -ms-box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
    box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
}
.voicefaqtab_index .tab_items .item ul.voices > li:hover { border-color:transparent; outline:3px solid #74b562; }
.voicefaqtab_index .tab_items .item ul.voices > li:not(:first-of-type) { margin-top:30px; }
.voicefaqtab_index .tab_items .item ul.voices > li > a {
    width:100%;
    height:100%;
    padding:30px 30px 35px;
}
.voicefaqtab_index .tab_items .item ul.voices > li h4 {
    font-size:22px;
    line-height:1.5;
    font-weight:600;
}
.voicefaqtab_index .tab_items .item ul.voices > li .star > em {
    color:#74b562;
    font-size:26px;
    line-height:1;
    font-weight:600;
}
.voicefaqtab_index .tab_items .item ul.voices > li .star > span {
    color:inherit;
    font-size:28px;
    line-height:1;
    font-weight:400;
    letter-spacing:0.02em;
}
.voicefaqtab_index .tab_items .item ul.voices > li p {
    font-size:18px;
    line-height:1.8;
    font-weight:400;
    letter-spacing:0.03em;
}
.voicefaqtab_index .tab_items .item ul.voices > li .btnc {
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}
.voicefaqtab_index .tab_items .item ul.voices > li .btnc > span {
    padding-right:3em;
}
.voicefaqtab_index .tab_items .item ul.voices > li .btnc > span span {
    font-size:16px;
}
.voicefaqtab_index .tab_items .item ul.voices > li .col_img_l { margin-right:35px; }
.voicefaqtab_index .tab_items .item ul.voices > li > a,
.voicefaqtab_index .tab_items .item ul.voices > li .col_txt_r { width:100%; }
.voicefaqtab_index .tab_items .item ul.btnul > li.btnc a {
    background:#FFF;
}

/* faq */
.faqtab { width:100%; }
.faqtab > li {
    width:100%;
    padding:25px 35px;
    border:1px solid transparent;
    background:#FFF;
    -moz-box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
    -ms-box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
    box-shadow: -1px 19px 24px -10px rgba(0, 0, 0, 0.5);
    cursor: pointer;
    cursor: hand;
}
.faqtab > li:hover { border-color:transparent; outline:3px solid #74b562; }
.faqtab > li h4 a,
.faqul > li h4 a { border-bottom:1px solid transparent; }
.faqtab > li h4 a:hover,
.faqul > li h4 a:hover { border-bottom:1px solid #CCC; }
.faqtab > li:not(:first-of-type) { margin-top:30px; }
.faqtab > li h4,
.faqul > li h4,
.faqind h2 {
    -webkit-justify-content: flex-start; justify-content: flex-start;
    -ms-flex-line-pack: center; -webkit-align-items: center; align-items: center;
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
    position:relative;
}
.faqtab > li h4 em,
.faqul > li h4 em,
.faqind h2 em {
    color:#74b562;
    font-size:38px;
    line-height:1;
    font-weight:500;
    margin-top:-0.1em;
    width:60px;
}
.faqtab > li h4 strong,
.faqul > li h4 strong,
.faqind h2 strong {
    font-size:22px;
    line-height:1.5;
    font-weight:600;
}
.faqtab > li .text,
.faqul > li .text,
.faqind .expandin {
    padding-left:60px;
    font-size:18px;
    line-height:1.75;
    letter-spacing:0.03em;
}
.faqtab > li .bg_gray,
.faqul > li .bg_gray,
.faqind .expandin .bg_gray {
    margin-left:60px;
    padding:15px 25px;
    font-size:16px;
    line-height:1.75;
    letter-spacing:0.03em;
}
.faqind .expandin .bg_gray { margin-left:0; }
.faqtab > li h4 .icn:after,
.faqul > li h4 .icn:after {
    content:"\f107";
    font-family: "Font Awesome 5 Free";
    color:#FF600A;
    font-size:28px;
    font-weight:600;
    position:absolute;
    right: 0;
    top: 42%;
    -webkit- transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}
.faqtab > li.opn h4 .icn:after,
.faqul > li.opn h4 .icn:after {
    content:"\f106";
}

.home .news_index {
    padding:85px 0 70px;
    background:#FFF;
}
.home .news_index .news {}
.home .news_index ul.newsul {
    position: relative;
}
.home .news_index ul.newsul li {
    padding:25px 0 30px;
    border-bottom:1px solid #CCC;
}
.home .news_index ul.newsul dl {
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.home .news_index ul.newsul dt {
    width:300px;
    font-size:14px;
    line-height:2;
    font-weight:400;
    letter-spacing:0.03em;
}
.home .news_index ul.newsul dt span {}
.home .news_index ul.newsul dt em {
    background:#74b562;
    color:#FFF;
    padding:0 1em;
    margin-left:10px;
}
.home .news_index ul.newsul dt em.cat02 {
    background:#333;
    color:#FFF;
}
.home .news_index ul.newsul dd {
    margin-top:0;
    width: calc(100% - 230px);
    word-break: break-word;
    word-wrap: break-word;
    word-break: break-all;
}
.home .news_index ul.newsul dd h3 {
    margin-top:0;
    font-size:18px;
    line-height:1.75;
    font-weight:600;
    letter-spacing:0.03em;
}
.home .news_index ul.newsul dd h3,
.home .news_index ul.newsul dd h3 a,
.home .news_index ul.newsul dd h3 a span {
    display:inline;
}
.home .news_index ul.newsul dd p {}
.home .news_index ul.newsul dd img {
    float:right;
    margin-left:20px;
}
.home .news_index ul.newsul dd h3 a:hover { opacity:1; }

/* /sub 下層ページ
==============================================================================*/
/* 下層の共通文字設定 */
.page_main {
    font-size: 16px;
    line-height: 1.85;
    letter-spacing: 0.03em;
}
.page .row_flex_common .col_img_l { margin-right: 40px; }
.page .row_flex_common .col_img_r { margin-left:  40px; }

/* header*/
.title_area .inner { width:100%; }
.page header { padding-bottom:0; }
.page .head .gnav_wrap {}

/* トップ画像 下層用 */
.page .main_page {
}

.main_page .inner {
    position:relative;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-line-pack: center; /*IE10*/
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap; /* Safari */
    flex-wrap: wrap;
}

/* 枠 #content>. >.page_main */
.content_low {
    width:100%;
}
.content_low .inner {
    width:100%;
}
.content_low .inner.mw690 { max-width: 690px; }

.page .page_main {
    width: 100%;
}
.page .page_main section {
    max-width:100%; margin-left:auto; margin-right:auto;
}
.page .page_main > section:not(:last-child) {}
.page .page_main section .inner,
.page_main .post_main h3,
.page_main section > h3 {}
.page .page_main section > h1 { text-align:center; } /* page not found */

/* 下層見出し */
.page h2 {}
.page h2 span {
    font-size:30px;
    line-height:1.5;
    letter-spacing:0.05em;
}
.page h2 small {
    display:block;
    margin-top:10px;
    color:#74b562;
    font-size:16px;
    line-height:1;
    font-weight:500;
    letter-spacing:0.05em;
}

.page h3 {}
.page h3 span {
    font-size:33px;
    line-height:1.78;
    font-weight:400;
    letter-spacing:0.15em;
}


.page .plan_index {
    padding:75px 0 100px;
    background:#EAD7C6;
}
.page .boxes {}
.page .boxes li {
    width:260px;
    padding-bottom:35px;
    background:#FFF;
    border:1px solid #CCC;
}
.page .boxes li:hover {
    outline:3px solid #74b562;
}
.page .boxes li > a {
    width:100%;
    height:100%;
    padding:0;
}
.page .boxes li .title { text-align:center; }
.page .boxes li .title span {
    margin-top:20px;
    display:block;
    font-size:18px;
    line-height:1.3;
    font-weight:600;
    letter-spacing:0.05em;
}
.page .boxes li .title span.mt1em { margin-top:1.7em; }
.page .boxes li figure { position:relative; }
.page .boxes li figure > img { width:100%; }
.page .boxes li > a > p {
    padding:0 20px;
    font-size:14px;
    line-height:1.65;
    font-weight:400;
}

.page .number_index {
    padding:90px 0;
    background:#F8F8F8;
}
.page .faq_index {
    padding:60px 0 115px;
    background:#F8F8F8;
}


.page .faq_index .faqtab {
    padding-top:45px;
}


/* about/reason */
.bg_brown { background:#F5EEE7; }
.bg_lightbrown { background:#FCFAF9; }
.bg_gray { background: #F8F8F8; }

.page .mk1 h2 {
    margin-bottom:-1.5em;
}
.page .mk1 h2 span {
    font-size:30px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page .mk1 .bg_brown {
    padding:40px 50px;
}

.page .reason .row_flex_common:not(:last-of-type) {
    padding-bottom:60px;
    border-bottom:1px solid #CCC;
}
.page .reason .row_flex_common .col_txt_l,
.page .reason .row_flex_common .col_txt_r {
    position:relative;
    padding-top:90px;
}
.page .reason .row_flex_common.n04 .col_txt_l,
.page .reason .row_flex_common.n06 .col_txt_l { padding-top:110px; }
.page .reason .row_flex_common .col_txt_l:before,
.page .reason .row_flex_common .col_txt_r:before {
    content:"01.";
    color:rgba(203,171,144,.4);
    font-family: 'Roboto', sans-serif;
    font-size:170px;
    line-height:1;
    font-weight:400;
    letter-spacing:-0.05em;
    position:absolute; top:0; left:0;
    z-index:-1;
}

.page .reason .row_flex_common.n01 .col_txt_l:before,
.page .reason .row_flex_common.n01 .col_txt_r:before { content:"01."; }
.page .reason .row_flex_common.n02 .col_txt_l:before,
.page .reason .row_flex_common.n02 .col_txt_r:before { content:"02."; }
.page .reason .row_flex_common.n03 .col_txt_l:before,
.page .reason .row_flex_common.n03 .col_txt_r:before { content:"03."; }
.page .reason .row_flex_common.n04 .col_txt_l:before,
.page .reason .row_flex_common.n04 .col_txt_r:before { content:"04."; }
.page .reason .row_flex_common.n05 .col_txt_l:before,
.page .reason .row_flex_common.n05 .col_txt_r:before { content:"05."; }
.page .reason .row_flex_common.n06 .col_txt_l:before,
.page .reason .row_flex_common.n06 .col_txt_r:before { content:"06."; }
.page .reason .row_flex_common.n07 .col_txt_l:before,
.page .reason .row_flex_common.n07 .col_txt_r:before { content:"07."; }

.page .reason .row_flex_common .col_txt_l h3 span,
.page .reason .row_flex_common .col_txt_r h3 span {
    font-size:29px;
    line-height:1.55;
    font-weight:400;
    letter-spacing:0.15em;
}

/* about/staff */
.staff .stafflist {}
.staff .stafflist li {
    width:335px;
    background:#FFF;
    border:1px solid #CCC;
}
.staff .stafflist li:nth-of-type(3n - 1) { margin-left:15px; margin-right:15px; }
.staff .stafflist li:nth-of-type(n + 4) { margin-top:15px; }
.staff .stafflist li:hover {
    outline:3px solid #74b562;
}
.staff .stafflist li > a {
    width:100%;
    height:100%;
    padding:35px 0;
}
.staff .stafflist li h3 {
    text-align:center;
    margin-top:20px;
}
.staff .stafflist li h3 small {
    font-size:14px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.staff .stafflist li h3 span {
    margin-top:0.2em;
    display:block;
    font-size:24px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.staff .stafflist li figure { position:relative; }
.staff .stafflist li figure figcaption {
    width:155px;
    height:155px;
    overflow:hidden;
    border-radius:50%;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    z-index: 1;
}
.staff .stafflist li figure figcaption img {
    position: absolute;
    top: 62%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.staff .stafflist li figure figcaption > img {}
.staff .stafflist li > a > .catchtxt {
    margin-top:25px;
    padding-top:25px;
    border-top:1px solid #CCC;
}
.staff .stafflist li > a > .catchtxt strong {
    font-size:20px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:0.01em;
}
.staff .stafflist li > a > p {
    padding:0;
    margin:15px 25px 0;
    font-size:14px;
    line-height:1.65;
    font-weight:400;
}

/* about/staff/ind */
.staff .detail {}
.staff .detail .row_flex_common .col_img_l { width:40%; text-align:center; }
.staff .detail .row_flex_common .col_txt_r { width:60%; }
.staff .detail h2 span {
    font-size:28px;
    line-height:1.65;
    font-weight:600;
    letter-spacing:0.03em;
}
.staff .detail #info01 { padding-bottom:0; }
.staff .detail #info01 h3 small {
    font-size:17px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.staff .detail #info01 h3 span {
    display:block;
    margin-top:10px;
    font-size:30px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.staff .detail #info01 .bg_gray {
    padding:30px 30px;
}
.staff .detail #info01 .bg_gray > dl dt {
    font-weight:600;
}
.staff .detail #info01 .bg_gray > dl dd {
    margin-left:5em;
}
.staff .detail #info02 {
    margin-top:-35px;
    padding-bottom:0;
}
.staff .detail #info02 .content_in > .bg_brown {
    padding:70px 0 40px;
}
.staff .detail #info02 .bg_brown h4 {
    font-size:19px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.staff .detail #info02 .bg_brown p {
    font-size:14px;
    line-height:1.8;
    font-weight:400;
    letter-spacing:0.03em;
}
.staff .detail #info02 .f0n {
    padding:35px 0 35px;
}
.staff .detail #info02 .f0n:nth-of-type(n + 3) { border-top:1px solid #CCC; }
.staff .detail #info02 .f0n h4 {
    font-size:24px;
    line-height:1.65;
    font-weight:600;
    letter-spacing:0.03em;
}
.staff .detail #info02 .f0n h4 span { margin-left:0.5em; }
.staff .detail #info02 .f0n p {
    font-size:14px;
    line-height:1.8;
    font-weight:400;
    letter-spacing:0.03em;
}
.staff .detail #info03 {
}
.staff .detail #info03 .blogs {
    padding:40px 0 50px;
}
.staff .detail #info03 .blogs h3 span {
    font-size:20px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.03em;
}
.staff .detail #info03 .blogs p {
    font-size:14px;
    line-height:1.8;
    font-weight:400;
    letter-spacing:0.03em;
}
.staff .detail #info03 .blogs dl {
    padding:15px 0 15px 0.5em;
}
.staff .detail #info03 .blogs dl:first-of-type { margin-top:10px; }
.staff .detail #info03 .blogs dl:nth-of-type(n + 2) { border-top:1px solid #CCC; }
.staff .detail #info03 .blogs dl dt {
    color:#74b562;
    font-size:14px;
    line-height:2.3;
    font-weight:400;
    letter-spacing:0.03em;
}
.staff .detail #info03 .blogs dl dd {
    margin-left:7em;
    font-size:16px;
    line-height:2;
    font-weight:400;
    letter-spacing:0.03em;
}
.staff .detail #info04 { padding-bottom:0; }
.staff .detail #info04 .otherstaff {
    padding:40px 0 60px;
}
.staff .detail #info04 .otherstaff li figure figcaption {
    width:155px;
    height:155px;
    overflow:hidden;
    border-radius:50%;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    z-index: 1;
}
.staff .detail #info04 .otherstaff li figure figcaption img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.staff .detail #info04 .otherstaff li img {}
.staff .detail #info04 .otherstaff h3 span {
    font-size:20px;
    line-height:2;
    font-weight:600;
    letter-spacing:0.03em;
    border-bottom:1px solid #707070;
}
.staff .detail #info04 .otherstaff .names {
    text-align:center;
    margin-top:5px;
}
.staff .detail #info04 .otherstaff .names small {
    font-size:12px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.staff .detail #info04 .otherstaff .names span {
    display:block;
    margin-top:5px;
    font-size:21px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}

/* about/blog */
.page_main .col2area {
    max-width: 1100px;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:80px;
}
.page_main .col2area #info02  { width:800px; margin-right:15px; }
.page_main .col2area #sidebar { width:285px; }

.blog .page_main.blog.list {}
.blog .page_main.blog.list .bloglist {}
.blog .page_main.blog.list .bloglist li {
    width:365px;
    padding-bottom:25px;
    border:1px solid #CCC;
}
.blog .page_main.blog.list .bloglist li > a {
    width:100%;
    height:100%;
}
.blog .page_main.blog.list .bloglist li:nth-of-type(2n) { margin-left:15px; }
.blog .page_main.blog.list .bloglist li:nth-of-type(n + 3) { margin-top:15px; }
.blog .page_main.blog.list .bloglist li figure {
    width:100%;
    min-height:3em;
    position:relative;
}
.blog .page_main.blog.list .bloglist li figure figcaption {
    width:100%;
    position:absolute;
    bottom:-46px;
    left:0;
    margin:auto;
    -webkit-align-items: center; align-items: center;
}
.blog .page_main.blog.list .bloglist li figure > img {
    max-height:240px;
}
.blog .page_main.blog .label,
.page_main.information.detail .label {
    display:inline-block;
    color:#FFF;
    font-size:16px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
    background:#666;
    padding:10px 15px;
}
.blog .page_main.blog .label.orange { background:#E87F50; }
.blog .page_main.blog .label.purple { background:#7887C6; }
.blog .page_main.blog.list .bloglist li figure figcaption .label.enji { background:#D14359; }
.blog .page_main.blog.list .bloglist li figure figcaption .pic {
    background:#FFF;
    width:90px;
    height:90px;
    overflow:hidden;
    border-radius:50%;
    margin-right:25px;
    position:relative;
    z-index: 1;
    -webkit-tap-highlight-color: transparent;
}
.blog .page_main.blog.list .bloglist li figure figcaption .pic img {
    width:92px;
}
.blog .page_main.blog.list .bloglist li .title {
    margin:0 25px;
    margin-top:45px;
}
.blog .page_main.blog.list .bloglist li .title .date {
    font-size:14px;
    line-height:1;
    font-weight:400;
    letter-spacing:0.03em;
}
.blog .page_main.blog.list .bloglist li .title > span {
    display:block;
    margin-top:10px;
    font-size:20px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:0.03em;
}
.blog .page_main.blog.list .bloglist li .excerpt {}
.blog .page_main.blog.list .bloglist li .excerpt span {
    display:block;
    margin:0 25px;
    margin-top:15px;
    font-size:14px;
    line-height:1.8;
    font-weight:400;
    letter-spacing:0.03em;
}

.page_main #sidebar .ind {
    width:100%;
    padding:20px 20px;
    border:5px solid #EEE;
}
.page_main #sidebar .ind h3 {}
.page_main #sidebar .ind h3 span {
    font-size:18px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main #sidebar .ind .lst {}
.page_main #sidebar .ind .lst li {
    margin:15px 0;
}
.page_main #sidebar .ind .lst li a {
    font-size:14px;
    line-height:2.3;
    font-weight:400;
    letter-spacing:0.03em;
}
.page_main #sidebar .ind .lst li a .date {
    color:#999;
    font-size:13px;
    line-height:1;
    font-weight:400;
    letter-spacing:0.03em;
}
.page_main #sidebar .ind .lst li a .excerpt {
    display:block;
    margin-top:10px;
    font-size:14px;
    line-height:1.55;
    font-weight:400;
    letter-spacing:0.03em;
}
.page_main #sidebar .ind .lst.tag {}
.page_main #sidebar .ind .lst.tag li {
    position:relative;
    padding-left:1em;
    margin:0;
}
.page_main #sidebar .ind .lst.tag li:before {
    content:"\f292";
    font-family: "Font Awesome 5 Free";
    color:#E87F50;
    font-size:14px;
    font-weight:600;
    position:absolute;
    left: 0;
    top: 50%;
    -webkit- transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}
.page_main #sidebar .ind .lst.tag li a {}

/* about/blog/detail */
.blog .page_main.blog.detail h2 small,
.page_main.information.detail h2 small {
    color:#74b562;
    font-size:16px;
    line-height:1;
    font-weight:400;
    letter-spacing:0.03em;
}
.blog .page_main.blog.detail h2 span,
.page_main.information.detail h2 span {
    display:block;
    margin-top:10px;
    font-size:24px;
    line-height:1.45;
    font-weight:600;
    letter-spacing:0.03em;
}
.blog .page_main.blog.detail h2 .label,
.page_main.information.detail h2 .label {
    margin-top:15px;
}

.blog .page_main .contarea:first-of-type { margin-top:0; }
.blog .page_main.blog.detail .pic,
.page_main.information.detail .pic { width:100%; }
.blog .page_main.blog.detail .pic img,
.page_main.information.detail .pic img {
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
}
.blog .page_main.blog.detail .contarea h3 span,
.page_main.information.detail .contarea h3 span {
    font-size:18px;
    line-height:1.75;
    font-weight:600;
    letter-spacing:0.03em;
}
.blog .page_main.blog.detail .contarea > p,
.page_main.information.detail .contarea > p {
    font-size:16px;
    line-height:2;
    font-weight:400;
    letter-spacing:0.03em;
}
.blog .page_main.blog.detail .meishi {
    padding:30px 40px;
    border:1px solid #CCC;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}
.blog .page_main.blog.detail .meishi .col_img_l {
    width:155px;
    height:155px;
    overflow:hidden;
    border-radius:50%;
    margin-right:50px;
    position:relative;
    z-index: 1;
    -webkit-tap-highlight-color: transparent;
}
.blog .page_main.blog.detail .meishi .col_txt_r {
    width:80%;
    margin-top:10px;
}
.blog .page_main.blog.detail .meishi h3 {}
.blog .page_main.blog.detail .meishi h3 small {
    font-size:17px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.blog .page_main.blog.detail .meishi h3 span {
    display:block;
    margin-top:10px;
    font-size:30px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.blog .page_main.blog.detail .meishi p {
    font-size:14px;
    line-height:1.8;
    font-weight:400;
    letter-spacing:0.03em;
    word-break:break-all;
}
.blog .page_main.blog.detail .meishi .btnc.rbordered,
.blog .page_main.blog.detail .meishi .btnc.rightarw.rbordered {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

/* plan */
.page_main.plan p.w690 {
    width:690px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.plan .plan_index {
    margin-top:75px;
    padding-top:20px;
}
.page_main.plan .plan_index.areaonly { padding:55px 0; }

.page_main.plan .voicefaqtab_index {}
.page_main.plan .voicefaqtab_index h2 { display:none; }

/* plan/detail */
.page_main .mk2 h2 {}
.page_main .mk2 h2 small {
    color:#74b562;
    font-size:18px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:0.05em;
}
.page_main .mk2 h2 span {
    display:block;
    margin-top:15px;
    font-size:30px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.plan p.w690 {
    width:690px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.plan .pic,
.page_main.plan .flowpic {
    text-align:center;
    margin-left:auto;
    margin-right:auto;
}
.plans_ind_list_index .content_inner {
    padding:55px 0 85px;
    background:#EEE0D4;
}
.plans_ind_list_index h3 {}
.plans_ind_list_index h3 em {
    color:#74b562;
    font-size:27px;
    font-family: 'Oswald', sans-serif;
}
.plans_ind_list_index h3 span {
    font-size:20px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.plans_ind_list_index .lst {}
.plans_ind_list_index .lst li {}
.plans_ind_list_index .lst li:hover {}
.plans_ind_list_index .lst li > a {}
.plans_ind_list_index .lst li h4 small {
    font-size:16px;
    line-height:1.35;
}
.plans_ind_list_index .lst li h4 span {
    font-size:24px;
    line-height:1.45;
}
.plans_ind_list_index .lst li h4 span.mt1em {}
.plans_ind_list_index .lst li figure {
    margin-top:20px;
    padding: 0 25px;
}
.plans_ind_list_index .lst li figure > img {}
.plans_ind_list_index .lst li .price {
    margin-top:20px;
}
.plans_ind_list_index .lst li .price .tategaki {}
.plans_ind_list_index .lst li .price .smrtfont {}
.plans_ind_list_index .lst li .price .en {}
.plans_ind_list_index .lst li .price .en small {}
.plans_ind_list_index .lst li .price .en span {}
.plans_ind_list_index .lst li > a > p {
    margin-top:15px;
}
.page_main.plan.list .tokucho {
    padding:80px 0 115px;
}
.page_main.plan.list .tokucho h3 {}
.page_main.plan.list .tokucho h3 small {
    color:#74b562;
    font-size:18px;
    line-height:1.55;
    font-weight:400;
    letter-spacing:0.05em;
}
.page_main.plan.list .tokucho h3 span {
    display:block;
    font-size:26px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.plan.list .whitelst {}
.page_main.plan.list .whitelst li {
    width:345px;
    padding:35px 20px 20px;
    border:1px solid #CCC;
    background:#FFF;
}
.page_main.plan.list .whitelst li h4 {}
.page_main.plan.list .whitelst li h4 span {
    font-size:20px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:0.03em;
}
.page_main.plan.list .whitelst li figure {
    text-align:center;
}
.page_main.plan.list .whitelst li figure img {}
.page_main.plan.list .whitelst li p {
    font-size:14px;
    line-height:1.8;
    font-weight:400;
    letter-spacing:0.03em;
}
.page_main.plan.list .flow {
    padding:50px 0 80px;
}
.page_main.plan.list .flow .flowlst {}
.page_main.plan.list .flow .flowlst > li {
    width:100%;
    padding:40px 0 20px;
}
.page_main.plan.list .flow .flowlst > li:not(:first-of-type) { border-top:1px solid #CCC; }
.page_main.plan.list .flow .flowlst > li > .flexbox > div { width:100%; }
.page_main.plan.list .flow .flowlst h4 {}
.page_main.plan.list .flow .flowlst h4 > small {
    color:#CBAB90;
}
.page_main.plan.list .flow .flowlst h4 > small strong {
    font-size:43px;
    line-height:1;
    font-weight:100;
    letter-spacing:0.1em;
    font-family: 'Oswald', sans-serif;
}
.page_main.plan.list .flow .flowlst h4 > small strong em {
    font-size:65px;
    line-height:1;
    font-weight:300;
    letter-spacing:-0.04em;
}
.page_main.plan.list .flow .flowlst h4 > span {
    display:block;
    margin-top:20px;
    font-size:26px;
    line-height:1.6;
    font-weight:400;
    letter-spacing:0.15em;
}
.page_main.plan.list .flow .flowlst .col_txt_l {}
.page_main.plan.list .flow .flowlst .bg_gray {
    padding:20px 40px;
}
.page_main.plan.list .flow h5 {}
.page_main.plan.list .flow h5 span {
    font-size:18px;
    line-height:1.55;
    font-weight:600;
    letter-spacing:0.03em;
}
.page_main.plan.list .flow h5 small {
    display:block;
    font-size:14px;
    line-height:1.2;
    font-weight:600;
    letter-spacing:0.03em;
}
.page_main .chklist {}
.page_main .chklist li {
    position:relative;
    padding-left:calc(21px + 0.8em);
    font-size:16px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:0.03em;
    margin-bottom:5px;
}
.page_main .chklist li:before {
    content: url(common/img/plan/flow_icn01.png);
    position: absolute; left: 0; top: 0.1em;
}
.page_main.plan.list .flow .flowlst .cardlst {}
.page_main.plan.list .flow .flowlst .cardlst li {
    width:49%;
    padding:20px 25px;
    border:1px solid #CCC;
}
.page_main.plan.list .flow .flowlst .cardlst.col3 li { width:32%; }
.page_main.plan.list .flow .flowlst .col_txt_l .cardlst li {
    /*width:100%;*/
}
.page_main.plan.list .flow .flowlst .cardlst li:nth-of-type(n + 3) { margin-top:20px; }
.page_main.plan.list .flow .flowlst .cardlst.col3 li:nth-of-type(n + 3) { margin-top:0; }
.page_main.plan.list .flow .flowlst .cardlst li h5 {}
.page_main.plan.list .flow .flowlst .cardlst li h5 span {
    font-size:18px;
    line-height:1.55;
    font-weight:600;
    letter-spacing:0.03em;
}
.page_main.plan.list .flow .flowlst .cardlst li p {
    font-size:14px;
    line-height:1.8;
    font-weight:400;
    letter-spacing:0.03em;
}

/* plan/detail/single */
.page_main.plan.single > .bg_gray {
    padding:65px 0 80px;
}
.page_main.plan.single h3.blacks {}
.page_main.plan.single h3.blacks span {
    font-size:26px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.plan.single h3.blacks span.border {
    border-bottom:1px solid #707070;
}
.page_main.plan.single h3.blacks small {
    display:block;
    margin-top:15px;
    font-size:18px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:0.05em;
}
.page_main.plan.single .price_example .price {}
.page_main.plan.single .price_example .price > span {
    display:block;
}
.page_main.plan.single .price_example .price > span.txt {
    font-size:23px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.plan.single .price_example .price > span em {
    font-size:65px;
    line-height:1;
    font-weight:400;
    letter-spacing:-0.02em;
}
.page_main.plan.single .price_example .price > span small {
    font-size:21px;
    line-height:1;
    font-weight:400;
    letter-spacing:0.05em;
    margin-left:1em;
}
.page_main.plan.single .price_example .angle_btm {}
.page_main.plan.single .price_example .detaillst {}
.page_main.plan.single .price_example .detaillst li {
    width:210px;
    margin-left: 6px;
    margin-right:6px;
    background:#FFF;
    border:1px solid #CCC;
    position:relative;
}
.page_main.plan.single .price_example .detaillst li:before {
    content: url(common/img/cmn/icn_plus.png);
    position: absolute; left:-33px; top: 50%;
}
.page_main.plan.single .price_example .detaillst li.non:before { display:none; }
.page_main.plan.single .price_example .detaillst li.minus:before {
    content: url(common/img/cmn/icn_minus.png);
}
.page_main.plan.single .price_example .detaillst li h5 {
    color:#FFF;
    background:#B18B6C;
    padding:10px 50px;
    text-align:center;
}
.page_main.plan.single .price_example .detaillst li.minus h5 {
    background:#74b562;
}
.page_main.plan.single .price_example .detaillst li h5 span {
    font-size:16px;
    line-height:1.35;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.plan.single .price_example .detaillst li h5 span.mt1em {
    padding-top:0.7em;
    padding-bottom:0.7em;
}
.page_main.plan.single .price_example .detaillst li .en {
    text-align:center;
    margin-top:25px;
    display:-webkit-box; display:-ms-flexbox; display: -webkit-flex; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center;
    -webkit-justify-content: center; justify-content: center;
    -webkit-align-items: center; align-items: center;
}
.page_main.plan.single .price_example .detaillst li .en span {
    font-size:32px;
    line-height:1;
    font-weight:400;
    letter-spacing:-0.1em;
}
.page_main.plan.single .price_example .detaillst li .en small {
    font-size:21px;
    line-height:1;
    font-weight:400;
    letter-spacing:0.05em;
    margin-left:0.8em;
}
.page_main.plan.single .price_example .detaillst li .zei {
    text-align:center;
    line-height:1;
    letter-spacing:0.05em;
    margin-top:10px;
    margin-bottom:25px;
}
.page_main.plan.single .price_detail {}
.page_main.plan.single .price_detail .dot_orange {}
.page_main.plan.single .price_detail .dot_orange span  {
    font-size:24px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
    position:relative;
    padding-left:1em;
}
.page_main.plan.single .price_detail .dot_orange span:before {
    content:"";
    width: 13px;
    height: 13px;
    background: #74b562;
    border-radius:50%;
    position: absolute;
    left: 0;
    top: 0.37em;
}
.page_main.plan.single .price_detail .ind {}
.page_main.plan.single .price_detail .ind:not(:first-of-type) {
    padding-top:40px;
    border-top:1px solid #CCC;
}
.page_main.plan.single .price_detail .ind h5 {}
.page_main.plan.single .price_detail .ind h5 span {
    font-size:20px;
    line-height:1;
    font-weight:400;
    letter-spacing:0.05em;
}
.page_main.plan.single .price_detail .ind > p {}
.page_main.plan.single .price_detail .ind .pics {}
.page_main.plan.single .price_detail .ind .pics li {
    width:335px;
    text-align:center;
}
.page_main.plan.single .price_detail .ind .pics li:nth-of-type(3n - 1) {
    margin-left:20px;
    margin-right:20px;
}
.page_main.plan.single .price_detail .ind .pics li:nth-of-type(n + 4) {
    margin-top:20px;
}
.page_main.plan.single .price_detail .ind .pics li > img {}
.page_main.plan.single .price_detail .ind .picsmall {
    width:1030px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.plan.single .price_detail .ind .picsmall li {
    width:70px;
    margin-right:65px;
    text-align:center;
}
.page_main.plan.single .price_detail .ind .picsmall li:nth-of-type(8n) {
    margin-right:0;
}
.page_main.plan.single .price_detail .ind .picsmall li:nth-of-type(n + 9) {
    margin-top:45px;
}
.page_main.plan.single .price_detail .ind .piclarge {
    width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
.page_main.plan.single .price_detail .ind .piclarge li {
    margin-left:auto;
    margin-right:auto;
}

/* area */
.page_main.area {}
.page_main.area .hall {}
.page_main.area .hall:nth-of-type(n + 3) {
    padding-top:90px;
    border-top:1px solid #CCC;
}
.page_main.area .hall h3 {}
.page_main.area .hall h3 small {
    font-size:16px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:0.15em;
}
.page_main.area .hall h3 span {
    display:block;
    font-size:28px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.area .hall .lead {
    font-size:18px;
    line-height:1.55;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.area .hall .hosoku {
    color:#333;
}
.page_main.area .hall .bg_gray {
    padding:20px;
}
.page_main.area .hall .bg_gray h4 {}
.page_main.area .hall .bg_gray h4 span {
    font-size:16px;
    line-height:1.65;
    font-weight:600;
    letter-spacing:0.05em;
    margin-left:0.5em;
}
.page_main.area .hall .bg_gray > p {
    font-size:14px;
    line-height:1.75;
}
.page_main.area .hall .bg_gray .btnul {
    margin-right:30px;
}
.page_main.area .hall .bg_gray .btnul .btnc.rightarw a span {
    font-size: 14px;
}

.swparea { position: relative; }
.page_main.area .hall .swparea {
    width:520px;
}
.page_main.area .hall .col_txt_r,
.page_main.area .hall .col_txt_l { width:50%; }
.swiper-container {
    width: 100%;
    height: 480px;
    margin-left: auto;
    margin-right: auto;
}
.swiper-slide {
    background-size: cover;
    background-position: center;
}
.swiper-container.gallery-top {
    height: 360px;
    width: 100%;
}
.swiper-container.gallery-thumbs {
    margin-top:20px;
    width:calc(100% - 10px);
    height: 100px;
    box-sizing: border-box;
    padding: 10px 0;
}
.gallery-thumbs .swiper-slide {
    height: 100%;
    opacity: 0.4;
}
.swiper-container.gallery-thumbs .swiper-slide {
}
.swiper-container.gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1;
    outline:3px solid #74b562;
}
.swparea .swiper-button-next.swiper-button-my,
.swparea .swiper-button-prev.swiper-button-my {
    background-image: url(common/img/cmn/swiper-button-next.png);
    background-size:auto 100%;
    background-size: 100%;
    top:calc(50% - 60px);
    right: -30px;
    left: auto;
    width: 60px;
    height: 60px;
    margin-top: -30px;
}
.swparea .swiper-button-prev.swiper-button-my {
    background-image: url(common/img/cmn/swiper-button-prev.png);
    background-size:auto 100%;
    left: -30px;
    right: auto;
}
.swparea .swiper-button-next.swiper-button-my.thumb,
.swparea .swiper-button-prev.swiper-button-my.thumb {
    background-image: url(common/img/cmn/swiper-button-next-thumb.png);
    background-size:auto 100%;
    top:calc(360px + 60px);
    bottom:auto;
    left:auto;
    right: -24px;
    width: 24px;
    height: 80px;
}
.swparea .swiper-button-prev.swiper-button-my.thumb {
    background-image: url(common/img/cmn/swiper-button-prev-thumb.png);
    background-size:auto 100%;
    left: -24px;
    right:auto;
}

/* area/hall */
.page_main.area.hall {}
.page_main.area.hall .lead {
    font-size:22px;
    line-height:1.55;
    font-weight:400;
    letter-spacing:0.05em;
}
.page_main.area.hall p.w690 {
    width:690px;
    margin-left:auto;
    margin-right:auto;
    color:#333333;
}
.page_main.area.hall .icons {
    width:690px;
    margin-left:auto;
    margin-right:auto;
    padding:15px 0;
    border-top:1px solid #CCC;
    border-bottom:1px solid #CCC;
}
.page_main.area.hall .icons li {
    width:calc(100% / 6);
    text-align:center;
}
.page_main.area.hall .icons li p {
    font-size:15px;
    line-height:1.25;
}
.page_main.area.hall .swparea {
    width:1000px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.area.hall .swparea .swiper-container {
    width: 100%;
    height: 600px;
}
.page_main.area.hall .swparea .swiper-container.gallery-top {
    width:870px;
}
.page_main.area.hall .swparea .swiper-container.gallery-thumbs {
    height: 110px;
}
.page_main.area.hall .swparea .swiper-button-next.swiper-button-my,
.page_main.area.hall .swparea .swiper-button-prev.swiper-button-my {
    right: 36px;
}
.page_main.area.hall .swparea .swiper-button-prev.swiper-button-my {
    left: 36px;
    right: auto;
}
.page_main.area.hall .swparea .swiper-button-next.swiper-button-my.thumb,
.page_main.area.hall .swparea .swiper-button-prev.swiper-button-my.thumb {
    top:auto;
    bottom:10px;
    left:auto;
    right: -52px;
    width: 32px;
    height: 90px;
}
.page_main.area.hall .swparea .swiper-button-prev.swiper-button-my.thumb {
    left: -52px;
    right:auto;
}

.page_main.area.hall .accs .dl-list.borderbtm {
}
.page_main.area.hall .accs .dl-list.borderbtm:nth-of-type(n + 2) {
    border-top:1px solid #CCC;
    margin-top:5px;
    padding-top:5px;
}
.page_main.area.hall .accs .dl-list.borderbtm dt {}
.page_main.area.hall .accs .dl-list.borderbtm dd {
    margin-left:15em;
}
#wrap .page_main.area.hall .shares.foot_contact {
    margin:0;
    padding:0;
}
#wrap .page_main.area.hall .neerarea {
    padding:40px 55px 50px;
    border:5px solid #E0E0E0;
}
#wrap .page_main.area.hall .neerarea h3 span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    border-bottom:1px solid #000;
}
#wrap .page_main.area.hall .neerarea .ind:first-of-type { margin-top:45px; }
#wrap .page_main.area.hall .neerarea .ind:nth-of-type(n + 2) {
    margin-top:30px;
    padding-top:30px;
    border-top:1px solid #E0E0E0;
}
#wrap .page_main.area.hall .neerarea .ind .col_img_l {
    width:160px;
}
#wrap .page_main.area.hall .neerarea .ind .col_img_l img { width:100%; }
#wrap .page_main.area.hall .neerarea .ind .col_txt_r {
    width:90%;
}
#wrap .page_main.area.hall .neerarea .ind .col_txt_r h4 {
    width:100%;
    -webkit-justify-content: flex-start; justify-content: flex-start;
}
#wrap .page_main.area.hall .neerarea .ind .col_txt_r h4 a {
    width:auto;
    padding-left:0;
    font-size:20px;
    font-weight:600;
}
#wrap .page_main.area.hall .neerarea .ind .col_txt_r p {}

.page_main.area.hall .access {
    padding:75px 0 125px;
}
.page_main.area.hall .access h3 {}
.page_main.area.hall .access h3 span {
    font-size:23px;
    line-height:1.7;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.area.hall #info02 h3 span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.area.hall #info02.plan_index .plans.middle li > a > p { display:none; }

/* request */
.page_main.request h3.s1 {}
.page_main.request h3.s1 span {
    font-size:30px;
    line-height:1.4;
    font-weight:400;
    letter-spacing:0.05em;
}
.page_main.request .carea.row_flex_common.between {
    -webkit-align-items: flex-start;
    align-items: flex-start;
}
.page_main.request .carea.row_flex_common.between .col_img_r {
    width:620px;
}
.page_main.request .carea.row_flex_common.between .col_txt_l {
    width:450px;
}

.border_box {
    border:1px solid #CCCCCC;
    padding:20px 30px;
}
.page_main.request .border_box {
    border:1px solid #CCCCCC;
    padding:0px 30px 20px;
}
.page_main.request .border_box h4 {
    margin-top:-0.5em;
}
.page_main.request .border_box h4 span {
    padding:0 .5em;
    background:#FFF;
    color:#333333;
    font-size:16px;
    line-height:1.2;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.request h3.s2 {}
.page_main.request h3.s2 span {
    font-size:20px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.request .cinfobg {
    padding-top:35px;
    padding-bottom:320px;
    border-top:2px solid #CCC;
    border-bottom:2px solid #CCC;
    background:url(common/img/request/cinfobg01.png) center bottom no-repeat;
}
.page_main.request .cinfobg a.tel,
.page_main.hasten .info01mv a.tel,
.page_main.firsttime .info01mv a.tel,
.page_main.member a.tel {
    display:block;
    text-align:center;
}
.page_main.request .cinfobg a.tel span,
.page_main.hasten .info01mv a.tel span,
.page_main.firsttime .info01mv a.tel span,
.page_main.member a.tel span {
    position:relative;
    padding-left:0.5em;
    font-size:51px;
    line-height:1;
    font-weight:400;
    letter-spacing:0;
}
.page_main.request .cinfobg a.tel span:before,
.page_main.hasten .info01mv a.tel span:before,
.page_main.firsttime .info01mv a.tel span:before,
.page_main.member a.tel span:before {
    content:url(common/img/cmn/foot_contact_tel.png);
    position:absolute;
    left: 0em;
    top: 54%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}
.page_main.request .cinfobg a.tel small,
.page_main.hasten .info01mv a.tel small,
.page_main.firsttime .info01mv a.tel small,
.page_main.member a.tel small {
    display:block;
    margin-top:0.5em;
    color:#74b562;
    font-size:16px;
    line-height:1.5;
    letter-spacing:0.05em;
}
.page_main.request .cform {
    border:5px solid #EEEEEE;
    padding:30px 30px;
}
.page_main.request .cform h3 {}
.page_main.request .cform h3 span {
    font-size:24px;
    line-height:1.2;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.request .cform .borderbtm {
    letter-spacing:0.03em;
    padding-bottom:15px;
    border-bottom:1px solid #CCC;
}
.page_main.request .cform .bikou > p {
    margin-top:30px;
    font-size:14px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:0;
}
.page_main.request .cform .form-submit {
    margin-top:45px;
}

.tbl_01.contact { width:100%; }
.tbl_01.contact .col1 { width:180px; }
.tbl_01.contact .col2 { width:370px; }
.tbl_01.contact th,
.tbl_01.contact td { text-align:left; background-color:#FFF; word-break:break-all; }
.tbl_01.contact th {
    padding:20px 0;
    color:#000;
    font-size:16px;
    font-weight:600;
    vertical-align:top;
    background-color:#FFF;
    border:none;
}
.tbl_01.contact td {
    padding:20px 0;
    color:#000;
    font-size:16px;
    font-weight:400;
    letter-spacing:0;
    border-top:none;
    border-right:none;
}
.tbl_01.contact tr {
    border-bottom:1px solid #CCC;
}
.tblwrap .wpcf7 form.wpcf7-form > p { display:none; }

.tbl_01.contact td .wpcf7-list-item {
    display:block;
    width:100%;
    margin-right:0;
}
.tbl_01.contact td .wpcf7-list-item .wpcf7-list-item-label {
    display:block;
    width:100%;
    padding-top:10px;
    padding-bottom:10px;
    margin-bottom:0.5em;
    background:#F2F2F2;
    border-radius:5px;
}
.tbl_01.contact td .f_style .wpcf7-list-item.first {
    /*background:#F5EEE7;*/
}
.tbl_01.contact td > p {
    font-size:14px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:0;
}
.tbl_01.contact th .required {
    background:#900117;
    color:#FFF;
    font-size:14px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05;
    padding:0 0.3em;
    margin-left:1em;
}
.tbl_01.contact td .text1 {
    background:#F2F2F2;
}








/* hasten */
.page_main.hasten {}
.page_main.hasten .info01mv {}
.page_main.hasten .info01mv .col_img_r,
.page_main.firsttime .info01mv .col_img_r {
    width:829px;
    margin-left:-319px;
    display:-webkit-box; display:-ms-flexbox; display: -webkit-flex; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center;
    -webkit-justify-content: flex-end; justify-content: flex-end;
    -webkit-align-items: flex-end; align-items: flex-end;
    -webkit-flex-wrap: wrap; flex-wrap: wrap;
}
.page_main.hasten .info01mv .col_img_r img {}
.page_main.hasten .info01mv .col_txt_l,
.page_main.firsttime .info01mv .col_txt_l {
    width:590px;
    padding:0 0 40px;
    z-index:2;
}
.page_main.hasten .info01mv .col_txt_l h3 {}
.page_main.hasten .info01mv .col_txt_l h3 span,
.page_main.firsttime .info01mv .col_txt_l h3 span {
    font-size:24px;
    line-height:1.66;
    font-weight:400;
    letter-spacing:0.05em;
}
.circlepoint {}
.circlepoint li {
    background:#FFF;
    border:2px solid #74b562;
    border-radius:50%;
    width:175px;
    height:175px;
    text-align:center;
}
.circlepoint li span {
    color:#74b562;
    font-size:18px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.hasten .border_box {
    border:2px solid #CCCCCC;
    padding:20px 240px;
}
.page_main.hasten .flow {}
.page_main.hasten .flow.bg_gray {
    padding:45px 0 95px;
}
.page_main.hasten .flow h2 {}
.page_main.hasten .flow h2 span {
    font-size:24px;
    line-height:1.15;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.hasten .flow .flowul {
    margin-left:-40px;
}
.page_main.hasten .flow .flowul li {
    background:#FFF;
    border:5px solid #E6E1E1;
    border-right:none;
    border-left:none;
    position:relative;
    width:275px;
    padding:20px 0 20px 20px;
    padding-left:40px;
}
.page_main.hasten .flow .flowul li:nth-of-type(1) {
    border-left:5px solid #E6E1E1;
}
.page_main.hasten .flow .flowul li:after {
    content:"";
    width: 40px;
    height: calc(100% + 10px);
    background:url(common/img/hasten/box_right.png) left top / auto 100% no-repeat;
    position:absolute;
    top:-5px;
    right:-40px;
    z-index:2;
}
.page_main.hasten .flow .flowul li h3 {}
.page_main.hasten .flow .flowul li h3 > small { color:#74b562;}
.page_main.hasten .flow .flowul li h3 > small strong {
    font-size:29px;
    line-height:1;
    font-weight:100;
    letter-spacing:0.05em;
    font-family: 'Oswald', sans-serif;
}
.page_main.hasten .flow .flowul li h3 > small strong em {
    font-size:43px;
    line-height:1;
    font-weight:300;
    letter-spacing:-0.04em;
}
.page_main.hasten .flow .flowul li h3 > span {
    display:block;
    margin-top:10px;
    font-size:22px;
    line-height:1.3;
    font-weight:600;
    letter-spacing:0.15em;
}
.page_main.hasten .flow .flowul li h3 > span.mt1em {
    margin-top:1.2em;
    padding-bottom:0.5em;
}
.page_main.hasten .flow .flowul li p {
    font-size:14px;
    line-height:1.7;
    font-weight:400;
    letter-spacing:0.03em;
}
.page_main.hasten .preparation {
    padding:65px 0 95px;
}
.page_main.hasten .preparation h2 {}
.page_main.hasten .preparation h2 span {
    font-size:24px;
    line-height:1.15;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.hasten .preparation .prepul {}
.page_main.hasten .preparation .prepul li {
    width:250px;
}
.page_main.hasten .preparation .prepul li h3 {}
.page_main.hasten .preparation .prepul li h3 span {
    font-size:20px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.hasten .preparation .prepul li .txt {
    font-size:14px;
    line-height:1.7;
    font-weight:400;
    letter-spacing:0.03em;
    min-height:7em;
}
.page_main.hasten .preparation .prepul li .icn {}
.page_main.hasten .omoi {
    padding:75px 0 135px;
}
.page_main.hasten .omoi h2 span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.hasten .omoi h3 span {
    font-size:26px;
    line-height:1.75;
    font-weight:400;
    letter-spacing:0.05em;
}

/* faq */
.page_main.faq {}
.page_main.faq .mk2 {}
.page_main.faq .mk2 h2 {}
.page_main.faq .mk2 h2 span {}
.page_main.faq .mk2 h3 {}
.page_main.faq .mk2 h3 span {
    border-bottom:1px solid #707070;
    font-size:20px;
    line-height:1.25;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.faq .w690 {
    width:690px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.faq .catlist {
    width:690px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.faq .catlist li {
    padding:0 1.5em;
    margin-bottom:20px;
}
.page_main.faq .catlist li:not(:last-of-type) { border-right:1px solid #CCCCCC; }
.page_main.faq .catlist li a {}
.page_main.faq .catlist li a strong {
    letter-spacing:0.05em;
}

.faqul { width:100%; }
.faqul > li {
    width:100%;
    padding:25px 35px;
    border:1px solid #CCCCCC;
    background:#FFF;
    border-collapse: collapse;
}
.faqul > li .bg_gray {}
.faqul > li .bg_gray h5 {
    font-size:16px;
    line-height:1.55;
    font-weight:600;
    letter-spacing:0.05em;
}
.faqul > li .linkdiv {}
.faqul > li .linkdiv dl {
    margin-top:0.3em;
}
.faqul .btnul > li.btnc > a {
    padding-right:3em;
    font-size:16px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}

/* voice */
.page_main.voice {}
.page_main.voice .mk2 {}
.page_main.voice .mk2 h2 {}
.page_main.voice .mk2 h2 span {}
.page_main.voice .mk2 h3 {}
.page_main.voice .mk2 h3 span {
}
.page_main.voice .w690 {
    width:690px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.voice .voiceul {}
.page_main.voice .voiceul > li {
    width:335px;
    border:1px solid #CCCCCC;
    position:relative;
}
.page_main.voice .voiceul > li a {
    width:100%;
    height:100%;
    padding:50px 25px 40px;
}
.page_main.voice .voiceul > li:hover {
    outline:3px solid #74b562;
}
.page_main.voice .voiceul > li:nth-of-type(3n - 1) {
    margin-left:20px;
    margin-right:20px;
}
.page_main.voice .voiceul > li:nth-of-type(n + 4) {
    margin-top:20px;
}
.page_main.voice .voiceul li .date {
    padding:0 0.5em;
    display:inline-block;
    background:#F4F4F4;
    position:absolute;
    top:0;
    right:0;
}
.page_main.voice .voiceul li .date span {
    color:#74b562;
    font-size:14px;
    line-height:1;
    font-weight:400;
    letter-spacing:0.05em;
}
.page_main.voice .voiceul li h3 {}
.page_main.voice .voiceul li h3 span {
    font-size:20px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.voice .voiceul li .txt {}
.page_main.voice .star > em {
    color:#74b562;
    font-size:22px;
    line-height:1;
    font-weight:600;
}
.page_main.voice .star > span {
    color:inherit;
    font-size:24px;
    line-height:1;
    font-weight:400;
    letter-spacing:0.02em;
    margin-left:0.3em;
}
.page_main.voice .voiceul li .name {
    font-size:14px;
    line-height:1.8;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.voice .tbl_01.voice {
    border-collapse: separate;
    border-spacing: 0px 6px;
}
.page_main.voice .tbl_01.voice .col1,
.page_main.voice .tbl_01.voice .col3 { width:60px; }
.page_main.voice .tbl_01.voice .col2,
.page_main.voice .tbl_01.voice .col4 { width:90px; }
.page_main.voice .tbl_01.voice tr:last-child { border-bottom: none; }
.page_main.voice .tbl_01.voice th,
.page_main.voice .tbl_01.voice td {
    padding: 0;
    font-size: 14px;
    line-height:1.8;
    vertical-align: middle;
    background-color: transparent;
    border: none;
    text-align:center;
}
.page_main.voice .tbl_01.voice th { background-color: #F4F4F4; }
.page_main.voice .tbl_01.voice td { text-align:center; }
.page_main.voice .tbl_01.voice th span {}
.page_main.voice .tbl_01.voice td span {}

/* voice/single */
.page_main.voice.single {}
.page_main.voice.single .mk2 .star {}
.page_main.voice.single .mk2 .star span {}
.page_main.voice.single .mk2 .name {}
.page_main.voice.single .mk2 .w720 {
    width:720px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.voice.single .mk2 .tbl_01 {
    width:720px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.voice.single .mk2 .tbl_01.voice .col1,
.page_main.voice.single .mk2 .tbl_01.voice .col3 { width:135px; }
.page_main.voice.single .mk2 .tbl_01.voice .col2,
.page_main.voice.single .mk2 .tbl_01.voice .col4 { width:225px; }
.page_main.voice.single .mk2 .tbl_01.voice th,
.page_main.voice.single .mk2 .tbl_01.voice td {
    text-align:left;
    padding:0 1em;
}
.page_main.voice.single .picarea {
    width:100%;
    column-count: 2;
    column-gap: 0;
}
.page_main.voice.single .picarea li {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    padding:20px;
}
.page_main.voice.single .picarea li img {}
.page_main.voice.single .meishi {
    padding:30px 40px;
    border:1px solid #CCC;
}
.page_main.voice.single .meishi .col_img_l {
    width:155px;
    height:155px;
    overflow:hidden;
    border-radius:50%;
    margin-left:auto;
    margin-right:50px;
    position:relative;
    z-index: 1;
    -webkit-tap-highlight-color: transparent;
}
.page_main.voice.single .meishi .col_img_l > img {}
.page_main.voice.single .meishi .col_txt_r {
    width:80%;
    margin-top:10px;
}
.page_main.voice.single .meishi h4 {
    text-align:center;
}
.page_main.voice.single .meishi h4 span {
    display:block;
    margin-top:10px;
    font-size:22px;
    line-height:1;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.voice.single .meishi p {
    font-size:16px;
    line-height:1.8;
    font-weight:400;
    letter-spacing:0.03em;
    word-break:break-all;
}
.page_main.voice.single .meishi .btnc.rightarw {
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    padding-right:3em;
}

/* salon */
.page_main.salon {}
.page_main.salon .mk2 h3 {}
.page_main.salon .mk2 h3 span {
    font-size:26px;
    line-height:1.52;
    font-weight:400;
    letter-spacing:0.05em;
}
.page_main.salon .mk2 .circlepoint {
    width:560px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.salon .kaisho {
    padding:60px 0 100px;
}
.page_main.salon .kaisho h2 span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.salon .kaishoul li {
    width:345px;
    padding-bottom:20px;
    background:#FFF;
}
.page_main.salon .kaishoul li figure {
    margin-top: 0;
}
.page_main.salon .kaishoul li h3 span {
    font-size:20px;
    line-height:1.4;
}
.page_main.salon .support .ind {
    padding-top:45px;
    border-top:1px solid #CCC;
}
.page_main.salon .support .ind h3 span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.salon .support .ind .supul {}
.page_main.salon .support .ind .supul li {
    width:315px;
}
.page_main.salon .support .ind .supul li:not(:first-of-type) {
    margin-left:40px;
}
.page_main.salon .support .ind .supul li h4 span {
    font-size:20px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.salon .support .ind .supul li > p {
    font-size:14px;
    line-height:1.7;
    font-weight:400;
    letter-spacing:0.03em;
}
.page_main.salon .methods {
    padding:75px 0 95px;
}
.page_main.salon .methods h2 span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.salon .methods .kaishoul li {
    width:520px;
    padding-bottom:20px;
    background:#FFF;
}
.page_main.salon .methods .kaishoul li h3 span {
    font-size:20px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.salon .methods .kaishoul li h4 span {
    font-size:16px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.03em;
}
.page_main.salon .methods .kaishoul li .tel span {
    color:#74b562;
    font-size:54px;
    line-height:1;
    font-weight:400;
    letter-spacing:0;
}
.page_main .number_index.bg_white {
    background:#FFF;
}

/* firsttime */
.page_main.firsttime .ind h3 span {
    font-size:30px;
    line-height:1.5;
    font-weight:600;
    border-bottom:1px solid #000;
}
.page_main.firsttime .ind .infobox {}
.page_main.firsttime .ind .infobox li { width:48%; }
.page_main.firsttime .ind .infobox li:nth-of-type(n + 3) { margin-top:45px; }
.page_main.firsttime .ind .infobox li h4 span {
    font-size:20px;
    line-height:1.5;
    font-weight:600;
}
.page_main.firsttime .ind .infobox li p {
    font-size:14px;
    line-height:2;
}
.page_main.firsttime .ind .border_box {
    padding:25px 230px;
}
.page_main.firsttime .ind .border_box h3 span {
    border:none;
    font-size:30px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.firsttime .ind .border_box h3 span em {
    color:#74b562;
}
.page_main.firsttime .ind .border_box > p {
    margin-top:10px;
    font-size:18px;
    line-height:1.5;
}
.page_main.firsttime .ind .border_box dl {
    padding:1em 0 0.5em;
}
.page_main.firsttime .ind .border_box dl:nth-of-type(n + 2) {
    border-top:1px solid #CCC;
}
.page_main.firsttime .ind .border_box dl dt {
    color:#74b562;
    font-size:30px;
    line-height:1;
    font-weight:600;
}
.page_main.firsttime .ind .border_box dl dd {
    margin-left:5em;
    font-size:24px;
    line-height:1.5;
    font-weight:600;
}

.dot_orange {
    padding-left: 1.7em;
    position: relative;
}
.dot_orange span:before {
    content: "";
    width: 13px; height: 13px;
    border-radius: 50%;
    background: #74b562;
    position: absolute; left: 0; top: 0.25em;
}
.page_main.firsttime .dot_orange span:before { top: 0.36em; }
.page_main.firsttime .dot_orange span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.firsttime .ind {}
.page_main.firsttime .hul {}
.page_main.firsttime .hul li {
    width:360px;
}
.page_main.firsttime .hul li:nth-of-type(n + 3) {
    margin-top:60px;
}
.page_main.firsttime .hul li h3 span {
    font-size:18px;
    line-height:1.5;
    font-weight:600;
    line-height:0.05em;
}
.page_main.firsttime .ind .border_box {
    border:5px solid #EEEEEE;
}
.page_main.firsttime .ind .border_box .col_img_r {
    margin-left:20px;
}
.page_main.firsttime .ind .flow.bg_gray {
    padding:30px 35px;
}
.page_main.firsttime .ind .flow.bg_gray figcaption {}
.page_main.firsttime .ind .flow.bg_gray figcaption > .dl-list {
    text-align:left;
    font-size:14px;
    line-height:1.55;
    font-weight:400;
    letter-spacing:0.05em;
    margin-top:-1.5em;
}
.page_main.firsttime .ind .flow.bg_gray figcaption > .dl-list > dd {
    text-align:left;
    margin-left:1.5em;
}
.page_main.firsttime .ind .flow.bg_gray figcaption h3 {
    text-align:right;
}
.page_main.firsttime .ind .flow.bg_gray figcaption h3 span {
    font-size:16px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.firsttime .tbl_01.manners {
    border:1px solid #CCCCCC;
}
.page_main.firsttime .tbl_01.manners .col1,
.page_main.firsttime .tbl_01.manners .col3,
.page_main.firsttime .tbl_01.manners .col5,
.page_main.firsttime .tbl_01.manners .col7 { width:70px; }
.page_main.firsttime .tbl_01.manners .col2,
.page_main.firsttime .tbl_01.manners .col4,
.page_main.firsttime .tbl_01.manners .col6,
.page_main.firsttime .tbl_01.manners .col8 { width:130px; }
.page_main.firsttime .tbl_01.manners tr:last-child { border-bottom: none; }
.page_main.firsttime .tbl_01.manners th,
.page_main.firsttime .tbl_01.manners td {
    padding: 10px 0;
    font-size: 13px;
    line-height:1.55;
    vertical-align: middle;
    background-color: transparent;
    border: 1px solid #CCCCCC;
    text-align:center;
}
.page_main.firsttime .tbl_01.manners th { background-color: #F4F4F4; }
.page_main.firsttime .tbl_01.manners td { text-align:center; }
.page_main.firsttime .tbl_01.manners th span {}
.page_main.firsttime .tbl_01.manners td a {
    text-decoration:underline;
}

.page_main.firsttime .parts .ind {
    border-top:1px solid #707070;
    padding-top:25px;
    margin-top:35px;
    border-bottom:1px solid #707070;
    padding-bottom:25px;
    margin-bottom:35px;
}
.page_main.firsttime .parts .btnul {}
.page_main.firsttime .parts .btnul .rightarw {
    padding-right:3em;
}
.page_main.firsttime .parts .btnul .btnc.leftarw a span {
    padding-left: 2em;
}
.page_main.firsttime .parts .ind .points {
    text-align:center;
}
.page_main.firsttime .parts .ind .points em {
    color:#74b562;
    font-size:40px;
    line-height:1;
    font-weight:500;
}
.page_main.firsttime .parts .ind .points span {
    display:block;
    margin-top:0.2em;
    font-size:22px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}

/* member */
.page_main.member {}
.page_main.member .mv {
    position:relative;
    width:100%;
    height:800px;
    background:url(common/img/member/mv1.jpg) center top / auto 100% no-repeat;
    background-position: center center;
    background-size: cover;
    animation-duration: 6000ms;
    -ms-flex-pack:center;
    -webkit-justify-content: center; justify-content: center;
    -webkit-align-items: center; align-items: center;
}
.page_main.member .mv .in_box {
    width:590px;
    padding-bottom:25px;
    /*margin-left:auto;
    margin-right:auto;*/
    background:#FFF;
    text-align:center;
}
.page_main.member .mv .in_box > figure {
    margin-top:-15px;
}
.page_main.member .mv .in_box > p {}
.page_main.member .mv .in_box > p strong {
    font-size:20px;
    line-height:1.6;
    font-weight:600;
    letter-spacing:0.03em;
}
.page_main.member .mv .card {
    position:absolute;
    bottom:-50px;
    left:calc(50% + 190px);
}
.page_main.member .about.bg_gray {
    padding:65px 0 80px;
}
.page_main.member .kaishoul li {
    width:345px;
    padding-bottom:20px;
    background:#FFF;
}
.page_main.member .kaishoul li figure {
    margin-top: 0;
}
.page_main.member .kaishoul li h3 span {
    font-size:20px;
    line-height:1.4;
}
.page_main.member .about.bg_brown {
    padding:65px 60px;
}
.page_main.member .about.bg_brown h2 span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.member .about.bg_brown h3 span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.member .about.bg_brown h4 span {
    font-size:20px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.member .about.bg_brown h5 span {
    font-size:22px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:0.05em;
}
.page_main.member .unnei h2 span {
    font-size:24px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.member .unnei h3 span {
    font-size:26px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:0.05em;
}

/* member/request */
#wrap.page.member.request .foot_contact { display:none; }
.page_main.member.request { padding-bottom:90px; }
.page_main.member.request h3 span {
    font-size:24px;
    line-height:1.6;
    font-weight:600;
    letter-spacing:0.05em;
}

.page_main.member.request h4 span {
    font-size:18px;
    line-height:1.6;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.member.request .wpcf7 .form-submit .btn_common { width: 350px; }

/* company */
.page_main.company .access.bg_gray {
    padding:70px 0 120px;
}
.page_main.company h3 span {
    font-size:22px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
    border-bottom:0px solid #707070;
}
.page_main.company h4 span {
    font-size:20px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main .tbl_01.company {
    border:none;
    width:850px;
    margin-left:auto;
    margin-right:auto;
}
.page_main .tbl_01.company .col1 { width:200px; }
.page_main .tbl_01.company .col2 { width:550px; }
.page_main .tbl_01.company tr:last-child { border-bottom: none; }
.page_main .tbl_01.company th,
.page_main .tbl_01.company td {
    padding: 25px 0;
    font-size: 16px;
    line-height:1.5;
    vertical-align: top;
    background-color: transparent;
    border: none;
    border-top:1px solid #CCC;
    text-align:left;
}
.page_main .tbl_01.company th { background-color: #FFF; }
.page_main .tbl_01.company td { text-align:left; }
.page_main .tbl_01.company td dl dd { margin-left:1.5em; }

/* recruit */
#wrap.page.recruit .foot_contact { display:none; }
.page_main.recruit { padding-bottom:150px; }
.page_main.recruit .border_box {
    border:5px solid #E0E0E0;
    padding:60px 0 50px;
}
.page_main.recruit .border_box h3 {
    margin-top:calc(-65px - 0.6em);
}
.page_main.recruit .border_box h3 span {
    font-size:20px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
    background:#FFF;
    padding:0 1em;
    border:none;
}
.page_main.recruit .border_box ul {}
.page_main.recruit .border_box ul li {
    margin-right:5em;
}
.page_main.recruit .border_box ul li span {
    font-size:18px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
    position:relative;
}
.page_main.recruit .border_box ul li span:after {
    content:url(common/img/cmn/arw_bottom_orange.png);
    position:absolute;
    right: -2em;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    -webkit-transition: all .3s; transition: all .3s;
}
.page_main.recruit .border_box ul li:hover span:after {
    top:70%;
    -webkit-transition: all .3s; transition: all .3s;
}
.page_main.recruit h3 span {
    font-size:22px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
    border-bottom:1px solid #707070;
}
.page_main.recruit h4 span {
    font-size:20px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.recruit h5 span {
    font-size:20px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:0.05em;
}
.page_main.recruit .oubo .border_box {
    padding:30px 0 50px;
}
.page_main.recruit .oubo .border_box h2 {}
.page_main.recruit .oubo .border_box h2 span {
    font-size:20px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.recruit .oubo .border_box ul li {
    margin-right: 0;
}
.page_main.recruit .oubo .border_box ul li span:after { display:none; }
.page_main.recruit .oubo .border_box .tel span {
    font-size:49px;
    line-height:1;
    font-weight:400;
    letter-spacing:0;
}
.page_main.recruit .oubo .border_box .row_flex_common .col_img_l {
    margin-right: 0px;
}
.page_main.recruit.request {
    padding-bottom: 90px;
}

/* privacy policy pvp */
#wrap.page.pvp .foot_contact { display:none; }
.page_main.pvp { padding-bottom:150px; }
.page_main.pvp .pvp_cont {
    width:835px;
    margin-left:auto;
    margin-right:auto;
}
.page_main.pvp .pvp_cont .ind:nth-of-type(n + 2) {
    border-top:1px solid #CCC;
    padding-top:25px;
}
.page_main.pvp .pvp_cont h3 span {
    font-size:20px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}
.page_main.pvp .pvp_cont .bg_gray {
    padding:30px 0;
}
.page_main.pvp .pvp_cont .bg_gray h4 span {
    font-size:20px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:0.05em;
}

/* information */
#wrap.page.information .foot_contact { background-color:#F2F2F2; }
.page_main.information {}
.page_main.information .newsul,
.page_main.media .newsul { position: relative; }
.newsul li {
    padding:25px 0 30px;
    border-bottom:1px solid #CCC;
}
.newsul .news_date {
    width:100%;
    font-size:16px;
    line-height:2;
    font-weight:400;
    letter-spacing:0.03em;
}
.newsul .news_date span {
    color:#555555;
}
.newsul .news_date em,
.newsul .news_date em {
    background:#74b562;
    color:#FFF;
    padding:0 20px;
    margin-left:10px;
}
.newsul .news_date em.cat02 {
    background:#B27948;
    color:#FFF;
}
.newsul .news_date em.cat03 {
    background:#BA2B2B;
    color:#FFF;
}
.newsul h3 {
    margin-top:10px;
}
.newsul h3 span {
    font-size:22px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:0.03em;
}
.newsul .news_content {
    margin-top:10px;
    width: 100%;
    word-break: break-word;
    word-wrap: break-word;
    word-break: break-all;
}
.newsul .news_content p {}
.newsul .news_content > a {
    float:right;
    margin-left:20px;
    max-width:30%;
}
.newsul .news_content a img {
}

/* media */
#wrap.page.media .foot_contact { background-color:#F2F2F2; }

/*改行消し*/
div.deleteBr br {
    display: none;
}

/*テーブル　ブログ*/
div.deleteBr  tr td {
    border: solid 1px #000000;
}






/* 新たに構築
============================================================================== */

#ohaka-faq {
    padding: 60px 0 115px;
    background:red !important;
}




/* 墓じまい */

.hakajimai_main{
    width: 100%;
    height: 500px;
    background: url(common/img/ohaka/hakajimai_main.jpg) center;
    background-size: cover;
}

.space{
    width: 100%;
    height: 300px;
}

.noukotsusaki{
    width:200px;
    height:130px;
    background: url(common/img/ohaka/hakajimai_main.jpg) center;
    background-size: cover;
}

#eidai{
    width:200px;
    height:130px;
    background: url(common/img/ohaka/noukotsusaki01_eidai.jpg) center;
    background-size: cover;
}

#noukotsu{
    width:200px;
    height:130px;
    background: url(common/img/ohaka/noukotsusaki02_noukotsu.jpg) center;
    background-size: cover;
}
#kaiyou{
    width:200px;
    height:130px;
    background: url(common/img/ohaka/noukotsusaki03_sankotsu.jpg) center;
    background-size: cover;
}
#jumoku{
    width:200px;
    height:130px;
    background: url(common/img/ohaka/noukotsusaki04_jumoku.jpg) center;
    background-size: cover;
}
#temoto{
    width:200px;
    height:130px;
    background: url(common/img/ohaka/noukotsusaki05_tamoto.jpg) center;
    background-size: cover;
}

.noukotsusaki_title{
    font-size: 1.3em;
    font-weight: bold;
    color: rgb(56, 56, 56);
    margin-bottom: 10px;

}

#content_hakajimai{
    min-width: 0;
    width: 850px;
    margin: 0 auto;
}

.reviews_items_inner_img1{
    background-image:url(common/img/ohaka/review_1.jpg); /* 画像のURLを指定       */
    background-size:contain;    
    width:100%;
    height: 120px;
    margin-top: 20px;
}

.reviews_items_inner_img2{
    background-image:url(common/img/ohaka/review_2.jpg); /* 画像のURLを指定       */
    background-size:contain;    
    width:100%;
    height: 120px;
    margin-top: 20px;
}

.reviews_items_inner_img3{
    background-image:url(common/img/ohaka/review_3.jpg); /* 画像のURLを指定       */
    background-size:contain;    
    width:100%;
    height: 120px;
    margin-top: 20px;
}



/*****綾川樹木葬*****/

/*ヘッダー*/
.head .pc .head_lead h1 {
    color: #FFF;
    font-size: 13px;
    width: 1200px;
    display: block;
    margin: 0 auto;
}

.head .pc .head_lead {
    padding: 12px 0px;
    background: #333;
}

.head .pc .row.r1 {
    padding: 0;
    width: 1200px;
}

header .head {
    height: auto !important;
}

.left{
    padding: 20px 0;
}

.home #content{
    margin-top: 50px;
}

.jumokusoutte{
    margin-top: 30px;
    width: 800px;
    margin: 30px auto 0;
    height: auto;
}

.jumokusoutte_wrap{
    width: 100%;
    display: flex;
}

.jumokusoutte_left{
    width: 60%;
    justify-content: space-around;
    padding: 30px;
    background-color: #f0f0f0;
    margin-left: 50px;
}

.jumokusoutte_left_title{
    font-weight: bold;
    font-size: 1.2em;
}

.jumokusoutte_right img{
    width: 250px;
    position: absolute;
    top: 300px;
    right: 140px;
}

.info_wrap{
    width: 800px;
    margin: 50px auto;
}

.tbl_01 {
    width: 800px;
    table-layout: auto;
    margin: 0 auto;
}

.swiper-container.gallery-top {
    height: 500px;
    width: 100%;
}

.swparea .swiper-button-next.swiper-button-my.thumb, .swparea .swiper-button-prev.swiper-button-my.thumb {
    top: 560px;
}

.tokutyou_number{
    font-size: 1.2em;
    color: #fff;
    opacity: 1;
    background: #74b562 !important;
    display: inline-block;
    padding: 0px 20px;
    border-radius: 25px;
    margin-bottom: 20px;
}

.tokutyou_span{
    font-size: 1.7em;
    font-weight: 600;
}

.ayagawajumokusou-wrap800{
    width: 800px;
    margin: 0 auto;
}

.row_flex_common .tyokutyou_img {
    margin-top: 20px;
    margin-left:0;
}

.tokutyou04{
    width: 25% !important;
    position: relative !important;
    top: 100px !important;
    right: 0 !important;
    margin-left: 50px !important;
}

.tokutyou5{
    margin-top:40px !important;
}

.select-content{
    margin-bottom: 50px;
}

.riyousya-inner{
    background-color:#fff;
    padding-bottom: 40px;
}

.reviews_item {
    background: #fff;
}

.logo_footer_img{
    width: 250px;
    height:auto;
}

.kaikanul li{
    font-size: 0.8em;
    position: relative;
    left: 20px;
}

.ayagawaohaka_map{
    margin-top:20px !important;
    margin-bottom:20px !important;
}

.faqtab > li h4 .icn:after, .faqul > li h4 .icn:after{
    display: none;
}

section#tokutyou {
    margin-top: 100px !important;
}