@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-spacer.ver2 { padding-top:85px; }
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:32%;
    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:15px;
    display:block;
}

.home h2 {
    text-align: center;
}
.home h2.flogo {
    text-align: left;
}
.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;
    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: 1100px !important;
}

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 0;
}

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

.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;
}


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

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

.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:0 !important;
}

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

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


@media screen and (min-width: 768px) {
    .ohaka-mv-pc{
        width: 100% !important;
    }
}


/*=============
.bg_pattern
==============*/

.bg_pattern {
    background-color: #fff;
    z-index: -1;
  }
  .Paper_v2 {
    background-image:
      repeating-linear-gradient(to bottom,
        transparent 25px,
        rgba(0, 0, 0, 0.04) 26px,  rgba(0, 0, 0, 0.04) 26px,
        transparent 27px,  transparent 51px, 
        rgba(0, 0, 0, 0.04) 52px,  rgba(0, 0, 0, 0.04) 52px,
        transparent 53px,  transparent 77px, 
        rgba(0, 0, 0, 0.04) 78px,  rgba(0, 0, 0, 0.04) 78px,
        transparent 79px,  transparent 103px, 
        rgba(0, 0, 0, 0.04) 104px,  rgba(0, 0, 0, 0.04) 104px,
        transparent 105px,  transparent 129px, 
        rgba(0, 0, 0, 0.04) 130px,  rgba(0, 0, 0, 0.04) 130px),
  
      repeating-linear-gradient(to right,
        transparent 25px,
        rgba(0, 0, 0, 0.04) 26px,  rgba(0, 0, 0, 0.04) 26px,
        transparent 27px,  transparent 51px, 
        rgba(0, 0, 0, 0.04) 52px,  rgba(0, 0, 0, 0.04) 52px,
        transparent 53px,  transparent 77px, 
        rgba(0, 0, 0, 0.04) 78px,  rgba(0, 0, 0, 0.04) 78px,
        transparent 79px,  transparent 103px, 
        rgba(0, 0, 0, 0.04) 104px,  rgba(0, 0, 0, 0.04) 104px,
        transparent 105px,  transparent 129px, 
        rgba(0, 0, 0, 0.04) 130px,  rgba(0, 0, 0, 0.04) 130px);
  }



/*綾川葬祭お墓ページ_追加CSS（min-width: 768px）*/



/*ナンバー*/
.page .reason .row_flex_common .col_txt_l:before, .page .reason .row_flex_common .col_txt_r:before {
    color: #d3e7ce;
}

.page .reason .row_flex_common:not(:last-of-type) {
    border-bottom: none;
}

@media screen and (min-width: 768px) {

.ohakawidth{
    width: 850px;
    margin: 0 auto;
}

.page .reason .row_flex_common .col_txt_l:before, .page .reason .row_flex_common .col_txt_r:before {
    font-size: 100px !important;
    top: -35px !important;
    right: 0 !important;
}

.pdtp0{
    padding-top: 0 !important;
}

.ohakapadbt_pc{
    padding-bottom: calc(35 / 450 * 100vw);
}

.ohakapadtp_pc{
    padding-top: calc(35 / 450 * 100vw);
}

.ohakah3 span{
    font-size:24px !important;
    font-weight: 600 !important;
}

.bannar_wrap{
    text-align: center !important;
    width: 700px;
    margin: 50px auto 0;
}

.bannar_wrap a img {
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.25);
    transition: box-shadow 0.3s ease-in-out;
  }
  
.bannar_wrap a img:hover {
    box-shadow: 8px 8px 10px rgb(0 0 0 / 55%);
  }

.square-green{
    background-color: #d3e7ce59;
    border: #74b562 1px solid;
    padding: 20px 30px 15px;
}

.square-green li{
    margin-bottom: 5px;
}

.bannar_wrap_microcopy{
    margin-bottom: 10px;
    line-height: 1.4;
}

.bannar_wrap_wrap {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    justify-content: space-between;
}
.bannar_wrap_wrap02 {
    display: flex;
    flex-wrap: wrap;
    max-width: 800px;
    margin: 0 auto;
}
.bannar_wrap {
    text-align: center !important;
    width: 350px;
    margin: 30px auto 0;
}

.sp_only{
    display: none;
}




}

.ohakah3{
    text-align: center;
    margin-bottom: 15px;
}

/*ボタン*/

.basic-button {
    padding: 10px 20px;
    font-size: 16px;
    color: #fff;
    background-color: #5cab64;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: flex;
    margin: 50px auto 0;
}

.basic-button:hover {
    background-color: #333;
}





/* 202309
============================================================================== */
.jumokusoukinds {
    width: 800px;
    margin: 0 auto;
}
.jumokusoukinds h3 {
    border-bottom: 1px solid #333;
    margin-top: 60px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 0;
}
.jumokusoukinds h3 span {
    background: #fff;
    padding: 30px 30px;
}
.jumokusoukinds .jumokusoukinds-list {
    margin: 40px 0 0;
    padding: 0;
}
.jumokusoukinds .jumokusoukinds-list li {
    background: #f0f0f0;
    margin-top: 60px;
    padding: 50px 23px;
    position: relative;
}
.jumokusoukinds .jumokusoukinds-list li h4 {
    position: absolute;
    top: -25px !important;
    left: 280px !important;
    width: 220px !important;
    padding: 15px 0;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 600;
}
.jumokusoukinds .jumokusoukinds-list li:first-child h4 {
    background: #74b562;
}
.jumokusoukinds .jumokusoukinds-list li:nth-child(2) h4 {
    background: #d89638;
}
.jumokusoukinds .jumokusoukinds-list li:nth-child(3) h4 {
    background: #572759;
}
.jumokusoukinds .jumokusoukinds-list li:nth-child(4) h4 {
    background: #c55076;
}
.jumokusoukinds .jumokusoukinds-list li figure {
    width: 200px;
    float: right;
}
.jumokusoukinds .jumokusoukinds-list li figure + div {
    width: 500px;
    float: left;
}

.feature-box {
    margin-top: 30px;
    overflow: hidden;
}
.feature-box figure {
    width: 170px;
    float: right;
}
.feature-box figure + div {
    width: 600px;
    float: left;
}
.feature-box figure + div .tokutyou_span {
    font-size: 1.7em;
    font-weight: 600;
}
.feature-box figure + div .tokutyou_span .tokutyou_red {
    position: absolute;
    border: 2px solid #e26d46;
    margin-top: -5px;
    margin-left: 15px;
    padding: 7px 10px 3px;
    color: #e26d46;
    font-size: 0.7em;
}
.faqtab {
    padding: 0;
}
.faqtab .expandin .text .org {
    color: #e26d46;
    font-weight: 600;
}










