/* text */
.text-bold{
    font-weight: 600;
}
.text-min{
    font-size: var(--d-font-size-min-2);
}
.min-text{
    font-size: var(--d-font-size-min-2);
}
.text-red{
    color:var(--primary-color);
}
p.end-text{
    font-size: var(--d-font-size-min-0);
    margin:0 0 3em;
}
.btn-space{
    display: flex;
    justify-content: center;
}
.contact-btn:hover{
    background: #E4812D;
    background: linear-gradient(180deg, rgba(228, 129, 45, 1) 0%, rgba(209, 25, 21, 1) 50%);
}
.contact-btn{
    text-align: center;
    font-size:var(--d-font-size-1);
    text-decoration: none;
    font-weight:600;
    border-radius:6px;
    background: #E4812D;
    background: linear-gradient(180deg, rgba(228, 129, 45, 1) 0%, rgba(209, 25, 21, 1) 100%);
    color: white;
    padding: .75em 10px .75em 10px;
    margin: 0 0 2.5em 0;
    border:none;
    width:300px;
    display:block;
    cursor:pointer;
    line-height:1.5;
}
.contact-btn .min-text{
    font-size:var(--d-font-size-min-0);
}
/* header */
.header-logo{
    display:block;
}
header .top-space .inner{
    display:flex;
    align-items: center;
}
header .top-space{
    background-color: var(--primary-color-2);
    padding: .3em .5em;
    margin:0 0 .75em;
}
header .top-space h1{
    color:var(--white);
    font-size: var(--d-font-size-min-2);
    font-weight: normal;
    line-height: 1;
}
header .inner{
    width: var(--width-main);
    margin: 0 auto;
}
header .inner .flex-box{
    margin: 0 0 .5em 0;
}
header .inner .right{
    margin:0 0 0 auto;
    display: flex;
}
header .icon-header-0120{
    margin: 0 1em 0 0;
}
header .icon-header-0120 a{
    display:block;
}
header h2{
    font-size: var(--d-font-size-min-2);
    line-height: 1;
    margin: 0 0 .5em 0;
}
.top-min-nav{
    margin: 0 0 0 auto;
}
.top-min-nav ul{
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}
.top-min-nav ul li{
    display: flex;
    align-items: center;
    position:relative;
    margin: 0 1em;
    padding: 0;
    list-style: none;
    line-height: 1;
}
.top-min-nav ul li:before{
    position: absolute;
    display: block;
    content: "";
    background-image: url("../../../img/common/icon-white-min-arrow.svg");
    background-repeat: no-repeat;
    background-size:35%;
    top: 6px;
    left: -8px;
    margin: 0 auto;
    width:10px;
    height:10px;
}
.top-min-nav ul li:last-of-type{
    margin:0 0 0 1em;
}
.top-min-nav ul li a{
    padding: .3em .5em;
    margin:0;
    color:var(--white);
    font-size: var(--d-font-size-min-2);
}.top-min-nav{
     margin: 0 0 0 auto;
 }
.top-min-nav ul{
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}
.top-min-nav ul li{
    display: flex;
    align-items: center;
    position:relative;
    margin: 0 1em;
    padding: 0;
    list-style: none;
    line-height: 1;
}
.top-min-nav ul li:before{
    position: absolute;
    display: block;
    content: "";
    background-image: url("../../../img/common/icon-white-min-arrow.svg");
    background-repeat: no-repeat;
    background-size:35%;
    top: 6px;
    left: -8px;
    margin: 0 auto;
    width:10px;
    height:10px;
}
.top-min-nav ul li:last-of-type{
    margin:0 0 0 1em;
}
.top-min-nav ul li a{
    padding: .3em .5em;
    margin:0;
    color:var(--white);
    font-size: var(--d-font-size-min-2);
}
.header-office-list{
    width:100%;
    margin:0 0 1em 0;
}
.header-office-list ul{
    display:flex;
    flex-wrap:wrap;
}
.header-office-list li a{
    font-size: var(--d-font-size-min-2);
}
.header-office-list li{
    position:relative;
    line-height: 1.3;
    margin:0 2em 0 0;
}
.header-office-list li:before{
    position: absolute;
    display: block;
    content: "";
    background-image: url("../../../img/common/icon-red-min-arrow.svg");
    background-repeat: no-repeat;
    background-size:35%;
    top: 7px;
    left: -8px;
    margin: 0 auto;
    width:10px;
    height:10px;
}
header .flex-box{
    display:flex;
    flex-wrap:wrap;
    width: 100%;
}
/* btn */
.btn-white{
    border-radius: 5px;
    background: #E6E6E6;
    background: linear-gradient(0deg, rgba(230, 230, 230, 1) 0%, rgba(254, 254, 254, 1) 100%);
}
.btn-mail-space{
    display:block;
    text-align: center;
    background-color:var(--primary-color-3);
    padding:.25em 1em;
    border-radius:5px;
}
.btn-mail-space:hover{
    text-decoration: none;
}
.btn-mail-space p{
    font-size: var(--d-font-size-min-2);
    color:white;
}


/* global nav */
nav.global{
    border-top:solid 1px var(--d-color-thin-3);
    border-bottom:solid 1px var(--d-color-thin-3);
    width:100%;
    background: #f5f8fa;
    background: linear-gradient(0deg, rgba(245, 248, 250, 1) 0%, rgba(221, 221, 221, 1) 50%, rgba(235, 235, 236, 1) 48%, rgba(247, 247, 249, 1) 100%);
    margin:0 0 1em;
}
nav.global ul{
    width:var(--width-main);
    margin: 0 auto;
    display:flex;
    justify-content: space-between;
}
nav.global ul li{
    display:flex;
    align-items: center;
}
nav.global ul li a{
    text-align: center;
    line-height: 1.5;
    font-size: var(--d-font-size-min-0);
    padding:.75em 1em;
    font-weight: 600;
}
nav.global ul li a:after{
    display: block;
    font-size: var(--d-font-size-min-4);
}
nav.global ul li:nth-of-type(1) a:after{
    content: "ABOUT";
}
nav.global ul li:nth-of-type(2) a:after{
    content: "SERVICE";
}
nav.global ul li:nth-of-type(3) a:after{
    content: "FAQ";
}
nav.global ul li:nth-of-type(4) a:after{
    content: "VOICE";
}
nav.global ul li:nth-of-type(5) a:after{
    content: "SEMINER";
}
nav.global ul li:nth-of-type(6) a:after{
    content: "MEDIA";
}

/* icon */
.ico-mail-red{
    background-image: url("../../../img/common/icon-mail-red-bg.svg");
    background-repeat: no-repeat;
    background-size: 30px;
    background-position: 13px center;
}

/* body */
main{
    width:var(--width-main);
    margin:0 auto;
    display: flex;
}
.main-contents{
    width:735px;
    margin: 0 0 0 auto;
}

/* footer */
footer{
    width:100%;
    background-color: var(--d-color-thin-4);
}
footer .contact-space a{
    display:block;
}
footer .contact-space p{
    margin: 0 0 1.5em 0;
    text-align: center;
    border-radius: 5px;
}
footer .contact-space p.text{
    text-align:left;
    margin: 0 0 2em 0;
}
.footer-logo{
    margin:0 0 1em 0;
}
footer .google-map iframe{
    width: 100%;
    height: 260px;
}
footer .inner{
    display: flex;
    width:var(--width-main);
    margin:0 auto;
    padding:2em 0;
}
footer .left{
    width:50%;
}
footer .right{
    width:48%;
    margin: 0 0 0 auto;
}
footer .right li{
    position:relative;
    line-height:1.8;
    margin:0 2em 0 0;
}
footer .right li:before{
    position: absolute;
    display: block;
    content: "";
    background-image: url("../../../img/common/icon-red-min-arrow.svg");
    background-repeat: no-repeat;
    background-size:35%;
    top: 7px;
    left: -8px;
    margin: 0 auto;
    width:10px;
    height:10px;
}
footer dl{
    display:flex;
    flex-wrap:wrap;
}
footer dl.office dt{
    width: 20%;
}
footer dl.office dd{
    width: 80%;
}
footer dl.office dt,
footer dl.office dd{
    font-size: var(--d-font-size-min-2);
}
footer .photo-image{
    margin: 0 1.5em 1.5em 0;
    float:inline-start;
}
footer .photo-image img{
    border: solid 1px var(--d-color-thin-3);
    padding: 2px;
}
footer .inner.bg-white .main p:last-of-type{
    margin:0 0 2em 0;
}
footer .photo-image a{
    display:block;
}
footer .photo-image img{
    width:300px;
    height:180px;
    object-fit:cover;
}
.footer-nav{
    display:flex;
    flex-wrap:wrap;
    margin:0 0 1em 0;
}
p.inline-flex-box{
    display:inline-flex;
}
.inner.bg-white{
    flex-wrap:wrap;
    background: white;
    border:solid 1px var(--d-color-thin-3);
    padding: 1em;
    margin: 0 auto 1.7em auto;
}
.inner.bg-white .main{
    width:67%;
}
.inner.bg-white .right{
    width:30%;
}
.inner.bg-white p.title{
    font-size: var(--d-font-size-min-0);
    font-weight: 600;
    margin:0  0 .5em 0;
}
.inner.bg-white .nav{
    width:25%;
    margin:0 0 3em;
}
.inner.bg-white .nav p.title{
    font-size: var(--d-font-size-min-2);
    margin:0  0 .5em 0;
}
.inner.bg-white .footer-under-nav p.title{
    display:block;
}
.inner.bg-white .nav p.title a{
    display:block;
    padding: .65em .5em;
    letter-spacing: -.1px;
    line-height:1.5;
}
.inner.bg-white .nav p.title a:before{
    content: "";
    background-image: url("../../../img/common/icon-red-middle-arrow.svg");
    background-repeat: no-repeat;
    background-size:70%;
    padding:2px 0 2px 20px;
    margin: 0 auto;
    width:18px;
    height:18px;
}
.inner.bg-white .nav img{
    width:100%;
}
.inner.bg-white .nav a{
    display:block;
}
.inner.bg-white p{
    font-size: var(--d-font-size-min-2);
}
.inner.bg-white .left{
    margin:0 0 3em 0;
}
.footer-under-nav{
    width:100%;
}
footer .ico-mail-red{
    background-position: 22% center;
}
footer .btn-white a{
    display:flex;
    justify-content: center;
    border-radius: 5px;
    border:solid 1px var(--d-color-thin-3);
    padding :1em 0 1em 50px;
    text-align: center;
    font-size: var(--d-font-size-min-2);
    align-items: center;
    text-decoration: none;
    font-weight: 600;
}

/* sidebar */
.nav-wrap{
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
}
#sidebar{
    width:230px;
}
#sidebar .title{
   font-size: var(--d-font-size-min-0);
   font-weight: 600;
   background-color: var(--d-color-thin-4);
}
#sidebar .title a:before{
    content: "";
    background-image: url("../../../img/common/icon-red-middle-arrow.svg");
    background-repeat: no-repeat;
    background-size:70%;
    padding:0 0 0 20px;
    margin: 0 auto;
    width:18px;
    height:18px;
}
#sidebar .title a{
    display:block;
    padding: .65em .5em;
    text-decoration:none;
    letter-spacing: -.1px;
}
#sidebar .title a:hover{
    background-color: var(--d-color-thin-3);
}
#sidebar li{
    font-size: var(--d-font-size-min-0);
    background-image: url("../../../img/common/icon-red-min-arrow.svg");
    background-repeat: no-repeat;
    margin: 0 auto;
    background-size: 4px;
    background-position: 13px center;
}
#sidebar li a{
    padding:3px 0 3px 26px;
    display: block;
    border-bottom: solid 1px var(--d-color-thin-3);
}
#sidebar li a:hover{
    text-decoration:none;
    background-color: var(--d-color-thin-3);
    background-image: url("../../../img/common/icon-red-min-arrow.svg");
    background-repeat: no-repeat;
    margin: 0 auto;
    background-size: 4px;
    background-position: 13px center;
}
#sidebar .main-title{
    background: #E4812D;
    background: linear-gradient(180deg, rgba(228, 129, 45, 1) 0%, rgba(209, 25, 21, 1) 100%);
    color:white;
    padding: .5em 0 .5em 10px;
}
#sidebar .contact-space{
    width:92%;
    margin:1em auto;
}
#sidebar .contact-space a{
    display:block;
}
#sidebar .contact-space img{
    width: 100%;
    margin:0 0 .5em 0;
}
#sidebar .contact-space img:first-of-type{
    margin:0 0 .5em 0;
}
#sidebar a{
    display:block;
}
#sidebar img{
    width:100%;
}
#sidebar .bn-insurance{
    margin:0 0 1em 0;
}
#sidebar .btn-white a{
    border-radius: 5px;
    border:solid 1px var(--d-color-thin-3);
    padding :1em 0 1em 50px;
    text-align: center;
    font-size: var(--d-font-size-min-2);
    display:flex;
    align-items: center;
    text-decoration: none;
    font-weight: 600;
}

/* copy write */
.copy-write{
    display:flex;
    justify-content: center;
    font-size:var(--d-font-size-min-2);
    margin: 0 0 2em 0;
}

/* パンくず */
.bred-crumb-list {
    display: flex;
    padding: 1em;
    overflow-x: auto;       /* 横スクロールを有効化 */
    white-space: nowrap;    /* 折り返し防止 */
    -webkit-overflow-scrolling: touch; /* スマホでスムーズスクロール */
    scrollbar-width: thin;  /* Firefox: スクロールバー細く */
    margin:0 0 2em;
}

.bred-crumb-list li {
    font-size: var(--d-font-size-min-2);
    flex-shrink: 0;         /* 子要素が圧縮されないようにする */
}

.bred-crumb-list li:after {
    content: ">";
    margin: 0 .5em;
}

.bred-crumb-list li:last-of-type:after {
    display: none;
}





.main-title-section{
    margin:0 0 2em 0;
}
.main-title-box{
    padding:.2em 1em;
    border-left: solid 5px var(--primary-color);
    margin:0 0 1em 0;
}
.blog.main-title-box{
    border-left: solid 5px var(--d-color);
}
.main-title-box .main-lead{
    font-size: var(--d-font-size-5);
    line-height: 1.5;
}
.main-title-box .main-lead+p{
    font-size: var(--d-font-size-min-0);
    font-weight: 600;
}
.main-text-space::after{
    content: "";
    display: block;
    clear: both;
}
.main-text-contents p,
.main-text-contents li
{
    font-size: var(--d-font-size-min-0);
}
.main-text-contents ul{
    padding:1em;
}
.main-text-space .main-photo{
        float: right;
        margin: 0 0 1em 1em;
        width:39%;
}
.main-text-contents .text-red{
    font-weight: 600;
}
.main-photo img{
    width:100%;
    border: solid 1px var(--d-color-thin-3);
    padding: 2px;
}






.anchor-space-wrap{
    padding:1em;
    background: var(--primary-color-4);
    margin:0 0 2em;
}
.anchor-space{
    box-shadow: var(--shadow);
    display:flex;
    justify-content: space-between;
}
.anchor-space li:hover{
    background-color: var(--d-color-thin-5);
}
.anchor-space li{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.2;
    width:25%;
    font-size: var(--d-font-size-min-0);
    background: white;
    border-right:solid 1px var(--d-color-thin-3);
}
.anchor-space li:last-of-type{
    border:none;
}
.anchor-space li{
    content: " ";
    position:relative;
    background-image: url("../../../img/common/icon-red-circle-arrow.svg");
    background-repeat: no-repeat;
    background-size: 14px;
    background-position: 15px center;
}
.anchor-space li a{
    text-decoration: none;
    text-align: center;
    width:100%;
    display: flex;
    flex-wrap:wrap;
    align-items: center;
    justify-content: center;
    padding:.5em 0 .5em 33px;
    font-size: var(--d-font-size-min-0);
    font-weight: 600;
    letter-spacing:-.1px;
}
.anchor-space li:nth-of-type(4) a{
    padding:.5em 0 .5em 2em;
    letter-spacing:-1px;
}
.anchor-space-wrap .text-min{
    font-size: var(--d-font-size-min-2);
}


.main-contents .title:before{
    content: " ";
    background-image: url("../../../img/common/icon-red-circle.svg");
    background-repeat: no-repeat;
    background-size: 14px;
    background-position: 0 center;
    width:24px;
    height:24px;
}
.main-contents .title{
    display:flex;
    align-items: center;
    font-size: var(--d-font-size-min-0);
    padding:.5em 1em;
    font-weight: 600;
    border-top:solid 2px var(--primary-color-2);
    background: #F4F4F4;
    background: linear-gradient(0deg, rgba(230, 230, 230, 1) 0%, rgba(255, 255, 255, 1) 100%);
}
.main-contents .title~p{
    font-size: var(--d-font-size-min-0);
    padding:1em;
    margin:0 0 1em 0;
}

#diff .title{
    margin:0 0 2em 0;
}
dl.table{
    display: flex;
    flex-wrap:wrap;
    width:100%;
    margin:0 0 2em;
    border-bottom:solid 1px #CCCCCC;
}
dl.table dt.header:first-of-type{
    width:26%;
}
dl.table dd.header{
    width:37%;
    text-align: center;
    background:none;
}
dl.table dd.header:first-of-type{
    background: linear-gradient(180deg, rgba(228, 129, 45, 1) 0%, rgba(209, 25, 21, 1) 100%);
    color:white;
    font-weight: 600;
}
dl.table dd p{
    font-size: var(--d-font-size-min-0);
    line-height: 1.75;
}
dl.table dt + dd{
    background: var(--primary-color-5);
    background-image: url("../../../img/common/bg-circle.svg");
    background-position: center;
    background-repeat: no-repeat;
}
dl.table dt {
    width:26%;
    text-align: center;
    font-size: var(--d-font-size-min-0);
    font-weight: 600;
    border-left:1px solid #CCCCCC;
    border-top:1px solid #CCCCCC;
    border-right:1px solid #CCCCCC;
}
dl.table dd {
    width:37%;
    font-size: var(--d-font-size-min-0);
    line-height: 2;
    border-top:1px solid #CCCCCC;
    border-right:1px solid #CCCCCC;
    background-image: url("../../../img/common/bg-batsu.svg");
    background-position: center;
    background-repeat: no-repeat;
}
dl.table dt,
dl.table dd{
    padding:1em;
}
dl.table dt{
    background: var(--d-color-thin-4);
}
dl.table .sub-title{
    font-size: var(--d-font-size-min-0);
    font-weight: 600;
}


/* サービス個別ページ 悩みモジュール */
#problem .flex-box{
    border:solid 1px var(--d-color-thin-3);
    margin:0 0 1em 0;
}
#problem .flex-box p.sub-title{
    display:flex;
    align-items: center;
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 10px, rgba(245, 245, 245, 1) 10px, rgba(245, 245, 245, 1) 20px );
    padding:.5em 1em;
    font-weight: 600;
    font-size: var(--d-font-size-min-0);
}
#problem .flex-box p.sub-title:before{
    content: " ";
    background-image: url("../../../img/common/icon-red-check.svg");
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: 0 center;
    width:24px;
    height:24px;
}
#problem .text-contents{
    padding:1em;
}
#problem .text-contents p{
    font-size: var(--d-font-size-min-0);
}


body.page-template-default#service .main-contents .flex-box img{
    width:100%;
    margin:0 0 .75em;
}
body.page-template-default#service .main-contents .flex-box a{
    display:block;
}
body.page-template-default#service .main-contents .flex-box{
    border:none;
}


/* デフォルトテンプレート pageの中のサービス */
#service .flex-box .text-contents.is_photo{
    width:70%;
}
#service .flex-box .text-contents{
    width:100%;
}
#service .text-contents p{
    font-size: var(--d-font-size-min-0);
}
#service .flex-box{
    margin:0 0 1em;
}
#service .flex-box .contents{
    display:flex;
    padding:1em;
}
#service .text-contents + .photo img{
    padding: 3px;
    border: solid 1px var(--d-color-thin-3);
}
#service .text-contents + .photo{
    margin:0 0 0 auto;
}
#service .sub-title:before{
    content: " ";
    background-image: url("../../../img/common/icon-red-min-sign.svg");
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: 0 center;
    width: 24px;
    height: 24px;
}
#service .sub-title {
    display: flex;
    align-items: center;
    font-size: var(--d-font-size-min-0);
    padding: .5em 1em;
    font-weight: 600;
    background: #F4F4F4;
}
#service .flex-box{
    border:solid 1px var(--d-color-thin-3);
}


/* サービス個別ページ 流れ悩みモジュール */
#problem,
#service,
#flow{
    margin:0 0 4em 0;
}
#flow .flex-wrap{
    counter-reset: step-counter;
}
#flow .flex-box{
    counter-increment: step-counter;
    position:relative;
    border:solid 1px var(--d-color-thin-3);
    margin:2em 0 5em 0;
}
#flow .flex-box:first-of-type{
    margin:0 0 5em 0;
}
#flow .flex-box:last-of-type{
    margin:0 0 2em 0;
}
#flow .flex-box:last-of-type::after{
    display:none;
}
#flow .flex-box::after{
    position:absolute;
    content: "";
    background-image: url("../../../img/common/icon-orange-flow-arrow.svg");
    background-size: 20%;
    background-repeat: no-repeat;
    background-position: 5px 20px;
    left: 48%;
    width:100px;
    height:100px;
}
#flow .flex-box p.sub-title{
    display:flex;
    align-items: center;
    background-color: var(--d-color-thin-4);
    padding:.5em 1em;
    font-weight: 600;
    font-size: var(--d-font-size-min-0);
}
#flow .flex-box p.sub-title:before{
    content: "Step." counter(step-counter, decimal-leading-zero);
    background-image: url("../../../img/common/icon-label-orange.svg");
    background-repeat: no-repeat;
    background-size: 100px;
    background-position: 0 center;
    margin: 0 .8em 0 0;
    padding:.5em .2em;
    line-height: 1;
    width:100px;
    height:24px;
    color:white;
    font-size: var(--d-font-size-min-2);
    text-align: center;
}
#flow .flex-box .text-contents{
    padding:1em;
}
#flow .text-contents p{
    font-size: var(--d-font-size-min-0);
}



/* サービス個別ページ 料金モジュール */
#price dl,
#price dt,
#price dd {
    padding: 0;
    margin: 0;
}
#price dl{
    display:flex;
    flex-wrap:wrap;
}
#price dt,
#price dd{
    line-height: 1.5;
    padding:.75em 1em;
    font-size: var(--d-font-size-min-0);

    display:flex;
    align-items:center;
    justify-content: center;
}
#price dl{
    margin:0 0 3em 0;
}
#price dt:nth-of-type(1),
#price dd.header{
    background-color: var(--d-color-thin-4);
}
#price dt:last-of-type,
#price dd:last-of-type{
    border-bottom:1px solid var(--d-color-thin-3);
}
#price dt{
    text-align: center;
    background-color: var(--primary-color-4);
    font-weight: 600;
    width: 30%;
    border-top:1px solid var(--d-color-thin-3);
    border-left:1px solid var(--d-color-thin-3);
}
#price dd{
    width: 70%;
    border-top:1px solid var(--d-color-thin-3);
    border-left:1px solid var(--d-color-thin-3);
    border-right:1px solid var(--d-color-thin-3);
}

/* 3col */
#price dl.col_3 dd{
    width: 35%;
    border-top:none;
    border-bottom: solid 1px var(--d-color-thin-3);
}
#price dl.col_3 dd.header{
    border-top:1px solid var(--d-color-thin-3);
}
#price dl.col_3 dd:nth-of-type(2n){
    border-left:none;
}





#table,
#table dt,
#table dd {
    padding: 0;
    margin: 0;
}
#table{
    display:flex;
    flex-wrap:wrap;
    margin:0 0 3em 0;
}
#table dt,
#table dd{
    line-height: 1.5;
    padding:.75em 1em;
    font-size: var(--d-font-size-min-0);

    display:flex;
    align-items:center;
    justify-content: center;
}
#table dt:nth-of-type(1),
#table dd.header{
    background-color: var(--d-color-thin-4);
}
#table dt:last-of-type,
#table dd:last-of-type{
    border-bottom:1px solid var(--d-color-thin-3);
}
#table dt{
    text-align: center;
    background-color: var(--primary-color-4);
    font-weight: 600;
    width: 30%;
    border-top:1px solid var(--d-color-thin-3);
    border-left:1px solid var(--d-color-thin-3);
}
#table dd{
    width: 70%;
    border-top:1px solid var(--d-color-thin-3);
    border-left:1px solid var(--d-color-thin-3);
    border-right:1px solid var(--d-color-thin-3);
}




.main-lead span.min-text{
    margin: 0 0 0 .5em;
    font-weight: 600;
    font-size: var(--d-font-size-min-0);
}

.archive-wrap{
    display:flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.archive-wrap.col_3 .box{
    width: 32%;
    margin:0 1em 1.5em 0;
}
.archive-wrap.col_3 .box:nth-of-type(3n){
    margin:0 0 1.5em 0;
}

.archive-wrap.col_3 .box .title{
    padding:.5em 0 .5em 1em;
    line-height:1.5;
}
.archive-wrap.col_3 .box .title .min-text{
    display:block;
    letter-spacing:unset;
}


.archive-wrap.col_2{
    justify-content: space-between;
}
.archive-wrap.col_2 .box{
    width: 49%;
    margin:0 0 1.5em;
}
.archive-wrap.col_2 .box:nth-of-type(2n) {
    margin: 0 0 1.5em auto;
}

.archive-wrap .box .title:before {
    content: " ";
    background-image: url(../../../img/common/icon-red-min-sign.svg);
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: 0 center;
    width: 24px;
    height: 24px;
}
.archive-wrap .box .title{
    background: var(--d-color-thin-4);
    border:none;
}
.archive-wrap .box {
    border:solid 1px var(--d-color-thin-3);
}
.archive-wrap .box .flex-box{
    padding: 1em ;
}
.archive-wrap .text{
    font-size: var(--d-font-size-min-0);
    line-height: 1.75;
}

.category.archive-wrap .sub-title{
    font-size:var(--d-font-size-min-0);
}
.category.archive-wrap .sub-title a{
    font-weight:600;
}
.category.archive-wrap .text{
    font-size: var(--d-font-size-min-3);
}
.archive-wrap .box .flex-box img{
    margin: 0 0 .75em 0;
    width: 100%;
    padding: 3px;
    border: solid 1px var(--d-color-thin-3);
    height: 160px;
    object-fit:cover;
}

.archive-wrap .box a{
    display:block;
}



.bn-list a{
    display:block;
}
.bn-list li{
    margin: 0 0 1em;
}


.two-clm-space{
    display:flex;
    flex-wrap:wrap;
}
.two-clm-space .left{
    width: 526px;
}
.two-clm-space .right{
    width: 195px;
    margin:0 0 0 auto;
}
.two-clm-space .right aside a{
    display:block;
}


.title-wrap{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: .5em 0 .5em 1em;
    margin:0 0 1em;
    font-weight: 600;
    border-top: solid 2px var(--primary-color-2);
    background: #F4F4F4;
    background: linear-gradient(0deg, rgba(230, 230, 230, 1) 0%, rgba(255, 255, 255, 1) 100%);
}
.title-wrap .title{
    width:80%;
    border:unset;
    background:unset;
    padding:unset;
}
.title-wrap span{
    margin: 0 0 0 auto;
    font-size: var(--d-font-size-min-2);
}
.title-wrap span a{
    padding: 1em;
}




.right-nav img{
    width:100%;
    margin: 0 0 .5em 0;
}

dl.table-default{
    display: flex;
    flex-wrap:wrap;
    width:100%;
    margin:0 0 2em;
    border-bottom:solid 1px #CCCCCC;
}
dl.table-default > dt{
    background: var(--primary-color-4);
    display:inline-flex;
    align-items: center;
    width:26%;
    text-align: center;
    font-weight: 600;
    border-left:1px solid #CCCCCC;
    border-top:1px solid #CCCCCC;
    border-right:1px solid #CCCCCC;
}

dl.table-default dt,
dl.table-default dd,
dl.table-default p,
dl.table-default li{
    font-size: var(--d-font-size-min-0);
}
dl.table-default > dt.required:after{
    margin: 0 0 0 auto;
    content:'必須';
    background: var(--primary-color-2);
    color:white;
    padding: .2em .5em;
    font-size: var(--d-font-size-min-4);
    border-radius: 10px;
}

dl.table-default > dd{
    width:74%;
    text-align: center;
    background:none;
    font-size: var(--d-font-size-min-0);
    line-height: 2;
    border-top:1px solid #CCCCCC;
    border-right:1px solid #CCCCCC;
}

dl.table-default > dt,
dl.table-default > dd{
    padding:1em;
}
dl.table-default > dd input,
dl.table-default > dd textarea{
    padding: .25em .5em;
    font-size: var(--d-font-size-min-0);
    border:solid 1px var(--d-color-thin-2);
    border-radius: 5px;
}

dl.table-default dl.inner{
    display:flex;
    flex-wrap:wrap;
    justify-content: left;
    width: 100%;
    padding:0;
    margin:0;
}
dl.table-default dl.inner dt{
    width: 45%;
    text-align: left;
}
dl.table-default dl.inner dd{
    width: 30%;
}
dl.table-default ul{
    width:100%;
    margin:0 auto;
}
dl.table-default li{
    text-align: left;
}
dl.table-default .text-contents{
    text-align: left;
}
dl.table-default .text-contents .sub-title{
    font-weight: 600;
}
dl.table-default .text-contents .sub-title:not(:first-of-type) {
    margin:2em 0 0 0;
}

.contact-form input[type=submit]{
    cursor: pointer;
    display:block;
    width: 300px;
    background: #E4812D;
    background: linear-gradient(180deg, rgba(228, 129, 45, 1) 0%, rgba(209, 25, 21, 1) 100%);
    color: white;
    padding: .5em 10px .5em 10px;
    margin: 0 auto 2.5em auto;
    border:none;
    border-radius: 5px;
    font-size: var(--d-font-size);
}

#contact .main-title-section p,
#contact .main-title-section li{
    list-style-type:disc;
    font-size: var(--d-font-size-min-0);
}
#contact .main-title-section ul{
    padding: 1em 0 1em 2em;
}
#contact .attention{
    margin:0 0 2em 0;
}
#contact .attention .sub-title{
    font-weight: 600;
}
#contact .attention .sub-title:before{
    content:'※';
    margin:0 .5em 0 0;
}
#contact .attention p{
    font-size: var(--d-font-size-min-0);
}

body.home .bn-list{
    margin: 0 0 2em;
}
body.home .remote-link{
    display: flex;
    justify-content: right;
    margin: 0 0 1em;
}
body.home .remote-link a{
    display: block;
}

#price:has(p.end-text) .col_3 {
    /* p.end-text が含まれているときのスタイル */
    margin:0 0 .5em;
}


#other .title{
    margin:0 0 1em;
}
#other .text-content{
    margin: 0 0 2em;
}
#other .text-content p {
    font-size: var(--d-font-size-min-0);
}

.sub-lead-border{
    font-size: var(--d-font-size-1);
    font-weight: 600;
    padding: .1em .75em;
    border-left: solid 5px var(--primary-color);
    margin: 0 0 1em 0;
}

.number-list{
    counter-reset: number 0;
}
.number-list li:before{
    counter-increment: number 1;
    content: counter(number) " ";
    background-color: var(--primary-color-2);
    color:white;
    margin:0 .75em 0 0;
    display:inline-flex;
    justify-content: center;
    width:30px;
}
.number-list li{
    padding:1em 0 1em;
    border-bottom:solid 1px var(--d-color-thin-3);
    font-size: var(--d-font-size-min-0);
}
.width-100 img{
    width:100%;
}
.width-100.border{
    padding:1em;
    border:solid 1px var(--d-color-thin-3);
}


table.default{
    border-top:solid 1px var(--d-color-thin-3);
    border-right:solid 1px var(--d-color-thin-3);
    border-left:solid 1px var(--d-color-thin-3);
}
table.default thead{
    background-color: var(--d-color-thin-4);
}
table.default thead td,
table.default thead th{
    font-weight: 600;
    text-align: center;
}

table.default td,
table.default th{
    font-size: var(--d-font-size-min-0);
    padding: .5em 1em;
    border-bottom:solid 1px var(--d-color-thin-3);
    border-right:solid 1px var(--d-color-thin-3);
}
table.default tbody th{
    background-color: var(--primary-color-4);
    font-weight: 600;
}



.thumbnail-list-wrap{
    display:flex;
    flex-wrap:wrap;
    padding: 1em;
    margin:0 0 4em 0;
    align-items: flex-start;
}
.thumbnail-box{
    width:32%;
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
    margin:0 1em 2em 0;
}
.thumbnail-box:nth-of-type(3n){
    margin:0 0 2em 0;
}
.thumbnail-box .photo img{
    width: 100%;
    height: 150px;
    object-fit:cover;
    margin:0 0 .5em 0;
    padding: 3px;
    border: solid 1px var(--d-color-thin-3);
}
.thumbnail-box p.text{
    font-size: var(--d-font-size-min-2);
    line-height:1.5;
}
.thumbnail-box:nth-last-child(-n+3) {
    margin-bottom: 0; /* 例: 下マージンを消す */
}


/* br を使わない対策 */
.main-text-contents p,
#flow .flex-box .text-contents p {
    margin-bottom:1em;
}
#flow .flex-box .text-contents p:last-of-type{
    margin-bottom:0;
}


#toTopBtn {
    position: fixed;
    right: 20px;
    bottom: 20px;
    padding: 10px 15px;
    font-size: 14px;
    border: none;
    border-radius: 5px;
    background: #333;
    color: #fff;
    cursor: pointer;
    opacity: 0;              /* 最初は非表示 */
    pointer-events: none;    /* クリック不可 */
    transition: opacity 0.3s;
    z-index: 1000;
}
#toTopBtn.show {
    opacity: 1;
    pointer-events: auto;    /* 表示されたらクリック可能 */
}





.movie-wrap{
    display:flex;
    flex-wrap:wrap;
    padding: 1em;
}

.movie-box{
    width: 49%;
    margin: 0;
}
.movie-box:nth-of-type(2n){
    margin:0 0 0 auto;
}

.movie iframe{
    width:100%;
    height: 240px;
}
.movie-box .title:before{
    display:none;
}
.movie-box .title{
    border:none;
    background:unset;
    margin:unset;
    padding:0 1em;
    line-height: 1.5;
    font-size: var(--d-font-size-min-0);
    font-weight: 600;
}
.movie-box .catch{
    padding:0 1em !important;
    margin:0 0 1em !important;
    font-size: var(--d-font-size-min-1) !important;
}


.blog-first-space{
    margin:0 auto;
    width: var(--width-main);
}
.blog-first-space .main-image{
    margin:0 0 1em 0;
}
main.blog-category aside.blog-category-nav{
    order:2;
    margin:0 0 0 auto;
}
main.blog-category .main-contents{
    order:1;
    margin:0;
}
main.blog-category #sidebar li{
    background-position: 13px 12px;
}
main.blog-category #sidebar li a{
    display: unset;
    font-size:var(--d-font-size-min-0);
}
.blog-category-nav .cat-item,
.blog-category-nav ul.archive li{
    font-size:var(--d-font-size-min-3) !important;
    color: var(--primary-color-2);


}
.blog-category-nav .cat-item a,
.blog-category-nav ul.archive li a{
    font-size:var(--d-font-size);


}
.blog-category-nav .cat-item a:hover,
.blog-category-nav ul.archive li a:hover{
    background-image:unset;
}


/*ブログ アーカイブ*/
.post-list{
    display:flex;
    flex-wrap:wrap;
}

.post-item{
    margin: 0 1em 1.5em 0;
    width: 31%;
    border:solid 1px #DFDFDF;
    border-radius: 7px;
}
.post-item:nth-of-type(3n){
    margin: 0 0 1.5em;
}

.post-item .post-thumb img{
    width:100%;
    height: 100px;
    object-fit:cover;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;

}
.item-body{
    padding: 10px;

}

.has-thumb .item-body{
    position: relative;
}
.has-thumb .item-body .post-date{
    position: absolute;
    top: -95px;
    right: 10px;
}


.post-date{
    text-align: right;
    display:block;
    color: var(--d-color-thin-1);
    font-size: var(--d-font-size-min-3);
}
.post-title{
    font-size:var(--d-font-size-min-0);
    line-height: 1.5;
    font-weight:600;
    margin: 0 0 .5em 0;
}
p.post-excerpt{
    font-size:var(--d-font-size-min-2);
    line-height: 1.5;
}


/* single blog page */
.type-post .post-thumb img{
    width: 100%;
    object-fit: cover;
}





/* カスタムアーカイブ */
.tag-list-wrap{
    display:flex;
    flex-wrap:wrap;
}

.tag-list-wrap .title{
    font-size:var(--d-font-size-min-0);
}

.related-post-wrap{
    display:flex;
    flex-wrap:wrap;
    background: var(--d-color-thin-5);
    padding: 2em;
    margin: 0 0 2em;
}
.related-post-wrap .box{
    display:flex;
    flex-wrap:wrap;
    padding: 0 0 3em;
    margin:0 0 1.5em;
    border-bottom:solid 1px var(--d-color-thin-3);
}
.related-post-wrap .box:last-of-type{
    border:none;
}
.related-post-wrap .box .title:before{
    display:none;
}
.related-post-wrap .box .title{
    padding:unset;
    border:unset;
    background:none;
    font-size: var(--d-font-size-min-0);
}
.related-post-wrap .box .body{
    width:100%;
}
.related-post-wrap .thumb{
    width:30%;
}
.related-post-wrap .thumb img{
    width: 100%;
    height: 140px;
    object-fit:cover;
}
.related-post-wrap .thumb a{
    display:block;
}
.related-post-wrap .box.has-thumb .body{
    width:67%;
    margin:0 0 0 auto;
}

.related-post-wrap .box .head{
    display:flex;
    flex-wrap:wrap;
    align-items: center;
}
.related-post-wrap .box .category{
    display:inline;
    margin:0 0 0 auto;
}
.related-post-wrap .box .category a{
    background: white;
    display:block;
    font-size: var(--d-font-size-min-3);
    padding: .5em 1em;
    border:solid 1px var(--d-color-thin-3);
    border-radius: 50px;

}
.related-post-wrap .box .text{
    font-size: var(--d-font-size-min-3);
}


/* footer 全ての投稿カテゴリバナー表示 */
.cat-list{
    display:flex;
    flex-wrap:wrap;
    margin:0 0 3em;
}
.cat-list li{
    width:48%;
    margin:0 0 1em;
}
.cat-list li:nth-of-type(2n){
    margin:0 0 1em auto;
}
.cat-list li a{
    display:block;
}
.cat-list li img{
    margin:0 0 .5em;
}
.cat-name{
    font-size: var(--d-font-size-min-0);
    font-weight:600;
    margin:0 0 .5em;
}
.cat-desc{
    font-size: var(--d-font-size-min-3);
    line-height: 1.5;
}

.other-archives{
    margin:0 0 3em;
}

.category .page-header{
    margin: 0 0 3em;
}

.post-footer .post-nav{
    display:flex;
    flex-wrap:wrap;
}
.post-footer .post-nav .post-nav__prev{
    width: 48%;
    margin:0;
}
.post-footer .post-nav .post-nav__next{
    width: 48%;
    margin: 0 0 0 auto;
}

.post-content,
.post-footer{
    margin: 0 0 3em;
}
.post-footer .thumb img{
    width: 100%;
    object-fit:cover;
}


.post-footer{
    padding: 1em;
    background: var(--d-color-thin-4);
}
@media screen and (max-width:640px){
    /**********************
add 210207080852 yamamoto
common module
this file is Common Module Css Only
***********************/
@charset "UTF-8";
    /* header Start */


    .post-item{
        margin: 0 0 1.5em 0;
        width: 100%;
        border:solid 1px #DFDFDF;
        border-radius: 7px;
    }
    .post-item:nth-of-type(3n){
        margin: 0 0 1.5em 0;
    }

    /**********************
hamburger menu
***********************/
    .hamburger-menu {
        background-color: var(--primary-color-2);
        margin: 0 auto; /* 中央寄せしたいだけ */
        cursor: pointer;
        display: block;
        position: relative;
        width: var(--hamburger-menu-size);
        height: var(--hamburger-menu-size);
        /* background-color: var(--d-brand-color-deep-1); */
        z-index: 100;
        top:0;
        right: 0;
        /* animation: SlideDown .5s; */
    }
    @keyframes SlideDown {
        0% {
            opacity: 0;/*初期状態では透明に*/
            transform: translateY(-15px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .hamburger-menu-line {
        position: absolute;
        transition: var(--hamburger-menu-transition);
        width: calc(100% - var(--hamburger-menu-padding) * 2);
        height: var(--hamburger-menu-border-px);
        background-color:white;
    }

    .line-top {
        top: var(--hamburger-boder-padding);
        left: var(--hamburger-menu-padding);
    }

    .line-middle {
        top: calc(65.5% - var(--hamburger-boder-padding)/2);
        left: var(--hamburger-menu-padding);
    }

    .line-bottom {
        bottom: var(--hamburger-boder-padding);
        left: var(--hamburger-menu-padding);
    }

    .hamburger-menu-active > .line-top {
        top: calc(50% - var(--hamburger-menu-border-px)/2);
        transform: rotate(45deg);
        background-color: white;
    }
    .hamburger-menu-active > .line-middle {
        width: 0;
        height: 0;
        left: var(--hamburger-menu-padding);
    }
    .hamburger-menu-active > .line-bottom {
        top: calc(50% - var(--hamburger-menu-border-px)/2);
        width: calc(100% - var(--hamburger-menu-padding) * 2);
        transform: rotate(-45deg);
        background-color: white;
    }

    .stripe_style_box .h3{
        margin: 0;
        text-align: left;
        font-family: var(--font-f-gothic);
        font-size: var(--d-font-size-3);
        line-height: 1.25;

        color: #FF8C00;
        background: -webkit-linear-gradient(left, #fa709a 0%, #fee140 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .stripe_style_box p{
        font-size: var(--d-font-size-min-0);
    }
    .stripe_style_box {
        position: relative;
        padding: 0 0 0.5rem 0;
        margin: 0 0 2em 0;
    }
    .stripe_style_box:first-letter{
        font-size: var(--d-font-size-6);
        letter-spacing: -1px;
        font-weight: var(--d-font-weight-bold);
    }
    .stripe_style_box:after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 10px;
        content: '';
        background-image: -webkit-repeating-linear-gradient(135deg, var(--d-color-thin-2), var(--d-color-thin-2) 1px, transparent 2px, transparent 5px);
        background-image: repeating-linear-gradient(-45deg, var(--d-color-thin-2), var(--d-color-thin-2) 1px, transparent 2px, transparent 5px);
        background-size: 7px 7px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    /**********************
  modal menu base
***********************/
    .menu_wraps{display:none; position:fixed; inset:0; z-index:20; padding-top:57px}
    .menu_wraps.show{display:block; background:rgba(0,0,0,.3); animation: fadeIn .2s}
    .menu_wraps.hidden{display:none}
    .menu_wraps a{color:#000 !important; text-decoration:none}

    .menu_bord{position:absolute; top:0; right:0; width:86%; max-width:360px; height:100%;
        background:#fff; box-shadow:-6px 0 16px rgba(0,0,0,.12); overflow:hidden}

    /* スライドする領域 */
    .menu-panel-wrapper{height:100%; overflow:hidden}
    .menu-panels{display:flex; height:100%; will-change:transform; transition:transform .25s ease}
    .menu-panel{min-width:100%; height:100%; display:flex; flex-direction:column}
    .menu-panel-header{
        display:flex; align-items:center; gap:8px; height:56px; padding:16px; border-bottom:1px solid #eee;
        background:var(--primary-color-2);
    }
    .menu-panel-header .back-btn{
        border:0; background:transparent; font-size:16px; padding:8px; line-height:1; cursor:pointer;
        color:white;
    }
    .menu-panel-header .title{font-weight:700; font-size:var(--d-font-size); color:white !important;}
    /* リスト */
    .menu-list{overflow:auto; -webkit-overflow-scrolling:touch; padding:8px 0 24px}
    .menu-list > li{border-bottom:1px solid #f1f1f1}
    .menu-list > li > a,
    .menu-list > li > .row{
        display:flex; align-items:center; justify-content:space-between;
        gap:12px;
        padding:1em;
        font-size:var(--d-font-size); width:100%;
        background:white;
    }

    .menu-list > li > a, .menu-list > li.has-children button{
        border: none;
        gap:0;
    }
    li.has-children,
    li.has-children .row{
        background:var(--d-color-thin-3);
    }

    .menu-list .menu-arrow{font-size:18px}

    /* 「入れ子あり」の見た目 */
    .has-children > .row .menu-arrow{transform:translateX(0); transition:transform .2s}

    /* アニメーション */
    @keyframes fadeIn{from{opacity:0} to{opacity:1}}

    /* PCでは非表示 */
    @media (min-width:768px){
        .sp-only{display:none !important}
    }

    /* スクロール固定 */
    html.no-scroll, body.no-scroll{overflow:hidden; height:100%}
    /* パネルを閉じている時は右に隠す。開くとスライドイン */
    .menu_bord{
        position:absolute; top:0; right:0; width:86%; max-width:360px; height:100%;
        background:#fff; box-shadow:-6px 0 16px rgba(0,0,0,.12); overflow:hidden;
        transform: translateX(100%); transition: transform .25s ease;
    }
    .menu_wraps.show .menu_bord{ transform: translateX(0); }

    /* ハンバーガー → × のアニメ */
    /* 横スクロールが出て基準がぶれないように */
    html, body { overflow-x: hidden; }
    /* fixed の基準が変わらないよう、念のため transform を無効化 */
    .sp-only.header { transform: none; }
    .hamburger-menu{position:fixed; top:6px; right:12px; width:38px; height:38px; z-index:1001}
    .hamburger-menu-line{position:absolute; left:9px; right:9px; height:2px; background:white; transition:.2s}
    .hamburger-menu .line-top{top:11px}
    .hamburger-menu .line-middle{top:18.2px}
    .hamburger-menu .line-bottom{top:25px}
    .hamburger-menu.hamburger-menu-active .line-top{transform:translateY(7px) rotate(45deg)}
    .hamburger-menu.hamburger-menu-active .line-middle{opacity:0}
    .hamburger-menu.hamburger-menu-active .line-bottom{transform:translateY(-7px) rotate(-45deg)}

    /* オーバーレイ（クリックを取れるように） */
    .menu_wraps{display:none; position:fixed; inset:0; z-index:20; padding-top:57px;}
    .menu_wraps.hidden{display:none}
    .menu_wraps.show{display:block}
    html.no-scroll, body.no-scroll{overflow:hidden; height:100%}
    .menu-panel{
        background:#fff;
    }





    @keyframes fadeIn { /* ←追加 */
        from { opacity: 0; }
        to { opacity: 1; }
    }

    @keyframes fadeOut { /* ←追加 */
        from { opacity: 1; }
        to { opacity: 0; }
    }
    .menu_bord p.title-menu{
        font-weight: 800;
        font-family: var(--font-f-en-gothic);
        font-size: var(--d-font-size-6);
        text-align: center;
        color: white;
        padding: 3em 0 0 0;
    }
    .menu_bord{
        background: rgba(135, 135, 135, .8);
        height: 100%;
    }
    .menu_bord ul{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .menu_bord li{
        list-style-type: none;
        margin: 0;
        width: 50%;
        text-align: left;
        color: #FFFFFF;
        line-height: 1.5;
        font-size: var(--d-font-size);
    }
    .menu_bord li.has-children{
        width:100%;
    }

    .menu_bord li a{
        color: white;
        display: block;
        padding: .75em 1em;
    }
    .icon{
        width: 32px;
        display: block;
        margin: 0 auto 0.32rem;
    }

    /* breadcrumb start */
    .breadcrumb{
        width:100%;
        padding: var(--header-margin) 0 .25em !important;
        margin: 0 !important;
        /* スクロールの動きを滑らかにする */
        -webkit-overflow-scrolling: touch;
    }
    .breadcrumb ol {
        margin: 0;
        position: unset;
        top: unset;
        left: unset;
        font-size: unset;
        line-height: unset;
        letter-spacing: unset;
        color: unset;
        list-style-type: unset;
        border: unset;
        border-radius: unset;
        z-index: unset;

        padding: 0 1em;
        display:block;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
        white-space: nowrap;
        text-align: left;
    }
    .breadcrumb a{
        animation-name:unset;
        animation-duration:unset;
        animation-fill-mode:unset;
        opacity:1;
        display: block;
        padding: 0.5rem 0 0.5rem 0;
        color: var(--d-color-thin-1);
        margin: 1.5em 0 0 0;
    }
    .breadcrumb a:after {
        content: '\003e'; /* 「>」を要素間の区切り文字として表示 */
        margin-left: .5rem; /* 区切り文字と要素の間隔を調整 */
        margin-right: 0rem;
        color: var(--d-color-thin-2); /* 区切り文字の文字色 */
    }
    .breadcrumb li{
        color: var(--d-color-thin-2);
        margin: 0;
        display:inline-block;
        font-size: var(--d-font-size-min-3);
        /* animation: slideIn ease-in .7s; */
    }
    .breadcrumb li:last-of-type a:after{
        content: '';
        margin-right: 0;
        margin-left: 0;
    }
    .breadcrumb a:after:hover,
    .breadcrumb a:before:hover
    {
        text-decoration: none;

    }
    /* breadcrumb end */

    /* btn Start */
    .position-catch{
        position: relative;
    }
    .position-catch span,
    .position-catch span.bold{
        position: absolute;
        display: block;
        background-color: white;
        font-size: var(--d-font-size-min-0) !important;
        font-weight: 800;
        border: solid 1px var(--primary-color-2);
        color: var(--primary-color-2);
        padding: .3em 1em;
        border-radius: 1em;
        top: -12px;
        left: 32%;
        z-index: 2;
    }
    .icon-muryou.none-text{
        background-color: var(--primary-color-2);
    }
    .position-catch.green span{
        color: #32C156 !important;
        border-color: #32C156 !important;
    }

    .position-catch.icon-aeroplane,
    .position-catch.icon-line-logo{
        padding: 1.5em 2em !important;
        font-size: var(--d-font-size-1) !important;
    }
    input[type='submit'].bold{
        padding: 1.5em 2em 1.5em 4.1em !important;
        font-size: var(--d-font-size-1) !important;
    }
    .icon-aeroplane{
        font-size: var(--d-font-size-1) !important;
    }
    .position-catch.icon-mail-white{
        padding: 1.5em 1.8em;
    }
    p.position-catch.btn{
        box-shadow: none;
        padding: 0;
        width: 100%;
    }
    p.position-catch.btn:hover{

    }
    p.position-catch input{
        width: 100%;
        box-sizing: border-box;
        padding: .8em 4.9em .8em 6.2em;
        border: none;
        font-size: var(--d-font-size-1);
        font-weight: 600;
        color: var(--primary-color-2);
        border-radius: 8px;
        box-shadow: 0 5px 0 #EBC100;
    }
    p.position-catch input.light{
        padding: 1.5em 1.8em 1.5em 4.5em;
        font-size: var(--d-font-size);
        box-shadow: 0 2px 0 #EBC100;
    }
    p.position-catch input.bold{
        box-shadow: 0 5px 0 #EBC100;
    }
    p.position-catch input:hover{
        cursor: pointer;
        /* transition: all .35s ease; */
        box-shadow: none;
    }


    .position-catch.icon-mail-white span{
        font-size: var(--d-font-size-min-1);
        border-color: #FE7B02;
        color: #FE7B02;
        left: 32.5%;
    }

    p.position-catch span{
        font-size: var(--d-font-size-min-1);
        border-color: #FE7B02;
        color: #FE7B02;
        top: -12px;
        left: 33%;
    }

    .sp-only.header{
        background-color: white;
        position: fixed;
        overflow:visible;
        transform: none;
        z-index: 2000;   /* ← ここを大きくする */
        top:0;
        width:100%;
    }
    .sp-only.header .logo{ transition: opacity .15s; }
    .sp-only.header .logo.is-hidden{ display:none!important; }
    .sp-only.header .logo{
        width: 70%;
        padding:1em .7em 0;

    }
    .head-h-tag{
        display:block;
        padding: 0 1em;
        margin: 60px 0 1em;
        line-height:1;
    }
    .head-h-tag h1,
    .head-h-tag h2{
        display:inline;
        line-height:1;
        font-size: var(--d-font-size-min-2);
        font-weight:normal;
    }

    .sp-only.header .phone-space{
        background-color: var(--primary-color-2);
        position: fixed;
        top: 6px;
        right: 50px;
        width: 38px;
        height: 38px;
        z-index: 1001;
    }
    .sp-only.header .phone-space a{
        display: inline-flex;   /* または flex */
        align-items: center;    /* 縦中央 */
        justify-content: center;/* 横中央 */
        width: 38px;
        height: 38px;
        /* text-align / vertical-align は不要 */
    }
    .sp-only.header .phone-space img{
        width: 50%;
        margin: 0;
    }


    .header-space-warp .btn.white.light{
        background-color: white !important;
        color: var(--primary-color-2) !important;
        padding: 1em 1.5em 1em 3.1em;
        border: none;
        box-shadow: 0 2px 0 var(--d-color-thin-1);
    }
    .header-space-warp .btn.white.light:hover{
        box-shadow: none;
        top:3px !important;
    }
    .header-space-warp a.icon-line-logo.btn.green.light{
        padding: 1em 1.5em;
    }
    .btn-wrap{
        display: flex;
        justify-content: center;
    }
    .btn-wrap .btn-space{
        margin: 0 1em 0 0;
    }

    .btn-space{
        display: flex;
        justify-content: center;
    }

    a.btn{
        font-weight: 600;
    }
    a.btn,
    .btn{
        line-height: 1.5;
        position: relative;
        display: inline-block;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-transition: none;
        transition: none;
        text-align: center;
        vertical-align: middle;
        text-decoration: none;
        letter-spacing: 0.1em;
        padding: 1em 4.9em;
        border-radius: 8px;
        color: var(--primary-color-2) ;
    }
    .d-color{
        background-color: var(--primary-color);
    }
    .d-color.is_work{
        background: white;
        box-shadow: 0 2px 0 #CBCBCB;
        color: var(--primary-color-2);
        padding: .65em 1.35em;
        line-height: 1.2;
        text-align: center;
        font-size: var(--d-font-size-min-0);
    }
    .btn.green.is_work{
        box-shadow: 0 2px 0 #1EAD42;
        font-size: var(--d-font-size-min-0);
        padding: .65em 1.35em;
        line-height: 1.2;
        width: 82px;
    }



    .btn.out-btn{
        min-width: 328px;
        padding: 1em 2em 1.8em;
        font-size: var(--d-font-size-1);
        background-color: white;
        color: var(--primary-color-2);
        border: 3px solid var(--primary-color-2);
        box-shadow: 0 4px 0 var(--primary-color-2);
        letter-spacing: -.1px;
        line-height: 1;
    }
    .btn.out-btn:hover{
        box-shadow: none;
    }
    input.btn.light,
    .btn.light{
        box-shadow: 0 2px 0 #EBC100;
    }
    a.green{
        background: #32C156;
    }
    .btn.green.light{
        box-shadow: 0 2px 0 #1EAD42;
    }
    .btn.green.light:hover{
        box-shadow: none;
    }
    .light:hover{
        top:3px !important;
        box-shadow: none;
    }
    span.light:hover{
        top:-12px !important;
        box-shadow: none;
    }
    .btn {
        box-shadow: 0 5px 0 #EBC100;
        /* border-bottom: 5px solid #BD0A0A; */
    }
    .btn:hover {
        top: 5px;
        box-shadow: none;
        /* border-bottom: 1px solid #BD0A0A; */
    }
    .btn.green {
        box-shadow: 0 5px 0 #1EAD42;
    }
    .btn.green:hover {
        top: 3px;
        box-shadow: none;
    }
    .btn.min{
        width: 100%;
        padding: .8em 2.9em;
        font-size: var(--d-font-size-min-0);
        border: none;
        box-shadow: none;
        top: 0;
    }
    .archive-box .btn.min{
        width: 328px;
        padding: 1.35em 0;
        box-shadow: 0 5px 0 #EBC100;
    }
    .archive-box .btn.min:hover{
        top: 3px;
        box-shadow: none;
    }
    .archive-box .icon-arrow-right:before{
        top:18px;
    }

    .icon-arrow-right.btn.btn--default.min:before{
        top: 13px;
    }

    .contact-btn{
        text-align: center;
        font-size:var(--d-font-size-1);
        text-decoration: none;
        font-weight:600;
        border-radius:6px;
        background: #E4812D;
        background: linear-gradient(180deg, rgba(228, 129, 45, 1) 0%, rgba(209, 25, 21, 1) 100%);
        color: white;
        padding: .75em 10px .75em 10px;
        margin: 0 0 2.5em 0;
        border:none;
        width:300px;
        display:block;
        cursor:pointer;
        line-height:1.5;
    }
    .contact-btn .min-text{
        font-size:var(--d-font-size-min-0);
    }

    /* flex start */
    .flexbox{
        display: flex;
    }
    dl.flexbox {
        display: flex;
        flex-wrap: wrap;
        margin: 1.5em 0;
    }
    dl.flexbox dt:not(dl.price_frame dt){
        width: 18%;
    }
    dl.flexbox dd:not(dl.price_frame dd){
        width: 82%;
    }

    /**********************
icon list start
***********************/

    /* time_stamp start */
    .ico_modified{
        position: relative;
        font-family: var(--font-f-number);
        font-size: var(--d-font-size);
        color: #99a1a7;
        line-height: 1;
        padding-left:1.4em;
        display: block;
        text-align: right;
        margin-bottom: 1em;
    }
    .ico_modified:before{
        opacity: 0.75;
        position: absolute;
        content: '\f2f9';
        color: var(--d-color-thin-2);
        font-size: var(--d-font-size);
        font-style:var(--font-f-gothic);
        font-family: fontAwesome;
        z-index: 0;
        right: 4.6em;
    }
    .time_stamp{
        position: relative;
        font-family: var(--font-f-number);
        font-size: var(--d-font-size);
        color: #99a1a7;
        line-height: 1;
        padding-left:1.4em;
        display: block;
        text-align: right;
        margin-bottom: 1em;
    }

    _::-webkit-full-page-media, _:future, :root .time_stamp{
        font-size: 1.3rem;
    }
    .time_stamp:before{
        opacity: 0.75;
        position: absolute;
        content: '\f044';
        color: var(--d-color-thin-2);
        font-size: var(--d-font-size);
        font-style:var(--font-f-gothic);
        font-family: fontAwesome;
        z-index: 0;
        right: 4.6em;
    }

    .post_time{
        position: relative;
        font-family: var(--font-f-number);
        font-size: var(--d-font-size);
        color: var(--d-color-thin-2);
        line-height: 1;
        padding-left: 1.4em;
        display: block;
        text-align: right;
        margin-bottom: 1em;
    }
    .post_time:before{
        opacity: 0.75;
        position: absolute;
        content: '\f044';
        color: var(--d-color-thin-2);
        font-size: var(--d-font-size);
        font-style: var(--font-f-gothic);
        font-family: fontAwesome;
        z-index: 0;
        right: 5.25em;
    }

    .ico_calender{
        position: relative;
        font-family: var(--font-f-number);
        color: var(--d-color-thin-2);
        padding: 0;
        margin: 0 0 0 1em;
    }
    .ico_calender:before{
        opacity: 0.75;
        position: absolute;
        content: '\f073';
        color: var(--d-color-thin-2);
        font-style:var(--font-f-gothic);
        font-family: fontAwesome;
        z-index: 0;
        left: -20px;
        top:0;
    }
    a.ico_calender,
    a.ico_calender:before{
        color: var(--d-brand-color);
    }

    .ico-time{
        position: relative;
        font-style: italic;
        font-size: var(--d-font-size-min-1);
        font-family: var(--font-f-number);
        color: var(--d-color-thin-2);
        letter-spacing: -.1px;
        display: flex;
        align-items: center;
    }
    .ico-time:before{
        transform: scale(.3);
        opacity: 0.75;
        position: absolute;
        content: url("/webroot/img/pc/common/ico-clock.svg");
        color: var(--d-color-thin-2);
        z-index: 0;
        left: -50px;
        top:-18px;
    }
    .ico-pencil{
        position: relative;
        color: var(--d-color-thin-2);
        left: 30px;
    }
    .ico-pencil:before{
        transform: scale(.3);
        opacity: 0.75;
        position: absolute;
        content: url("/webroot/img/pc/common/ico-pencil.svg");
        color: var(--d-color-thin-2);
        z-index: 0;
        left: -50px;
        top:-22px;
    }
    .ico_photos{
        position: relative;
        color: var(--d-color-thin-2);
        left: 30px;
    }
    .ico_photos:before{
        opacity: 0.75;
        position: absolute;
        content: '\f302';
        color: var(--d-color-thin-2);
        font-family: fontAwesome;
        z-index: 0;
        left: -30px;
        top:0;
    }
    .ico_review_add_star{
        position: relative;
        left: 30px;
        color: var(--d-color) !important;
    }
    .ico_review_add_star:before{
        opacity: 0.75;
        position: absolute;
        content: '\f005';
        font-family: fontAwesome;
        z-index: 0;
        left: -30px;
        top:0;
        color: var(--d-color) !important;
    }
    .ico_place{
        position: relative;
        font-family: var(--font-f-number);
        color: var(--d-color-thin-2);
    }
    .ico_place:before{
        opacity: 0.75;
        position: absolute;
        content: '\f3c5';
        color: var(--d-color-thin-2);
        font-style:var(--font-f-gothic);
        font-family: fontAwesome;
        z-index: 0;
        left: -20px;
        top:0;
    }
    .ico-phone{
        position: relative;
        font-family: var(--font-f-number);
        color: var(--d-color-thin-2);
    }
    .ico-phone:before{
        transform: scale(.3);
        opacity: 0.75;
        position: absolute;
        content: url("/webroot/img/pc/common/ico-phone.svg");
        color: var(--d-color-thin-2);
        font-style:var(--font-f-gothic);
        z-index: 0;
        left: -10px;
        top:-8px;
    }
    a.ico-phone,
    a.ico-phone:before{
        color: var(--d-brand-color);
    }
    .ico_speaker{
        position: relative;
        font-family: var(--font-f-number);
        color: var(--d-color-thin-2);
    }
    .ico_speaker:before{
        opacity: 0.75;
        position: absolute;
        content: '\f130';
        color: var(--d-color-thin-2);
        font-style:var(--font-f-gothic);
        font-family: fontAwesome;
        z-index: 0;
        left: -20px;
        top:0;
    }

    /* graph start */

    p.ico_arrow_down{
        margin: 0 !important;
        display: block !important;
        padding: 0 0.5em !important;
        z-index:3!important;
        position: relative!important;
    }
    p.ico_arrow_down:hover{
        cursor: pointer;
    }
    .ico_arrow_down img{
        width:0.65em !important;
        height:auto !important;
        margin:0 !important;
    }
    .simple_list:hover{
        cursor: pointer;
    }
    .simple_list .ico_arrow_down img{
        width:0.45em !important;
    }
    .simple_list p.ico_arrow_down{
        padding: 0.25em !important;
    }
    .review-graph-transparency-space{
        position: absolute;
        z-index: 100;
    }
    .review-graph-modal{
        width: 0;
        height: 0;  /*<- 削除した理由を明記すること */
        position: fixed;
        top: 0;
        left: 0;
        z-index:0;
        display:block;
    }
    .review-graph-modal.hidden{
        display:none;
    }
    .review-graph-wrap{
        display:block;
        position: relative;
    }
    .review-graph-wrap.hidden{
        display:none;
    }
    /* default review */
    .chart-wrap {
        box-shadow: var(--shadow-thin-1);
        max-width: 900px;
        width:280px;
        margin: 0 auto;
        padding: 1em;
        border: 1px solid #eeeeee;
        z-index:5;
        background: white;
    }
    /* main current review */
    header .review-graph{
        position: absolute;
        top:0;
        right:auto;
    }


    .head-nav-contents{
        display: flex;
    }
    .head-nav-contents .logo{
        width: 13%;
    }
    .head-nav-contents .content{
        width: 87%;
    }
    .head-nav-contents h1{
        font-size: var(--d-font-size-min-1);
        color: var(--d-color-thin-1);
    }
    .head-nav-contents h2{
        font-size: var(--d-font-size-min-2);
        color: var(--d-color-thin-1);
        width: 80%;
    }



    /* recommend current review */
    .footer-current-item .review-graph{
        position: absolute;
        top:0;
        right:auto;
    }

    .chart-wrap .chart-title ul{
        display: flex;
        align-items:baseline;
        list-style-type: none;
        padding:0;
    }
    .chart-wrap .chart-title li{
        margin:0;
    }
    .chart-wrap .chart-title ul li:last-of-type{
        font-family: var(--font-f-gothic);
        font-style: normal;
        font-size: var(--d-font-size-min-1);
        margin:0 0 0 auto;
        color:var(--d-color-thin-1);
        width:auto;
    }
    .chart-wrap .chart-title ul li:last-of-type span{
        font-size: var(--d-font-size);
        color:var(--d-color);
        font-weight: var(--d-font-weight-bold);
        margin: 0 0 0 0.5em;
    }

    .chart-wrap .chart-title p{
        font-size: var(--d-font-size-min-3) !important;
        margin:0 0 1em 0;
    }
    .chart-wrap .chart-title p span{
        font-weight: var(--d-font-weight-bold);
        margin:0 0.5em 0 0;
    }

    .chart-wrap .row {
        position: relative;
        height: 14px;
        margin-bottom: 10px;
    }
    .chart-wrap .bar-wrap {
        position: relative;
        background: #d7dbde;
        width: 50%;
        height: 100%;
        overflow: hidden;
        border-radius: 3px;
        margin:0 auto;
    }
    .chart-wrap .bar-wrap .bar {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        background: var(--d-brand-passion-color-deep-2);
        transition: all 1s;
        transform: translateX(-100%);
    }
    .chart-wrap .bar-wrap .bar.in {
        transform: translateX(0%);
    }
    .chart-wrap ) .bar {
    transition: 1s 400ms;
}
    .chart-wrap ) .bar {
    transition: 1s 600ms;
}
    .chart-wrap ) .bar {
    transition: 1s 800ms;
}
    .chart-wrap ) .bar {
    transition: 1s 1000ms;
}
    .chart-wrap ) .bar {
    transition: 1s 1200ms;
}
    .chart-wrap ) .bar {
    transition: 1s 1400ms;
}
    .chart-wrap ) .bar {
    transition: 1s 1600ms;
}
    .chart-wrap .label {
        position: absolute;
        top: 0;
        left: -0.5em;
        padding-left: 10px;
        text-align: left;
        font-size: var(--d-font-size-min-2);
        line-height: 1.5;
        text-transform: uppercase;
        z-index: 10;
    }
    .chart-wrap .number {
        position: absolute;
        top: 0;
        right: 0;
        width: 35px;
        padding-right: 10px;
        font-size: var(--d-font-size-min-1);
        line-height: 1.5;
        font-weight: bold;
        text-align: right;
        z-index: 10;
    }
    .chart-wrap .number:after{
        content: "%";
        font-size: var(--d-font-size-min-2);
        color:var(--d-color-thin-2);
    }
    .dashboard-stats{
        padding:0 0 1em 0;
        margin:0 0 1em 0;
        border-bottom:solid 1px var(--d-color-thin-3);
    }
    .chart-wrap .review_link{
        text-align: center;
        font-size: 1em;
        margin:0 0 1em 0;
    }

    @media screen and (min-width: 800px) {
        .chart-wrap .row {
            padding: 0 40px 0 160px;
        }
        .chart-wrap .label {
            text-align: right;
            padding-left: 10px;
        }
        .chart-wrap .number {
            text-align: left;
            padding-right: 0;
        }
        .chart-wrap .row {
            padding: 0 50px 0 100px;
        }
    }
    @media screen and (max-width: 480px) {
        .chart-wrap .number {
            width: 45px;
            padding-right: 5px;
        }
    }
    /* graph end */

    .ico_human{
        position: relative;
        font-family: var(--font-f-number);
        color: var(--d-color-thin-2);
    }
    .ico_human:before{
        opacity: 0.75;
        position: absolute;
        content: '\f130';
        color: var(--d-color-thin-2);
        font-style:var(--font-f-gothic);
        font-family: fontAwesome;
        z-index: 0;
        left: -20px;
        top:0;
    }

    .ico_edit{
        position: relative;
        font-family: var(--font-f-number);
        color: var(--d-color-thin-2);
        padding: 0 0 0 0.7em;
        margin: 0 0 0 1em;
    }

    .ico_edit:before{
        opacity: 0.75;
        position: absolute;
        content: '\f044';
        color: var(--d-color-thin-2);
        font-style:var(--font-f-gothic);
        font-family: fontAwesome;
        z-index: 0;
        left:-15px;
        top:0;
    }
    /**********************
icon list end
***********************/

    /* recommend_list start */
    .recommend_list{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        padding: 0;
        list-style-type: none;
    }
    .recommend_list li{
        margin: 0 0 1.5em 0;
        font-size: var(--d-font-size);
    }
    .recommend_list li a{
        padding: 1rem;
        background: #51B3B1;
        border-radius: 40px;
        color: #FFFFFF;
        text-decoration: none;
    }
    .recommend_list li a:hover{
        text-decoration: none;
        color: #C9F6F5;
        background: #279493;
    }
    .recommend_list li{
        display: inline-block;
    }
    /* recommend_list end */
    /* media box start */
    .canvas_box canvas{
        margin: 2em 0 4em 0;
    }
    .canvas_box h5{
        line-height:2.4em;
        letter-spacing:1.5px;
        font-size: var(--d-font-size);
    }
    .media_box{
        margin: 4em auto;
        text-align: center;
        width: calc( 80% * var(--mobile-width-balance) );
    }
    .media_box figure{
        margin: 0;
    }
    .media_box .quote_src{
        padding: 1em;
    }
    .media_box .quote_src dt{
        clear: left;
        float: left;
        width: 30%;
        color: #99a1a7;
        text-align: left;
        font-style: italic;
        font-size: var(--d-font-size-min-2);
    }

    .media_box .quote_src dd{
        float: left;
        width: 64%;
        color: #99a1a7;
        text-align: left;
        font-style: italic;
        font-size: var(--d-font-size-min-2);
        overflow: hidden;
    }

    .media_box img{
        text-align: center;
        width: 95vw;
        margin-left: calc(-42vw + 43.5%);
    }
    /* media box end */
    /* lead title design start */
    .title-left-border{
        width: 100vw;
        margin:0 0 3em calc(50% - 50vw);
        padding: 0 0 0 1em;
        border-left: solid 6px var(--d-color);
        right: unset;
    }
    .title-left-border .title{
        text-align: left;
        font-size: var(--d-font-size-4);
        font-family: var(--font-f-gothic);
        font-weight: var(--d-font-weight-bold);
        margin:0;
        padding:0;
        color: var(--d-color-thin-0);
        letter-spacing: -0px;
    }
    .title-left-border .p{
        text-align: left;
        margin: 0 0 0.5em 0;
        font-size:var(--d-font-size-min-1);
        color: var(--d-color-thin-1);
        border-radius: 20px;
        border: solid 1px var(--d-color-thin-3);
        display: inline-block;
        padding: 0.3rem 1.5rem;

    }
    /* lead title design end */
    /* media_text start */
    .media_wrap{
        position: relative;
        padding: 4em;
        font-style: italic;
        color: var(--d-color-thin-1);
        z-index: 1;
        margin-bottom: 3em;
    }
    .media_wrap:before{
        position: absolute;
        top: 0;
        left: 0;
        content: '\f10d';
        color: var(--d-color-thin-3);
        font-size: var(--d-font-size-5);
        font-family: fontAwesome;
        z-index: 0;
    }
    .media_wrap:after{
        position: absolute;
        bottom: 0;
        right: 0;
        content: '\f10e';
        color: var(--d-color-thin-3);
        font-size: var(--d-font-size-5);
        font-family: fontAwesome;
        z-index: 0;
    }
    .media_wrap .media_text{
        position:unset;
        padding: 0;
        font-style: italic;
        color: var(--d-color-thin-1);
        z-index: 1;
    }
    .media_wrap .media_text:before,
    .media_wrap .media_text:after
    {
        position: unset;
        top: unset;
        left: unset;
        content: unset;
        color: unset;
        font-size: unset;
        font-family: unset;
        z-index: unset;
    }
    .media_text:before{
        position: absolute;
        top: 0;
        left: 0;
        content: '\f10d';
        color: var(--d-color-thin-3);
        font-size: var(--d-font-size-5);
        font-family: fontAwesome;
        z-index: 0;
    }

    .media_text:after{
        position: absolute;
        bottom: 0;
        right: 0;
        content: '\f10e';
        color: var(--d-color-thin-3);
        font-size: var(--d-font-size-5);
        font-family: fontAwesome;
        z-index: 0;
    }
    .media_text{
        position: relative;
        padding: 4em 0;
        font-style: italic;
        color: var(--d-color-thin-1);
        z-index: 1;
        margin-bottom: 4em;
    }
    .media_text.aphorism{
        width: 95vw;
        margin-left: calc(-42vw + 43.5%);
        margin-bottom: 2em;
    }
    .media_text.aphorism:last-of-type{
        margin-bottom: 0;
    }
    .media_text.aphorism blockquote{
        display: flex;
        flex-wrap: wrap;
        align-items: start;
    }
    .media_text.aphorism .left{
        width: 15%;
    }
    .media_text.aphorism .left img{
        border-radius: 50%;
        height: 50px;
        width: 50px;
        object-fit: cover;
    }
    .media_text.aphorism blockquote p{
        line-height: 1.75 !important;
        margin-bottom: 1.5em !important;
    }
    .media_text.aphorism figcaption p{
        margin-bottom: 0 !important;
    }
    .media_text.aphorism .right{
        width: 84%;
        margin: 0 0 0 auto;
    }
    .media_text.aphorism .right p:last-of-type{
        margin: 0 !important;
    }
    blockquote p{
        font-size: var(--d-font-size-min-0);
    }
    figcaption .detail{
        display: flex;
        flex-wrap: wrap;
    }
    ul.specialty{
        display: flex;
        flex-wrap: wrap;
        list-style-type: none;
        padding: 0;
        align-items: center;
    }
    ul.specialty li {
        font-size: var(--d-font-size-min-2);
        margin: 0 0 0 0.5em;
    }
    /* media_text end */
    /* SNS start */
    a.btn-page-up {

    }
    a.btn-sns {
        font-size: var(--d-font-size-4);
        border-radius: 50%;
        width: 2.2em;
        height: 2.2em;
        line-height: 2.2;
        color: #FFFFFF;
        display: block;
        text-align: center;
    }
    a.btn-sns:hover {
        color: #fff;
        background: #C6E4E4;
    }
    a.btn-sns--fa-caret-up:hover{
        background: #C6E4E4;
    }
    a.btn-sns--facebook:before,
    a.btn-sns--twitter:before,
    a.btn-sns--get-pocket:before{
        position: relative;
        font-family: fontAwesome;
    }

    a.btn-sns--facebook:before{
        content: '\f39e';
    }
    a.btn-sns--twitter:before{
        content: '\f099';
    }
    a.btn-sns--get-pocket:before{
        content: '\f265';
    }
    a.btn-sns--facebook,
    a.btn-sns--twitter,
    a.btn-sns--get-pocket,
    a.btn-sns--hatebu,
    a.btn-sns--feedly{
        background: var(--d-brand-color-thin-1);
        text-decoration: none;
    }
    a.btn-sns--hatebu:before{
        content: "B!";
        font-family: Verdana;
        font-weight: var(--d-font-weight-bold);
    }
    a.btn-sns--feedly:hover{
        background-image: url("/img/common/icon/icon-feedly.svg");
        background-size:60%;
        background-repeat: no-repeat;
        background-position: center center;
    }
    a.btn-sns--feedly {
        background-image: url("/img/common/icon/icon-feedly.svg");
        background-size:60%;
        background-repeat: no-repeat;
        background-position: center center;
    }
    /* SNS end */
    .ico_star{
        background-image: url("/img/common/icon/star-fill.svg");
        background-size:1.3em;
        background-repeat: no-repeat;
        background-position: left center;
    }
    .ico_comment{
        background-image: url("/img/common/icon/comment-fill.svg");
        background-size:1em;
        background-repeat: no-repeat;
        background-position: left center;
    }
    .sns-list-contents{
        display: flex;
        justify-content: center;
        list-style-type: none;
        padding: 0;
        box-sizing:border-box;
        margin: 0 0 3em 0;
    }
    .sns-list-contents li:first-child{
        margin: 0 0.25em 0 0;
    }
    .sns-list-contents li:last-child{
        margin: 0 0 0 0.25em;
    }
    .sns-list-contents li{
        margin: 0 0.25em;
    }
    .feature_list ul,
    .feature_list dl{
        padding: 0;
    }
    .feature_list li{
        list-style-type: none;
    }
    /* Waypoints js start */
    .img-container{
        overflow: hidden;
        position: relative;
    }

    .img-container img{
        display: block;
        opacity: 0;
        position: relative;
        transition:all .5s .3s ease;
        z-index: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .img-container:before{
        background: #ffffff;
        content: '';
        display: block;
        height: 100%;
        position: absolute;
        /*transform: translateX(-100%);*/
        transition:all .8s 0s ease;
        width: 100%;
        z-index: 1;
    }
    .text-container{
        opacity: 0;
        transition: all .8s .5s ease;
    }
    .text-container__title{
        color: #333;
        font-size: 60px;
        font-weight: var(--d-font-weight-bold);
    }

    /*アニメーションするプロパティを設定します*/
    .img-container.active img{
        opacity: 1;
        margin: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .img-container.active:before{
        transform: translateX(100%);
    }
    .text-container.active{
        opacity: 1;
    }

    /* progress start */
    .progress {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 3px; /* バーの高さを指定 */
        background-color: #CCCCCC; /* バーの背景色を指定 */
        z-index: 100;
    }

    .progress__bar {
        position: absolute;
        top: 0;
        left: 0;
        background-image: -webkit-gradient( linear, right top, left top, from(#2AFADF), to(#4C83FF) );
        background-image: -webkit-linear-gradient( 135deg, #2AFADF 10%, #4C83FF 100%);
        background-image: linear-gradient(to left, #2AFADF 0%, #4C83FF 100%);
        height: 100%;
        width: 0; /* 初期値は0 */
    }
    /* progress end */
    /* instagram start */
    #instagram{
        display: inline-flex;
        flex-wrap: wrap;
        padding: 0 var(--d-padding-l);
        margin: 0;
        position:relative;
        top:-4rem;
    }
    #instagram li{
        width: 33.3%;
        list-style-type: none;
        margin: 0;
        height: 120px;
    }
    #instagram li:nth-of-type(10){
        display: none;
    }
    #instagram li a{
        display:block;
    }
    #instagram li img{
        object-fit: cover;
        width:  100%;
        height: 120px;
    }
    #instagram .caption{
        display: none;
    }
    #instagram .time_stamp{
        top:1.2em;
        right:0.3em;
        font-size: var(--d-font-size-min-1);
        line-height:0;
        margin-bottom:0;
    }
    #instagram .time_stamp:before{
        right:3em;
    }
    .section_title{
        position: relative;
        width: calc(100vw - calc( 100vw - 100% ));
        padding: 3em 3em 5em;
        background-size: 100vw;
        object-fit: cover;
        overflow: hidden;/*ブラー効果でボヤけた部分を非表示*/
        background-color:var(--d-brand-color-deep-2);
        background-blend-mode:darken;
        z-index: 0;
    }
    /*:beforeにぼかし効果を設定する*/
    .section_title:before{
        content: '';
        /* background-image: inherit; */ /*.bgImageで設定した背景画像を継承する*/
        background-color:rgba(0,99,97,0.8);
        -webkit-filter: blur(5px);
        -moz-filter: blur(5px);
        -o-filter: blur(5px);
        -ms-filter: blur(5px);
        filter: blur(5px);
        position: absolute;
        /*ブラー効果で画像の端がボヤけた分だけ位置を調整*/
        top: -5px;
        left: -5px;
        right: -5px;
        bottom: -5px;
        z-index: -1;/*重なり順序を一番下にしておく*/
    }
    .section_title .title{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 auto;
        padding: 0 0 0.5em;
    }
    .section_title .title li{
        list-style-type: none;
        text-align: center;
        margin-bottom: 0;
        width: 100%;
    }
    .section_title .title li,
    .section_title p{
        color: white;
    }
    footer .title li{
        padding: 0;
        font-size: var(--d-font-size-2);
        font-family: var(--font-f-gothic);
    }
    .section_title p{
        font-size: var(--d-font-size-min-1);
        text-align: left;
        opacity: 0.6;
    }
    .section_contents{
        position: relative;
        width: 100%;
        margin: 0 auto;
        /* top: -4em; */
        /* box-shadow: var(--shadow-top); */
    }
    .recommend_space{
        clear: both;
        background-color: #FFFFFF;
    }
    .title_box.paper_effect{
        position: relative;
        width: 100vw !important;
        margin:0 0 3em calc(50% - 50vw) !important;
        background-repeat: no-repeat;
        background-size: 100%;
        padding: var(--title-box-pad-top) var(--title-box-pad-left) var(--title-box-pad-bottom) var(--title-box-pad-right) !important;
    }
    .title_box.paper_effect:before{
        z-index: -1;
        position: absolute;
        content: "";
        bottom: 1.2em;
        left: 1.2em;
        width: 50%;
        top: 80%;
        max-width:300px;
        background: #777;
        -webkit-box-shadow: 0 15px 10px #777;
        -moz-box-shadow: 0 15px 10px #777;
        box-shadow: 0 15px 10px #777;
        -webkit-transform: rotate(-3deg);
        -moz-transform: rotate(-3deg);
        -o-transform: rotate(-3deg);
        -ms-transform: rotate(-3deg);
        transform: rotate(-3deg);
    }
    .table_wrap{
        width: 95%;
        margin: 0 auto 2em;
    }
    .table_wrap .text_box p.title{
        font-family: var(--font-f-gothic);
        font-size:   var(--d-font-size-min-0) !important;
        padding: 0.25em 0 0 0;
        text-align: left;
        margin: 0;
    }
    .table_wrap .text_box p.description{
        font-family: var(--font-f-gothic);
        font-size:   var(--d-font-size-min-1) !important;
    }
    .table_wrap .text_box.blockquote{
        font-style: italic;
        color:var(--d-color-thin-1);
    }
    dl.table{
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto 0.3em;
    }
    dl.table dt:first-of-type{
        border-top: solid 1px var(--d-color-thin-3);
        border-top-left-radius: 5px;
        background: var(--d-color-thin-4);
        position: sticky;
        top:5em;
    }
    dl.table dd:first-of-type{
        border-top: solid 1px var(--d-color-thin-3);
        border-top-right-radius: 5px;
        background: var(--d-color-thin-4);
        position: sticky;
        top:5em;
    }
    dl.table dt{
        width: 30%;
        padding: 0.5em;
        border-left: solid 1px var(--d-color-thin-3);
        border-bottom: solid 1px var(--d-color-thin-3);
        background-color: var(--d-color-thin-4);
        line-height: 1.6;
    }
    dl.table dd{
        width: 70%;
        padding: 0.5em;
        border-left: solid 1px var(--d-color-thin-3);
        border-right: solid 1px var(--d-color-thin-3);
        border-bottom: solid 1px var(--d-color-thin-3);
        line-height: 1.6;
        margin: 0;
        background: #FFFFFF;
    }
    dl.table dt:last-of-type{
        border-bottom-left-radius: 5px;
    }
    dl.table dd:last-of-type{
        border-bottom-right-radius: 5px;
    }
    /* media box */
    .media_box figcaption{
        margin: 1em 0 0 0 !important;
        padding-left: 1em !important;
        overflow: hidden !important;
    }
    .media_box figcaption p,
    .media_box figcaption dt,
    .media_box figcaption dd{
        font-size: var(--d-font-size-min-2) !important;
        font-style: italic !important;
        text-align: left !important;
        margin: 0 !important;
    }
    .media_text figcaption{
        margin: 1em 0 0 0 !important;
        padding-left: 1em !important;
        overflow: hidden !important;
    }
    .media_text blockquote p{
        color: var(--d-color) !important;
    }
    .media_text figcaption p,
    .media_text figcaption dt,
    .media_text figcaption dd,
    .media_text figcaption cite{
        font-size: var(--d-font-size-min-2) !important;
        font-style: italic !important;
        text-align: left !important;
        margin: 0 !important;
        color: var(--d-color-thin-1);
    }
    .media_text figcaption p.person-name{
        line-height: 1;
        color: var(--d-color);
        font-weight: var(--d-font-weight-bold-1);
        margin-right: 1.5em !important;
    }
    .media_text figcaption .other-person-name{
        color: var(--d-color-thin-1);
        font-weight: var(--d-font-weight-bold);
    }
    .other-person-name{
        display: flex;
        flex-wrap: wrap;
    }
    .media_text figcaption .other-person-name dt{
        margin-right: 0.5em !important;
        padding: 0;
    }
    .media_text figcaption .other-person-name dd{
        color: var(--d-color) !important;
        font-weight: var(--d-font-weight-bold-1);
        margin-right: 0.5em !important;
        padding: 0;
    }
    .media_text figcaption .person-name-wrap{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    dl.review_spec{
        display: flex;
        align-items: center;
        background: var(--d-color-thin-4);
        padding:0.5em 1em;
        margin:1em 0 1.5em;
    }
    dl.review_spec dd{
        margin:0 0 0 auto;
    }
    dl.review_spec dt{
        font-family: var(--font-f-gothic);
        font-weight: var(--d-font-weight-bold);
    }

    dl.review_spec dt span{
        font-size: var(--d-font-size-min-1);
        font-weight: var(--d-font-weight);
    }
    .review_wrap_space.simple{
        display:inline-flex;
    }
    .review_wrap_space.simple .simple_list{
        display:flex;
        align-items: center;
    }
    .review_wrap_space.simple p.cnt{
        margin:0;
        font-size: var(--d-font-size-min-1);
        color:var(--d-brand-color);
    }
    .review_badge_list{
        display:flex;
        justify-content: right;
        color:var(--d-brand-passion-color-deep-1);
        list-style-type: none;
        padding:0;
    }
    .review_badge_list li{
        font-size: var(--d-font-size-min-0);
        font-family: var(--font-f-gothic) !important;
        width:auto !important;
        margin:0 !important;
    }
    .relative_box .category_list .review_badge_list li img{
        margin:0;
    }
    .review_wrap_space{
        display:flex;
        align-items: center;
        justify-content: right;
    }
    .review_total_list{
        display:flex;
        align-items: baseline;
        list-style-type: none;
        padding:0;
    }
    .review_total_list li{
        margin:0;
    }
    .review_total_list li:first-of-type{
        font-family: var(--font-f-gothic);
        font-style: normal;
        font-size: var(--d-font-size);
        font-family: var(--font-f-gothic);
        font-weight: var(--d-font-weight-bold);
        margin:0 0.2em 0 0;
    }
    .review_total_list li:last-of-type:before{
        content:"/";
    }

    .review_total_list li:last-of-type{
        font-family: var(--font-f-gothic);
        font-style: normal;
        font-size: var(--d-font-size-min-1);
        color:var(--d-color-thin-2);
        margin-right: 0.5em;
    }
    .review_total_list li span.min_text{
        font-size: var(--d-font-size-min-2);
    }
    .review_badge_list{
        margin:0 0.3em 0 0;
    }
    .review_badge_list li{
        margin:0;
    }
    .review_badge_list li img{
        width: var(--d-font-size-min-0) !important;
        height: var(--d-font-size-min-0) !important;
        margin:0;
    }
    /* confirm start */
    dl.confirm{
        display:flex;
        flex-wrap: wrap;
        border:solid 1px var(--d-color-thin-3);
        border-radius: 1em;
        padding:1em;
    }
    .confirm dt{
        color:var(--d-color-thin-2);
        width:35%;
        padding:0.5em;
    }
    .confirm dd{
        width:62%;
        padding:0.5em;
    }
    .error_box p,
    .error_box li{
        color: var(--attention-color);
        font-size: var(--d-font-size-min-1);
        margin:0 !important;
    }
    .error_box{
        background: var(--d-color-thin-4);
        padding: 1em;
        margin-bottom: 1em;
        border-radius:5px;
        border:solid 1px var(--d-color-thin-4);
    }
    /* confirm end */
    /* cake flash error start
 .error_box を踏襲
 */
    .message.error{
        color: var(--attention-color);
        font-size: var(--d-font-size-min-1);
        margin: 0 0 2em 0;
        border:solid 1px var(--d-color-thin-4);
        background: var(--d-color-thin-4);
        padding: 1em;
    }
    .bord .message.error{
        position: relative;
    }
    .bord .error{
        color: var(--attention-color);
        font-size: var(--d-font-size-min-1);
        padding: 1em;
        background: var(--d-color-thin-4);
    }

    /* font */
    span.min_text{
        padding:0 0.25em;
        font-size: var(--d-font-size-min-1);
    }
    span.big_text{
        padding:0 0.25em;
        font-size: var(--d-font-size-1);
    }
    /* recommend start */
    .relative_wrap .relative_box{
        margin-bottom: 6em;
    }
    .relative_wrap .relative_box:last-child{
        margin-bottom: 0;
    }
    .relative_wrap{
    }
    .relative_box .title{
        font-size: var(--d-font-size-3);
        font-family :var(--font-f-gothic);
        font-weight: var(--d-font-weight-bold);
        text-align: left;
        padding: 0;
        clear: unset;
        margin:0 0 1em 0;
    }
    .relative_box .body{
        /* padding: 0 1em;*/
    }
    .relative_box .body p{
        font-size: var(--d-font-size-min-0);
        line-height: 1.7;
    }
    .relative_box .body p.name{
        margin:0;
    }
    ul.category_list.swiper-wrapper{
        padding: 0;
        margin: 0;
    }
    .recommend-menu-swiper-container{
        overflow: hidden;
        width: 100%;
        position: relative;
    }
    .relative_box .category_list{
        display: flex;
        padding: 0;
    }
    .relative_box .category_list li img{
        margin-bottom: 0.8em;
    }
    .relative_box .category_list li picture img{
        margin-bottom: 0.8em;
        width:100%;
        height: auto; /* 230722 autoへ変更 */
    }
    .relative_box .category_list li{
        margin:0 0.75em 3em 0;
    }
    .relative_box .category_list li.flex-inline {
        display: inline-flex;
        margin:0;
        width:auto;
    }
    .relative_box .category_list li.rate-badge{
        margin:0 0 0 auto;
    }
    .recommend_space{
        background: white;
    }
    .all-recommend-post-html{
        margin:3em 0 0 0;
        padding: 0 1em 2em;
    }
    .in_recommend_title{
        font-size: var(--d-font-size-3);
        font-family: var(--font-f-gothic);
        font-weight: var(--d-font-weight-bold);
        text-align: left;
        padding: 0;
        clear: unset;
        margin: 0 0 1em 0;
    }
    .review_badge_list li img{
        margin:0;
    }
    .relative_box .category_list .price_list{
        display: flex;
        justify-content: left;
        padding:0;
        margin:0 0 0.5em 0;
    }
    .relative_box .category_list .price_list li{
        line-height: 1;
        width: auto;
        margin:0 0.1em 0.5em 0;
        font-size: var(--d-font-size-1);
    }
    .relative_box .category_list li a:first-of-type{
        width:100%;
        min-width:100%;
    }
    .relative_box .category_list li img{
        width:100%;
        height:100%;
        border-radius: 0;
    }
    .relative_box .category_list li{
        display:block;
        border:none;
        border-radius: 0;
    }
    .relative_box .category_list li .text_box{
        padding:0;
    }
    /* recommend end */
    /* time list start*/
    .time_list{
        list-style-type: none !important;
        display:flex;
        flex-wrap: wrap;
        justify-content: right;
        align-items: baseline;
        padding: 0 !important;
    }
    .time_list .post_modified_time,
    .time_list .post_time{
        margin:0;
    }
    .time_list li:nth-of-type(1){
        margin: 0 1em 0 0 !important;
    }
    .time_list li:nth-of-type(2){
        margin: 0;
    }
    .time_list .author{
        font-size: var(--d-font-size-min-1);
        color:var(--d-color-thin-2);
        font-style: italic;
    }
    .time_list .author:before{
        margin: 0 0.5em;
    }
    /* add home apps */
    .ico-logo:before{
        content: url(/img/common/favicon/favicon.svg);
        transform: scale(0.26);
        margin: 0 auto;
        top: -1em;
        height: 4em;
        display: block;
        width: 8em;
    }
    p.ico-logo{
        margin: 0 !important;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        line-height: 1.5;
    }
    .add-home-button-wrap{
        /*
    position: fixed;
    width: 100%;
    bottom: 8.7%;
    background: var(--d-brand-color-deep-1);
    cursor: pointer;
    color: white;
    height: 5em;
    z-index: 4;

     */
    }
    .add-home-button{
        /*
    position: fixed;
    width: 100%;
    bottom: 8.7%;
    background: var(--d-brand-color-deep-1);
    cursor: pointer;
    color: white;
    height: 5em;
    z-index: 4;

     */
    }
    span.shouhyou:before{
        content: "®";
        position: relative;
        top:-0.2em;
    }
    /* license_badge */
    .license_badge{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 1em;
        border: solid 1px var(--d-color-thin-3);
        list-style: none;
    }
    .license_badge li{
        width: 30%;
        margin: 0 !important;
    }
    .license_badge li p{
        margin: 0.5em 0 0 0 !important;
        line-height: 1.5;
    }
    .license_badge li img{
        width: 100% !important;
        height: auto !important;
        margin: unset !important;
    }
    .flex-wrap{
        display: flex;
        flex-wrap: wrap;
    }
    /* min calender */
    .min-text{
        font-size: var(--d-font-size-min-1);
        letter-spacing: 1px;
    }
    #min-calender{
        width: 100%;
        margin-bottom: 2em;
    }
    #min-calender thead th{
        width: 7%;
        text-align: center;
        padding: 0.5em 0;
        background-color: var(--d-brand-color);
        color: white;
    }
    #min-calender thead th.close_week{
        background-color: var(--d-color-thin-2);
    }
    #min-calender thead tr.week-text th{
        font-size: var(--d-font-size-min-1);
    }
    #min-calender .double-circle:after{
        content: "\025ce";
        display: flex;
        justify-content: center;
        font-size: var(--d-font-size-1);
    }
    #min-calender .circle:after{
        content: "\025cb";
        display: flex;
        justify-content: center;
        font-size: var(--d-font-size-1);
    }
    #min-calender tbody .holiday,
    #min-calender .cross{
        background-color: var(--d-color-thin-3);
    }
    #min-calender tbody .holiday:after,
    #min-calender .cross:after{
        content: "\02715";
        display: flex;
        justify-content: center;
        color: var(--d-color-thin-2);
        font-size: var(--d-font-size-1);
    }
    #min-calender .triangle:after{
        content: "\025b3";
        display: flex;
        justify-content: center;
        font-size: var(--d-font-size-1);
    }

    #min-calender tbody td{
        width: 7%;
        text-align: center;
        line-height: 1.5;
        font-size: var(--d-font-size-min-1);
        padding: 0.5em 0;
        color: var(--d-color-thin-1);
    }

    #min-calender tbody tr{
        border-bottom: solid 1px var(--d-color-thin-3);
    }

    #min-calender tbody tr:last-of-type{
        border-bottom: none;
    }
    #min-calender .calender-not-cope{
        color: var(--d-color-thin-1);
        background: var(--d-color-thin-3);
    }
    #min-calender .calender-not-cope:after{
        color: var(--d-color-thin-2);
        content: "-";
    }
    #min-calender .cross.calender-not-cope:after{
        content: "\02715";
    }
    .calender-space{
        width: calc( 80% * var(--mobile-width-balance) );
        margin: 0 auto;
    }
    .calender-space .title{
        text-align: center;
        margin: 0;
        padding: 0.6em 0;
        font-family: var(--font-f-en);
        font-size: var(--d-font-size-1);
    }
    /* fade in */
    .fadeIn{
        animation-name:fadeInAnime;
        animation-duration:1s;
        animation-fill-mode:forwards;
        opacity:0;
    }
    @keyframes fadeInAnime{
        from {opacity: 0;}
        to {opacity: 1;}
    }

    @-webkit-keyframes fv_img {
        0% {
            filter: blur(10px) brightness(1.3)
        }

        20% {
            opacity: 1;
            filter: blur(10px) brightness(1.3)
        }

        100% {
            filter: blur(0) brightness(1);
            opacity: 1
        }
    }

    @keyframes fv_img {
        0% {
            filter: blur(10px) brightness(1.3)
        }

        20% {
            opacity: 1;
            filter: blur(10px) brightness(1.3)
        }

        100% {
            filter: blur(0) brightness(1);
            opacity: 1
        }
    }
    @keyframes slideIn {
        0% {
            opacity: 0;/*初期状態では透明に*/
            transform: translateX(2em);
        }
        100% {
            opacity: 1;
            transform: translateX(0);
        }
    }

    /* title */
    .big-title-space{
        width: 100vw;
        margin:0 0 1.5em calc(50% - 50vw);
        overflow: hidden;
        position: relative;
        background: #EFEFEF;
    }
    .big-title-space .text{
        position: relative;
        padding: 1.8em 1em;
        text-align: center;
        font-size: var(--d-font-size-4);
        font-family: var(--font-f-mincho);
        z-index: 2;
    }
    .big-title-space .bg-text{
        position: absolute;
        top: -.35em;
        font-family: var(--font-f-en-big);
        font-size: 6rem;
        color: #E4E4E4;
        z-index: 1;
    }


    /* teller start */
    .teller-box .contents{
        list-style-type: none;
        padding: 0;
        margin: 0;
    }
    .teller-box .contents li{
        font-size: var(--d-font-size-min-0);
        margin: 0;
        line-height: 1.5;
    }
    .teller-box .contents .header{
        display: flex;
        align-items: center;
    }
    .in-description{
        font-size: var(--d-font-size-min-1);
        color: var(--d-color-thin-1);
    }
    .teller-box{
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 1em;
    }
    .today .teller-box .thumbnail{
        width: 30%;
        margin: 0 1em 0 0;
    }
    .all .teller-box .thumbnail{
        width: 20%;
        margin: 0 1em 0 0;
    }
    .all .teller-box .thumbnail img{
        width: 100%;
        height: 70px;
        object-fit: cover;
    }

    .two-clm  .teller-box{
        position: relative;
    }
    .two-clm .teller-box .ico-today{
        position: absolute;
        top: 5px;
        left: 5px;
    }


    .teller-box.active{
        background: var(--d-color-thin-4);
    }

    .two-clm{
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .two-clm .teller-box{
        width: 48%;
        margin: 0 0 2em;
        align-items: flex-start;
    }
    .two-clm .teller-box:nth-of-type(2n){
        margin: 0 0 2em auto;
    }
    .two-clm .teller-box .thumbnail{
        width: 100%;
        margin: 0 0 1em;
    }
    .two-clm .teller-box .thumbnail img{
        width: 172px;
        height: 172px;
    }
    .two-clm .teller-box li.name .ico-new{
        line-height: 1.5;
    }

    .teller-box .thumbnail a{
        display: block;
    }
    .teller-box .thumbnail img{
        width: 100%;
        height: 120px;
        object-fit: cover;
    }

    .teller-box li.name{
        font-size: var(--d-font-size-1);
        font-weight: 500;
        margin-bottom: 0;
    }
    .teller-box .name ruby{
        letter-spacing: -.1px;
        margin: 0 .35em .5em 0;
    }
    .teller-box li.name .ico-new{
        line-height: 2.4;
    }
    .teller-box li .min-text{
        margin: 0 .5em 0 0;
    }
    .schedule-text{
        font-family: var(--font-f-times-italic);
        font-style: italic;
        padding: 0 0 0 1.5em;
    }
    .online-text,.store-text{
        padding: 0 0 0 1.5em;
    }
    .teller-filter-wrap{
        position: relative;
    }
    .teller-filter{
        position: absolute;
        padding: 1em;
        background: white;
        border-radius: 5px;
        z-index: 1;
        top: 4em;
        left: -100px;
        width: 200px;
    }
    .teller-filter li{
        list-style-type: none;
        margin: 0;
    }
    .teller-filter li label{
        display: flex;
        align-items: center;
    }
    .teller-filter li input{
        width: 20px;
        height: 20px;
        border: var(--d-color-thin-3) solid 1px;
        margin: 0 .5em 0 0;
    }
    /* teller end */



    /* review */
    .ico-teller-space{
        display: flex;
    }
    .ico-teller-space img{
        width: 30px;
        height: 30px;
        border-radius: 50%;
        margin: 0 .75em 0 0;
    }
    .ico-teller-space a{
        display: flex;
        background-color: white;
        border: solid 1px var(--d-color-thin-3);
        border-radius: 5px;
        padding: .25em 1em;
    }
    .review-box .header{
        margin: 0 0 1em 0;
    }
    .review-box .header{
        display: flex;
    }
    .review-box .header p:last-of-type{
        margin: 0 0 0 auto;
    }
    .review-box .body{
        display: flex;
    }
    .review-box .left-box{
        width: 20%;
    }
    .review-box .left-box img{
        object-fit: cover;
        width: 65px;
        height: 65px;
        border-radius: 50%;
        margin-bottom: .5em;
    }
    .review-box .left-box p{
        text-align: center;
    }

    .review-box .right-box{
        width: 80%;
        margin: 0 0 0 .75em;
    }
    .review-box .right-box p.title{
        font-family: var(--font-f-gothic);
        font-size: var(--d-font-size-min-0);
        font-weight: normal;
        text-align: left;
        line-height: 1.5;
        margin: 0 0 .5em 0;
    }
    .review-box .right-box .text p{
        font-size: var(--d-font-size-min-0);
        line-height: 1.8;
    }

    /* teller view filter */
    .teller-list-body{
        margin-bottom: 4em;
    }
    .view-type{
        width: 20%;
        display: flex;
        list-style-type: none;
        padding: 0;
        margin: 0 1em 0 ;
    }
    .view-type li{
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .view-type li:first-of-type{
        margin: 0 .5em 0 0;
    }
    .view-type li img{
        width: 80%;
        opacity: .2;
    }
    .view-type li.active img{
        opacity: 1;
    }
    .teller-view-list-header{
        width: 100vw;
        margin: 0 0 1.5em calc(50% - 50vw);
        padding: 0;
        display: flex;
        align-items: baseline;
        position: sticky;
        top: 0;
        background: white;
        z-index: 1;
    }
    .sort-filter-space{
        margin: 0;
        display: flex;
        justify-content: end;
    }
    .border-button{
        margin: 0;
        padding: .5em .5em .5em 2.5em;
        border-radius: 5px;
        border: solid 1px var(--d-color-thin-3);
    }

    /* blog-thumbnail */
    .blog-thumbnail-wrap{
        width: 100vw;
        margin: 0 0 1.5em calc(50% - 50vw);
        display: flex;
        flex-wrap: wrap;
        padding: 0;
    }
    .blog-thumbnail-wrap li{
        list-style-type: none;
        margin: 0;
        width: 20%;
    }
    .blog-thumbnail-wrap li img{
        width: 78px;
        height: 78px;
        object-fit: cover;
    }




    /* footer Start */
    #page-sitemap footer,
    #page-company footer,
    #page-kiyaku footer,
    #page-for-company footer,
    #page-about footer,
    #page-agent footer,
    #page-privacy footer{
        background-color: #F4F4F4;
    }

    footer .list-space-wrap{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    footer .list-space-wrap .left{
        width: 100%;
    }
    footer .list-space-wrap .left ul{
        display: flex;
        flex-wrap: wrap;
    }
    footer .list-space-wrap .left ul.head{
        display: flex;
        justify-content: center;
    }
    footer .list-space-wrap .left ul.head li{
        font-weight: 600;
        line-height: 1.3;
        border-right:solid 1px var(--d-color-thin-3) ;
    }
    footer .list-space-wrap .left ul.head li:last-of-type{
        border: none;
    }

    footer .list-space-wrap .left ul.head li a{
        display: block;
        padding: .25em 1.25em;
    }

    footer .list-space-wrap .left :not(.head) li{
        margin: 0 0 0 0;
        width: 48%;
        line-height: 1.3;
        text-align: center;
        letter-spacing: -1px;
    }
    footer .list-space-wrap .left :not(.head) li:nth-child(2n){

    }
    footer .list-space-wrap .left li a{
        color: black;
        padding: .5em 0;
        display: block;
    }
    footer .list-space-wrap .left :not(.head) li:nth-of-type(2n) a{
        border-left:solid 1px var(--d-color-thin-3) ;
        padding: .5em 0 .5em 1em;
    }
    footer .list-space-wrap .left .text{
        display: none;
    }
    footer .text{
        color: var(--d-color-thin-2);
        font-size: var(--d-font-size-min-1);
        text-align: center;
    }

    footer .list-space-wrap .left li:last-of-type a{
    }
    footer .list-space-wrap .right{
        margin: 0 0 0 auto;
    }
    footer .list-space-wrap .right a{
        display: block;
    }


    .copy-write{
        background-color: var(--primary-color-2);
        padding: .5em 1em;
        line-height: 1.5;
        text-align: center;
    }


    main{
        width:100%;
    }
    .main-contents{
        width:100%;
    }
    section:not(.menu-panel){
        padding:0 .75em;
    }
    .main-contents .title:before{
        content: " ";
        background-image: url("../../../img/common/icon-red-circle.svg");
        background-repeat: no-repeat;
        background-size: 14px;
        background-position: 0 center;
        width:24px;
        height:24px;
    }
    .main-contents .title{
        display:flex;
        align-items: center;
        font-size: var(--d-font-size-1);
        padding:.5em 1em;
        font-weight: 600;
        border-top:solid 2px var(--primary-color-2);
        background: #F4F4F4;
        background: linear-gradient(0deg, rgba(230, 230, 230, 1) 0%, rgba(255, 255, 255, 1) 100%);
    }
    .main-contents .title.w100vw{
        width: 100vw;                 /* ビューポート幅いっぱい */
        margin-left: calc(-1 * var(--container-padding, 16px)) !important;
        margin-right: calc(-1 * var(--container-padding, 16px)) !important;;
        box-sizing: border-box;       /* パディング込みで幅計算 */
    }

    .main-contents .title~p{
        font-size: var(--d-font-size-min-0);
        padding:1em;
        margin:0 0 1em 0;
    }

    #diff .title{
        margin:0 0 2em 0;
    }
    dl.table{
        display: flex;
        flex-wrap:wrap;
        width:100%;
        margin:0 0 2em;
        border-bottom:solid 1px #CCCCCC;
    }
    dl.table dt.header:first-of-type{
        width:26%;
    }
    dl.table dd.header{
        width:37%;
        text-align: center;
        background:none;
    }
    dl.table dd.header:first-of-type{
        background: linear-gradient(180deg, rgba(228, 129, 45, 1) 0%, rgba(209, 25, 21, 1) 100%);
        color:white;
        font-weight: 600;
    }
    dl.table dd p{
        font-size: var(--d-font-size-min-0);
        line-height: 1.75;
    }
    dl.table dt + dd{
        background: var(--primary-color-5);
        background-image: url("../../../img/common/bg-circle.svg");
        background-position: center;
        background-repeat: no-repeat;
    }
    dl.table dt {
        width:26%;
        text-align: center;
        font-size: var(--d-font-size-min-0);
        font-weight: 600;
        border-left:1px solid #CCCCCC;
        border-top:1px solid #CCCCCC;
        border-right:1px solid #CCCCCC;
    }
    dl.table dd {
        width:37%;
        font-size: var(--d-font-size-min-0);
        line-height: 2;
        border-top:1px solid #CCCCCC;
        border-right:1px solid #CCCCCC;
        background-image: url("../../../img/common/bg-batsu.svg");
        background-position: center;
        background-repeat: no-repeat;
    }
    dl.table dt,
    dl.table dd{
        padding:1em;
    }
    dl.table dt{
        background: var(--d-color-thin-4);
    }
    dl.table .sub-title{
        font-size: var(--d-font-size-min-0);
        font-weight: 600;
    }


    /* サービス個別ページ 悩みモジュール */
    #problem .flex-box{
        width:100%;
        border:solid 1px var(--d-color-thin-3);
        margin:0 0 1em 0;
    }
    #problem .flex-box p.sub-title{
        display:flex;
        align-items: center;
        background-size: auto auto;
        background-color: rgba(255, 255, 255, 1);
        background-image: repeating-linear-gradient(135deg, transparent, transparent 10px, rgba(245, 245, 245, 1) 10px, rgba(245, 245, 245, 1) 20px );
        padding:.5em 1em;
        font-weight: 600;
        font-size: var(--d-font-size);
        line-height:1.5;
    }
    #problem .flex-box p.sub-title:before{
        content: " ";
        background-image: url("../../../img/common/icon-red-check.svg");
        background-repeat: no-repeat;
        background-size: 18px;
        background-position: 0 center;
        width:24px;
        height:24px;
    }
    #problem .text-contents{
        line-height: 2;
        padding:1em;
        font-size: var(--d-font-size);
    }
    #problem .text-contents p{
        font-size: var(--d-font-size);
    }


    body.page-template-default#service .main-contents .flex-box img{
        width:100%;
        margin:0 0 .75em;
    }
    body.page-template-default#service .main-contents .flex-box a{
        display:block;
    }
    body.page-template-default#service .main-contents .flex-box{
        border:none;
    }


    /* デフォルトテンプレート pageの中のサービス */
    #service .flex-box .text-contents.is_photo{
        width:100%;
    }
    #service .flex-box .text-contents{
        width:100%;
    }
    #service .text-contents p{
        font-size: var(--d-font-size-min-0);
    }

    #service .flex-box .contents{
        display:flex;
        flex-wrap:wrap;
        padding:1em;
    }
    #service .text-contents{
        order:2;
        width:100%;
    }
    #service .text-contents + .photo img{
        width:100%;
        padding: 3px;
        border: solid 1px var(--d-color-thin-3);
    }
    #service .text-contents + .photo{
        margin:0;
        order:1;
        width:100%;
    }
    #service .sub-title:before{
        content: " ";
        background-image: url("../../../img/common/icon-red-min-sign.svg");
        background-repeat: no-repeat;
        background-size: 18px;
        background-position: 0 center;
        width: 24px;
        height: 24px;
    }
    #service .sub-title {
        display: flex;
        align-items: center;
        font-size: var(--d-font-size);
        padding: .5em 1em;
        font-weight: 600;
        background: #F4F4F4;
    }
    #service .flex-box{
        width:100%;
        margin:0 0 1em;
        border:solid 1px var(--d-color-thin-3);
    }


    /* サービス個別ページ 流れ悩みモジュール */
    #problem,
    #service,
    #flow{
        margin:0 0 4em 0;
    }
    #flow .flex-wrap{
        counter-reset: step-counter;
    }
    #flow .flex-box{
        width:100%;
        counter-increment: step-counter;
        position:relative;
        border:solid 1px var(--d-color-thin-3);
        margin:1em 0 2.8em 0;
    }
    #flow .flex-box:first-of-type{
        margin:0 0 2.8em 0;
    }
    #flow .flex-box:last-of-type{
        margin:1em 0 1em 0;
    }
    #flow .flex-box:last-of-type::after{
        display:none;
    }
    #flow .flex-box::after{
        position:absolute;
        content: "";
        background-image: url("../../../img/common/icon-orange-flow-arrow.svg");
        background-size: 20%;
        background-repeat: no-repeat;
        background-position: 5px 20px;
        left: 48%;
        width:70px;
        height:70px;
    }
    #flow .flex-box p.sub-title{
        display:flex;
        align-items: center;
        background-color: var(--d-color-thin-4);
        padding:.5em 1em;
        font-weight: 600;
        font-size: var(--d-font-size);
    }
    #flow .flex-box p.sub-title:before{
        content: "Step." counter(step-counter, decimal-leading-zero);
        background-image: url("../../../img/common/icon-label-orange.svg");
        background-repeat: no-repeat;
        background-size: 100px;
        background-position: 0 center;
        margin: 0 .8em 0 0;
        padding:.5em .2em;
        line-height: 1;
        width:100px;
        height:24px;
        color:white;
        font-size: var(--d-font-size-min-1);
        text-align: center;

        display: flex;
        align-items: center;     /* 縦中央 */
        justify-content: center; /* 横中央（必要なら） */
    }
    #flow .flex-box .text-contents{
        padding:1em;
    }
    #flow .text-contents p{
        font-size: var(--d-font-size-min-0);
    }



    /* サービス個別ページ 料金モジュール */
    #price dl,
    #price dt,
    #price dd {
        padding: 0;
        margin: 0;
    }
    #price dl{
        display:flex;
        flex-wrap:wrap;
    }
    #price dt,
    #price dd{
        line-height: 1.5;
        padding:.75em 1em;
        font-size: var(--d-font-size-min-0);
        display:flex;
        align-items:center;
        justify-content: center;
    }
    #price{
        margin:0 0 3em 0;
    }
    #price dt:nth-of-type(1),
    #price dd.header{
        background-color: var(--d-color-thin-4);
    }
    #price dt:last-of-type,
    #price dd:last-of-type{
        border-bottom:1px solid var(--d-color-thin-3);
    }
    #price dt{
        text-align: center;
        background-color: var(--primary-color-4);
        font-weight: 600;
        width: 30%;
        border-top:1px solid var(--d-color-thin-3);
        border-left:1px solid var(--d-color-thin-3);
    }
    #price dd{
        width: 70%;
        border-top:1px solid var(--d-color-thin-3);
        border-left:1px solid var(--d-color-thin-3);
        border-right:1px solid var(--d-color-thin-3);
    }

    /* 3col */
    #price dl.col_3 dd{
        width: 35%;
        border-top:none;
        border-bottom: solid 1px var(--d-color-thin-3);
    }
    #price dl.col_3 dd.header{
        border-top:1px solid var(--d-color-thin-3);
    }
    #price dl.col_3 dd:nth-of-type(2n){
        border-left:none;
    }





    #table,
    #table dt,
    #table dd {
        padding: 0;
        margin: 0;
    }
    #table{
        display:flex;
        flex-wrap:wrap;
        margin:0 0 3em 0;
    }
    #table dt,
    #table dd{
        line-height: 1.5;
        padding:.75em 1em;
        font-size: var(--d-font-size-min-0);

        display:flex;
        align-items:center;
        justify-content: center;
    }
    #table dt:nth-of-type(1),
    #table dd.header{
        background-color: var(--d-color-thin-4);
    }
    #table dt:last-of-type,
    #table dd:last-of-type{
        border-bottom:1px solid var(--d-color-thin-3);
    }
    #table dt{
        text-align: center;
        background-color: var(--primary-color-4);
        font-weight: 600;
        width: 30%;
        border-top:1px solid var(--d-color-thin-3);
        border-left:1px solid var(--d-color-thin-3);
    }
    #table dd{
        width: 70%;
        border-top:1px solid var(--d-color-thin-3);
        border-left:1px solid var(--d-color-thin-3);
        border-right:1px solid var(--d-color-thin-3);
    }




    .main-lead span.min-text{
        margin: 0 0 0 .5em;
        font-weight: 600;
        font-size: var(--d-font-size-min-0);
    }

    .archive-wrap{
        display:flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .archive-wrap.col_3 .box{
        width: 48%;
        margin:0 0 1.5em 0;
    }
    .archive-wrap.col_3 .box:nth-of-type(2n){
        margin:0 0 1.5em auto;
    }

    .archive-wrap.col_3 .box .title{
        padding:.5em 0 .5em 1em;
        line-height:1.5;
    }
    .archive-wrap.col_3 .box .title .min-text{
        display:block;
        letter-spacing:unset;
    }


    .archive-wrap.col_2{
        justify-content: space-between;
    }
    .archive-wrap.col_2 .box{
        width: 49%;
        margin:0 0 1.5em;
    }
    .archive-wrap.col_2 .box:nth-of-type(2n) {
        margin: 0 0 1.5em auto;
    }

    .archive-wrap .box .title:before {
        content: " ";
        background-image: url(../../../img/common/icon-red-min-sign.svg);
        background-repeat: no-repeat;
        background-size: 18px;
        background-position: 0 center;
        width: 24px;
        height: 24px;
    }
    .archive-wrap .box .title{
        background: var(--d-color-thin-4);
        border:none;
    }
    .archive-wrap .box {
        border:solid 1px var(--d-color-thin-3);
    }
    .archive-wrap .box .flex-box{
        padding: 1em ;
    }
    .archive-wrap .text{
        font-size: var(--d-font-size-min-0);
        line-height: 1.75;
    }
    .archive-wrap .box .flex-box img{
        margin: 0 0 .75em 0;
        width: 100%;
        padding: 3px;
        border: solid 1px var(--d-color-thin-3);
        height: 160px;
        object-fit:cover;
    }

    .archive-wrap .box a{
        display:block;
    }



    .bn-list a{
        display:block;
    }
    .bn-list li{
        margin: 0 0 .25em;
        filter: drop-shadow( 0px 0px 5px #CCCCCC );
    }


    .two-clm-space{
        display:flex;
        flex-wrap:wrap;
    }
    .two-clm-space .left{
        width: 526px;
    }
    .two-clm-space .right{
        width: 100%;
        margin:0;
    }
    .two-clm-space .right aside a{
        display:block;
    }


    .title-wrap{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: .5em 0 .5em 1em;
        margin:0 0 1em;
        font-weight: 600;
        border-top: solid 2px var(--primary-color-2);
        background: #F4F4F4;
        background: linear-gradient(0deg, rgba(230, 230, 230, 1) 0%, rgba(255, 255, 255, 1) 100%);
    }
    .title-wrap.w100vw{
        width: 100vw;                 /* ビューポート幅いっぱい */
        margin-left: calc(-1 * var(--container-padding, 16px)) !important;
        margin-right: calc(-1 * var(--container-padding, 16px)) !important;;
        box-sizing: border-box;       /* パディング込みで幅計算 */
    }
    .title-wrap .title{
        width:80%;
        border:unset;
        background:unset;
        padding:unset;
    }
    .title-wrap span{
        margin: 0 0 0 auto;
        font-size: var(--d-font-size-min-1);
    }
    .title-wrap span a{
        padding: 1em;
    }




    .right-nav img{
        width:100%;
        margin: 0 0 .5em 0;
    }

    dl.table-default{
        padding:0;
        display: flex;
        flex-wrap:wrap;
        width:100%;
        margin:0 0 2em;
        border-bottom:solid 1px #CCCCCC;
    }
    dl.table-default dt,
    dl.table-default dd{
        padding:0;
        margin:0;
    }
    dl.table-default > dt{
        background: var(--primary-color-4);
        display:inline-flex;
        align-items: center;
        width:100%;
        text-align: center;
        font-weight: 600;
        border-left:1px solid #CCCCCC;
        border-top:1px solid #CCCCCC;
        border-right:1px solid #CCCCCC;
    }

    dl.table-default dt,
    dl.table-default dd,
    dl.table-default p,
    dl.table-default li{
        font-size: var(--d-font-size-min-0);
    }
    dl.table-default > dt.required:after{
        margin: 0 0 0 auto;
        content:'必須';
        background: var(--primary-color-2);
        color:white;
        padding: .2em .5em;
        font-size: var(--d-font-size-min-2);
        border-radius: 10px;
    }

    dl.table-default > dd{
        width:100%;
        text-align: center;
        background:none;
        font-size: var(--d-font-size-min-0);
        line-height: 2;
        border-top:1px solid #CCCCCC;
        border-left:1px solid #CCCCCC;
        border-right:1px solid #CCCCCC;
    }

    dl.table-default > dt,
    dl.table-default > dd{
        padding:1em;
    }
    dl.table-default > dd input,
    dl.table-default > dd textarea{
        padding: .5em;
        font-size: var(--d-font-size-1);
        border:solid 1px var(--d-color-thin-3);
        border-radius: 5px;
    }

    dl.table-default dl.inner{
        display:flex;
        flex-wrap:wrap;
        justify-content: left;
        width: 100%;
        padding:0;
        margin:0;
    }
    dl.table-default dl.inner dt{
        width: 45%;
        text-align: left;
    }
    dl.table-default dl.inner dd{
        width: 30%;
    }
    dl.table-default ul{
        width:100%;
        margin:0 auto;
    }
    dl.table-default li{
        text-align: left;
    }
    dl.table-default .text-contents{
        text-align: left;
    }
    dl.table-default .text-contents .sub-title{
        font-weight: 600;
    }
    dl.table-default .text-contents .sub-title:not(:first-of-type) {
        margin:2em 0 0 0;
    }

    .contact-form input[type=submit]{
        cursor: pointer;
        display:block;
        width: 300px;
        background: #E4812D;
        background: linear-gradient(180deg, rgba(228, 129, 45, 1) 0%, rgba(209, 25, 21, 1) 100%);
        color: white;
        padding: 1em 10px 1em 10px;
        margin: 0 auto 2.5em auto;
        border:none;
        border-radius: 5px;
        font-weight:600;
        font-size: var(--d-font-size);
    }

    #contact .main-title-section p,
    #contact .main-title-section li{
        list-style-type:disc;
        font-size: var(--d-font-size-min-0);
    }
    #contact .main-title-section ul{
        padding: 1em 0 1em 2em;
    }
    #contact .attention{
        margin:0 0 2em 0;
    }
    #contact .attention .sub-title{
        font-weight: 600;
    }
    #contact .attention .sub-title:before{
        content:'※';
        margin:0 .5em 0 0;
    }
    #contact .attention p{
        font-size: var(--d-font-size-min-0);
    }

    body.home .bn-list{
        margin: 0 0 2em;
        padding:0 1em;
    }
    body.home .remote-link{
        display: flex;
        justify-content: right;
        margin: 0 0 1em;
    }
    body.home .remote-link a{
        display: block;
    }

    #price:has(p.end-text) .col_3 {
        /* p.end-text が含まれているときのスタイル */
        margin:0 0 .5em;
    }


    #other .title{
        margin:0 0 1em;
    }
    #other .text-content{
        margin: 0 0 2em;
    }
    #other .text-content p {
        font-size: var(--d-font-size-min-0);
    }

    .sub-lead-border{
        font-size: var(--d-font-size-1);
        font-weight: 600;
        padding: .1em .75em;
        border-left: solid 5px var(--primary-color);
        margin: 0 0 1em 0;
    }

    .number-list{
        counter-reset: number 0;
    }
    .number-list li:before{
        counter-increment: number 1;
        content: counter(number) " ";
        background-color: var(--primary-color-2);
        color:white;
        margin:0 .75em 0 0;
        display:inline-flex;
        justify-content: center;
        width:30px;
    }
    .number-list li{
        padding:1em 0 1em;
        border-bottom:solid 1px var(--d-color-thin-3);
        font-size: var(--d-font-size-min-0);
    }
    .width-100 img{
        width:100%;
    }
    .width-100.border{
        padding:1em;
        border:solid 1px var(--d-color-thin-3);
    }


    table.default{
        border-top:solid 1px var(--d-color-thin-3);
        border-right:solid 1px var(--d-color-thin-3);
        border-left:solid 1px var(--d-color-thin-3);
    }
    table.default thead{
        background-color: var(--d-color-thin-4);
    }
    table.default thead td,
    table.default thead th{
        font-weight: 600;
        text-align: center;
    }

    table.default td,
    table.default th{
        font-size: var(--d-font-size-min-0);
        padding: .5em 1em;
        border-bottom:solid 1px var(--d-color-thin-3);
        border-right:solid 1px var(--d-color-thin-3);
    }
    table.default tbody th{
        background-color: var(--primary-color-4);
        font-weight: 600;
    }



    .thumbnail-list-wrap{
        display:flex;
        flex-wrap:wrap;
        padding: 1em;
        margin:0 0 4em 0;
        align-items: flex-start;
        background:var(--d-color-thin-4);
    }
    .thumbnail-box{
        width:100%;
        display:flex;
        flex-wrap:wrap;
        justify-content: center;
        margin:0 0 2em 0;
    }
    .thumbnail-box p.photo{
        width:100%;
        margin:0;
    }
    .thumbnail-box .photo img{
        width: 100%;
        object-fit:cover;
        margin:0 0 .5em 0;
        padding: 3px;
        border: solid 1px var(--d-color-thin-3);
    }
    .thumbnail-box p.text{
        font-size: var(--d-font-size-min-0);
        line-height:1.5;
        margin:0 0 2em;
    }
    .thumbnail-box:nth-last-child(-n+3) {
        margin-bottom: 0; /* 例: 下マージンを消す */
    }


    /* br を使わない対策 */
    .main-text-contents p,
    #flow .flex-box .text-contents p {
        margin-bottom:1em;
        line-height:1.75;
    }
    #flow .flex-box .text-contents p:last-of-type{
        margin-bottom:0;
    }


    #toTopBtn{
        position:fixed; right:16px; bottom:16px;
        padding:10px 14px; font-size:14px;
        border:0; border-radius:6px;
        background:#333; color:#fff;
        opacity:0; pointer-events:none;
        transition:opacity .25s;
        z-index:99999;
    }
    #toTopBtn.show{ opacity:1; pointer-events:auto; }


    .box .title{
        font-size: var(--d-font-size-min-0);
    }

    .anchor-space-wrap{
        margin:0 0 2em;
        padding:0 1em;
    }
    .anchor-space{
        display:flex;
        flex-wrap:wrap;
        justify-content: center;
    }
    .anchor-space li:hover{
        background-color: var(--d-color-thin-5);
    }
    .anchor-space li{
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        line-height: 1.2;
        width:49%;
        font-size: var(--d-font-size-min-0);
        background: white;
        border-right:solid 1px var(--d-color-thin-3);
        border-bottom:solid 1px var(--d-color-thin-3);
    }
    .anchor-space li:nth-of-type(1),
    .anchor-space li:nth-of-type(2){
        border-top:solid 1px var(--d-color-thin-3);
    }
    .anchor-space li:nth-of-type(1),
    .anchor-space li:nth-of-type(3){
        border-left:solid 1px var(--d-color-thin-3);
    }

    .anchor-space li:nth-of-type(5){
        border-left:solid 1px var(--d-color-thin-3);
        border-right:solid 1px var(--d-color-thin-3);
        border-bottom:solid 1px var(--d-color-thin-3);
        width:98%;
    }
    .anchor-space li{
        content: " ";
        position:relative;
        background-image: url("../../../img/common/icon-red-circle-arrow.svg");
        background-repeat: no-repeat;
        background-size: 14px;
        background-position: 15px center;
    }
    .anchor-space li a{
        text-decoration: none;
        text-align: center;
        width:100%;
        display: flex;
        flex-wrap:wrap;
        align-items: center;
        justify-content: center;
        padding:.5em 0 .5em 33px;
        font-size: var(--d-font-size-min-0);
        font-weight: 600;
        letter-spacing:-.1px;
    }
    .anchor-space li:nth-of-type(4) a{
        padding:.5em 0 .5em 2em;
        letter-spacing:-1px;
    }
    .anchor-space-wrap .text-min{
        font-size: var(--d-font-size-min-2);
    }


    .main-title-section{
        margin:0 0 2em 0;
    }
    .main-title-box{
        padding:.2em 1em;
        border-left: solid 5px var(--primary-color);
        margin:0 0 2em 0;
    }
    .main-title-box .main-lead{
        font-size: var(--d-font-size-4);
        line-height: 1.5;
        padding:.5em 0 0;
        margin:0 0 .5em;
    }
    .main-title-box .main-lead+p{
        font-size: var(--d-font-size-min-0);
        font-weight: 600;
        line-height:1.5;
        margin-bottom:.5em;
    }
    .main-text-space::after{
        content: "";
        display: block;
        clear: both;
    }
    .main-text-contents p,
    .main-text-contents li
    {
        font-size: var(--d-font-size-min-0);
    }
    .main-text-contents ul{
        padding:1em;
    }
    .main-text-space .main-photo{
        margin: 0 0 1em;
    }
    .main-text-contents .text-red{
        font-weight: 600;
    }
    .main-photo img{
        width:100%;
        border: solid 1px var(--d-color-thin-3);
        padding: 2px;
    }

    /* パンくず */
    .bred-crumb-list {
        display: flex;
        overflow-x: auto;       /* 横スクロールを有効化 */
        white-space: nowrap;    /* 折り返し防止 */
        -webkit-overflow-scrolling: touch; /* スマホでスムーズスクロール */
        scrollbar-width: thin;  /* Firefox: スクロールバー細く */
        padding: 0 0 .75em;
        margin:0 0 1em;
    }

    .bred-crumb-list li {
        font-size: var(--d-font-size-min-2);
        flex-shrink: 0;         /* 子要素が圧縮されないようにする */
    }

    .bred-crumb-list li:after {
        content: ">";
        margin: 0 .5em;
    }

    .bred-crumb-list li:last-of-type:after {
        display: none;
    }
    .blog-first-space .bred-crumb-list{
        padding: 0 1em .75em;
        margin:0;
    }



    .text-bold{
        font-weight: 600;
    }
    .text-min{
        font-size: var(--d-font-size-min-2);
    }
    .min-text{
        font-size: var(--d-font-size-min-2);
    }
    .text-red{
        color:var(--primary-color);
    }
    p.end-text{
        font-size: var(--d-font-size-min-0);
        margin:0 0 3em;
    }

    .diff-cards .box{
        border:solid var(--d-color-thin-3) 1px;
        border-radius:5px;
        margin: 0 0 1em;
    }

    #diff .diff-cards .title{
        background:var(--d-color-thin-4);
        padding: 1em;
        margin: 0;
        border:none;
        border-bottom:solid 1px var(--d-color-thin-3);
        font-size:var(--d-font-size-1);
    }

    .diff-cards .title:before{
        display:none;
    }


    .diff-cards .sub_lead{
        font-weight: 600;
        margin: 0 0 .75em;
    }
    .diff-cards .sub_title{
        font-weight: 600;
    }
    .diff-cards .taisei,
    .diff-cards .nomal{
        padding:1.5em 1em;
    }

    .diff-cards .taisei .sub_lead{
        color: var(--primary-color-2);
    }

    .diff-cards .taisei{
        background: var(--primary-color-5);
        background-image: url(../../../img/common/bg-circle.svg);
        background-position: center;
        background-repeat: no-repeat;
    }

    .diff-cards .nomal{
        background-image: url(../../../img/common/bg-batsu.svg);
        background-position: center;
        background-repeat: no-repeat;
    }

    .blog-category-nav #sidebar{
        display:none;
    }
    .blog-category .main-contents{
        padding: 0 1em;
    }
    .blog-category .main-contents section{
        padding:0 !important;
    }

    .blog-category .post-item a.has-thumb,
    .blog-category .post-item a{
        margin: 0 0 3em;
        display:block;
    }

    .blog-category .post-item .post-title{
        padding:0;
        margin:0;
    }
    .blog-category .post-item .post-thumb{
        margin:0;
        padding:0;
        line-height: 1;
    }
    .blog-category .post-item .post-thumb img{
        border-top-left-radius:7px;
        border-top-right-radius:7px;
        height: 170px;
        object-fit: cover;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .blog-category .post-item a.has-thumb .item-body{
        padding: 1em;
        border-bottom:solid 1px var(--d-color-thin-3);
        border-left:solid 1px var(--d-color-thin-3);
        border-right:solid 1px var(--d-color-thin-3);
        border-bottom-left-radius:7px;
        border-bottom-right-radius:7px;
        position:relative;
    }

    .blog-category .post-item a:not(.has-thumb){
        padding: 1em;
        border:solid 1px var(--d-color-thin-3);
        border-radius: 7px;
    }
    .blog-category .post-item a{
        position:relative;
    }
    .blog-category .post-item a:not(.has-thumb) .post-date{
        position:absolute;
        right: 10px;
        top: 10px;
        font-style: italic;
        color: var(--d-color-thin-3);
    }


    .blog-category .post-item a.has-thumb .post-date{
        position:absolute;
        right: 10px;
        top: -170px;
        font-style: italic;
        color: var(--d-color-thin-3);
    }


    .post-footer .post-nav{
        display:flex;
        flex-wrap:wrap;
        margin:0 0 3em;
    }
    .post-footer .post-nav .post-nav__prev{
        width: 48%;
        margin:0;
        font-size:var(--d-font-size);
    }
    .post-footer .post-nav .post-nav__next{
        width: 48%;
        margin: 0 0 0 auto;
        font-size:var(--d-font-size);
    }


    .related-post-wrap{
        display:flex;
        flex-wrap:wrap;
        background: var(--d-color-thin-5);
        padding: 1em;
        margin: 0 0 2em;
    }
    .related-post-wrap .box{
        display:flex;
        flex-wrap:wrap;
        padding: 0 0 3em;
        margin:0 0 1.5em;
        border-bottom:solid 1px var(--d-color-thin-3);
    }
    .related-post-wrap .box:last-of-type{
        border:none;
    }
    .related-post-wrap .box .title:before{
        display:none;
    }
    .related-post-wrap .box .title{
        padding:unset;
        border:unset;
        background:none;
        font-size: var(--d-font-size-min-0);
    }
    .related-post-wrap .box .body{
        width:100%;
    }
    .related-post-wrap .thumb{
        width:100%;
    }
    .related-post-wrap .thumb img{
        width: 100%;
        height: 140px;
        object-fit:cover;
    }
    .related-post-wrap .thumb a{
        display:block;
    }
    .related-post-wrap .box.has-thumb .body{
        width:100%;
        margin:0 0 0 auto;
    }

    .related-post-wrap .box .head{
        display:flex;
        flex-wrap:wrap;
        align-items: center;
    }
    .related-post-wrap .box .category{
        display:inline;
        margin:0 0 0 auto;
    }
    .related-post-wrap .box .category a{
        background: white;
        display:block;
        font-size: var(--d-font-size-min-1);
        padding: .5em 1em;
        border:solid 1px var(--d-color-thin-3);
        border-radius: 50px;
    }
    .related-post-wrap .box .text{
        font-size: var(--d-font-size-min-1);
    }
}