/*
Theme Name: pep
Author: watershell
Version: 2022.11
*/

/*--------------------------------------------------------------
# リセット
--------------------------------------------------------------*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:0}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}
button,input[type="submit"] {font-family: 'NotoSansJP';   -webkit-appearance: none;    -moz-appearance: none;    appearance: none;    padding: 0;    border: none;    outline: none;    background: transparent;}
a{text-decoration: none;}

/*--------------------------------------------------------------
# タイポグラフィ
--------------------------------------------------------------*/
body {
    font-family: "NotoSansJP",sans-serif;
    -webkit-font-smoothing: antialiased;
    font-size: calc(14px + 2*(100vw - 375px)/1545);
    color: #333;
}
.test-box{
    background-color: #ccc;
    width: 365px;
    height: 500px;
}
@media screen and (min-width: 1920px) {
    body {
        font-size: 16px;
    }
}
/*--------------------------------------------------------------
# コンテンツレイアウト
--------------------------------------------------------------*/
.content_wrap_fl{
    width: 100%;
    margin: 0 auto;
}
.content_wrap_mx{
    max-width: 1920px;
    margin: 0 auto;
}
.content_wrap_lg{
    max-width: 1200px;
    margin: 0 auto;
}
.content_wrap_lmd{
    max-width: 1140px;
    margin: 0 auto;
}
.content_wrap_md{
    max-width: 1080px;
    margin: 0 auto;
}
.content_wrap_sm{
    max-width: 880px;
    margin: 0 auto;
    padding: 0 16px;
}
.content_wrap_xsm{
    max-width: 640px;
    margin: 0 auto;
    padding: 0 16px;
}
.bg_container{
    width: 100%;
    margin: 100px auto;
    padding: 100px 16px;
    background-color: #F2F2F2;
}
.page-contents{
    overflow: hidden;
}
@media screen and (max-width: 1950px) {
    .content_wrap_mx{
        padding: 0 16px;
    }
}
@media screen and (max-width: 1230px) {
    .content_wrap_lg{
        padding: 0 16px;
    }
}
@media screen and (max-width: 1170px) {
    .content_wrap_lmd{
        padding: 0 16px;
    }
}
@media screen and (max-width: 1110px) {
    .content_wrap_md{
        padding: 0 16px;
    }
}

@media screen and (max-width: 768px) {
    .content_wrap_sm{
        padding: 0 16px;
    }
    .bg_container{
        margin: 40px auto;
        padding: 56px 0;
    }
}

/*--------------------------------------------------------------
# レスポンシブ制御
--------------------------------------------------------------*/
.pc-view{
    display: block;
}
.sp-view{
    display: none;
}
@media screen and (max-width: 768px) {
    .pc-view{
        display: none;
    }
    .sp-view{
        display: block;
    }  
}

/*--------------------------------------------------------------
# 汎用パーツ
--------------------------------------------------------------*/

/* キーカラー
----------------------------- */
.key-color{
    color: #ED0505!important;
}
.bg-key-color{
    background-color: #ED0505!important;
}
.bd-key-color{
    border-color: #ED0505!important;
}
/* 基本パーツスタイル
----------------------------- */
a{
    color: #333;
}
img{
    width: 100%;
    height: auto;
}
figcaption{
    margin-top: 12px;
    font-weight: 400;
    font-size: calc(12px + 2*(100vw - 375px)/1545);
    line-height: 20px;
    text-align: center;
    letter-spacing: 0.02em;   
}
@media screen and (min-width: 1920px) {
    figcaption{
        font-size: 14px;
    }
}
@media (min-width: 768px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}
@media screen and (max-width: 768px) {
    figcaption{
        margin-top: 8px;
        line-height: 17px;
    }
}
/* リンク
----------------------------- */
/* コンテンツ全体をリンクにする */
.overall-link-wrap{
    position: relative;
    transition: .3s;
}
.overall-link{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.basic-link{
    color: #0038FF;
    text-decoration: underline;
}
@media(hover: hover) {
    .overall-link:hover ~ .view-details-button{
        color: #ED0505;
    }
    .overall-link:hover ~ .view-details-button::before{
        background-color: #ED0505;
    }
    .overall-link-wrap:hover{
        background: #F2F2F2;
    }
}

/* レイアウトパーツ
----------------------------- */

/* 2カラムボックス */
.two-column-box{
    display: flex;
    justify-content: space-between;
}
.two-column-box_item{
    display: flex;
    flex-direction: column;
    width: calc(50% - 5%);
}
.two-column-box_content{
    margin: 20px 0 40px 0;
}
.two-column-box_content .c-head-style02{
    margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
    .two-column-box{
        flex-direction: column;
    }
    .two-column-box_item{
        width: 100%;
    }
    .two-column-box .two-column-box_item:first-child{
        margin-bottom: 56px;
    }
    .two-column-box_content{
        margin: 20px 0 24px 0;
    } 
}
/* 2カラムボックス 4:9 */
.two-column-4-9 .two-column-box_item:nth-child(odd){
    width: calc(29.63%);
}
.two-column-4-9 .two-column-box_item:nth-child(even){
    width: calc(66.667%);
}
@media screen and (max-width: 768px) {
    .two-column-4-9 .two-column-box_item:nth-child(odd),
    .two-column-4-9 .two-column-box_item:nth-child(even){
        width: 100%;
    }
    .two-column-4-9.two-column-box .two-column-box_item:first-child{
        margin-bottom: 24px;
    }
}
/* 3カラムボックス */
.three-column-box{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.three-column-box_item{
    display: flex;
    flex-direction: column;
    width: calc(100% / 3 - 3.333%);
}
.three-column-box_content{
    margin: 20px 0 40px 0;
}
.three-column-box_content .c-head-style02{
    margin-bottom: 16px;
}
.three-column-box_item:nth-of-type(n+4) {
    margin-top:80px;
}
.three-column-box .three-column-box_item:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: 35%;
}
@media screen and (max-width: 768px) {
    .three-column-box_item{
        width: calc(50% - 3.333%);
    }
    .three-column-box_content{
        margin: 20px 0 24px 0;
    } 
    .three-column-box_item:nth-of-type(n+4) {
        margin-top:0;
    }
    .three-column-box_item:nth-of-type(n+3) {
        margin-top:24px;
    }
    .three-column-box .three-column-box_item:nth-child(3n+2):last-child {
        margin-right: 0;
    }
}
/* 背景色付きコンテンツボックス */
.bk-color-box{
    padding: 24px 40px;
    background-color:  #F2F2F2;
}
@media screen and (max-width: 768px) {
    .bk-color-box{
        padding: 16px;
    }
}
/* 画像横並びボックス */
.icon-list-wrap{
    display: flex;
    gap: 16px;
    margin-top: 32px;
}
.icon-list-wrap img{
    width: 80px;
    height: 80px;
}
@media screen and (max-width: 768px) {
    .icon-list-wrap{
        gap: 8px;
        margin-top: 16px;
    }
    .icon-list-wrap img{
        width: 60px;
        height: 60px;
    }
}
/* 文章スタイル
----------------------------- */
.text-center{
    text-align: center;
}
.text-group01{
    font-weight: 400;
    font-size: calc(13px + 3*(100vw - 375px)/1545);
    line-height: 180%;
    letter-spacing: 0.04em;
}
.text-group02{
    font-weight: 400;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
    line-height: 180%;
    letter-spacing: 0.04em;
}
.text-group03{
    font-weight: 500;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
    line-height: 29px;
    letter-spacing: 0.06em;
}
.text-group04{
    font-weight: 700;
    font-size: calc(16px + 12*(100vw - 375px)/1545);
    line-height: 41px;
    text-align: center;
    letter-spacing: 0.06em;    
}
.text-group05{
    font-weight: 700;
    font-size: calc(20px + 12*(100vw - 375px)/1545);
    line-height: 46px;
    letter-spacing: 0.06em;    
}
.text-group06{
    font-weight: 700;
    font-size: calc(20px + 12*(100vw - 375px)/1545);
    line-height: 42px;
    letter-spacing: 0.02em;    
}
.text-group07{
    font-weight: 400;
    font-size: calc(15px + 9*(100vw - 375px)/1545);
    line-height: 35px;
    letter-spacing: 0.06em;
}
.text-group08{
    font-weight: 500;
    font-size: calc(15px + 9*(100vw - 375px)/1545);
    line-height: 150%;
    letter-spacing: 0.06em;
}

@media screen and (min-width: 1920px) {
    .text-group01{
        font-size: 16px;
    }
    .text-group02,
    .text-group03{
        font-size: 20px;
    }
    .text-group04{
        font-size: 28px;
    }
    .text-group05,
    .text-group06{
        font-size: 32px;
    }
    .text-group07,
    .text-group08{
        font-size: 24px;
    }
}
@media screen and (max-width: 768px) {
    .text-group01{
        line-height: 160%;
    }
    .text-group02{
        line-height: 22px;
    }
    .text-group03{
        line-height: 22px;
        letter-spacing: 0.04em;
    }
    .text-group04{
        line-height: 23px;
        letter-spacing: 0.04em;
    }
    .text-group05{
        line-height: 160%;
        letter-spacing: 0.04em;
    }
    .text-group06{
        line-height: 26px;
    }
    .text-group07{
        line-height: 22px;
    }
    .text-group08{
        letter-spacing: 0.04em;
    }

}
/* 見出しスタイル
----------------------------- */
.c-head_wrap{
    margin-bottom: 48px;
}
.c-second-head_wrap{
    margin-bottom: 32px;
}
.c-head_with-parts{/* 見出しの横並びにコンテンツがあるVer */
    display: flex;
    justify-content: space-between;
}
.c-head_with-parts .c-button01{
    width: 30%;
}
.c-second-head_with-img{/* タイトルに画像がついているVer */
    position: relative;
}
.c-second-head_with-img img{
    position: absolute;
    width: 120px;
    height: 120px;
}
.c-second-head_wrap.c-second-head_with-img{
    margin-bottom: 16px;
}
.c-head-style01{
    font-weight: 700;
    font-size: calc(24px + 12*(100vw - 375px)/1545);
    line-height: 52px;
    letter-spacing: 0.06em;
}
.c-head-style01 span{
    display: block;
    font-weight: 400;
    font-size: calc(13px + 3*(100vw - 375px)/1545);
    line-height: 23px;
    letter-spacing: 0.06em;
}
.c-head-style02{
    font-weight: 700;
    font-size: calc(16px + 8*(100vw - 375px)/1545);
    line-height: 35px;
    letter-spacing: 0.06em;
}
.c-head-style03{
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: calc(20px + 12*(100vw - 375px)/1545);
    line-height: 46px;
    letter-spacing: 0.06em;
}
.c-head-style03::after{
    content: "";
    height: 2px;
    flex-grow: 1;
    background-color: #CACACA;
    margin-left: 40px;
}
.c-head-style04{
    margin-bottom: 12px;
    font-weight: 700;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
    line-height: 29px;
    letter-spacing: 0.06em;
}
.c-head-style05{
    font-weight: 700;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
    line-height: 29px;
    letter-spacing: 0.06em;
    color: #415F79;
    padding-bottom: 12px;
    border-bottom: 2px solid #415F79;
}
.c-head-style06{
    font-weight: 700;
    font-size: calc(16px + 4*(100vw - 375px)/1545);
    line-height: 29px;
    letter-spacing: 0.06em;
}
.c-head-style07{ /* 明朝 */
    font-family: 'Noto Serif JP';
    font-style: normal;
    font-weight: 700;
    font-size: calc(20px + 12*(100vw - 375px)/1545);
    line-height: 46px;    
    letter-spacing: 0.06em;
}
/* 画像付きタイトル */
.c-second-head_with-img .c-head-style03{
    padding-left: 160px;
}
@media screen and (min-width: 1920px) {
    .c-head-style01{
        font-size: 36px;
    }
    .c-head-style01 span{
        font-size: 16px;
    }
    .c-head-style02{
        font-size: 24px;
    }
    .c-head-style03{
        font-size: 32px;
    }
    .c-head-style04,
    .c-head-style05,
    .c-head-style06{
        font-size: 20px;
    }
    .c-head-style07{
        font-size: 32px;
    }    

}
@media screen and (max-width: 768px) {
    .c-head_with-parts{
        align-items: flex-end;
    }
    .c-second-head_with-img img{
        width: 50px;
        height: 50px;
    }
    .c-head_wrap{
        margin-bottom: 32px;
    }
    .c-second-head_wrap{
        margin-bottom: 16px;
    }
    .c-head-style01{
        line-height: 35px;
        letter-spacing: 0.04em;
    }
    .c-head-style01 span{
        line-height: 19px;
        letter-spacing: 0.04em;
    }
    .c-head-style02{
        line-height: 23px;
        letter-spacing: 0.04em;
    }
    .c-head-style03{
        display: block;
        line-height: 160%;
        letter-spacing: 0.04em;
    }
    .c-head-style03::after{
        display: block;
        margin-top:12px;
        margin-left:0;
    }
    .c-head-style04{
        line-height: 22px;
        letter-spacing: 0.04em;
    }
    .c-head-style05{
        padding-bottom: 8px;
        line-height: 22px;
        letter-spacing: 0.04em;
        border-bottom: 1px solid #415F79;
    }
    .c-second-head_with-img .c-head-style03{
        padding-left: 66px;
    }
    .c-head-style06{
        line-height: 23px;
        letter-spacing: 0.04em;
    }
    .c-head-style07{ /* 明朝 */
        line-height: 29px;
        letter-spacing: 0.04em;
    }

}
/* 区切り文字スタイル
----------------------------- */
.separate-01{
    font-weight: 400;
    font-size: calc(12px + 4*(100vw - 375px)/1545);
    line-height: 18px;
    margin: 0 8px;
}
@media screen and (min-width: 1920px) {
    .separate-01{
        font-size: 16px;
    }
}
@media screen and (max-width: 768px) {
    .separate-01{
        line-height: 13px;
    }
}
/* ボタンスタイル
----------------------------- */
.c-button01{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 314px;
    min-width: 160px;

    height: 74px;
    min-height: 42px;

    text-align: center;
    font-weight: 500;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
    line-height: 29px;
    letter-spacing: 0.04em;
    color: #415F79;
    border: 2px solid #415F79;
    border-radius: 8px;
    cursor: pointer;
    z-index: 1;
    transition: all .35s ease;
}
.c-button01 input{
    text-align: center;
    font-weight: 500;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
    line-height: 29px;
    letter-spacing: 0.04em;
    color: #415F79;
    transition: all .35s ease;
}
.c-button01 .icon-right-arrow{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 9px;
    height: 15px;
    margin-left: 32px;
}
@media(hover: hover) {
    .c-button01:hover {
        color: #fff;
        background: #415F79;
    }
    .c-button01:hover input{
        color: #fff;
    }
}
/* .c-button01::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: '';
    background: #415F79;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform .3s;
    z-index: -1;
}
.c-button01:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
} */
.view-details-button{
    display: flex;
    justify-content: right;
    margin-top: auto;
    align-items: center;
    font-weight: 700;
    font-size: calc(16px + 2*(100vw - 375px)/1545);
    line-height: 26px;
    letter-spacing: 0.04em;
    transition: .3s;
 
}
.view-details-button::before{
    content: '';
    display: block;
    width: 120px;
    height: 1px;
    margin-right: 16px;
    background-color: #333;
}
@media(hover: hover) {
    .view-details-button:hover{
        color: #ED0505;
    }
    .view-details-button:hover::before{
        background-color: #ED0505;
    }
}
.c-button02{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 22.5px 0;
    font-weight: 500;
    font-size: calc(12px + 8*(100vw - 375px)/1545);
    line-height: 29px;
    letter-spacing: 0.04em;
    color: #415F79;
    border: 2px solid #415F79;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.8);
}
@media(hover: hover) {
    .c-button02:hover{
        background:#FFF;
        transition: .3s;
    }
}
.c-button03{
    font-weight: 500;
    font-size: calc(14px + 1*(100vw - 375px)/1545);
    line-height: 22px;
    text-align: center;
    letter-spacing: 0.04em;
    transition: all .35s ease;
}
@media(hover: hover) {
    .c-button03:hover{
        background: #415F79;
        color: #FFF;
    }
}
.view-more-button01{
    display: block;
    font-weight: 500;
    font-size: calc(15px + 3*(100vw - 375px)/1545);
    line-height: 26px;
    letter-spacing: 0.04em;
    color: #415F79;
    border: 1.5px solid #415F79;
    border-radius: 8px;
    transition: all .35s ease;
}
/* ホワイトカラー */
.wt-btn{
    color: #FFF;
    border: 2px solid #FFF;
    background: rgba(255,255,255,0.2);
}
@media(hover: hover) {
    .wt-btn:hover {
        color: #415F79;
        background: #FFF;
    }
}
@media screen and (min-width: 1920px) {
    .c-button01{
        font-size: 20px;
    }
    .c-button01 input{
        font-size: 20px;
    }
    .view-details-button{
        font-size: 18px;
    }
    .c-button02{
        font-size: 20px;
    }
    .c-button03{
        font-size: 15px;
    }
    .view-more-button01{
        font-size: 18px;
    }    
    
}
@media screen and (max-width: 768px) {
    .c-button01{
        max-height: 42px;
        line-height: 17px;
        border: 1.5px solid #415F79;
        border-radius: 4px;
    }
    .c-button01 input{
        line-height: 22px;
    }
    .c-button01 .icon-right-arrow{
        margin-top: 2px;
        margin-left: 16px;
    }
    @media(hover: hover) {
        .c-button01:hover,
        .c-button01:hover input {
            color: #333;
            background: #FFF;
            opacity: 1;
        }
        .c-button01:hover::before {
            content: none;
        }
    }
    .view-details-button{
        line-height: 23px;
    }
    .view-details-button::before{
        width: 80px;
    }
    .c-button02{
        line-height: 17px;
        padding: 15.5px 0;
        border: 1px solid #415F79;
        border-radius: 4px;
    }
    .view-more-button01{
        line-height: 22px;
    }    
    .wt-btn{
        border: 1.5px solid #FFF;
    }
}
/* テーブル
----------------------------- */
.c-table01_wrap{
    width: 100%;
}
.c-table01_th{
    text-align: left;
    width: 220px;
    padding: 32px 0;
    font-weight: 700;
    font-size: calc(16px + 2*(100vw - 375px)/1545);
    line-height: 26px;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #CACACA;
}
.c-table01_td{
    /* width: 860px; */
    padding-left: 95px;
    vertical-align: middle;
    font-weight: 500;
    font-size: calc(16px + 2*(100vw - 375px)/1545);
    line-height: 150%;
    letter-spacing: 0.08em;
    border-bottom: 1px solid #CACACA;
}
.c-table01_wrap tbody .c-table01_table_tr:first-child .c-table01_th{
    padding: 0 0 32px 0;
}
.c-table01_wrap tbody .c-table01_table_tr:first-child .c-table01_td{
    padding: 0 0 20px 95px;
}
.c-table01_wrap tbody .c-table01_table_tr:last-child .c-table01_th,
.c-table01_table_end .c-table01_th{
    border-bottom: none;
}
.c-table01_wrap tbody .c-table01_table_tr:last-child .c-table01_td,
.c-table01_table_end .c-table01_td{
    border-bottom: none;
}

/* しましまデコ（.gray-stripes_table） */
table.gray-stripes_table tr:nth-child(odd){
    background-color:#f0f0f0;
    border-top: 1px solid #CACACA;
}
table.gray-stripes_table tr:nth-child(even){
    background-color:white;
}
.c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr .c-table01_th{
    padding: 24px 0 24px 24px;
}
.c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr .c-table01_td{
    padding: 24px 0;
}
table.gray-stripes_table .c-table01_th{
    font-weight: 700;
    font-size: calc(13px + 5*(100vw - 375px)/1545);
    line-height: 26px;
    letter-spacing: 0.04em;
}
table.gray-stripes_table .c-table01_td{
    font-weight: 400;
    font-size: calc(13px + 3*(100vw - 375px)/1545);
    line-height: 180%;
    letter-spacing: 0.04em;
}
.c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr:last-child .c-table01_th{
    border-bottom: 1px solid #CACACA;
}
.c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr:last-child .c-table01_td{
    border-bottom: 1px solid #CACACA;
}
@media screen and (min-width: 1920px) {
    .c-table01_th{
        font-size: 18px;
    }
    .c-table01_td{
        font-size: 18px;
    }
    table.gray-stripes_table .c-table01_th{
        font-size: 18px;
    }
    
    table.gray-stripes_table .c-table01_td{
        font-size: 16px;
    }
}
@media screen and (max-width: 768px) {
    .c-table01_th,
    .c-table01_td{
        display: block;
        width: 100%;
    }
    .c-table01_th{
        padding: 16px 0;
        border: none;
        line-height: 23px;
    }
    .c-table01_wrap tbody .c-table01_table_tr:first-child .c-table01_th{
        padding: 0 0 16px 0;
    }
    .c-table01_td,
    .c-table01_wrap tbody .c-table01_table_tr:first-child .c-table01_td{
        padding-left: 0;
        padding-bottom: 20px;
    }
    .c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr .c-table01_th{
        padding: 16px 16px 4px 16px;
    }
    .c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr .c-table01_td{
        padding: 0 16px 16px 16px;
    }
	table.gray-stripes_table tr:nth-child(odd){
	   border-top: none;
	}
	table.gray-stripes_table tr:first-child{
		border-top: 1px solid #CACACA;
	}
    table.gray-stripes_table .c-table01_th{
        line-height: 19px;
    }
    table.gray-stripes_table .c-table01_td{
        line-height: 160%;
    }
    .c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr:last-child .c-table01_th{
        border-bottom: none;
    }
    
}
/* スライダ―
----------------------------- */
.multiple-slider .slick-track {
    display: flex;
  }
.multiple-slider .slick-slide {
    height: auto !important;
  }
.multiple-slider.slick-initialized .slick-slide{
    display: flex;
    flex-direction: column;
  }
.multiple-slider .slick-slide{
    max-width: 360px;
    margin-right: 60px;
}
.multiple-slider .slick-list{
    overflow: visible;
}
.prev_icon , .next_icon{
    position: absolute;
    bottom: -96px;
    width: 48px;
    height: 48px;
    transition: .2s;
}
.next_icon{
    right: 0;
}
.prev_icon{
    right: 88px;
}
@media(hover: hover) {
    .prev_icon:hover , .next_icon:hover{
        transform: scale(1.2);
    }
}
@media screen and (max-width: 768px) {
    .multiple-slider .slick-slide{
        max-width: 290px;
        margin-right: 16px;
    }
    .prev_icon , .next_icon{
        bottom: -80px;
        width: 40px;
        height: 40px;
    }
    .prev_icon{
        right: 64px;
    }

    .auto-slider .slick-dots{
        bottom: 23px;
    }
    .auto-slider.slick-dotted.slick-slider{
        margin-bottom: 0;
    }
    .auto-slider .slick-dots li,
    .auto-slider .slick-dots li button{
        width: 12px;
        height: 12px;
        margin: 0 16px;
    }
    .auto-slider .slick-dots li button:before{
        content:'';
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-color: #FFF;
        opacity: 1;
    }
    .auto-slider .slick-dots li.slick-active button::before {
        background-color: #ED0505;
        opacity: 1;
    }
}
/* アコーディオン
----------------------------- */
.ac-contents_wrap{
    
}
.ac-content-head,.ac-content-body {
    position: relative;
    display: flex;
    align-items: center;
    z-index: 1;
}
.ac-content-head{
    padding: 24px 68px 24px 24px;
    font-weight: 700;
    font-size: calc(15px + 9*(100vw - 375px)/1545);
    line-height: 35px;
    letter-spacing: 0.06em;
    background-color: #F2F2F2;
    cursor: pointer;
}
.ac-content-body {
    height: 0;
    padding: 0 68px 0 24px;
    font-weight: 400;
    font-size: calc(13px + 3*(100vw - 375px)/1545);
    line-height: 180%;
    letter-spacing: 0.04em;
    overflow: hidden;
    transition: 0.4s;
    background-color: #FFF;
    margin-bottom: 32px;
}
.js-ac.is-active + .ac-content-body {
    height: auto;
    padding: 24px 68px 24px 24px;
}
.ac-content-head:before, .ac-content-head:after {
    display: block;
    content: '';
    background-color: #333;
    position: absolute;
    width: 20px;
    height: 2px;
    top: calc(50%);
    right: 24px;
    transition: .4s;
}
.ac-content-head:before {
    width: 2px;
    height: 20px;
    top: calc(50% - 8px);
    right: 33px;
}
.ac-content-head.is-active::after {
    width: 20px;
    height: 2px;
    transform: rotate(180deg);
    transition: .4s;
}
.ac-content-head.is-active::before {
    opacity: 0;
}
@media screen and (min-width: 1920px) {
    .ac-content-head{
        font-size: 24px;
    }
    .ac-content-body {
        font-size: 16px;
    }    
}
@media screen and (max-width: 768px) {
    .ac-content-head{
        padding: 16px 34px 16px 8px;
        line-height: 22px;
        letter-spacing: 0.04em;
    }
    .ac-content-body {
        margin-bottom: 20px;
        padding: 0 34px 0 8px;
        line-height: 160%;
    }   
    .js-ac.is-active + .ac-content-body {
        padding: 16px 34px 16px 8px;
    }
    .ac-content-head:before, .ac-content-head:after {
        width: 10px;
        height: 1.5px;
        right: 8px;
    }
    .ac-content-head:before {
        width: 1.5px;
        height: 10px;
        right: 13px;
        top: calc(50% - 4px);
    }
    .ac-content-head.is-active::after{
        width: 10px;
        height: 1px;
    }
}
/*--------------------------------------------------------------
# ブロックエディタのスタイル
--------------------------------------------------------------*/

.block-editor-on p{
    margin-top: 12px;
    font-weight: 400;
    font-size: calc(13px + 3*(100vw - 375px)/1545);
    line-height: 180%;
    letter-spacing: 0.04em;
}
.block-editor-on h2{
    margin-top: 64px;
    font-weight: 700;
    font-size: calc(15px + 9*(100vw - 375px)/1545);
    line-height: 35px;
    letter-spacing: 0.06em;
}
.block-editor-on li{
    font-weight: 400;
    font-size: calc(13px + 3*(100vw - 375px)/1545);
    line-height: 180%;
    letter-spacing: 0.04em;
	list-style:disc;
	margin-left: 1.5em;
}
@media screen and (min-width: 1920px) {
    .block-editor-on p,
    .block-editor-on li{
        font-size: 16px;
    }
    .block-editor-on h2{
        font-size: 24px;
    }
}
@media screen and (max-width: 768px) {
    .block-editor-on p{
        line-height: 160%;    
    }
    .block-editor-on h2{
        margin-top: 40px;
        line-height: 22px;
        letter-spacing: 0.04em;
    }
}
/*--------------------------------------------------------------
# サイトヘッダー
--------------------------------------------------------------*/

/* ヘッダーのスタイル
----------------------------- */

/* ヘッダーエリア固定のためのエリア確保 */
#wrapper{
    padding-top: 120px;
}
/* ヘッダーエリア */
.header_bar{
    position: fixed;
    top: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0px 6px 4px rgb(199 195 195 / 25%);
    z-index: 99;
}
/* ヘッダーエリアの高さ/左右余白 */
.header_inner{
    height: 120px;
    padding: 0 40px;
}

/* ロゴとメニューの横並び
　　（縦並びの場合はコメントアウト） */
.hd_main-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

/* ロゴと説明文の横並び */
.hd_site-logo{
    display: flex;
    align-items: center;
}

/* ロゴの最大サイズ指定 */
.hd_site-logo-img{
    max-width: 215px;
    max-height: 40px;
    margin-right: 40px;
}

/* ディスクリプション */
.hd_site-discription{
    font-weight: 500;
    font-size: calc(10px + 6*(100vw - 1200px)/720);
    line-height: 159%;
    letter-spacing: 0.06em;
    color: #415F79;
}
@media screen and (min-width: 1920px) {
    .hd_site-discription{
        font-size: 16px;
    }
}
@media screen and (max-width: 1130px) {
    #wrapper {
        padding-top: 64px;
    }
    .hd_site-discription{
        display: none;
    }
    .header_inner{
        height: 64px;
        padding: 0 16px;
    }
    .hd_site-logo-img{
        width: 147px;
        height: 27px;
        margin-right: 0;
    }
}

/* CTRボタン
----------------------------- */
.menu-ctr-button-container ul{
    display: flex;
    justify-content: right;
}
.menu-ctr-button-container ul li{
    font-weight: 500;
    font-size: calc(12px + 4*(100vw - 375px)/1545);
    line-height: 23px;    
    letter-spacing: 0.06em;
    padding: 8px 32px;
    border: 1px solid #415F79;
    border-radius: 4px;
}
.menu-ctr-button-container ul li:first-child{
    margin-right: 24px;
}
.menu-ctr-button-container ul li a{
    color: #415F79;
}
.menu-ctr-button-container ul li.key-color a{
    color: #ED0505;
}
@media(hover: hover) {
    .menu-ctr-button-container ul li:hover{
        background: #415F79;
    }
    .menu-ctr-button-container ul li.key-color:hover{
        background: #ED0505;
    }
    .menu-ctr-button-container ul li:hover a{	
        color: #FFF;
    }
}
@media screen and (min-width: 1920px) {
    .menu-ctr-button-container ul li{
        font-size: 16px;
    }
}
@media screen and (max-width: 1130px) {
    .menu-ctr-button-container{
        display: none;
    }
}
/* グローバルメニュー
----------------------------- */
.hd_gmenu_erea_container{
    min-width: 641px;
}
.hd_gmenu_container{
    display: block;
    margin-top: 20px;
}
.hd_gmenu_container nav{
    height: 100%;
}
.hd_gmenu_container nav ul{
    display: flex;
    justify-content: space-between;
    height: 100%;
}
.hd_gmenu_container ul{
    display: flex;
}
.hd_gmenu_container .hd_gmenu-link{
    position: relative;
    height: 35px;
    font-weight: 500;
    font-size: calc(15px + 1*(100vw - 375px)/1545);
    line-height: 23px;
    letter-spacing: 0.06em;
    
}

/* メニュー間の区切り線 */
/* .hd_gmenu_container .hd_gmenu-link{
    border-left: 1px solid #707070;
}
.hd_gmenu_container .hd_gmenu-link:last-child{
    border-right: 1px solid #707070;
} */

.hd_gmenu-link a{
    display: block;
    height: 100%;
    width: 100%;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease; 
}
@media(hover: hover) {
    .hd_gmenu-link a:hover{
        color: #ED0505;
    }
}
@media screen and (min-width: 1920px) {
    .hd_gmenu_container .hd_gmenu-link{
        font-size: 16px;
    }
}
@media screen and (max-width: 1130px) {
    .hd_gmenu_erea_container.sp-view{
        display: block;
    }
    .hd_gmenu_erea_container.pc-view{
        display: none;
    }
}
/* GMサブメニュー
----------------------------- */
.hd_gmenu-link.has-submenu{
    position: relative;
}
/* .hd_gmenu-link.has-submenu > a span::before{
    content: '';
    position: absolute;
    top: 9px;
    width: 15px;
    height: 9px;
    margin-left: 8px;
    background-image: url(images/common/down-arrow.png);
    background-size: cover;
    background-repeat: no-repeat; 
} */
.hd_gmenu-link.has-submenu .down-arrow{
    display: inline-block;
    width: 15px;
    height: 9px;
    margin-left: 8px;
    margin-bottom: 2px;
    background-image: url(images/common/down-arrow.png);
    background-size: cover;
    background-repeat: no-repeat; 
}
.hd_gmenu-link .sub-menu .down-arrow{
    display: none;
}
.hd_gmenu_container .sub-menu{
    position: absolute;
    top: 30px;
    left: 0;
    display: flex;
    flex-direction: column;
    width: 181px;
    height: auto;
    padding: 16px;
    font-size: .9em;
    visibility: hidden;
    opacity: 0;
    transition: all .2s;
    background: #F2F2F2;
    /* box-shadow: 4px 4px 10px -1px #415F79; */
    z-index: 4;
}
.hd_gmenu_container .sub-menu a{
    margin: 12px 0;
    color: #333;
    text-align: left;
    font-weight: 500;
    font-size: 13px;
    line-height: 19px;
    letter-spacing: 0.04em;
}
.hd_gmenu_container .sub-menu li:first-child a{
    margin-top: 0;
}
.hd_gmenu_container .sub-menu li:last-child a{
    margin-bottom: 0;
}
.hd_gmenu_container .sub-menu li{
    border-top: 1px solid #BDBDBD;
}
.hd_gmenu_container .sub-menu li:first-child{
    border-top:none;
}
@media(hover: hover) {
    .hd_gmenu_container .sub-menu a:hover{
        color: #ED0505;
    }
    .hd_gmenu_container .has-submenu:hover > .sub-menu{
        top: 35px;
        visibility: visible;
        opacity: 1;
    }
}

/* @media screen and (max-width: 900px) {
    .hd_gmenu_container .hd_gmenu-link{
        font-size: 15px;
    }
} */
@media screen and (max-width: 1130px) {
    .hd_gmenu_container{
        position: fixed;
        top: 64px;
        left: 0;
        display: flex;
        flex-direction: column;
        width: 100vw;
        height: 100vh;
        margin-top: 0;
        background-color: #A80909;
        color: #FFF;
        opacity: 0;
        pointer-events: none;
    }
    .hd_gmenu_container .hd_gmenu-link{
        justify-content: left;
        height: 45px;
        letter-spacing: 4.2px;
        border-left: none;
    }
    .hd_gmenu_container .hd_gmenu-link:last-child{
        border-right: none;
    }
    .hd_gmenu_container.open {
        opacity: 1;
        pointer-events: auto;
        transition: .3s;
        z-index: 998;
    }
    .main-navigation_overlay.open {
        display: block;
        opacity: 0.7;
        transition: .3s;
    }
    .hd_gmenu_container nav{
        overflow-y: scroll
    }
    .hd_gmenu_container nav ul{
        display: block;
        padding: 16px 32px 105px 32px;
        height: auto;
    }
    .hd_gmenu_container nav ul li{
        position: relative;
        padding: 24px 0 12px 0;
        border-bottom: 1px solid #FFF;
        font-size: 15px;
        font-weight: 500;
        line-height: 22px;
        letter-spacing: 0.04em;

    }

    .hd_gmenu_container nav ul li a{
        color: #FFF;

    }
    .hd_gmenu_container nav ul.sub-menu{
        display: none;
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid #FFF;
    }

    .hd_gmenu_container nav ul.sub-menu li:not(:last-child){
        border-bottom: none;
        /* padding: 0 0 12px 0; */
        padding: 0;

    }
    .hd_gmenu_container nav ul.sub-menu li:last-child{
        border-bottom: none;
        padding: 0;
    }
    .hd_gmenu_container nav ul li.is-open{
        border-bottom: none;
    }
    .hd_gmenu_container nav ul li.open-submenu-btn a{
        position: relative;
        display: block;
        width: 100%;
    }

    .open-submenu-btn > a span:before, .open-submenu-btn > a span:after {
        display: block;
        content: '';
        background-color: #FFF;
        position: absolute;
        width: 12px;
        height: 2px;
        bottom: 10px;
        right: 0;
        transition: .4s;
    }
    .open-submenu-btn > a span:before {
        width: 2px;
        height: 12px;
        bottom: 5px;
        right: 5px;
    }

    .open-submenu-btn > a.is-open span::after {
        width: 12px;
        height: 2px;
        transform: rotate(180deg);
        transition: .4s;
    }
    .open-submenu-btn > a.is-open span::before {
        opacity: 0;
    }
    .hd_gmenu_container .sub-menu{
        position: static;
        width: auto;
        height: auto;
        padding-left: 24px;
        opacity: 1;
        visibility: visible;
        transition: none;
        background: none;
        box-shadow: none;
    }

    .hd-sp_cta-link_container{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 0 30px;  
    }
    .hd-sp_cta-link_container .hd_cta-link{
        display: flex;
        justify-content: center;
        align-items: center;    
        width: 48%;
        height: 50px;
        margin-right: 0;
        font-size: 14px;
        letter-spacing: 4.2px;
        color: #FFF;
        border: 1px solid #FFF;
    }
    .hd-sp_cta-link_container .hd_cta-link:last-child{
        width: 100%;
        margin-top: 10px;
    }
    .hd_gmenu-link a{
        text-align: left;
    }

    .hd_gmenu_container nav ul.sub-menu .sub-menu{
        display: flex;
        border-top: none;
        flex-flow: nowrap;
        margin-top: 0;
        padding-top: 0;
        padding-left: 0;
        width: 35%;
    }
    .menu-sp-menu-container .menu_sns-name{
        display: flex;
    }
    .hd_gmenu_container .menu_sns-name a{
        margin: 0!important;
    }
    .hd_gmenu_container .sub-menu a,
    .hd_gmenu_container .sub-menu a:hover{
        color: #FFF;
    }
    .hd_gmenu_container .sub-menu a{
        margin: 20px 0;
    }
    .hd_gmenu_container .sub-menu li{
        border: none;
    }
}
/* ヘッダー問い合わせボタン
----------------------------- */
.hd_contact{
    display: none;
}
@media screen and (max-width: 1130px) {
    .hd_contact{
        display: block;
        position: absolute;
        right: 66px;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }
    .hd_contact img{
        width: 32px;
        height: 32px;
    }
}
/* ハンバーガーメニュー
----------------------------- */
.hamburger_menu {
    display: none;
}
@media screen and (max-width: 1130px) {
    .hamburger_menu {
        display: block;
        position: fixed;
        /* position: absolute; */
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 60px;
        height: 64px;
        margin: 0 0 0 auto;
        z-index: 999;
    }
    #nav-btn {
        display: block;
        position: absolute;
        width: 60px;
        height: 64px;
        z-index: 9999;
        top: 0;
        right: 10px;
        background: transparent;
        border: none;
    }
    .hamburger_menu .bdr {
        position: absolute;
        left: 25px;
        width: 26px;
        height: 2px;
        border-radius: 4px;
        background: #333;
        transition: all 0.5s;
    }
    .hamburger_menu-btn .bdr:nth-child(1) {
        bottom: 62%;
    }
    .hamburger_menu-btn .bdr:nth-child(2) {
        bottom: 48%;
    }
    .hamburger_menu-btn .bdr:nth-child(3) {
        bottom: 34%;
    }
    .hamburger_menu-btn.is-active .bdr:nth-child(1) {
        transform: translateY(9px) rotate(-45deg);
    }
    .hamburger_menu-btn.is-active .bdr:nth-child(2) {
        opacity: 0;
    }
    .hamburger_menu-btn.is-active .bdr:nth-child(3) {
        transform: translateY(-9px) rotate(45deg);
    }

}
/*--------------------------------------------------------------
# メインビジュアル
--------------------------------------------------------------*/
/* 動画ファイル再生
----------------------------- */
.main-visual{
    position: relative;
    width: 100%;
    height: 43.344vw;
    max-height: 840px;
    overflow: hidden;
}
.main-video{
    position: relative;
    width: 100%;
    height: 43.344vw;
    /* max-height: 840px;
    overflow: hidden; */
}
.main-video video{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
}
@media screen and (max-width: 1500px) {
    .main-visual,.main-video{
        max-height: 640px;
    }
}
/* youtube再生
----------------------------- */
.main-visual-youtube{
	position: relative;
    height: 840px;
    text-align: center;
    color: #fff;
    overflow: hidden;
    /*ローディング画面時＆動画が表示されないときに表示する背景画像のレスポンシブ化*/
    background: url("../img/movie.jpg") no-repeat;
    background-size: cover;
}
#loading {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    font-weight: bold;
}
#loading.disappear{
     display: none;   
}
#youtube-area{
    z-index: 1;
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
 	opacity: 0;    
}
#youtube-area.appear {
	animation-name:PageAnimeAppear;
	animation-duration:.5s;
	animation-fill-mode:forwards;
}
@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}
#youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 228.57vh;
  height: 44.75vw;
  min-height: 100%;
  min-width: 100%;
}
/*youtubeがクリックされないためのマスク*/
#youtube-mask{
    position: absolute;
    z-index: 2;
    top:0;
    width:100%;
    height: 100%;
}
@media screen and (max-width: 1500px) {
    .main-visual-youtube{
        height: 640px;
    }
}
/* メインビジュアルコピー
----------------------------- */
.main-visual-txt{
    position:absolute;
    top: 50%;
    left: 11.5%;
    transform: translateY(-50%);
    color:#fff;
    text-align: left;
    z-index: 3;
}
.main-visual-lead span{
    display: inline-block;
    padding-left: 5px;
    font-weight: 700;
    font-size: calc(35px + 29*(100vw - 375px)/1545);
    /* line-height: 160%; */
    line-height: 120%;
    letter-spacing: 0.06em;
    color: #415F79;
    background: linear-gradient(transparent 4%, #FFFFFF 0%);
    -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.main-visual-lead span:first-child{
    margin-bottom: 21px;
}
.main-visual-detail{
    margin-top: 44px;
    margin-bottom: 64px;
    font-weight: 400;
    font-size: calc(13px + 3*(100vw - 375px)/1545);
    line-height: 180%;
    letter-spacing: 0.04em;
}
.main-visual-txt .c-button01{
    background: rgba(255,255,255,0.2);
}
@media(hover: hover) {
    .main-visual-txt .c-button01:hover{
        background: #FFF;
    }
}
.main-visual-slider{
    width: 100%;
    min-height: 600px;
}
.main-visual-slider .c-button01{
    font-size: calc(16px + 4*(100vw - 375px)/1545);
}
@media screen and (min-width: 1920px) {
    .main-visual-lead span{
        font-size: 64px;
    }
    .main-visual-detail{
        font-size: 16px;
    }
}

@media screen and (max-width: 768px) {
    .main-visual-txt{
        top: 45%;
        left: 0%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        padding: 0 16px;
    }
    .main-visual-lead span{
        line-height: 137%;
    }
    .main-visual-lead span:first-child{
        margin-bottom: 10px;
    }
    .main-visual-detail{
        margin-top: 19px;
        margin-bottom: 32px;
    }
    .main-visual-slider .c-button01{
        width: 100%;
        max-width: none;
        max-height: 56px;
        height: 56px;
        line-height: 23px;
        letter-spacing: 0.04em;
    }
    .main-visual-btn{
        padding: 0 16px;
    }
}
/*--------------------------------------------------------------
# サイトフッター
--------------------------------------------------------------*/
.footer_wrap.bg_container{
    margin-bottom: 0;
    padding: 64px 11.25% 40px 11.25%;
    background-color: #A80909;
    color: #FFF;
}

.footer-menu-container{
    width: calc(20% - 3.421%);
}
.footer_inner{
    max-width: 1520px;
    margin: 0 auto;
}
.ft_menu_container{
    display: flex;
    justify-content: space-between;
}
.footer_inner li a{
    display: block;
    padding-bottom: 6.55%;
    border-bottom: 1px solid #FFF;
}
.footer_inner li:not(:first-child) a{
    margin-top: 32px;
}
.footer_inner .sub-menu li a{
    border: none;
    margin-top: 16px;
    padding-bottom: 0;
    font-weight: 500;
    font-size: calc(7px + 7*(100vw - 840px)/1080);
    line-height: 20px;
    letter-spacing: 0.06em;
}
.footer_inner a{
    font-weight: 500;
    font-size: calc(8px + 10*(100vw - 840px)/1080);
    line-height: 26px;
    letter-spacing: 0.06em;
    color: #FFF;
}
.footer_inner .menu_sns-name{
    display: flex;
    justify-content: space-between;
}
.footer_inner li.menu_sns-name a{
    width: 72%;
    margin-right: 2%;
}
.footer_inner .menu_sns-name .sub-menu{
    display: flex;
    width: 26%;
}
.menu_sns-name .icon-logo-twitter{
    margin-right: 16px;
    font-size: calc(10.5px + 12*(100vw - 640px)/1280);
}
.menu_sns-name .icon-logo-Instagram{
    font-size: calc(10px + 14*(100vw - 640px)/1280);
}
.ft_policy_erea_container{
    display: flex;
    margin-top: 56px;
}
.ft_policy_erea_container .copyright,
.ft_policy_erea_container .policy a{
    font-weight: 400;
    font-size: calc(12px + 2*(100vw - 375px)/1545);
    line-height: 20px;
    letter-spacing: 0.07em;
}
.ft_policy_erea_container .copyright{
    margin-right: 9%;
}
.ft_policy_erea_container .policy a{
    letter-spacing: 0.06em;
}
.go-to-top_btn{
    position: fixed;
    bottom: 40px;
    right: 40px;
    width: 64px;
    height: 64px;
    z-index: 1;
}

@media screen and (min-width: 1920px) {
    .footer_inner .sub-menu li a{
        font-size: 14px;
    }
    .footer_inner a{
        font-size: 18px;
    }
    .menu_sns-name .icon-logo-twitter{
        font-size: 22.5px;
    }
    .menu_sns-name .icon-logo-Instagram{
        font-size: 24px;
    }
    .ft_policy_erea_container .copyright,
    .ft_policy_erea_container .policy a{
        font-size: 14px;
    }
}
@media screen and (max-width: 1130px) {
    .footer_inner .menu_sns-name{
        flex-direction: column;
    }
       .footer_inner li.menu_sns-name a{
        width: 100%;
        margin-right: 0;
    }
    .footer_inner .menu_sns-name .sub-menu{
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .footer_wrap.bg_container{
        margin-top: 64px;
        padding: 24px 0;
    }
    .ft_policy_erea_container{
        flex-direction: column-reverse;
        margin-top: 0;
        text-align: center;
    }
    .ft_policy_erea_container .copyright{
        margin-right: 0;
        margin-top: 16px;
    }
    .menu_sns-name .icon-logo-twitter{
        font-size: 18px;
    }
    .menu_sns-name .icon-logo-Instagram{
        font-size: 18px;
    }
    .go-to-top_btn{
        bottom: 16px;
        right: 16px;
        width: 40px;
        height: 40px;
    }
}
/*--------------------------------------------------------------
# TOP
--------------------------------------------------------------*/
/* トピックス
----------------------------- */
.top-topics.bg_container{
    padding-bottom: 200px;
    margin-top: 0;
}
.top-topics .c-button01{
    width: 30%;
    font-size: calc(12px + 8*(100vw - 375px)/1545);
}

@media screen and (max-width: 768px) {
    .top-topics.bg_container{
        padding-bottom: 120px;
        margin-bottom: 56px;
    }
    .top-topics .c-button01{
        border: 1px solid #415F79;
    }
}

/* 事業内容
----------------------------- */
@media screen and (max-width: 768px) {
    .top-business .three-column-box{
        flex-direction: column;
    }
    .top-business .three-column-box_item{
        width: 100%;
    }
    .top-business .three-column-box_item:nth-of-type(n+3){
        margin-top: 0;
    }
    .top-business .three-column-box_item:not(:first-child){
        margin-top: 56px;
    }
}
/* ぺーパルを知る
----------------------------- */
.top-about.bg_container{
    max-height: 715px;
    margin-bottom: 0;
    padding: 160px 0;
    background-image: url(images/top/aboutpepal-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat; 
}
.top-about .c-head_wrap{
    align-items: normal;
    color: #FFF;
}
.top-about .c-head_with-parts .text-group02{
    display: flex;
    align-items: center;
}
.top-about .three-column-box_item:nth-of-type(n+4){
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .top-about.bg_container{
        max-height: 524px;
        padding: 64px 0;
        background-image: url(images/top/sp-aboutpepal-bg.jpg);
    }
    .top-about .c-head_wrap{
        flex-direction: column;
    }
    .top-about .c-head_with-parts .text-group02{
        margin-top: 32px;
    }
    .top-about .three-column-box_item{
        height: 48px;
    }
    .top-about .three-column-box .three-column-box_item:nth-child(3n+2):last-child{
        margin-left: 0;
    }
    .top-about .three-column-box_item:nth-of-type(n+4){
    margin-top: 24px;
}
}


/* CTRリンク
----------------------------- */
.top-userguide.bg_container{
    margin-top: 0;
    padding: 0;
    border-top: 2px solid #CACACA;
    border-bottom: 2px solid #CACACA;
}
.top-userguide .content_wrap_mx{
    padding: 0;
}
.top-userguide .three-column-box{
    border-right: 2px solid #CACACA;
    border-left: 2px solid #CACACA;    
}
.top-userguide .three-column-box_item{
    display: flex;
    flex-direction: column;
    width: calc(100% / 3);
    padding: 3.421% 5px;
}
.top-userguide .three-column-box_item:nth-child(2){
    border-right: 2px solid #CACACA;
    border-left: 2px solid #CACACA;
}
.top-userguide .c-head_wrap{
    margin-bottom: 0;
}
.top-userguide .c-button01{
    margin: 0 auto;
}
.top-userguide .c-head-style01{
    font-size: calc(16px + 16*(100vw - 640px)/1280);
    line-height: 46px;
}
.top-userguide .text-group01{
    max-width: 512px;
    margin: 6.848% auto 9.585% auto;
    font-size: calc(13px + 3*(100vw - 640px)/1280);
    text-align: center;
}
.top-userguide .c-section-body{
    padding: 0 20px;
}
.top-userguide .c-section-foot{
    margin-top: auto;
    padding: 0 20px;
}
@media screen and (min-width: 1920px) {
    .top-userguide .c-head-style01{
        font-size: 32px;
    }
    .top-userguide .text-group01{
        font-size: 16px;
    }
}
@media screen and (max-width: 768px) {
    .top-userguide .three-column-box{
        flex-direction: column;
    }
    .top-userguide .three-column-box_item{
        width: 100%;
        padding: 40px 16px;
    }
    .top-userguide .three-column-box_item:nth-child(2) {
        border-top: 2px solid #CACACA;
        border-bottom: 2px solid #CACACA;
        border-right: none;
        border-left: none;
    }
    .top-userguide .three-column-box_item:nth-of-type(n+3){
        margin-top: 0;
    }
    .top-userguide .c-head-style01{
        font-size: calc(20px + 12*(100vw - 375px)/1545);
        line-height: 160%;
    }
    .top-userguide .c-button01{
        width: 100%;
        max-width: 100%;
        height: 56px;
        min-height: 56px;
        font-size: calc(15px + 3*(100vw - 375px)/1545);
        line-height: 23px;
    }
    .top-userguide .c-button01 .icon-right-arrow{
        margin-left: 32px;
    }
    .top-userguide .text-group01{
        margin: 24px auto 40px auto;
        font-size: calc(13px + 3*(100vw - 375px)/1545);
    }
    .top-userguide .c-section-body{
        padding: 0;
    }
    .top-userguide .c-section-foot{
        padding: 0 16px;
    }
}
/* トップバナーエリア
----------------------------- */
.top-banner{
    max-width: 880px;
    margin: 0 auto;
    margin-bottom: 80px;
}

.c-banner :not(:last-child){
    margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
    .c-banner a{
        display: block;
    }
    .top-banner{
        margin-bottom: 64px;
        padding: 0 16px;
    }
}
/*--------------------------------------------------------------
# 下層ページ共通
--------------------------------------------------------------*/
/* 固定ページ共通
----------------------------- */

/* ページヘッダー*/
.page-title_wrap.bg_container{
    min-height: 176px;
    margin-top: 0;
    margin-bottom: 120px;
    padding: 40px 16px;
    background-image: url(images/common/bg_img01.png);
    background-size: cover;
    background-repeat: no-repeat; 
}
.entry-title{
    font-weight: 700;
    font-size: calc(26px + 14*(100vw - 375px)/1545);
    line-height: 58px;
    letter-spacing: 0.06em;
}
.breadcrumb_wrap{
    margin-top: 18px;
}
.breadcrumb_inner{
    display: flex;
    flex-wrap: wrap;
    gap: 5px 0;
    align-items: center;
}
.breadcrumb_inner li{
    font-weight: 500;
    font-size: calc(13px + 1*(100vw - 375px)/1545);
    line-height: 20px;
    letter-spacing: 0.02em;
}
.breadcrumb_inner li:last-child{
    color: #ED0505;
}
.breadcrumb-separator{
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 16px;
    margin-top: 2px;
    background: #CACACA;
    border-radius: 10px;
}
.page-container .c-head-style03{
    margin-top: 120px;
}
@media screen and (min-width: 1920px) {
    .entry-title{
        font-size: 40px;
    }
    .breadcrumb_inner li{
        font-size: 14px;
    }
}
@media screen and (max-width: 768px) {
    .page-title_wrap.bg_container{
    background-image: url(images/common/bg_img_sp.png);
        min-height: 145px;
        margin-bottom: 64px;
        padding: 32px 0;
    }
    .entry-title{
        line-height: 38px;
        letter-spacing: 0.04em;
    }
    .breadcrumb_inner li{
        line-height: 15px;
    }
    .page-container .c-head-style03{
        margin-top: 64px;
    }
}
/* 固定ページ下部（サイトフッターの上）
　　のページフッターコンテンツ
----------------------------- */

/* 階層固定ページ一覧 */
.page-footer-contents{
    margin-top: 120px;
}
.page-list-wrap{
    display: flex;
    justify-content: space-between;
}
.page-list-item{
    width: calc(20% - 20px);
    height: 54px;
}
.page-list-item a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #415F79;
    border: 1px solid #415F79;
    border-radius: 8px;

}
.page-list-item.current .c-button03{
    color: #FFF;
    background: #415F79;
}
@media screen and (max-width: 768px) {
    .page-list-wrap{
        flex-wrap: wrap;
        row-gap: 16px;
    }
    .page-footer-contents{
        margin-top: 64px;
    }
    .page-list-item{
        width: calc(50% - 11.5px);
        height: 48px;
    }
    .page-list-item a{
        border-radius: 4px;
    }
}

/* トピックス */
.bottom-topics.bg_container{
    padding-bottom: 200px;
    margin-top: 120px;
    margin-bottom: 67px;
    overflow-x: hidden;
}
.bottom-topics .c-button01{
    width: 30%;
}

@media screen and (max-width: 768px) {
    .bottom-topics.bg_container{
        padding-bottom: 120px;
        margin-top: 64px;
        margin-bottom: 0;
    }
    .bottom-topics .c-button01{
        border: 1px solid #415F79;
    }
}

/* お問い合わせボタン */
.contact-btn-box{
    height: 430px;
    margin-top: 88px;
    padding: 64px 0;
    background-image: url(images/common/contact-img.jpg);
    background-size: cover;
    background-repeat: no-repeat; 
    background-position: center;
}
.contact-btn-box .c-head_wrap{
    margin-bottom: 40px;
}
.contact-btn-box .text-group01{
    margin-bottom: 56px;
}
.contact-btn-box .c-head-style01,
.contact-btn-box .text-group01,
.contact-btn-box .c-button01{
    color: #FFF;
    border-color: #FFF;
}
.contact-btn-box .c-button01{
    background: rgba(255,255,255,0.2);
}
@media(hover: hover) {
    .contact-btn-box .c-button01:hover{
        color: #415F79;
        background-color: #FFF;
    }
}
@media screen and (max-width: 768px) {
    .contact-btn-box{
        height: 330px;
        margin-top: 80px;
        padding: 40px 0;
        background-image: url(images/common/sp_contact-img.jpg);
    }
    .contact-btn-box .c-head_wrap{
        margin-bottom: 32px;
    }
    .contact-btn-box .text-group01{
        margin-bottom: 48px;
    }
    .contact-btn-box .c-button01{
        max-height: 54px;
        font-size: 15px;
    }
}

/* 会社案内
----------------------------- */

/* 会社案内トップ */
.page-aboutus .three-column-box_item img{
    object-fit: cover;
    aspect-ratio: 2 / 1;
}
.page-aboutus .three-column-box_content .c-head-style02{
    margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
    .page-aboutus .three-column-box{
        flex-direction: column;
    }
    .page-aboutus .three-column-box_item{
        width: 100%;
    }
    .page-aboutus .three-column-box_content{
        margin-top: 16px;
    }
    .page-aboutus .three-column-box_content .c-head-style02{
        margin-bottom: 8px;
    }
    .page-aboutus .three-column-box_item:nth-of-type(n+2){
        margin-top: 58px;
    }
}
/* 社長挨拶・企業理念 */
.greeting-box{
    margin-bottom: 120px;
}
.top-sign{
    display: block;
    width: 28.195%;
    height: auto;
    margin: 40px 0 0 auto;
}
.greeting-head01{
    margin-bottom: 40px;
}
.greeting-box .key-color{
    font-weight: 700;
}
.greeting-box .logo{
    width: 344px;
    height: auto;
    display: block;
    margin: 0 auto;
    margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
    .greeting-box{
        margin-bottom: 80px;
    }
    .top-sign{
        display: block;
        width: 43.735%;
        margin: 24px 0 0 auto;
    }
    .greeting-head01 {
        margin-bottom: 24px;
    }
    .greeting-box .logo{
        width: 172px;
        margin-bottom: 24px;
    }
}
/* 会社概要・アクセス */
.page-company .c-table01_wrap{
    margin-bottom: 160px;
}
.page-company .text-group03{
    margin-bottom: 40px;
}
/* .page-company .content_wrap_lmd{
    padding-left: 60px;
    box-sizing: content-box;
} */
.page-company .company-access-img .two-column-box_item:first-child{
    /* width: calc(52.632%); */
    width: calc(46.297%);
}
.page-company .company-access-img .two-column-box_item:last-child{
    width: calc(46.297%);
}
.page-company .google-map-code iframe{
    width: 100%;    
}
.page-company .page-container .c-section-body .c-head-style03:first-child{
    margin-top: 80px;
}
@media screen and (max-width: 768px) {
    .page-company .c-table01_wrap{
        margin-bottom: 80px;
    }
    .page-company .text-group03{
        margin-bottom: 16px;
    }
    /* .page-company .content_wrap_lmd{
        padding-left: 16px;
        box-sizing: border-box;
    } */
    .page-company .company-access-img .two-column-box_item:first-child{
        width: 100%;
        margin-bottom: 24px;
    }
    .page-company .company-access-img .two-column-box_item:last-child{
        width: 100%;
    }
    .page-company .page-container .c-section-body .c-head-style03:first-child{
        margin-top: 40px;
    }
    .page-company .two-column-box .two-column-box_item{
        margin-bottom: 24px;
    }    
}

/* 環境への取り組み */
.page-environment .bk-color-box{
    padding-left: 100px;
    margin-left: 60px;
}
.page-environment .c-second-head_wrap.c-second-head_with-img .c-head-style03{
    margin-top: 64px;
}
.page-environment .page-container .c-second-head_wrap:first-child .c-head-style03{
    margin-top: 0;
}
.page-environment .c-head_wrap{
    margin-top: 120px;
}
.page-environment .bottom-topics .c-head_wrap{
    margin-top: 0;
}
@media screen and (max-width: 768px) {
    .page-environment .bk-color-box{
        padding-left: 16px;
        margin-left: 16px;
    }
    .page-environment .c-second-head_wrap.c-second-head_with-img .c-head-style03{
        margin-top: 32px;
    }
    .page-environment .c-head_wrap{
        position: relative;
        margin-top: 80px;
    }
    .page-environment .bottom-topics .c-head_wrap{
        position: static;
    }
    .page-environment .c-head_with-parts .c-button01{
        position: absolute;
        top: 62px;
        right: 0;
    }
    .page-environment .bottom-topics .c-head_with-parts .c-button01{
        position: static;
    }
    .page-environment .three-column-box{
        flex-direction: column;
    }
    .page-environment .three-column-box_item{
        width: 100%;
    }
    .page-environment .three-column-box_item:nth-of-type(n+3){
        margin-top: 0;
    }
    .page-environment .three-column-box_item:not(:first-child){
        margin-top: 56px;
    }
}
/* 沿革 */
.history-flow-wrap{
    background-image: url(images/aboutus/history/bk-img.jpg);
    background-size: cover;
    background-repeat: no-repeat; 
    background-position: center;
    background-attachment: fixed;
}
.page-history .text-group05{
    text-align: center;
}

.page-history .text-group03{
    margin: 64px 0 120px 0;
    font-weight: 400;
    line-height: 180%;
    text-align: center;
}
.history-flow-inner{
    position: relative;
    padding-top: 40px;
    padding-bottom: 120px;
    color: #FFF;
}
.center-line {
    position: absolute;
    top: 132px;
    left: 50%;
    transform: translate(-50%,0);
    z-index: 0;
    height: calc(100% - 8.2%);
    width: 2px;
    background-color: #CACACA;
}
.history-flow-item .two-column-box{
    position: relative;
    margin-top: 80px;
}
.history-flow-month.two-column-box_item{
    width: calc(13.705%);
}
.history-flow-text.two-column-box_item{
    width: calc(86.295%);
}
.history-flow-item .two-column-box .two-column-box_item .two-column-box{
    margin-top: 12px;
}
.history-flow-item .two-column-box .two-column-box_item figure{
    width: 88.89%;
}
.history-flow-era-name{
    font-family: 'PTSerif';
}
.history-flow-title{
    margin-bottom: 40px;
}

.history-flow-circle::before{
    content: '';
    position: absolute;
    top: 8%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #D9D9D9;
}
.history-flow-circle.second-flow-circle::before{
    top: 65%;
}
.history-flow-footer{
    margin-top: 60px;
}
.page-history .history-flow-footer .text-group03{
    margin-bottom: 0;
}

@media screen and (max-width: 768px) {
    .history-flow-wrap{
        position :relative;
        background-image: none;
        background-attachment: scroll;
    }
    .history-flow-wrap .sp-bg{
        background: url(images/aboutus/history/sp-bk-img.jpg) no-repeat center;
        background-size: cover;
        content: "";
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100vh;
    }
    .page-history .page-footer-contents{
        background-color: #FFF;
        padding: 64px 16px;
        margin-top: 0;
        transform: translateY(64px);
    } 
    .history-flow-inner{
        padding-top: 50px;
        padding-bottom: 50px;
        padding-left: 44px;
    }
    .history-flow-item .two-column-box{
        flex-direction: column-reverse;
        margin-top: 0;
    }
    .page-history .text-group03{
        margin: 24px 0 64px 0;
        letter-spacing: 0.06em;
    }
    .history-flow-item .two-column-box .two-column-box_item figure{
        width: 100%;
    }
    .history-flow-item .two-column-box .two-column-box_item .two-column-box{
        flex-direction: row;
        margin-top: 8px;
        margin-bottom: 16px;
    }
    .history-flow-item .two-column-box .two-column-box_item .two-column-box .history-flow-month{
        margin-bottom: 0;
    }
    .history-flow-explanation{
        margin-bottom: 18px;
    }
    .center-line {
        top: 66px;
        left: 24px;
        height: calc(100% - 5.5%);
    }
    .history-flow-circle::before{
        left: -20px;
        width: 16px;
        height: 16px;
        top: 13px;
    }
    .history-flow-item .two-column-box .two-column-box_item:first-child{
        margin-bottom: 40px;
    }
    .history-flow-month.two-column-box_item{
        width: calc(17.86%);
    }
    .history-flow-text.two-column-box_item{
        width: calc(82.14%);
    }
    .history-flow-month.pc-view{
        display: none;
    }
    .sp-view .text-group05.history-flow-sp,
    .sp-view .text-group03.history-flow-sp{
        text-align: left;
    }
    .sp-view .text-group03.history-flow-sp{
        margin-bottom: 0;
    }
}

/* 設備案内 */
.page-facility .c-second-head_wrap:first-child .c-head-style03{
    margin-top: 64px;
}
.facility-box .two-column-box_item:first-child{
    width: calc(48.334% - 5%);
}
.facility-box .two-column-box_item:last-child{
    width: calc(55% - 5%);
}
.facility-box.facility-table .two-column-box_item:first-child,
.facility-box.facility-table .two-column-box_item:last-child{
    width: calc(50% - 2.666%);
}
.page-facility .c-section-head:not(:first-child){
    margin-top: 140px;
}
.page-facility .panorama-photo{
    margin-top: 40px;
}
.page-facility .panorama-photo figcaption{
    font-weight: 500;
    font-size: calc(13px + 5*(100vw - 375px)/1545);
    line-height: 180%;
    letter-spacing: 0.04em;
}
.facility-box .two-column-box .two-column-box_item:first-child{
    width: calc(48.334% - 5%);
}
.facility-box .two-column-box .two-column-box_item:last-child{
    width: calc(55% - 5%);
}
@media screen and (min-width: 1920px) {
    .page-facility .panorama-photo figcaption{
        font-size: 18px;
    }
}
@media screen and (max-width: 768px) {
    .page-facility .c-second-head_wrap:first-child .c-head-style03{
        margin-top: 32px;
    }
	.facility-box .two-column-box_item,
    .facility-box .two-column-box_item:first-child,
    .facility-box .two-column-box_item:last-child,
    .facility-box.facility-table .two-column-box_item:first-child,
    .facility-box.facility-table .two-column-box_item:last-child{
        width: 100% !important;
    }
    .facility-box .two-column-box_item:first-child{
        margin-bottom: 24px;
    }
    .facility-table .two-column-box_item:first-child{
        margin-bottom: 0;
    }
    .facility-table .c-table01_th, .facility-table .c-table01_td{
        display: table-cell;
        width: 50%;
    }
    .facility-table .c-table01_th{
        border-bottom: 1px solid #CACACA;
    }
    .facility-table .c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr .c-table01_th,
    .facility-table .c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr .c-table01_td{
        padding: 18px 16px;
    }
    .facility-table .c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr:last-child .c-table01_td{
        border: none;
    }
    .facility-table .two-column-box_item:last-child .c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr:last-child .c-table01_th,
    .facility-table .two-column-box_item:last-child .c-table01_wrap.gray-stripes_table tbody .c-table01_table_tr:last-child .c-table01_td{
        border-bottom: 1px solid #CACACA;
    }
    .page-facility .c-section-head:not(:first-child){
        margin-top: 80px;
    }

}
/* お問い合わせ
----------------------------- */

.top-contact .mw_wp_form .content_wrap_sm,
.page-contact .mw_wp_form .content_wrap_sm,
.page-confirmation .mw_wp_form .content_wrap_sm{
    padding: 0;
}
.top-contact .text-group01{
    margin-bottom: 80px;
    text-align: center;
}
.page-contact .text-group01{
    margin-bottom: 80px;
    text-align: center;
}
.page-contact .c-head-style01{
    margin-top: 120px;
}
.mw_wp_form .content_wrap_sm .text-group01{
    margin-top: 20px;
    margin-bottom: 24px;
    text-align: left;
    font-size: calc(13px + 5*(100vw - 375px)/1545);
}
.mw_wp_form .important_tags{
    color: #ED0505;
}
.mw_wp_form .vertical-item + .vertical-item{
    margin-top: 16px!important;
}
.mw_wp_form .input-textbox,
.mw_wp_form .input-textarea{
    font-family: "NotoSansJP",sans-serif;
    font-size: calc(13px + 5*(100vw - 375px)/1545);
    font-weight: 500;
    line-height: 26px;
    letter-spacing: 0.04em;
    color: #333;
}
.mw_wp_form .input-textbox{
    width: 100%;
    height: 50px;
    padding: 8px;
    background: #F2F2F2;
    border: 1px solid #CACACA;
}
.mw_wp_form .input-textarea{
    width: 100%;
    height: 200px;
    margin: 20px 0;
    padding: 10px;
    background: #F2F2F2;
    border: 1px solid #CACACA;
}
.mw_wp_form .contact-form_checkbox,
.mw_wp_form .contact-form_checkbox .mwform-checkbox-field-text{
    font-weight: 700;
    font-size: calc(15px + 3*(100vw - 375px)/1545);
    line-height: 26px;
    letter-spacing: 0.04em;
}
.mw_wp_form .contact-form_checkbox{
    position: relative;
}
.mw_wp_form .contact-form_checkbox .error{
    position: absolute;
    left: 20px;
}
.mw_wp_form .contact-form_radio .mwform-radio-field-text{
    font-weight: 500;
    font-size: calc(14px + 4*(100vw - 375px)/1545);
    line-height: 150%;
    letter-spacing: 0.08em;
}
.mw_wp_form .c-button01{
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    margin-top: 64px;
}
.mw_wp_form .c-button01 input{
    width: 100%;
    height: 100%;
    padding-right: 27px;
    text-align: center;
    cursor: pointer;
}
.mw_wp_form .c-button01 .icon-right-arrow{
    position: absolute;
    right: 70px;
}
.mw_wp_form .c-radio.input-radio{
	transform:scale(1.3) 
}

/* 確認画面 */
.mw_wp_form_confirm .c-table01_td{
    padding-left: 0;
}
.mw_wp_form_confirm .contact-form_textarea .c-table01_body_input{
    padding: 20px 0;
}
.mw_wp_form .disp_confirm{
    display: none;
}
.mw_wp_form.mw_wp_form_confirm .disp_confirm{
    display: table-row;
}
.mw_wp_form.mw_wp_form_confirm .hidden_confirm{
    display: none;
}
.mw_wp_form_confirm .c-table01_wrap tbody .c-table01_table_tr:first-child .c-table01_td{
    padding-left: 0;
}
.mw_wp_form_confirm .c-table01_th{
    padding: 20px 0;
}
.mw_wp_form_confirm .c-table01_wrap tbody .c-table01_table_tr:first-child .c-table01_th,
.mw_wp_form_confirm .c-table01_wrap tbody .c-table01_table_tr:first-child .c-table01_td{
    padding: 20px 0;
}
.mw_wp_form_confirm .c-table01_table_end .c-table01_th,
.mw_wp_form_confirm .c-table01_table_end .c-table01_td{
    border-bottom: 1px solid #CACACA;
}
/* 完了画面 */
.page-completion .text-group04{
    margin-bottom: 40px;
}
.page-completion .text-group01{
    margin-bottom: 40px;
    text-align: center;
}
.page-completion .c-button01 {
    justify-content: center;
    margin: 0 auto;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
}
.mw_wp_form .page-completion .c-button01 .icon-right-arrow{
    position: static;
}
@media screen and (min-width: 1920px) {
    .mw_wp_form .contact-form_checkbox,
    .mw_wp_form .contact-form_checkbox .mwform-checkbox-field-text,
    .mw_wp_form .content_wrap_sm .text-group01,
    .mw_wp_form .input-textbox,.mw_wp_form .input-textarea,
    .mw_wp_form .contact-form_radio .mwform-radio-field-text{
        font-size: 18px;
    }
}
@media screen and (max-width: 768px) {
    .top-contact .text-group01{
        margin-bottom: 40px;
    }
    .page-contact .c-head-style01{
        margin-top: 40px;
    }
    .mw_wp_form .input-textarea{
        margin: 0;
        height: 160px;
    }
    .mw_wp_form .content_wrap_sm .text-group01{
        margin-top: 4px;
    }
    .mw_wp_form .c-button01{
        height: 56px;
        max-height: 56px;
        min-width: 310px;
    }
    .mwform-checkbox-field input, .mwform-radio-field input{
        margin: 0!important;
    }
    .mw_wp_form .input-textbox{
        height: 40px;
    }
    .mw_wp_form .input-textbox,
    .mw_wp_form .input-textarea{
        line-height: 23px;
    }
    .mw_wp_form .contact-form_radio .mwform-radio-field-text{
        line-height: 20px;
        letter-spacing: 0.04em;
    }
    .mw_wp_form .content_wrap_md{
        padding: 0;
    }
    .mw_wp_form_confirm .c-table01_table_end .c-table01_th{
        border: none;
    }
    .mw_wp_form_confirm .contact-form_textarea .c-table01_body_input{
        padding: 0;
    }
    .mw_wp_form_confirm .c-table01_wrap tbody .c-table01_table_tr:first-child .c-table01_th,
    .mw_wp_form_confirm .c-table01_wrap tbody .c-table01_table_tr:first-child .c-table01_td{
        padding: 0;
        padding-bottom: 20px;
   }
   .page-completion .text-group04{
        margin-bottom: 24px;
   }
}
/* reCAPTCHA関連 */
.grecaptcha-badge {
    left:6px!important;
    width:70px!important;
}
.grecaptcha-badge:hover{
    left:6px!important;
    width:256px!important;
}
.home .grecaptcha-badge {
     visibility: hidden;
 }
.recaptcha-text{
    text-align: center;
    font-size: .7em;
    margin-top: 10px;
    line-height: 1.5;
}
.recaptcha-text a{
    text-decoration: underline;
    color: #1774c5;
}

/* よくある質問
----------------------------- */
.contact-qa{
    margin-bottom: 120px;
}
.qa-contents .qa-icon{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 64px;
    height: 64px;
    margin-right: 24px;
    font-weight: 500;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
    line-height: 29px;
    letter-spacing: 0.02em;
    color: #FFFFFF;
    border-radius: 50%;
}
.ac-content-head .qa-icon{
    background: #333333;
}
.ac-content-body .qa-icon{
    background: #A80909;
}
.qa-contents .aq-q,
.qa-contents .aq-a{
    flex:1;
}
@media screen and (min-width: 1920px) {
    .qa-contents .qa-icon{
        font-size: 20px;
    } 
}
@media screen and (max-width: 768px) {
    .contact-qa{
        margin-bottom: 64px;
    }
    .qa-contents .qa-icon{
        width: 48px;
        height: 48px;
        margin-right:16px;
        line-height: 22px;
    }
    .content_wrap_lg.contact-qa{
        padding: 0;
    }
}
/*--------------------------------------------------------------
# トピックス
--------------------------------------------------------------*/
/* 一覧のスタイル
----------------------------- */

.post-list-img{
    margin-bottom: 16px;
}
.post-list-img img{
    object-fit: cover;
    aspect-ratio: 16 / 9;
}
.post-list-date-wrap{
    display: flex;
}
.post-date,.post-cat{
    font-weight: 400;
    font-size: calc(12px + 2*(100vw - 375px)/1545);
    line-height: 20px
}
.post-date{
    letter-spacing: 0.02em;
}
.post-cat{
    position: relative;
    letter-spacing: 0.04em;
    color: #333333;
}

.post-list-title{
    margin-top: 20px;
    margin-bottom: 24px;
    font-weight: 700;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
    line-height: 29px;
    letter-spacing: 0.06em;
}
@media screen and (min-width: 1920px) {
    .post-date,.post-cat{
        font-size: 14px;
    }
    .post-list-title{
        font-size: 20px;
    }
}
@media screen and (max-width: 768px) {
    .post-date,.post-cat{
        line-height: 17px;
    }
    .post-list-title{
        margin-top: 16px;
        line-height: 150%;
        letter-spacing: 0.04em;
    } 
}
/* アーカイブページのスタイル
----------------------------- */
/* カテゴリリスト */
.cat-list{
    display: flex;
    flex-wrap: wrap;
}
.cat-list-item{
    margin-right: 4.212%;
    margin-bottom: 32px;
    padding: 6px 24px;
    font-weight: 400;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
    line-height: 29px;
    letter-spacing: 0.04em;
    background: #FFFFFF;
    border: 1px solid #415F79;
    border-radius: 4px;
}
.cat-list-item a{
    color: #415F79;
}
.cat-list .cat-list-item:last-child{
    margin-right: 0%;
}
.cat-list-item.current{
    background: #415F79;
    border: 1px solid #FFFFFF;
}
.cat-list-item.current a{
    color: #FFF;
}

/* アーカイブ.詳細ページ共通 */
.archive-topics_contents,
.single-topics_contents{
    display: flex;
}
.archive-topics_contents .sidebar-box .blog-list_item,
.single-topics_contents .sidebar-box .blog-list_item{
    padding: 0;
    padding-top: 24px;
    border: none;
}
.archive-topics_contents .sidebar-box .blog-list_item:first-child,
.single-topics_contents .sidebar-box .blog-list_item:first-child{
    padding-top: 20px;
}
.archive-topics_contents .sidebar-box .blog-list_item.two-column-box .two-column-box_item:first-child,
.single-topics_contents .sidebar-box .blog-list_item.two-column-box .two-column-box_item:first-child{
    width: calc(37.5%);
}
.archive-topics_contents .sidebar-box .blog-list_item.two-column-box .two-column-box_item ,
.single-topics_contents .sidebar-box .blog-list_item.two-column-box .two-column-box_item {
    width: calc(62.5% - 12px);
}
.archive-topics_contents .sidebar-box .post-list-title,
.single-topics_contents .sidebar-box .post-list-title{
    font-weight: 500;
    font-size: calc(12px + 2*(100vw - 375px)/1545);
    line-height: 20px;
    letter-spacing: 0.06em;
}
.archive-topics_contents .sidebar-img-link:first-child,
.single-topics_contents .sidebar-img-link:first-child{
    margin-bottom: 32px;
}
.archive-topics_contents .post-list-title,
.single-topics_contents .post-list-title{
    margin-top: 0;
    margin-bottom: 16px;
}
.archive-topics_contents .post-date,
.archive-topics_contents .post-cat,
.single-topics_contents .post-date,
.single-topics_contents .post-cat{
    font-weight: 400;
    font-size: calc(12px + 4*(100vw - 375px)/1545);
    line-height: 23px;
    letter-spacing: 0.02em;   
}

@media screen and (min-width: 1920px) {
    .archive-topics_contents .post-date,
    .archive-topics_contents .post-cat,
    .single-topics_contents .post-date,
    .single-topics_contents .post-cat{
        font-size: 16px;
    }
    .archive-topics_contents .post-list-excerpt,
    .single-topics_contents .post-list-excerpt{
        font-size: 16px;
    }
    .archive-topics_contents .sidebar-box .post-list-title,
    .single-topics_contents .sidebar-box .post-list-title{
        font-size: 14px;
    }    
}
@media screen and (max-width: 768px) {
    .archive-topics_contents,
    .single-topics_contents{
        display: block;
    }
    .archive-topics_contents .sidebar-box .blog-list_item,
    .single-topics_contents .sidebar-box .blog-list_item{
        padding-top:16px;
    }
    .archive-topics_contents .sidebar-box .blog-list_item.two-column-box .two-column-box_item:first-child,
    .single-topics_contents .sidebar-box .blog-list_item.two-column-box .two-column-box_item:first-child {
        width: calc(38.59%);
        margin-bottom:0;
    }
    .archive-topics_contents .sidebar-box .blog-list_item.two-column-box .two-column-box_item,
    .single-topics_contents .sidebar-box .blog-list_item.two-column-box .two-column-box_item {
        width: calc(61.419% - 12px);
    }
    .archive-topics_contents .sidebar-box .post-list-img,
    .single-topics_contents .sidebar-box .post-list-img{
        margin-bottom:0;
    }

}

/* アーカイブページレイアウト */

.contents-box{
    width: 63.334%;
    margin-right: 6.667%;
}
.side-bar{
    flex: 1;
}
.archive-topics_contents .contents-box .blog-list_wrap{
    padding-top: 48px;
}
.archive-topics_contents .contents-box .blog-list_item{
    padding: 32px 0;
    border-bottom: 1px solid #CACACA;
}
.archive-topics_contents .blog-list_item.two-column-box .two-column-box_item{
    width: calc(70.79% - 5%);
}
.archive-topics_contents .blog-list_item.two-column-box .two-column-box_item:first-child{
    width: calc(28.948%);
}
.archive-topics_contents .post-list-img{
    margin-bottom: 12px;
}

.archive-topics_contents .post-list-excerpt{
    font-weight: 400;
    font-size: calc(13px + 3*(100vw - 375px)/1545);
    line-height: 180%;
    letter-spacing: 0.04em;
}

/* ページネーション */
.pagenation{
    margin-top: 80px;
    margin-bottom: 20px;
}
.pagenation ol{
    display: flex;
    justify-content: center;
}
.pagenation li{
    width: 48px;
    height: 48px;
    margin-right: 20px;
    border: 2px solid #415F79;
    border-radius: 100px;
}
.pagenation li a,
.pagenation li.active{
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    font-size: 16px;
    line-height: 23px;
}
.pagenation li a{
    width: 100%;
    height: 100%;
    color: #415F79;
}
.pagenation li.active{
    background: #415F79;
    color: #FFF;
}
.pagenation .next,
.pagenation .prev{
    border: none;
    border-radius: 0;
}
.pagenation .prev{
    margin-right: 40px;
}
.pagenation .next{
    margin-left: 20px;
}
@media screen and (max-width: 768px) {
    .pagenation{
        margin-top: 64px;
        margin-bottom: 80px;
    }
    .pagenation li a,
    .pagenation li.active{
        line-height: 180%;
        letter-spacing: 0.06em;
    }
}

/* サイドバー */
.sidebar-box{
    margin-bottom: 24px;
    padding: 24px 20px;
    background: #F2F2F2;
    border-radius: 8px; 
}

@media screen and (min-width: 1920px) {
    .cat-list-item{
        font-size: 20px;
    }
    .archive-topics_contents .post-date,
    .archive-topics_contents .post-cat{
        font-size: 16px;
    }
    .archive-topics_contents .post-list-excerpt{
        font-size: 16px;
    }
    .archive-topics_contents .sidebar-box .post-list-title{
        font-size: 14px;
    }    
}
@media screen and (max-width: 768px) {
    .cat-list-item{
        margin-bottom: 16px;
        padding: 4px 16px;
        line-height: 22px;
    }
    .contents-box{
        width: 100%;
        margin-right: 0;
    }
    .archive-topics_contents .contents-box .blog-list_item{
        padding-top: 24px;
    }
    .archive-topics_contents .contents-box .blog-list_wrap{
        padding-top: 32px;
    }

    .archive-topics_contents .blog-list_item.two-column-box .two-column-box_item,
    .archive-topics_contents .blog-list_item.two-column-box .two-column-box_item:first-child{
        width: 100%;
    }
    .archive-topics_contents .blog-list_item.two-column-box .two-column-box_item:first-child{
        margin-bottom: 16px;
    }
    .archive-topics_contents .post-list-img{
        margin-bottom: 16px;
    }
    .archive-topics_contents .post-date,
    .archive-topics_contents .post-cat{
        line-height: 17px;
        letter-spacing: 0.04em;
    }
    .archive-topics_contents .separate-01{
        font-weight: 400;
        font-size: 12px;
        line-height: 13px;
    }
    .archive-topics_contents .post-list-title{
        margin-bottom: 8px;
    }
    .archive-topics_contents .post-list-excerpt{
        line-height: 160%;
    }
    .sidebar-box{
        padding: 20px 16px;
        border-radius: 6px; 
    }
    .sidebar-box .two-column-box{
        flex-direction: row;
    }
}
/* カテゴリ一覧 */
.explanatory-text{
    margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
    .explanatory-text{
        margin-bottom: 64px;
    }
}

/* 記事詳細 */
.single-container a{
    color: #2271b1;
}
@media(hover: hover) {
.single-container a:hover{
    text-decoration: underline;
}
}
.single-container .text-group05{
    margin-top: 48px;
    margin-bottom: 20px;
}
.single-container .post-list-date-wrap{
    margin-bottom: 80px;
}
.single-container .single-input-content{
    font-weight: 400;
    font-size: calc(13px + 3*(100vw - 375px)/1545);
    line-height: 180%;
    letter-spacing: 0.04em;
}
.single-container .single-input-content p{
    margin-bottom: 48px;
}
.single-topics_contents .post-nav_btn .c-button01{
    width: 59%;
    margin: 0 auto;
}
.single-topics_contents .post-nav_btn{
    position: relative;
    width: 70.79%;
    margin: 0 auto;
}
.single-topics_contents .post-nav_btn .prev_icon,
.single-topics_contents .post-nav_btn .next_icon{
    bottom: 13px;
}
.single-topics_contents .post-nav_btn .prev_icon{
    right: auto;
}
.post-have-tag{
    margin-top: 48px;
    margin-bottom: 80px;
}
.post-have-tag ul{
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
}
.post-have-tag ul li a{
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.02em;
    color: #415F79;
}
.post-have-tag ul li a::before{
    content: '#';
    display: inline-block;
    color: #415F79;

}
@media screen and (min-width: 1920px) {
    .single-container .single-input-content{
        font-size: 16px;
    }
}
@media screen and (max-width: 768px) {
    .single-container .single-input-content{
        line-height: 160%;
    }
    .single-topics_contents .post-nav_btn{
        width: 100%;
        margin-bottom: 80px;
    }
    .single-topics_contents .post-nav_btn .c-button01{
        width: 67.35%;
        max-height: 54px;
    }
    .single-topics_contents .post-nav_btn .prev_icon, .single-topics_contents .post-nav_btn .next_icon{
        bottom: 7px;
    }
    .post-have-tag{
        margin-top: 32px;
        margin-bottom: 64px;
    }
}
/*--------------------------------------------------------------
# 404
--------------------------------------------------------------*/
.page-404 p{
    margin-bottom: 68px;
}
.page-404 .page-container .c-button01{
    margin: 0 auto;
    font-size: calc(15px + 5*(100vw - 375px)/1545);
}
#post-0 .entry-content.page-404 .c-section.bg_container.bottom-topics{ 
	margin-bottom: -100px!important;
}
.footer-404 .footer_wrap.bg_container{
    margin-top: 0;
}

@media screen and (max-width: 768px) {
    .page-404 .page-container .c-button01{
        max-height: none;
        height: 54px;
    }
#post-0 .entry-content.page-404 .c-section.bg_container.bottom-topics{ 
	margin-bottom: -65px!important;
}
}
/*--------------------------------------------------------------
# Wordpressデフォルトのスタイルを上書き
--------------------------------------------------------------*/
/*　ウィジェット　タグクラウド*/
.wp-block-tag-cloud{
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
    gap: 24px 18px;
}
.wp-block-tag-cloud a{
    margin-right: 0;
    font-weight: 400;
    font-size: calc(12px + 2*(100vw - 375px)/1545)!important;
    line-height: 20px;
    letter-spacing: 0.02em;
    color: #415F79;
}
.wp-block-tag-cloud a::before{
    content: '#';
    display: inline-block;
    color: #415F79;
}


@media screen and (min-width: 1920px) {
    .wp-block-tag-cloud a{
        font-size: 14px!important;
    }
}
@media screen and (max-width: 768px) {
    .wp-block-tag-cloud{
        margin-top: 12px;
        gap: 16px 16px;
    }
}


.heightmoretext{
	height: 284px;
	overflow: hidden;
}
.heightmorebtn{
    /* width: 228px;
    margin: 0 auto;
    margin-top: 40px;
    padding: 12px;
	text-align: center; */
}
.heightmorebtn a{
    display: block;
    width: 228px;
    margin: 0 auto;
    margin-top: 40px;
    padding: 12px;
	text-align: center;
    color: #415F79;
}
.heightmorebtn a span{
    display: inline-block;
    margin-left: 8px;
    font-weight: 500;
    font-size: calc(15px + 3*(100vw - 375px)/1545);
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0.04em;
    }

@media screen and (min-width: 1920px) {
    .heightmorebtn a span{
        font-size: 18px;
    }
}
@media screen and (max-width: 768px) {
    .heightmoretext{
        height: 215px;
    }
    .heightmorebtn a{
        margin-top: 24px;

    }
    .heightmorebtn a span{
        margin-left: 16px;
        line-height: 22px;
    }    
}
/* .heightmorebtn a:before,
.heightmorebtn a:after{
    display: block;
    content: '';
    background-color: #415F79;
    position: absolute;
    width: 12px;
    height: 2px;
    bottom: 10px;
    right: 0;
    transition: .4s;
}
.heightmorebtn a:before {
    width: 2px;
    height: 12px;
    bottom: 5px;
    right: 5px;
} */