@charset "utf-8";

/* CSS Document */


/*
* "Zen Kaku Gothic New" licensed under the SIL Open Font License 1.1
* by https://fonts.google.com/specimen/Noto+Sans+JP
*/

@font-face {
    font-family: "Zen Kaku Gothic New";
    font-style: normal;
    font-weight: 400;
    src: url("fonts/ZKG-400.woff2") format("woff2"), url("fonts/ZKG-400.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "Zen Kaku Gothic New";
    font-style: normal;
    font-weight: 700;
    src: url("fonts/ZKG-700.woff2") format("woff2"), url("fonts/ZKG-700.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "Zen Kaku Gothic New vt";
    font-style: normal;
    font-weight: 700;
    src: url("fonts/ZKG-700-vertical.woff2") format("woff2"), url("fonts/ZKG-700-vertical.woff") format("woff");
    font-display: swap;
}


/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
small,
dl,
dt,
dd,
ol,
ul,
li {
    margin: 0;
    font-size: 100%;
}

ul {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}

img {
    vertical-align: top;
}

li {
    list-style-type: none;
    vertical-align: baseline;
}

input,
button,
textarea,
select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


/*--------------------------------------
　Base
---------------------------------------*/

* {
    box-sizing: border-box;
}

img {
    -webkit-backface-visibility: hidden;
}

body {
    font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    font-size: 1.6em;
    line-height: 2.0;
    color: #262626;
    text-align: justify;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: #262626;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

p {
    text-align: justify;
}

p a {
    text-decoration: underline;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

.strong {
    font-weight: bold;
}

.f110 {
    font-size: 110%;
}

.f120 {
    font-size: 120%;
}

.f130 {
    font-size: 130%;
}

.f150 {
    font-size: 150%;
}

.f200 {
    font-size: 200%;
}

.f300 {
    font-size: 300%;
}


/* Micro clearfix */


/* For modern browsers */

.cf:before,
.cf:after {
    content: "";
    display: table;
}

.cf:after {
    clear: both;
}


/* For IE 6/7 (trigger hasLayout) */

.cf {
    zoom: 1;
}

.flImg {
    float: left;
}

.frImg {
    float: right;
}

h1,
h2 {
    position: relative;
    font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    padding: 0;
    line-height: 1.5;
}

h3,
h4,
h5,
h6 {
    position: relative;
    font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    padding: 0;
    line-height: 1.5;
}

.sttl {
    position: relative;
    margin: 0 0 12px;
    font-size: 2.4rem;
    font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    line-height: 1.5;
}

.catch {
    position: relative;
    margin: 0 0 12px;
    font-size: 2.2rem;
    font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    line-height: 1.6;
}

.fontS {
    font-size: 67%;
}

.fontL {
    font-size: 150%;
}

.fontBold {
    font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
}

html {
    font-size: 62.5%;
}

.ulBox,
.liBox {
    position: relative;
}


/*------------
600px--common
------------*/

.sp,
.sp_br {
    display: none!important;
}

.sp2 {
    display: none;
}

body {
    position: relative;
    width: 100%;
    min-width: 1000px;
}

.forTab {
    overflow: hidden;
}

a {
    transition: all .2s ease-in-out;
}

a:hover {
    opacity: 0.7;
}

a:hover img {
    opacity: 1;
}

.mainWrap h1 a,
.mainWrap h2 a,
.mainWrap h3 a,
.mainWrap h4 a,
.mainWrap h5 a,
.mainWrap h6 a {
    text-decoration: none;
}

.areaInner {
    position: relative;
    width: 1000px;
    margin: 0 auto;
}


/*--------------------------------------
　body_PC
---------------------------------------*/

* {
    text-underline-offset: 0.15em;
}


/*--------------------------------------
　header_PC
---------------------------------------*/

#header {
    position: relative;
    z-index: 14;
    padding: 0 0 10rem;
    background: url(./img/bg_wood.jpg) 0 0 repeat-y;
    background-size: 100% auto;
}

#header::before {
    content: "";
    position: absolute;
    bottom: -3rem;
    left: 0;
    width: 100%;
    height: 10rem;
    background: url(./img/wave_wt.svg) 0 0 no-repeat;
    background-size: 100% 10rem;
    transform: scale(-1, 1);
}

#header .siteName,
#header .siteName a {
    position: relative;
    padding: 1.5rem 0 1.5rem;
    text-align: center;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.6;
    color: #fff;
}

#header .imgArea {
    position: relative;
    margin: 0 5rem;
    height: 20rem;
}

#header .logo {
    position: relative;
    width: 30rem;
    margin: 0 auto;
    padding: 4.5rem 0 1.5rem;
}

#header .logo img {
    width: 100%;
}

#header .sps {
    position: relative;
    font-size: 1.2rem;
    line-height: 1.6;
    text-align: center;
    color: #fff;
}

#header .mvill {
    position: absolute;
    bottom: 1.5rem;
    right: 5rem;
}

#header .mvbg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 20rem;
    overflow: hidden;
}

#header .mvbg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 2rem;
}

#header .mvbg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(38, 38, 38, .50);
    border-radius: 2rem;
}


/*--------------------------------------
　page-top_PC
---------------------------------------*/

#page-top {
    position: fixed;
    z-index: 101;
    bottom: 3rem;
    right: 1rem;
    width: 70px;
}

#page-top {
    transition: .3s;
    /*デフォルトで非表示にする*/
    opacity: 0;
    visibility: hidden;
}


/*このクラスが付与されると表示する*/

#page-top.active {
    opacity: 1;
    visibility: visible;
}


/*このクラスが付与されると停止する*/

#page-top.absolute {}


/*--------------------------------------
　Global Nav
---------------------------------------*/

#gNav_pc {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 10000;
    transition: .3s;
    /*デフォルトで非表示にする*/
    opacity: 0;
    visibility: hidden;
}


/*このクラスが付与されると表示する*/

#gNav_pc.active {
    opacity: 1;
    visibility: visible;
}


/* ハンバーガーメニュー */

#gNav_pc #showRight2 {
    z-index: 10000;
}

#gNav_pc button {
    position: relative;
    width: 7.2rem;
    height: 7.2rem;
    background: #262626;
    border-radius: 50%;
    transition: .3s all;
}

#gNav_pc button span {
    position: absolute;
    left: 25%;
    width: 50%;
    height: 2px;
    background-color: #fff;
    transition: .3s all;
}

#gNav_pc button span:nth-child(1) {
    top: 22px;
}

#gNav_pc button span:nth-child(2) {
    top: 35px;
}

#gNav_pc button span:nth-child(3) {
    top: 48px;
}

#gNav_pc button.active span:nth-child(1) {
    transform: translateY(13px) rotate(-45deg);
}

#gNav_pc button.active span:nth-child(2) {
    opacity: 0;
}

#gNav_pc button.active span:nth-child(3) {
    transform: translateY(-13px) rotate(45deg);
}

#gNav_pc button:hover {
    opacity: .7;
}


/* General styles for all menus */

#gNav_pc .cbp-spmenu {
    position: fixed;
    margin: 0 0 0;
    padding: 10rem 0 10rem;
    background: #262626;
    overflow: auto;
    -ms-overflow-style: none;
    /* IE, Edge 対応 */
    scrollbar-width: none;
    /* Firefox 対応 */
}

#gNav_pc .cbp-spmenu #mainMenu2 {
    position: relative;
    z-index: 1;
    /*overflow: auto;*/
    overflow: visible;
    margin: 0 auto;
    /*padding: 0 0 200px;*/
    height: 100%;
    width: 120rem;
    display: flex;
    flex-wrap: wrap;
    /*justify-content: space-between;*/
}

#gNav_pc .cbp-spmenu #mainMenu2::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari 対応 */
}

#gNav_pc .cbp-spmenu #mainMenu2 .gnavBox {
    position: relative;
    width: 30%;
    margin: 0 1.5%;
    /*float: left;*/
}

#gNav_pc .cbp-spmenu #mainMenu2 .gnavBox:nth-child(2n) {
    /*float: right;*/
}

#gNav_pc .cbp-spmenu a {
    display: block;
    padding: 14px 1.8rem 14px 0;
    text-decoration: none;
    line-height: 1.3;
    cursor: pointer;
    font-size: 1.5rem;
    color: #fff;
}

#gNav_pc .cbp-spmenu .sttl {
    margin: 0;
    border-bottom: 1px solid #848484;
}

#gNav_pc .cbp-spmenu .sttl a {
    position: relative;
    display: flex;
    align-items: center;
    background: url(./img/arrow_ccl_wt.svg) calc(100% - .5rem) 50% no-repeat;
    background-size: 2.0rem auto;
    font-size: 1.6rem;
}

#gNav_pc .cbp-spmenu .sttl.tglMenu {
    position: relative;
}

#gNav_pc .cbp-spmenu .sttl.tglMenu a {
    background: none;
}

#gNav_pc .cbp-spmenu .sttl.tglMenu a::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity .5s;
}

#gNav_pc .cbp-spmenu .sttl.tglMenu a::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    transition: transform .5s;
}

#gNav_pc .cbp-spmenu .sttl.open a::before {
    opacity: 0;
}

#gNav_pc .cbp-spmenu .sttl.open a::after {
    transform: translateY(-50%) rotate(-180deg);
}

#gNav_pc .cbp-spmenu .home a {
    background: url("./img/arrow_ccl_wt.svg") calc(100% - .5rem) 50% no-repeat;
    background-size: 2rem auto;
}

#gNav_pc .cbp-spmenu .accChild {
    /*position: absolute;*/
    width: 100%;
    z-index: 1;
}

#gNav_pc .cbp-spmenu li a {
    background: url(./img/arrow_ccl_wt.svg) calc(100% - .5rem) 50% no-repeat;
    background-size: 2rem auto;
    padding: 14px 50px 14px 0;
}

#gNav_pc .cbp-spmenu a:hover {
    opacity: 0.7;
}

#gNav_pc .cbp-spmenu a:active {}


/* Orientation-dependent styles for the content of the menu */

#gNav_pc .cbp-spmenu-vertical {
    width: 100%;
    height: 100%;
    top: 0;
    z-index: -1;
}

#gNav_pc .cbp-spmenu-vertical a {
    /*border-bottom: 1px solid #848484;*/
    padding: 14px 4rem 14px 0;
}


/* Vertical menu that slides from the left or right */

#gNav_pc .cbp-spmenu-right {
    opacity: 0;
    visibility: hidden;
    /*right: -100vw;*/
    right: 0;
}

#gNav_pc .cbp-spmenu-right.cbp-spmenu-open {
    opacity: 1;
    visibility: visible;
    right: 0;
    z-index: 1000;
}


/* Transitions */

#gNav_pc .cbp-spmenu,
#gNav_pc .cbp-spmenu-push {
    transition: all 0.5s ease;
}

#gNav_pc .accChild {
    display: none;
}

#gNav_pc .cbp-spmenu #mainMenu2 a br {
    display: none;
}

body.body-fix {
    overflow: hidden;
}

#gNav_pc .logo {
    position: relative;
    width: 30rem;
    margin: 0 auto;
    padding: 2rem 0 4rem;
}

#gNav_pc .logo img {
    width: 100%;
}


/*--------------------------------------
　fixNav_PC
---------------------------------------*/

#fixNav {
    position: fixed;
    z-index: 110;
    width: 18.8rem;
    right: 1rem;
    bottom: 9rem;
    transition: .3s;
    /*デフォルトで非表示にする*/
    opacity: 0;
    visibility: hidden;
}


/*このクラスが付与されると表示する*/

#fixNav.active {
    opacity: 1;
    visibility: visible;
}


/*このクラスが付与されると停止する*/

#fixNav.absolute {
    /*opacity: 0;
visibility: hidden;*/
}

#fixNav .fixBan {}


/*--------------------------------------
　Main Contents_PC
---------------------------------------*/

#contents {
    position: relative;
    z-index: 14;
    width: 100%;
    overflow-x: hidden;
    padding: 0 0 5rem;
}

.mainWrap {
    position: relative;
    z-index: 1;
    padding: 0 0 5rem;
    min-height: 500px;
}

.mainWrap>.areaInner {
    padding: 0 0 5rem;
}

.smappage a br {
    display: none;
}

.index a,
.mainWrap a {
    display: block;
}

.index p a,
.mainWrap p a,
.index li a,
.mainWrap li a,
.index td a,
.mainWrap td a {
    display: inline;
}


/*--------------------------------------
　pankuzu_PC
---------------------------------------*/

#pankuzuWrap {
    position: relative;
    width: 100%;
    margin: 0 0 0;
}

#pankuzu {
    width: 100%;
    margin: 0 auto 20px;
    padding: 2rem 0 0;
    font-size: 1.2rem;
    color: #666;
}

#pankuzu a {
    display: inline;
    text-decoration: underline;
    color: #666;
}

#pankuzu br {
    display: none;
}


/*--------------------------------------
　h1Area_PC
---------------------------------------*/

.h1Area {
    position: relative;
    z-index: 2;
    margin: 6rem 0 6rem;
    padding: 1rem 0 0;
    text-align: center;
}

.h1Area h1 {
    position: relative;
    margin: 0 0 2rem;
    font-size: 4.5rem;
}

.h1Area .headNote {
    line-height: 1.5;
    font-size: 1.4rem;
}


/*--------------------------------------
　Footer_PC
---------------------------------------*/

footer {
    position: relative;
    z-index: 13;
    width: 100%;
    padding: 6rem 0 0;
    background: url(./img/pt1.jpg) 0 0 repeat;
}

footer .footInner {
    width: 1200px;
    margin: 0 auto;
    padding: 0 0 2rem;
}

footer .footInner .areaL {
    width: 370px;
    float: left;
    margin: 4rem 0 0;
}

.footLogo {
    position: relative;
    margin: 0 auto 25px;
}

.footLogo .logoImg {
    width: 30rem;
    margin: 0 auto;
}

footer .noticeArea {}

footer .noticeArea p {
    font-size: 1.2rem;
}

footer .noticeArea p:nth-child(1) {}

footer .noticeArea a {
    text-decoration: underline;
}

footer .noticeArea .botPrg {
    padding: 12px 0 0;
}

footer .footInner .areaR {
    width: 730px;
    float: right;
}

footer .footBox {
    position: relative;
    z-index: 9;
    margin: 0 0 40px;
    text-align: left;
}

.footBox .sttl {
    margin: 0 0 12px;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(38, 38, 38, .5);
}

.footBox .sttl a {
    position: relative;
    display: block;
    padding: 4px 0 4px;
    font-size: 1.8rem;
    line-height: 1.3;
}

footer .smap .sttl a {
    font-size: 1.8rem;
}

.footBox>ul {
    padding: 0 0;
}

.footBox li {
    display: inline-block;
}

.footBox li ul {}

.footBox li a {
    font-size: 1.5rem;
}

.footBox li:after {
    content: "　/　";
}

.footBox li:last-child:after {
    content: "";
}

.footBox li.subCat {
    display: inline;
    margin: 0 20px 0 0;
}

.footBox li.subCat:after {
    content: "";
}

.footBox li.subCat>a {}

.footBox li.subCat>a:after {}

.footBox ul.subList {
    display: inline;
}

.footBox ul.subList>li:first-child::before {
    content: "：";
}

.footBox ul.subList li:after {
    content: " / ";
}

.footBox ul.subList li:last-child::after {
    content: "";
}

.footBox ul.subList a {
    font-weight: 400;
}

.footBox a br {
    display: none;
}

footer .botArea {
    position: relative;
    min-width: 1200px;
    box-sizing: border-box;
    background: #3b8260;
}

footer .botArea .botInner {}

footer .botArea .copy {
    padding: 10px 30px 16px;
    font-size: 1.2rem;
    text-align: center;
    color: #fff;
}

footer .botArea .copy a {
    text-decoration: none;
    color: #fff;
}


/* ================== */


/*  PC共通パーツ　*/


/* ================== */


/* p */

.mainWrap p,
.index p {
    margin: 15px 0;
    padding: 0 0;
    word-break: break-all;
}

.mainWrap h2 {
    position: relative;
    margin: 70px 0 15px;
    padding: 14px 2rem 14px 4.2rem;
    background: url(./img/bg_wood_b.jpg) 0 0 repeat-y;
    background-size: 100% auto;
    border-radius: 6px;
    font-size: 3.4rem;
    color: #fff;
}

.mainWrap h2::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 2rem;
    width: 3px;
    height: calc(100% - 32px);
    background: #ffcb4b;
}

.mainWrap h2::after {}

.mainWrap h2 a {
    position: relative;
    display: block;
    padding: 0 45px 0 0;
    color: #fff;
}

.mainWrap h2 a::before {
    content: "";
    position: absolute;
    z-index: 10;
    top: 0;
    right: 7px;
    width: 30px;
    height: 100%;
    background: url("./img/arrow_ccl_wt.svg") 99% calc(50% + 1px) no-repeat;
    background-size: 2.6rem auto;
    transition: all .2s ease-in-out;
}

.mainWrap h2 a:hover::before {}

.mainWrap h2 a::after {}

.mainWrap h2 a:hover::after {}

.mainWrap h3 {
    position: relative;
    margin: 40px 0 10px;
    padding: 14px 1rem 8px 7.2rem;
    background-size: auto 1px;
    border-bottom: 2px solid #3b8275;
    font-size: 2.8rem;
    color: #262626;
    line-height: 3.6rem;
}

.mainWrap h3::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 5.4rem;
    height: 4rem;
    background: url(/wp/wp-content/uploads/h3_deco.png) 0 0 no-repeat;
    background-size: 5.4rem auto;
    transform: translateY(-50%);
}

.mainWrap h3 a {
    position: relative;
    z-index: 1;
    display: block;
    padding: 0 4.5rem 0 0;
    color: #262626;
}

.mainWrap h3 a::before {
    content: "";
    position: absolute;
    z-index: 10;
    top: 0;
    right: 7px;
    width: 30px;
    height: 100%;
    background: url("./img/arrow_ccl.svg") 99% calc(50% + 1px) no-repeat;
    background-size: 2.6rem auto;
    transition: all .2s ease-in-out;
}

.mainWrap h3 a:hover::before {}

.mainWrap h3 a::after {}

.mainWrap h3 a:hover::after {}

.mainWrap h4,
.mainWrap h5,
.mainWrap h6 {
    position: relative;
    margin: 60px 0 20px;
    padding: 5px 1rem 5px 1rem;
    /* border-bottom: 1px solid #a3a3a3; */
    font-size: 2.0rem;
    color: #3b8260;
    background-color: #f5f5ed;
}

.mainWrap h5::before,
.mainWrap h6::before {}

.mainWrap h4 a,
.mainWrap h5 a,
.mainWrap h6 a {
    position: relative;
    padding: 0 40px 0 0;
    color: #3b8260;
}

.mainWrap h4 a::before,
.mainWrap h5 a::before,
.mainWrap h6 a::before {
    content: "";
    position: absolute;
    z-index: 10;
    top: 0;
    right: 7px;
    width: 30px;
    height: 100%;
    background: url("./img/arrow_ccl.svg") 99% calc(50% + 1px) no-repeat;
    background-size: 2.6rem auto;
    transition: all .2s ease-in-out;
}

.mainWrap h5 a:hover::before,
.mainWrap h6 a:hover::before {}

.mainWrap h5 a::after,
.mainWrap h6 a::after {}

.mainWrap h5 a:hover::after,
.mainWrap h6 a:hover::after {}


/* ulol */

.mainWrap ul,
.index ul,
#mainVis ul {
    margin: 20px 0 20px;
    padding: 10px 10px 0;
}

.mainWrap ul li,
.index ul li,
#mainVis ul li {
    position: relative;
    padding: 3px 0 3px 20px;
}

.mainWrap ul li::before,
.index ul li::before {
    position: absolute;
    content: "";
    top: 13px;
    left: 2px;
    width: 12px;
    height: 12px;
    background: #e76400;
    border-radius: 50%;
}

.mainWrap ol {
    margin: 20px 0 20px;
    padding: 10px 10px 0;
}

.mainWrap ol li {
    padding: 3px 0 3px 22px;
    list-style: none;
    position: relative;
    counter-increment: number;
}

.mainWrap ol li::before {
    position: absolute;
    top: 10px;
    left: 0;
    width: 15px;
    height: 14px;
    padding: 2px 0 1px;
    background: #3b8260;
    text-align: center;
    letter-spacing: -0.5px;
    line-height: 1.0;
    font-family: Arial, Helvetica, "sans-serif";
    font-weight: 700;
    font-size: 1.4rem;
    color: #fff;
}

.mainWrap ol li::before {
    content: counter(number);
}

.mainWrap li a,
.index li a {
    text-decoration: underline;
}

.mainWrap li a:hover,
.index li a:hover {
    text-decoration: none;
}


/* btns */

.btn-internal,
.btn-web,
.btn-tel {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 30px auto;
    text-align: center;
}

.btn-internal a,
.btn-web a,
.btn-tel a {
    position: relative;
    top: 0;
    left: 0;
    margin: 0 6px 0 0;
    width: 360px;
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.0rem 6rem 1.2rem;
    box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
    border: 3px solid #fff;
    border-radius: 9999px;
    text-align: center;
    line-height: 1.5;
    font-weight: 700;
    font-size: 1.6rem;
    transition: all .2s ease-in-out;
    color: #fff;
}

.btn-internal a::before,
.btn-web a::before {
    content: "";
    position: absolute;
    z-index: 10;
    top: 0;
    right: 21px;
    width: 3.2rem;
    height: 100%;
    background: url("./img/arrow_ccl_wt.svg") 99% calc(50% + 1px) no-repeat;
    background-size: 3.2rem auto;
    transition: all .2s ease-in-out;
}

.btn-internal a:hover,
.btn-web a:hover {}

.btn-internal a {
    background: #262626;
}

.btn-web a {
    background: #e76400;
}

.btn-web a::before {
    background: url("./img/arrow_out.svg") 99% calc(50% - 2px) no-repeat;
    background-size: 3.2rem auto;
}

.btn-tel {
    display: none;
}

.btn-tel a {
    background: #ffcb4b;
    color: #262626;
}

.btn-tel a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 2.2rem;
    width: 2.5rem;
    height: 100%;
    background: url(./img/ico_tel.svg) 0 50% no-repeat;
    background-size: 2.5rem auto;
}

.btn-link {
    margin: 20px 0;
    text-align: right;
}

.btn-link a {
    position: relative;
    display: inline-block;
    padding: 4px 3.5rem 5px 0;
    background: url("./img/arrow_ccl.svg") 99% calc(50% - 0px) no-repeat;
    background-size: 2.6rem auto;
    line-height: 1.5;
    text-align: right;
    text-decoration: underline;
    font-weight: 700;
}


/* ================== */


/*  テーブル　　　　　*/


/* ================== */

table {
    width: 98%;
    margin: 2rem auto 3rem;
}

table th {
    width: 22%;
    padding: 1.6rem 1.5rem;
    background: #f5f5ed;
    border: 1px solid #cdcdcd;
    font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.6;
    text-align: center;
    word-break: break-all;
}

table td {
    background: #fff;
    border: 1px solid #cdcdcd;
    padding: 1.6rem 1.5rem;
    line-height: 1.6;
    word-break: break-all;
}

table a {
    text-decoration: underline;
}

table a:hover {
    text-decoration: none;
}

table td .caption {
    white-space: normal;
}


/* ================== */


/*  PCカスタマイズ共通　*/


/* ================== */

.caption,
.source {
    margin: 10px 0 0;
    padding: 0 0 4px;
    font-size: 1.0rem;
    line-height: 1.5;
    color: #999;
    /*overflow: auto;*/
    letter-spacing: 0;
    text-align: center;
    word-break: break-all;
}

.caption a {
    display: inline;
    color: #999;
    text-decoration: underline;
}

.caption a:hover {
    text-decoration: none;
}

.marker {
    position: relative;
    display: inline;
    /*background: linear-gradient(transparent 60%, rgba(255, 85, 0, .3) 0%) no-repeat bottom 0 left; */
    /*border-bottom: 3px solid #e76400;*/
    background: linear-gradient(transparent 88%, #efaa75 0%) no-repeat bottom 0 left;
    padding: 0 0 2px;
    margin: 0;
    font-weight: 700;
    line-height: 1;
}

.txt_bold {
    font-weight: 700;
    color: #e76400;
}


/* float-wrap */

.float-wrap {
    margin: 50px 0;
    padding: 0 20px;
}

.float-wrap .catch {
    margin: 0 0 15px;
    font-size: 2.2rem;
    color: #3b8260;
}

.float-wrap .flame {
    position: relative;
}

.float-wrap img {
    width: auto;
}

.float-wrap p {
    margin: 10px 0;
    padding: 0;
}

.float-wrap ul {
    display: inline-block;
    margin: 10px 0;
}

.float-wrap .fl {
    width: 320px;
    padding: 0 30px 20px 0;
    text-align: left;
}

.float-wrap .fr {
    width: 320px;
    padding: 0 0 20px 30px;
    text-align: left;
}

.float-wrap .ct {
    width: auto;
    margin: 0 auto;
    padding: 0 0 20px;
    text-align: center;
}


/* ================== */


/*  サイトマップ*/


/* ================== */

.smap h2 {
    margin: 0 0 25px;
}

.smap ul {
    margin: 0 0 70px;
}


/* ================== */


/*  追加パーツ*/


/* ================== */


/*--------------------------------------
　mokuji_PC
---------------------------------------*/

.mokuji {
    transition: .3s;
    /*デフォルトで非表示にする*/
    opacity: 1;
    /*visibility: hidden;*/
}


/*このクラスが付与されると表示する*/

.mokuji.active {
    opacity: 1;
    visibility: visible;
}


/*このクラスが付与されると停止する*/

.mokuji.absolute {}

.mokuji {
    position: relative;
    margin: 30px 10rem 100px;
}

.mokuji .inner {
    position: relative;
    padding: 10px 4rem 30px;
    background: #f5f5ed;
    border-radius: 6px;
}

.mokuji .inner::before {
    content: "";
    position: absolute;
    top: 2.5rem;
    left: 9.5rem;
    width: 6rem;
    height: 1.8rem;
    background: url("./img/eng_idx.svg") 0 0 no-repeat;
    background-size: auto 1.8rem;
}

.mokuji .sttl {
    margin: 0 0 10px;
    padding: 8px 0 14px;
    border-bottom: 1px solid rgba(38, 38, 38, .5);
    font-size: 2.0rem;
}

.mokuji #toc {
    position: relative;
    padding: 0 0 20px;
}

.mokuji #toc ul {
    margin: 0;
    padding: 5px 0 5px;
}

.mokuji #toc ul li {
    position: relative;
    margin: 2px 0;
    padding: 2px 0 2px 40px;
    text-align: left;
    line-height: 1.4;
}

.mokuji #toc ul li.chapter-h-two {
    counter-increment: count;
}

.mokuji #toc ul li.chapter-h-two::before {
    content: counter(count, decimal-leading-zero)".";
    /*2桁対応*/
    position: absolute;
    top: 12px;
    left: .7rem;
    transform: translate(0, -50%);
    background: none;
    font-size: 1.6rem;
    font-weight: 700;
    color: #e76400;
}

.mokuji li a {
    display: inline-block;
    width: auto;
    padding: 4px 0 6px;
    background: none;
    font-weight: 700;
    font-size: 1.6rem;
    text-decoration: none;
}

.mokuji #toc ul ul {
    margin: 0;
    padding: 0 0 2px;
}

.mokuji #toc ul li.chapter-h-three {
    padding: 0 0 0 6rem;
}

.mokuji #toc ul li.chapter-h-three::after {
    content: "";
    position: absolute;
    top: 0;
    left: 4.5rem;
    width: 8px;
    height: 100%;
    background: url("./img/l_deco.png") 0 6px no-repeat;
    background-size: 8px auto;
}

.mokuji #toc ul li.chapter-h-three::before {
    width: 0;
    height: 0;
    background: none;
    border: none;
}

.mokuji li br {
    display: none;
}


/* accordion_grd */

.mokuji .text {
    height: 120px;
    overflow: hidden;
}

.mokuji .show_more2 {
    position: absolute;
    bottom: 0;
    left: 0px;
    width: 100%;
    height: 70px;
    padding-top: 60px;
    text-align: center;
    line-height: 70px;
    background: linear-gradient( 180deg, rgb(245, 245, 237, 0) 0%, rgb(245, 245, 237, 1) 40%);
    border-radius: 0 0 15px 15px;
    cursor: pointer;
    transition: bottom 0.2s;
}

.mokuji .active {
    background: none;
    /*bottom: -20px;*/
}

.mokuji .show_more2 span {
    position: relative;
    top: -3rem;
    display: inline-block;
    width: 34rem;
    min-height: 6rem;
    padding: 1.5rem 3rem 1.6rem;
    background: url(./img/plus.svg) 92% calc(50% - 1px) no-repeat #fff;
    background-size: 1.9rem auto;
    border-radius: 9999px;
    border: 1px solid #262626;
    text-align: center;
    line-height: 1.5;
    font-weight: 700;
    font-size: 1.6rem;
}

.mokuji .active span {
    background: url(./img/minus.svg) 90% 50% no-repeat #fff;
    background-size: 1.9rem auto;
}


/* relations_PC */

.relations {
    position: relative;
    margin: 30px 10rem 100px;
}

.relations .inner {
    position: relative;
    padding: 10px 4rem 30px;
    background: #f5f5ed;
    border-radius: 6px;
}

.relations .inner::before {
    content: "";
    position: absolute;
    top: 31px;
    left: 13.5rem;
    width: 15rem;
    height: 1.8rem;
    background: url("./img/eng_rel.svg") 0 0 no-repeat;
    background-size: auto 1.8rem;
}

.relations .relations-title {
    margin: 0 0 15px;
    padding: 8px 0 14px;
    border-bottom: 1px solid rgba(38, 38, 38, .5);
    font-size: 2.0rem;
    font-weight: 700;
}

.relations .relations-wrapper {
    position: relative;
    padding: 0 0 5px;
}

.relations ul {
    margin: 0;
}

.relations ul li {
    position: relative;
    margin: 4px 0;
    padding: 0 0 0 0!important;
    text-align: left;
    line-height: 1.2;
}

.relations ul li::before {
    width: 0!important;
    height: 0!important;
    background: none!important;
    border: none!important;
}

.relations li a {
    position: relative;
    display: inline-block;
    width: auto;
    padding: 0 0 0 3.5rem;
    font-size: 1.5rem;
    text-decoration: none;
}

.relations li a::before {
    content: "";
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0.1rem;
    width: 2.6rem;
    height: 100%;
    background: url("./img/arrow_ccl.svg") 0 7px no-repeat;
    background-size: 2.6rem auto;
    transition: all .2s ease-in-out;
}

.relations li a:hover::before {}

.relations ul li a::after {}

.relations ul li a:hover::after {}

.relations li p {
    margin: 10px 0;
}


/* btns_PC */

.btns {
    display: flex;
    flex-wrap: wrap;
    padding: 0 6%;
}

.btns div {
    display: flex;
    width: 46%;
    margin: 20px auto 10px;
}

.btns div a {
    /*display: flex!important;*/
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.btns .btn-tel {
    display: none;
}


/* engTtl_PC */

.engTtl {
    position: relative;
    margin: 6rem 0 4rem 3.5rem;
    padding: 1.8rem 1rem 2.0rem 7rem;
    background: url(./img/pt1.jpg) 0 0 repeat;
    border-radius: 6px;
}

.engTtl::before {
    content: "";
    position: absolute;
    top: -1.3rem;
    left: -3.5rem;
    width: 9rem;
    height: 9rem;
    background: url("./img/eng_pt.svg") 0 0 no-repeat;
    background-size: 9rem auto;
}

.engTtl .sttl {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5;
}


/* talk_PC */

.talks {
    position: relative;
    margin: 8rem 0;
}

.talk {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin: 0 0 90px;
    flex-direction: row-reverse;
}

.talk .imgArea {
    width: 20rem;
    margin: 0 5rem;
}

.talk .imgArea .flame {}

.talk .imgArea img {
    border-radius: 50%;
}

.talkB .imgArea {
    margin: 0 0 0 5rem;
}

.talk .cap {
    position: relative;
    display: block;
    padding: 1.0rem 2rem 0;
    line-height: 1.5;
    text-align: center;
    font-size: 1.0rem;
}

.talk .cap .fontL {
    display: block;
    padding: 0 0 .5rem;
    font-weight: 700;
    font-size: 1.5rem;
}

.talk .txtArea {
    flex: 1;
    position: relative;
}

.talk .txtArea .inner {
    position: relative;
    padding: 25px 4rem 22px;
    background: #f5f5ed;
    border-radius: 6px;
}

.talk .txtArea .caption {
    text-align: left;
}

.talk .txtArea .inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: -2rem;
    width: 3.7rem;
    height: 100%;
    background: url(./img/tri1.svg) 0 50% no-repeat;
    background-size: 3.7rem auto;
}

.talk .txtArea .inner::after {
    content: "";
    position: absolute;
    top: -1.1rem;
    left: 2.7rem;
    width: 3rem;
    height: 3rem;
    background: url("./img/talk_deco.svg") 0 0 no-repeat;
    background-size: 3rem auto;
}

.talk .txtArea .catch {}


/* sum_PC */

.sum {
    position: relative;
    margin: 15rem 0 10rem;
}

.sum::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -5rem;
    left: -5rem;
    width: calc(100% + 10rem);
    height: calc(100% + 10rem);
    background: url("./img/bg_wood_b.jpg") 0 0 no-repeat;
    background-size: 100% auto;
}

.sum .inner {
    position: relative;
    padding: 3.5rem 4rem 2rem;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
}

.sum .inner::before {
    content: "";
    position: absolute;
    top: 2rem;
    right: 2.5rem;
    width: 20rem;
    height: 5rem;
    background: url("./img/eng_sum.svg") 0 0 no-repeat;
    background-size: auto 5rem;
}

.sum .sttl {
    width: 14rem;
    background: #3b8260;
    margin: 0 0 3rem;
    padding: .2rem 1rem .3rem;
    border-radius: 9999px;
    text-align: center;
    font-size: 1.8rem;
    color: #fff;
}

.sum .catch {
    margin: 0 0 32px;
    font-size: 3.0rem;
}

.sum .catch .marker {
    background: linear-gradient(transparent 90%, #e76400 0%) no-repeat bottom 0 left;
}


/* slideParts_PC */

.slideParts {
    position: relative;
    margin: 8rem 0;
}

.slideParts .slider1 {
    margin: 0 0 2rem;
}

.slideParts .slider1 .slick-slide {}

.slideParts .slider1 img {
    border-radius: 20px;
    display: block;
    margin: 0 auto;
}

.slideParts .slider1 .slick-arrow:before {
    content: ""!important;
}

.slideParts .slider1 .slick-prev,
.slideParts .slider1 .slick-next {
    z-index: 2;
    top: calc(50% - 2.7rem);
    width: 5.4rem;
    height: 5.4rem;
    background: url("./img/arrow_ccl.svg") 0 0 no-repeat;
    background-size: 5.4rem auto;
    transform: scale(-1, 1);
    opacity: .7;
}

.slideParts .slider1 .slick-next {
    background: url("./img/arrow_ccl.svg") 0 0 no-repeat;
    background-size: 5.4rem auto;
    transform: scale(1, 1);
}

.slideParts .slider1 .slick-prev {
    left: -2.7rem!important;
}

.slideParts .slider1 .slick-next {
    right: -2.7rem!important;
}


/* thumbnail1 */

.slideParts .thumbnail1 {
    margin: 0 17rem;
}

.slideParts .thumbnail1 .slick-slide {
    position: relative;
    height: 9rem;
    margin: 0 0 1.6rem;
    margin-right: .7rem !important;
    margin-left: .7rem !important;
}

.slideParts .thumbnail1 .slick-current::before {
    content: "";
    position: absolute;
    bottom: -1.6rem;
    left: 0;
    width: 100%;
    height: 4px;
    background: #ffcb4b;
}

.slideParts .thumbnail1 img {
    border-radius: 10px;
    height: 9rem;
    object-fit: cover;
}

.slideParts .thumbnail1 .slick-arrow:before {
    content: ""!important;
}

.slideParts .thumbnail1 .slick-prev,
.slideParts .thumbnail1 .slick-next {
    z-index: 2;
    top: calc(50% - 1.0rem);
    width: 2.4rem;
    height: 2.0rem;
    background: url("./img/arrow_base.svg") 0 0 no-repeat;
    background-size: 2.4rem auto;
    transform: scale(-1, 1);
    opacity: .7;
}

.slideParts .thumbnail1 .slick-next {
    background: url("./img/arrow_base.svg") 0 0 no-repeat;
    background-size: 2.4rem auto;
    transform: scale(1, 1);
}

.slideParts .thumbnail1 .slick-prev {
    left: -4.2rem!important;
}

.slideParts .thumbnail1 .slick-next {
    right: -4.2rem!important;
}


/* intv_PC */

.intv {
    position: relative;
	margin: 4rem auto 4rem;
}

.intv .inner {
    position: relative;
    padding: 4rem 5rem 3rem;
    background: url(./img/pt1.jpg) 0 0 repeat;
    border-radius: 6px;
}

.intv .headArea {
    padding: 0 0 1.0rem;
    margin: 0 0 1.6rem 22rem;
    border-bottom: 1px solid rgba(38, 38, 38, .5);
}

.intv .sttl {
    font-size: 1.8rem;
}

.intv .sttl .fuki {
    display: inline-block;
    margin: 0 2rem 0 0;
    padding: .6rem 2rem .8rem;
    background: #3b8260;
    border-radius: 9999px;
    line-height: 1;
    color: #fff;
}

.intv .flame {
    position: absolute;
    top: 5rem;
    left: 5rem;
    width: 18rem;
    height: 18rem;
    overflow: hidden;
    border-radius: 5%;
}

.intv .flame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* はみ出し防止 */
    display: block;
}

.intv .txtArea {
    margin: 0 0 0 22rem;
}


/* iconBox_PC */

.iconBox {
    position: relative;
    margin: 0rem auto 12rem;
}

.iconBox .inner {
    position: relative;
    padding: 3rem 5rem 3rem;
    background: #f5f5ed;
    border-radius: 6px;
}

.iconBox .headArea {
    padding: 0 0 3.0rem;
    margin: 0 0 2.5rem;
    border-bottom: 1px solid rgba(38, 38, 38, .5);
}

.iconBox .flame {
    width: 10rem;
    height: 10rem;
    float: left;
    margin: 0 3rem 0 0;
}

.iconBox .flame img {
    width: 10rem;
    object-fit: cover;
    border-radius: 50%;
}

.iconBox .catch {
    padding: 1.2rem 0 0;
}

.iconBox .txtArea {
    margin: 0 0 0;
}


/* spv_PC */

.spv {
    position: relative;
    margin: 6rem 0 10rem;
    padding: 22rem 0 0;
}

.spv::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 32rem;
    background: url(./img/spv_bg.jpg) 0 0 no-repeat;
    background-size: cover;
}

.spv .inner {
    position: relative;
    width: 1100px;
    margin: 0 auto;
    padding: 7rem 5rem 3rem;
    background: url(./img/pt2.jpg) 0 0 repeat;
    border-radius: 6px;
    color: #fff;
}

.spv .inner::before {
    content: "";
    position: absolute;
    top: 2.5rem;
    left: 5rem;
    width: 28rem;
    height: 5rem;
    background: url("./img/eng_sps.svg") 0 0 no-repeat;
    background-size: auto 5rem;
}

.spv .headArea {
    position: relative;
    margin: 0 28rem 30px 0;
    padding: 25px 0 0;
}

.spv .headArea .sttl {
    font-size: 2.2rem;
}

.spv .sttl .sttlss {
    font-size: 1.4rem;
    margin-right: 1rem;
    font-weight: 400;
}

.spv .sttl .fuki {
    display: inline-block;
    margin: 0 2rem 0 0;
    padding: .6rem 2rem .8rem;
    background: #f5f5ed;
    border-radius: 9999px;
    line-height: 1;
    font-size: 1.6rem;
    color: #262626;
}

#sect01 .mainArea .sttlss {
    font-size: 1.4rem;
    margin-right: 1rem;
    font-weight: 400;
}

.spv .flame {
    position: absolute;
    top: 7.5rem;
    right: 12rem;
    width: 15rem;
}

.spv .flame img {}

.spv .txtArea {
    margin: 0 28rem 3rem 0;
}

.spv .txtArea .boxTtl {
    margin: 0 0 20px;
    line-height: 1.5;
    font-size: 3.6rem;
    font-weight: 700;
}

.spv .btn-link a {
    color: #fff;
}


/*--------------------------------------
　about_PC
---------------------------------------*/

.about {
    position: relative;
    z-index: 14;
    margin: 0 0 1.3rem;
}

.about .inner {
    position: relative;
    width: 1000px;
    margin: 0 auto;
    padding: 5.5rem 5rem 2rem;
    background: url(./img/eng_about.svg) calc(100% - 2.5rem) 2.0rem no-repeat #f5f5ed;
    ;
    background-size: auto 4.2rem;
    border-radius: 6px;
}

.about .logo {
    position: absolute;
    top: 14rem;
    left: 7rem;
    width: 15.0rem;
}

.about .txtArea {
    margin: 0 0 0 23rem;
    font-size: 1.5rem;
}

.about .sttl {
    margin: 0 0 2rem;
}


/* End_PC */

@media screen and (max-width: 480px) {
    /*------------
common--480px
------------*/
    html {}
    .mainWrap .catch,
    .mainWrap .sttl,
    .index .catch,
    .index .sttl {
        font-size: 1.8rem;
        line-height: 1.4;
    }
    #contents {
        position: relative;
        z-index: 0;
    }
    body {
        background: #fff;
        min-width: 320px;
        text-align: left;
        line-height: 1.9;
        word-break: break-all;
        overflow-x: hidden;
    }
    .sp,
    .sp_br {
        display: block!important;
    }
    .pc,
    .pc_br {
        display: none!important;
    }
    img:not([width]) {
        width: 100%;
        height: auto;
        max-width: 100%;
    }
    a {
        text-decoration: none;
    }
    a:hover,
    a:hover img {
        opacity: 1;
    }
    .areaInner {
        width: auto;
        margin: 0;
    }
    /* notice 30px_4% */
    /*--------------------------------------
　body_SP
---------------------------------------*/
    /*--------------------------------------
　header_SP
---------------------------------------*/
    #header {
        position: relative;
        z-index: 14;
        padding: 0 0 2.7rem;
        background: url(./img/bg_wood_sp.jpg) 0 0 repeat-y;
        background-size: 100% auto;
    }
    #header::before {
        content: "";
        position: absolute;
        bottom: -1rem;
        left: 0;
        width: 100%;
        height: 3rem;
        background: url(./img/wave_wt_sp.svg) 0 0 no-repeat;
        background-size: 100% 3rem;
        transform: scale(-1, 1);
    }
    #header .siteName,
    #header .siteName a {
        position: relative;
        padding: .4rem 0 .5rem;
        text-align: center;
        font-weight: 400;
        font-size: 1.0rem;
        line-height: 1.6;
        color: #fff;
    }
    #header .imgArea {
        position: relative;
        margin: 0 5%;
        height: 10rem;
    }
    #header .logo {
        position: relative;
        width: 18rem;
        margin: 0 auto;
        padding: 1.9rem 0 .5rem;
        z-index: 2;
    }
    #header .logo img {
        width: 100%;
    }
    #header .sps {
        position: relative;
        font-size: 1.0rem;
        line-height: 1.6;
        text-align: center;
        color: #fff;
        z-index: 2;
    }
    #header .mvill {
        position: absolute;
        bottom: .7rem;
        right: auto;
        left: 1rem;
        width: 5rem;
        transform: scale(-1, 1)
    }
    #header .mvbg {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 10rem;
        overflow: hidden;
    }
    #header .mvbg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1rem;
    }
    #header .mvbg::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(38, 38, 38, .50);
        border-radius: 1rem;
        z-index: 2;
    }
    /*--------------------------------------
　page-top_SP
---------------------------------------*/
    #page-top {
        position: fixed;
        z-index: 101;
        bottom: 2%;
        right: 2%;
        width: 5.5rem;
    }
    #page-top {
        transition: .3s;
        /*デフォルトで非表示にする*/
        opacity: 0;
        visibility: hidden;
    }
    /*このクラスが付与されると表示する*/
    #page-top.active {
        opacity: 1;
        visibility: visible;
    }
    /*このクラスが付与されると表示する*/
    #page-top.absolute {}
    /*--------------------------------------
　Global Nav_SP
---------------------------------------*/
    #gNav {
        position: fixed;
        top: 1rem;
        right: 1rem;
        z-index: 10000;
        transition: .3s;
        /*デフォルトで非表示にする*/
        opacity: 0;
        visibility: hidden;
    }
    /*このクラスが付与されると表示する*/
    #gNav.active {
        opacity: 1;
        visibility: visible;
    }
    /* ハンバーガーメニュー */
    #gNav #showRight {
        width: 4rem;
        position: fixed;
        top: .5rem;
        right: .5rem;
        z-index: 10000;
    }
    #gNav button {
        position: relative;
        width: 4rem;
        height: 4rem;
        background: #262626;
        border-radius: 50%;
        transition: all .2s ease-in-out;
    }
    #gNav button span {
        position: absolute;
        left: 25%;
        width: 50%;
        height: 1px;
        background-color: #fff;
        transition: .3s all;
    }
    #gNav button span:nth-child(1) {
        top: 12px;
    }
    #gNav button span:nth-child(2) {
        top: 20px;
    }
    #gNav button span:nth-child(3) {
        top: 28px;
    }
    #gNav button.active span:nth-child(1) {
        transform: translateY(8px) rotate(-45deg);
    }
    #gNav button.active span:nth-child(2) {
        opacity: 0;
    }
    #gNav button.active span:nth-child(3) {
        transform: translateY(-8px) rotate(45deg);
    }
    /*#gNav button.active{
background: url(./img/sp-btn-menu_off.png) 0 0 no-repeat;
background-size: 5.2rem auto;
}
#gNav button.active img{
opacity: 0;
}
*/
    /* General styles for all menus */
    #gNav .cbp-spmenu {
        position: fixed;
        margin: 0 0 0;
        padding: 5rem 0 0;
        background: #262626;
        overflow: auto;
        -ms-overflow-style: none;
        /* IE, Edge 対応 */
        scrollbar-width: none;
        /* Firefox 対応 */
    }
    #gNav .cbp-spmenu #mainMenu {
        position: relative;
        z-index: 1;
        /*overflow: auto;*/
        overflow: visible;
        margin: 0 0;
        padding: 20px 0 70px;
        height: 100%;
    }
    #gNav .cbp-spmenu #mainMenu::-webkit-scrollbar {
        display: none;
        /* Chrome, Safari 対応 */
    }
    #gNav .cbp-spmenu a {
        display: block;
        padding: 14px 10% 14px;
        text-decoration: none;
        line-height: 1.3;
        font-size: 1.4rem;
        color: #fff;
    }
    #gNav .cbp-spmenu li a {
        padding: 16px 10% 16px;
    }
    #gNav .cbp-spmenu .sttl {
        margin: 0;
        font-size: 1.6rem;
        letter-spacing: 0;
    }
    #gNav .cbp-spmenu .sttl a {
        background: url(./img/arrow_ccl_wt.svg) calc(100% - 2.0rem) 50% no-repeat;
        background-size: 1.7rem auto;
    }
    #gNav .cbp-spmenu .sttl.tglMenu a {
        background: none;
    }
    #gNav .cbp-spmenu .sttl.tglMenu a::before {
        content: '';
        display: inline-block;
        width: 1.5rem;
        height: .1rem;
        background-color: #fff;
        position: absolute;
        right: 2rem;
        top: 50%;
        transform: translateY(-50%);
        transition: opacity .5s;
    }
    #gNav .cbp-spmenu .sttl.tglMenu a::after {
        content: '';
        display: inline-block;
        width: 1.5rem;
        height: .1rem;
        background-color: #fff;
        position: absolute;
        right: 2rem;
        top: 50%;
        transform: translateY(-50%) rotate(-90deg);
        transition: transform .5s;
    }
    #gNav .cbp-spmenu .sttl.open a::before {
        opacity: 0;
    }
    #gNav .cbp-spmenu .sttl.open a::after {
        transform: translateY(-50%) rotate(-180deg);
    }
    #gNav .cbp-spmenu .home a {
        background: url(./img/arrow_ccl_wt.svg) calc(100% - 2.0rem) 50% no-repeat;
        background-size: 1.7rem auto;
    }
    #gNav .cbp-spmenu .subList a {
        padding: 14px 10% 14px calc(5% + 2em);
        font-weight: 400;
    }
    #gNav .cbp-spmenu li a {
        background: url(./img/arrow_ccl_wt.svg) calc(100% - 2.0rem) 50% no-repeat #444444;
        background-size: 1.7rem auto;
        padding: 14px 10% 14px calc(5% + 1em);
        font-weight: 400;
    }
    #gNav .cbp-spmenu a:hover {
        opacity: 1;
    }
    #gNav .cbp-spmenu a:active {}
    /* Orientation-dependent styles for the content of the menu */
    #gNav .cbp-spmenu-vertical {
        /*width: calc(100% - 100px);*/
        width: 100%;
        height: 100%;
        top: 0;
        z-index: -1;
    }
    #gNav .cbp-spmenu-vertical a {
        border-bottom: 1px solid rgba(255, 255, 255, .8);
        padding: 16px 11% 16px 5%;
    }
    #gNav .cbp-spmenu-vertical .home a {
        border-bottom: 1px solid rgba(255, 255, 255, .8);
    }
    #gNav .cbp-spmenu-vertical .smap .home a {
        border-top: none;
    }
    /* Vertical menu that slides from the left or right */
    #gNav .cbp-spmenu-right {
        opacity: 0;
        right: -100%;
        /*right: -280px;*/
        /*right: 0;*/
    }
    #gNav .cbp-spmenu-right.cbp-spmenu-open {
        opacity: 1;
        right: 0;
        z-index: 1000;
    }
    /* Transitions */
    #gNav .cbp-spmenu,
    #gNav .cbp-spmenu-push {
        transition: all 0.3s ease;
    }
    #gNav .accChild {
        display: none;
    }
    /* logo */
    #gNav .cbp-spmenu .logo {
        width: 18rem;
        margin: 0 auto .5rem;
    }
    #gNav .cbp-spmenu .logo a {
        padding: 0;
        border: none;
    }
    #gNav .cbp-spmenu .logo img {
        width: 100%;
    }
    /*--------------------------------------
　fixNav_SP
---------------------------------------*/
    #fixNav {
        position: fixed;
        z-index: 110;
        bottom: 0;
        left: 0;
        width: 21rem;
        transition: .3s;
        /*デフォルトで非表示にする*/
        opacity: 0;
        visibility: hidden;
    }
    /*このクラスが付与されると表示する*/
    #fixNav.active {
        opacity: 1;
        visibility: visible;
    }
    /*このクラスが付与されると停止する*/
    #fixNav.absolute {
        /*opacity: 0;
visibility: hidden;*/
    }
    /*--------------------------------------
Main Contents_SP
---------------------------------------*/
    #contents {
        position: relative;
        z-index: 14;
        width: 100%;
        overflow-x: hidden;
        padding: 0 0 2rem;
    }
    .mainWrap {
        position: relative;
        z-index: 1;
        padding: 2.5rem 0 2rem;
        min-height: 0;
        width: auto;
        float: none;
    }
    .mainWrap::before {
        width: 0;
        height: 0;
        background: none;
        border: none;
    }
    .mainWrap::after {
        width: 0;
        height: 0;
        background: none;
        border: none;
    }
    .mainWrap>.areaInner {
        background: #fff;
        border: none;
    }
    /*--------------------------------------
pankuzu_SP
---------------------------------------*/
    #pankuzuWrap {
        overflow: auto;
        white-space: nowrap;
        margin: 0 5% 0;
        padding: 10px 0 0;
        position: static;
        box-sizing: border-box;
        width: auto;
    }
    #pankuzuWrap::-webkit-scrollbar {
        height: 3px;
    }
    #pankuzuWrap::-webkit-scrollbar-track {
        border-radius: 3px;
        background: #eee;
    }
    #pankuzuWrap::-webkit-scrollbar-thumb {
        border-radius: 3px;
        background: #bbb;
    }
    #pankuzu {
        width: 100%;
        margin: 0 auto 10px;
        padding: 0 0;
        font-size: 1.1rem;
    }
    #pankuzu a {
        text-decoration: underline;
    }
    /*--------------------------------------
　h1Area_SP
---------------------------------------*/
    .h1Area {
        position: relative;
        z-index: 2;
        margin: 0 0 0;
        padding: 0 5% 2rem;
        text-align: justify;
    }
    .h1Area h1 {
        position: relative;
        margin: 0 0 12px;
        font-size: 2.3rem;
        line-height: 1.4;
        letter-spacing: 0px;
    }
    .h1Area .headNote {
        line-height: 1.6;
        font-size: 1.1rem;
    }
    /*--------------------------------------
　Footer_SP
---------------------------------------*/
    footer {
        position: relative;
        z-index: 13;
        width: 100%;
        padding: 4.5rem 0 0;
        background: url(./img/pt1.jpg) 0 0 repeat;
    }
    footer .footInner {
        width: auto;
        margin: 0;
        padding: 0 0 0;
    }
    footer .footInner .areaL {
        width: auto;
        float: none;
        margin: 0 10% 4rem;
    }
    .footLogo {
        position: relative;
        margin: 0 auto 1.5rem;
    }
    .footLogo .logoImg {
        width: 18rem;
        margin: 0 auto;
    }
    footer .noticeArea {}
    footer .noticeArea p {
        font-size: 1.2rem;
    }
    footer .noticeArea p:nth-child(1) {}
    footer .noticeArea a {
        text-decoration: underline;
    }
    footer .noticeArea .botPrg {
        padding: 12px 0 0;
    }
    footer .footInner .areaR {
        width: auto;
        float: none;
    }
    footer .footBox {
        margin: 0 0 0;
        /*z-index: 0;*/
    }
    .footBox:first-of-type {
        border-top: 1px solid rgba(38, 38, 38, .5);
    }
    .footBox a {}
    .footBox a:hover {
        opacity: 1;
    }
    .footBox .sttl {
        margin: 0;
        padding: 0;
        border: none;
        background: none;
    }
    .footBox .sttl a {
        display: block;
        padding: 1.2em 10% 1.3em 4%;
        font-size: 1.5rem;
        border-bottom: 1px solid rgba(38, 38, 38, .5);
        text-align: left;
        letter-spacing: 0;
    }
    .footBox .sttl a::before {
        content: '';
        display: inline-block;
        width: 1.5rem;
        height: .1rem;
        background-color: #262626;
        position: absolute;
        right: 1.9rem;
        top: 50%;
        transform: translateY(-50%);
        transition: opacity .5s;
    }
    .footBox .sttl a::after {
        content: '';
        display: inline-block;
        width: 1.5rem;
        height: .1rem;
        background-color: #262626;
        position: absolute;
        right: 1.9rem;
        top: 50%;
        transform: translateY(-50%) rotate(-90deg);
        transition: transform .5s;
    }
    .footBox>ul {
        padding: 0;
    }
    .footBox li {
        display: block;
    }
    .footBox li:after {
        content: "";
    }
    .footBox li a {
        display: block;
        padding: 1.3em 10% 1.3em 10.5%;
        background: url(./img/arrow_ccl.svg) calc(100% - 2.0rem) 50% no-repeat;
        background-size: 1.7rem auto;
        border-bottom: 1px solid #d5cec2;
        text-align: left;
        font-size: 1.3rem;
    }
    .footBox li li a {
        padding: 1.3em 7% 1.3em 16.5%;
    }
    .footBox li a.ssttl {
        display: block;
        padding: 1.3em 10% 1.3em 4.5%;
        background: url(./img/arrow_ccl.svg) calc(100% - 2.0rem) 50% no-repeat;
        background-size: 1.7rem auto;
        border-bottom: 1px solid #d5cec2;
    }
    .footBox li.sp a {
        padding: 1.3em 10% 1.3em 4.5%;
    }
    /* サイトマップ */
    footer .smap .sttl a {
        background: url(./img/arrow_ccl.svg) calc(100% - 2.0rem) 50% no-repeat;
        background-size: 1.7rem auto;
        font-size: 1.4rem;
    }
    footer .smap .sttl a::before,
    footer .smap .sttl a::after {
        width: 0;
        height: 0;
        background: none;
        border: none;
    }
    .footBox.accordion .accChild {
        display: none;
        /*background: #d2ebee;*/
    }
    .footBox.accordion .accChild a {
        background: url(./img/arrow_ccl.svg) calc(100% - 2.0rem) 50% no-repeat #e8dba8;
        background-size: 1.7rem auto;
        border-bottom: 1px solid rgba(38, 38, 38, .5);
    }
    .footBox.accordion .open a::before {
        opacity: 0;
    }
    .footBox.accordion .open a::after {
        transform: translateY(-50%) rotate(-180deg);
    }
    .footBox li.subCat {
        display: block;
        margin: 0 0 0 0;
    }
    .footBox ul.subList {
        display: block;
        margin: 0 0 0;
    }
    .footBox ul.subList>li:first-child::before {
        content: "";
        margin: 0;
    }
    .footBox ul.subList li:after {
        content: "";
    }
    footer .botArea {
        min-width: 0;
        padding: 1.5rem 5% 7rem;
        box-sizing: border-box;
        text-align: center;
    }
    footer .botArea .copy {
        padding: 0 0;
        font-size: 1.1rem;
        text-align: center;
        line-height: 1.6;
    }
    footer .botArea a {
        display: inline-block;
        text-decoration: none;
        font-size: 1.1rem;
        color: #fff;
    }
    /* ================== */
    /*  SP共通パーツ　*/
    /* ================== */
    /* p */
    .mainWrap p,
    .index p {
        margin: 1rem 0;
        line-height: 1.9;
    }
    .mainWrap>.areaInner>p,
    .index>.areaInner>p {
        padding: 0 5%;
    }
    .mainWrap>.areaInner>.caption {
        padding: 0 5%;
    }
    .mainWrap>.areaInner>.low-center-img-box {
        padding: 0 5%;
    }
    .mainWrap>.areaInner>.low-center-img-box * {
        margin-left: 0;
        margin-right: 0;
    }
    .mainWrap h2 {
        position: relative;
        margin: 40px 5% 20px;
        padding: 1.0rem 3% 1.2rem 2.5rem;
        background: url("./img/bg_wood_b_sp.jpg") 0 0 repeat-y;
        background-size: 100% auto;
        border-radius: 5px;
        font-size: 2rem;
        color: #fff;
        line-height: 1.3;
        letter-spacing: 1px;
    }
    .mainWrap h2::before {
        content: "";
        position: absolute;
        top: 1.2rem;
        left: 1.2rem;
        width: 2px;
        height: calc(100% - 2.4rem);
        background: #ffcb4b;
    }
    .mainWrap h2 a {
        position: relative;
        display: block;
        padding: 0 10% 0 0;
        color: #fff;
    }
    .mainWrap h2 a::before {
        content: "";
        position: absolute;
        top: 0;
        right: .3rem;
        width: 2.3rem;
        height: 100%;
        background: url("./img/arrow_ccl_wt.svg") 99% calc(50% + 0px) no-repeat;
        background-size: 2.3rem auto;
        transition: all .2s ease-in-out;
    }
    .mainWrap h2 a:hover::before {}
    .mainWrap h2 a::after {}
    .mainWrap h2 a:hover::after {}
    .mainWrap h3 {
        position: relative;
        margin: 25px 5% 10px;
        padding: 11px 2% 5px 13%;
        border-bottom: 2px solid #3b8260;
        font-size: 2.0rem;
        line-height: 1.4;
        color: #262626;
    }
    .mainWrap h3::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 4.1rem;
        height: 3rem;
        background: url(/wp/wp-content/uploads/h3_deco.png) 0 0 no-repeat;
        background-size: 4.3rem auto;
    }
    .mainWrap h3 a {
        position: relative;
        z-index: 1;
        display: block;
        padding: 0 10% 0 0;
    }
    .mainWrap h3 a::before {
        content: "";
        position: absolute;
        top: 0;
        right: .3rem;
        width: 2.3rem;
        height: 100%;
        background: url("./img/arrow_ccl.svg") 99% calc(50% + 0px) no-repeat;
        background-size: 2.3rem auto;
        transition: all .2s ease-in-out;
    }
    .mainWrap h3 a:hover::before {}
    .mainWrap h3 a::after {}
    .mainWrap h3 a:hover::after {}
    .mainWrap h4,
    .mainWrap h5,
    .mainWrap h6 {
        margin: 25px 5% 5px;
        padding: 6px 2% 6px 1.0rem;
        /* border-bottom: 1px solid #a3a3a3; */
        font-size: 1.7rem;
    }
    .mainWrap h5::before,
    .mainWrap h6::before {}
    .mainWrap h4 a,
    .mainWrap h5 a,
    .mainWrap h6 a {
        position: relative;
        padding: 0 5% 0 0;
    }
    .mainWrap h4 a::before,
    .mainWrap h5 a::before,
    .mainWrap h6 a::before {
        content: "";
        position: absolute;
        z-index: 10;
        top: 0;
        right: .3rem;
        width: 2.3rem;
        height: 100%;
        background: url("./img/arrow_ccl.svg") 99% calc(50% + 1px) no-repeat;
        background-size: 2.3rem auto;
        transition: all .2s ease-in-out;
    }
    .mainWrap ul {
        margin: 1.5em 4% 1.5em;
        padding: 0.5em 1% 0;
    }
    .mainWrap ul li {
        padding: 0 0 .4rem 1.7rem;
    }
    .mainWrap ul li::before,
    .index ul li::before {
        position: absolute;
        content: "";
        top: 1.1rem;
        left: .2rem;
        width: 1.0rem;
        height: 1.0rem;
    }
    .mainWrap ol {
        margin: 1.5em 4% 1.5em;
        padding: 0.5em 1% 0;
    }
    .mainWrap ol li {
        padding: 0 0 .4rem 2.0rem;
    }
    .mainWrap ol li::before {
        width: 1.6rem;
        height: 1.7rem;
        top: .7rem;
        left: 0;
        box-sizing: border-box;
        padding: 0.13em 0 0;
        letter-spacing: 0;
        line-height: 1.0;
        font-size: 1.3rem;
    }
    /*  btns*/
    .btn-internal,
    .btn-web,
    .btn-tel {
        position: relative;
        z-index: 1;
        width: 85%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 2.2rem auto;
        text-align: center;
    }
    .btn-internal a,
    .btn-web a,
    .btn-tel a {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        min-height: 7.0rem;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 .5rem 0 0;
        padding: 1.0rem 15% 1.2rem;
        box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
        border: 3px solid #fff;
        border-radius: 9999px;
        line-height: 1.5;
        font-size: 1.6rem;
        font-weight: 700;
    }
    .btn-internal a::before,
    .btn-web a::before {
        content: "";
        position: absolute;
        z-index: 10;
        top: 0;
        right: 1.2rem;
        width: 2.5rem;
        height: 100%;
        background: url("./img/arrow_ccl_wt.svg") 99% calc(50% + 0px) no-repeat;
        background-size: 2.5rem auto;
        transition: all .2s ease-in-out;
    }
    .btn-internal a:hover,
    .btn-web a:hover {
        opacity: 1;
    }
    .btn-web a::before {
        right: 1.2rem;
        width: 2.5rem;
        background: url("./img/arrow_out.svg") 99% calc(50% + 0px) no-repeat;
        background-size: 2.5rem auto;
    }
    .btn-tel {
        display: block;
    }
    .btn-tel a {
        padding: 1.0rem 18% 1.2rem;
    }
    .btn-tel a::before {
        position: absolute;
        top: 0;
        left: 2.4rem;
        width: 1.9rem;
        height: 100%;
        background: url(./img/ico_tel.svg) 0 50% no-repeat;
        background-size: 1.9rem auto;
    }
    .btn-link {
        margin: 20px 5%;
        text-align: right;
    }
    .btn-link a {
        position: relative;
        display: inline-block;
        padding: 4px 3.0rem 4px 0;
        background: url("./img/arrow_ccl.svg") 99% calc(50% + 1px) no-repeat;
        background-size: 2.3rem auto;
        line-height: 1.5;
        text-align: right;
        text-decoration: underline;
    }
    /* ================== */
    /*  テーブル　　　　　*/
    /* ================== */
    table {
        width: 88%;
        margin: 3rem auto;
        border-bottom: 1px solid #cdcdcd;
    }
    table th {
        width: 100%;
        display: block;
        padding: 1.5rem 1rem;
        border-bottom: none;
        line-height: 1.3;
        text-align: center;
        font-size: 1.6rem;
    }
    table td {
        width: 100%;
        display: block;
        padding: 1.5rem 1rem;
        border-bottom: none;
        line-height: 1.4;
        text-align: center;
        font-size: 1.6rem;
    }
    .tableB table {
        width: 88%;
        margin: 3rem auto;
        border-bottom: 1px solid #cdcdcd;
    }
    .tableB table th {
        display: table-cell;
        width: auto;
    }
    .tableB table tr:first-child th:first-child {}
    .tableB table td {
        display: table-cell;
        width: auto;
    }
    /* ================== */
    /*  SPカスタマイズ共通　*/
    /* ================== */
    .caption,
    .source {
        margin: 0.8em 0 0;
        font-size: 1.0rem;
        line-height: 1.3;
        word-break: break-all;
        color: #999;
    }
    .caption a:hover {
        text-decoration: underline;
    }
    .marker {}
    /*  float-wrap */
    .mainWrap .float-wrap .flame {
        position: relative;
        text-align: center;
    }
    .mainWrap .float-wrap .caption {
        margin-bottom: 5px;
    }
    .mainWrap .float-wrap {
        margin: 1em 6%;
        padding: 0 1%;
    }
    .mainWrap .float-wrap .catch {
        margin: 0em 0 0.4em;
        line-height: 1.7;
    }
    .mainWrap .float-wrap p {
        margin: 1rem 0;
        padding: 0;
    }
    .float-wrap ul {
        display: block;
        margin: 6px 0;
    }
    .mainWrap .float-wrap .fl,
    .mainWrap .float-wrap .fr,
    .mainWrap .float-wrap .ct {
        float: none;
        padding: 0 0 0.5em;
        width: 100%;
        width: auto;
        text-align: left;
    }
    .mainWrap .float-wrap .fl.t_small {
        width: 40%;
        float: left;
        padding: 0 5% 0 0;
    }
    .mainWrap .float-wrap .fr.t_small {
        width: 40%;
        float: right;
        padding: 0 0 0 5%;
    }
    .mainWrap .float-wrap img {}
    /* ================== */
    /*  サイトマップ*/
    /* ================== */
    .smap h2 {}
    .smap ul {}
    /* ================== */
    /*  追加パーツ*/
    /* ================== */
    /*--------------------------------------
　mokuji_SP
---------------------------------------*/
    .mokuji {
        transition: .3s;
        /*デフォルトで非表示にする*/
        opacity: 1;
        /*visibility: hidden;*/
    }
    /*このクラスが付与されると表示する*/
    .mokuji.active {
        opacity: 1;
        visibility: visible;
    }
    /*このクラスが付与されると停止する*/
    .mokuji.absolute {}
    .mokuji {
        position: relative;
        width: auto;
        margin: 20px 5% 60px;
    }
    .mokuji .inner {
        position: relative;
        padding: 10px 5% 30px;
        background: #f5f5ed;
        border-radius: 5px;
    }
    .mokuji .inner::before {
        content: "";
        position: absolute;
        top: 2.2rem;
        left: 6.7rem;
        width: 6rem;
        height: 1.8rem;
        background: url("./img/eng_idx.svg") 0 0 no-repeat;
        background-size: auto 1.8rem;
    }
    .mokuji .sttl {
        margin: 0 0 .6rem;
        padding: .4rem 0 1.0rem;
        border-bottom: 1px solid rgba(38, 38, 38, .5);
        font-size: 2.0rem;
    }
    .mokuji #toc {
        position: relative;
        padding: 0 0 2rem;
    }
    .mokuji #toc ul {
        margin: 0;
        padding: 5px 0;
    }
    .mokuji #toc ul li {
        position: relative;
        margin: 2px 0;
        padding: 2px 0 2px 3rem;
        text-align: left;
        line-height: 1.4;
    }
    .mokuji #toc ul li.chapter-h-two {
        counter-increment: count;
    }
    .mokuji #toc ul li.chapter-h-two::before {
        content: counter(count, decimal-leading-zero)".";
        /*2桁対応*/
        position: absolute;
        top: 10px;
        left: 0;
        width: 4rem;
        transform: translate(0, -50%);
        background: none;
        font-size: 1.6rem;
        font-weight: 700;
        color: #e85510;
    }
    .mokuji li a {
        display: inline-block;
        width: auto;
        padding: 4px 0 6px;
        background: none;
        font-weight: 700;
        font-size: 1.6rem;
        text-decoration: none;
    }
    .mokuji #toc ul ul {
        margin: 0;
        padding: 0 0 2px;
    }
    .mokuji #toc ul li.chapter-h-three {
        padding: 0 0 0 5rem;
    }
    .mokuji #toc ul li.chapter-h-three::after {
        content: "";
        position: absolute;
        top: 0;
        left: 3.5rem;
        width: 8px;
        height: 100%;
        background: url("./img/l_deco.png") 0 6px no-repeat;
        background-size: 8px auto;
    }
    .mokuji #toc ul li.chapter-h-three::before {
        width: 0;
        height: 0;
        background: none;
        border: none;
    }
    .mokuji li br {
        display: none;
    }
    /* accordion_grd */
    .mokuji .text {
        height: 120px;
        overflow: hidden;
    }
    .mokuji .show_more2 {
        position: absolute;
        bottom: 0;
        left: 0px;
        width: 100%;
        height: 70px;
        padding-top: 6.5rem;
        text-align: center;
        line-height: 6.5rem;
        background: linear-gradient( 180deg, rgb(245, 245, 237, 0) 0%, rgb(245, 245, 237, 1) 60%);
        cursor: pointer;
        transition: bottom 0.2s;
    }
    .mokuji .active {
        background: none;
        /*bottom: -20px;*/
    }
    .mokuji .show_more2 span {
        position: relative;
        top: -2.5rem;
        display: inline-block;
        width: 85%;
        min-height: 5rem;
        padding: 1.3rem 10% 1.5rem;
        background: url(./img/plus.svg) 93% calc(50% - 1px) no-repeat #fff;
        background-size: 1.6rem auto;
        border-radius: 9999px;
        border: 1px solid #262626;
        text-align: center;
        line-height: 1.5;
        font-weight: 700;
        font-size: 1.6rem;
    }
    .mokuji .active span {
        background: url(./img/minus.svg) 90% 50% no-repeat #fff;
        background-size: 1.6rem auto;
    }
    /* relations_SP */
    .relations {
        position: relative;
        width: auto;
        margin: 1rem 5% 3rem;
    }
    .relations .inner {
        position: relative;
        padding: 10px 5% 10px;
        background: #f5f5ed;
        border-radius: 5px;
    }
    .relations .inner::before {
        content: "";
        position: absolute;
        top: 2.4rem;
        left: 11rem;
        width: 15rem;
        height: 1.8rem;
        background: url("./img/eng_rel.svg") 0 0 no-repeat;
        background-size: auto 1.8rem;
    }
    .relations .relations-title {
        margin: 0 0 .6rem;
        padding: .4rem 0 1.0rem;
        border-bottom: 1px solid rgba(40, 153, 122, .5);
        font-size: 2.0rem;
    }
    .relations .relations-wrapper {
        position: relative;
        padding: 0 0 10px;
    }
    .relations ul {
        margin: 0;
    }
    .relations ul li {
        position: relative;
        margin: 2px 0;
        padding: 0 0 0 0!important;
        text-align: left;
        line-height: 1.4;
    }
    .relations ul li::before {
        width: 0!important;
        height: 0!important;
        background: none!important;
        border: none!important;
    }
    .relations li a {
        display: inline-block;
        width: auto;
        padding: 2px 0 3px 3rem;
        background: none;
        font-size: 1.6rem;
        text-decoration: none;
    }
    .relations li a::before {
        content: "";
        position: absolute;
        z-index: 10;
        top: 0;
        left: 0.1rem;
        width: 2.3rem;
        height: 100%;
        background: url("./img/arrow_ccl.svg") 0 9px no-repeat;
        background-size: 2.3rem auto;
        transition: all .2s ease-in-out;
    }
    .relations li p {
        margin: .8rem 0;
        line-height: 1.4;
    }
    /* btns_SP */
    .btns {
        display: block;
        padding: 0;
    }
    .btns div {
        display: flex;
        width: 85%;
        margin: 2.0rem auto;
    }
    .btns div a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }
    .btns .btn-tel {
        display: flex;
    }
    /* engTtl_SP */
    .engTtl {
        position: relative;
        margin: 5rem 5%;
        padding: 1.0rem 1rem 1.4rem 6.0rem;
        background: url(./img/pt1.jpg) 0 0 repeat;
        border-radius: 5px;
    }
    .engTtl::before {
        content: "";
        position: absolute;
        top: 1.8rem;
        left: 1rem;
        width: 4.2rem;
        height: 4.2rem;
        background: url("./img/eng_pt.svg") 0 0 no-repeat;
        background-size: 4.2rem auto;
    }
    .engTtl .sttl {
        margin: 0;
        padding: 0;
        border: none;
        background: none;
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.5;
    }
    /* talk_SP */
    .talks {
        position: relative;
        margin: 6rem 5%;
    }
    .talk {
        position: relative;
        display: block;
        width: 100%;
        margin: 0 0 3rem;
    }
    .talk .imgArea {
        position: relative;
        z-index: 1;
        width: 80%;
        margin: 2rem 0 0 20%;
    }
    .talk .imgArea .flame {
        position: absolute;
        top: 0;
        right: 0;
        width: 10rem;
        margin: 0 0;
    }
    .talk .imgArea img {
        border-radius: 50%;
    }
    .talk .cap {
        position: relative;
        padding: 3rem 11rem 0 0;
        line-height: 1.5;
        text-align: left;
        font-size: 1.1rem;
    }
    .talk .cap .fontL {
        display: block;
        padding: 0 0 .5rem;
        font-weight: 700;
        font-size: 1.6rem;
    }
    .talk .txtArea {
        flex: 1;
        position: relative;
    }
    .talk .txtArea .inner {
        position: relative;
        padding: 2rem 5% 2.2rem;
        background: #f5f5ed;
        border-radius: 5px;
    }
    .talk .txtArea .caption {
        text-align: left;
    }
    .talk .txtArea .inner::before {
        content: "";
        position: absolute;
        top: auto;
        bottom: -2.6rem;
        left: 0;
        width: 100%;
        height: 3rem;
        background: url(./img/tri1.svg) 50% 100% no-repeat;
        background-size: auto 3rem;
        transform: rotate(-90deg);
    }
    .talk .txtArea .inner::after {
        content: "";
        position: absolute;
        top: -0.8rem;
        left: 1.5rem;
        width: 2.4rem;
        height: 3rem;
        background: url("./img/talk_deco.svg") 0 0 no-repeat;
        background-size: 2.4rem auto;
    }
    .talk .txtArea .catch {}
    /* sum_SP */
    .sum {
        position: relative;
        margin: 4.5rem 5% 1.5rem;
        padding: 5% 5%;
        background: url("./img/bg_wood_b_sp.jpg") 0 0 repeat-y;
        background-size: 100% auto;
    }
    .sum::before {
        width: 0;
        height: 0;
        background: none;
        border: none;
    }
    .sum .inner {
        padding: 3rem 5% 2rem;
        background: #fff;
        border-radius: 5px;
        overflow: hidden;
    }
    .sum .inner::before {
        content: "";
        position: absolute;
        top: 1rem;
        right: 1.5rem;
        width: 13rem;
        height: 3.2rem;
        background: url("./img/eng_sum.svg") 100% 0 no-repeat;
        background-size: auto 3.2rem;
    }
    .sum .sttl {
        width: 12rem;
        background: #3b8260;
        margin: 0 0 1rem;
        padding: .2rem 1rem .3rem;
        border-radius: 9999px;
        text-align: center;
        font-size: 1.5rem;
        color: #fff;
    }
    .sum .catch {}
    .sum .catch .marker {
        background: linear-gradient(transparent 90%, #e76400 0%) no-repeat bottom 0 left;
    }
    .sum .btn-internal,
    .sum .btn-web,
    .sum .btn-tel {
        width: 97%;
    }
    /* slideParts_SP */
    .slideParts {
        position: relative;
        margin: 3rem 5%;
    }
    .slideParts .slider1 {
        margin: 0 0 .8rem;
    }
    .slideParts .slider1 .slick-list {
        position: relative;
        aspect-ratio: 4 / 3;
        border-radius: 1rem;
        overflow: hidden;
    }
    .slideParts .slider1 .slick-track,
    .slideParts .slider1 .slick-slide {
        height: 100%;
    }
    .slideParts .slider1 .slick-slide {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .slideParts .slider1 img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        border-radius: 1rem;
        display: block;
    }
    .slideParts .slider1 .slick-arrow:before {
        content: ""!important;
    }
    .slideParts .slider1 .slick-prev,
    .slideParts .slider1 .slick-next {
        z-index: 2;
        top: calc(50% - 1.35rem);
        width: 2.7rem;
        height: 2.7rem;
        background: url("./img/arrow_ccl.svg") 0 0 no-repeat;
        background-size: 2.7rem auto;
        transform: scale(-1, 1);
        opacity: .7;
    }
    .slideParts .slider1 .slick-next {
        background: url("./img/arrow_ccl.svg") 0 0 no-repeat;
        background-size: 2.7rem auto;
        transform: scale(1, 1);
    }
    .slideParts .slider1 .slick-prev {
        left: -1.35rem!important;
    }
    .slideParts .slider1 .slick-next {
        right: -1.35rem!important;
    }
    /* thumbnail1 */
    .slideParts .thumbnail1 {
        margin: 0 7%;
    }
    .slideParts .thumbnail1 .slick-slide {
        position: relative;
        height: 3.8rem;
        margin: 0 0 1.6rem;
        margin-right: .3rem !important;
        margin-left: .3rem !important;
    }
    .slideParts .thumbnail1 .slick-current::before {
        content: "";
        position: absolute;
        bottom: -0.6rem;
        left: 0;
        width: 100%;
        height: 2px;
        background: #ffcb4b;
    }
    .slideParts .thumbnail1 img {
        border-radius: 5px;
        height: 3.8rem;
        object-fit: cover;
    }
    .slideParts .thumbnail1 .slick-arrow:before {
        content: ""!important;
    }
    .slideParts .thumbnail1 .slick-prev,
    .slideParts .thumbnail1 .slick-next {
        z-index: 2;
        top: calc(50% - 1.2rem);
        width: 1.2rem;
        height: 1.0rem;
        background: url("./img/arrow_base.svg") 0 0 no-repeat;
        background-size: 1.2rem auto;
        transform: scale(-1, 1);
        opacity: .7;
    }
    .slideParts .thumbnail1 .slick-next {
        background: url("./img/arrow_base.svg") 0 0 no-repeat;
        background-size: 1.2rem auto;
        transform: scale(1, 1);
    }
    .slideParts .thumbnail1 .slick-prev {
        left: -2.0rem!important;
    }
    .slideParts .thumbnail1 .slick-next {
        right: -2.0rem!important;
    }
    /* intv_SP */
    .intv {
        position: relative;
        margin: 2rem 5% 4rem;
    }
    .intv .inner {
        position: relative;
        padding: 2rem 5% 2.5rem;
        background: url(./img/pt1.jpg) 0 0 repeat;
        border-radius: 5px;
    }
    .intv .headArea {
        padding: 1.5rem 0 2rem 10rem;
        margin: 0 0 1.6rem;
        border-bottom: 1px solid rgba(38, 38, 38, .5);
    }
    .intv .sttl {
        font-size: 1.7rem;
    }
    .intv .sttl .fuki {
        display: block;
        width: 20rem;
        margin: 0 2rem .6rem 0;
        padding: .4rem 1rem .6rem;
        background: #3b8260;
        border-radius: 9999px;
        line-height: 1;
        text-align: center;
        color: #fff;
        font-size: 1.4rem;
    }
    .intv .sttl .fontS {
        font-size: 1.3rem;
    }
    .intv .flame {
        position: absolute;
        top: 2rem;
        left: 5%;
        width: 9rem;
        height: 9rem;
        float: left;
    }
    .intv .flame img {
        width: 18rem;
        object-fit: cover;
        border-radius: 6%;
    }
    .intv .txtArea {
        margin: 0 0 0;
    }
    .intv .catch {}
    /* iconBox_PC */
    .iconBox {
        position: relative;
        margin: 2rem 5% 7rem;
    }
    .iconBox .inner {
        position: relative;
        padding: 1.5rem 5% 1.7rem;
        background: #f5f5ed;
        border-radius: 5px;
    }
    .iconBox .headArea {
        padding: 0 0 1.0rem;
        margin: 0 0 1.4rem;
        border-bottom: 1px solid rgba(38, 38, 38, .5);
    }
    .iconBox .flame {
        width: 5rem;
        height: 5rem;
        float: left;
        margin: 0 1.5rem 0 0;
    }
    .iconBox .flame img {
        width: 5rem;
        object-fit: cover;
        border-radius: 50%;
    }
    .iconBox .catch {
        padding: .2rem 0 0;
        font-size: 1.8rem;
    }
    .iconBox .txtArea {
        margin: 0 0 0;
    }
    /* spv_SP */
    .spv {
        position: relative;
        margin: 2rem 0 5rem;
        padding: 11rem 0 0;
    }
    .spv::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        height: 16rem;
        background: url(./img/spv_bg_sp.jpg) 0 0 no-repeat;
        background-size: cover;
    }
    .spv .inner {
        position: relative;
        width: auto;
        margin: 0 5%;
        padding: 3rem 5% 3rem;
        background: url(./img/pt2.jpg) 0 0 repeat;
        border-radius: 5px;
        color: #fff;
    }
    .spv .inner::before {
        content: "";
        position: absolute;
        top: 1.2rem;
        left: 5%;
        width: 20rem;
        height: 3.2rem;
        background: url("./img/eng_sps.svg") 0 0 no-repeat;
        background-size: auto 3.2rem;
    }
    .spv .headArea {
        position: relative;
        margin: 0 0 3rem;
        padding: 2rem 0 0;
    }
    .spv .headArea .sttl {
        font-size: 1.8rem;
        line-height: 1.2;
    }
    .spv .headArea .sttls {
        font-size: 1.4rem;
    }
    .spv .sttl .fuki {
        display: block;
        width: 12rem;
        margin: 0 0 1.5rem;
        padding: .4rem 1rem .6rem;
        background: #f5f5ed;
        border-radius: 9999px;
        line-height: 1;
        font-size: 1.5rem;
        text-align: center;
        color: #262626;
    }
    .spv .flame {
        position: absolute;
        top: 5rem;
        right: 10%;
        width: 9rem;
        margin: 0 auto 2rem;
    }
    .spv .flame img {}
    .spv .txtArea {
        margin: 0 0 2rem;
    }
    .spv .txtArea .boxTtl {
        margin: 0 0 20px;
        line-height: 1.5;
        font-size: 2.4rem;
        font-weight: 700;
    }
    .spv .btn-internal,
    .spv .btn-web,
    .spv .btn-tel {
        width: 97%;
    }
    .spv .btn-link {
        margin: 2rem 0 0;
    }
    .spv .btn-link a {
        color: #fff;
    }
    /*--------------------------------------
　about_PC
---------------------------------------*/
    .about {
        position: relative;
        z-index: 14;
        margin: 0 5% 1.3rem;
    }
    .about .inner {
        position: relative;
        width: auto;
        margin: 0 auto;
        padding: 7rem 5% 2rem;
        background: url(./img/eng_about.svg) 50% 1.3rem no-repeat #f5f5ed;
        background-size: auto 2.6rem;
        border-radius: 5px;
    }
    .about .logo {
        position: static;
        width: 14.0rem;
        margin: 0 auto 3rem;
    }
    .about .txtArea {
        margin: 0 0 0;
        font-size: 1.5rem;
    }
    .about .sttl {
        margin: 0 0 1.6rem;
        font-size: 1.8rem;
    }
    .about .btn-link {
        margin: 1rem 0 0;
    }
}


/* End_SP */