
/* font */
/* ----------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

@font-face {
	font-family: 'fontello';
	src: local("fontello"), url("../icon/fontello.eot");
	src: local("fontello"), url("../icon/fontello.eot#iefix") format("embedded-opentype");
	src: local("fontello"), url("../icon/fontello.woff2") format("woff2");
	src: local("fontello"), url("../icon/fontello.woff") format("woff");
	src: local("fontello"), url("../icon/fontello.ttf") format("truetype");
	font-weight: normal;
	font-style: normal
}

/* @font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 100;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.otf) format("opentype")
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 200;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format("opentype")
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 300;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format("opentype")
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 400;
	src: local("NotoSansJP-Regular.otf"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format("opentype")
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 500;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format("opentype")
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 700;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format("opentype")
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 900;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf) format("opentype")
}

@font-face {
	font-family: 'DIN Next LT Pro Regular';
    font-weight: normal;
    font-style: normal;
    src: local('DIN Next LT Pro Regular'), url('../../assets/fonts/DINNextLTPro/DINNextLTPro-Regular.woff') format('woff');
    src: local('DIN Next LT Pro Regular'), url('../../assets/fonts/DINNextLTPro/DINNextLTPro-Regular.ttf') format('truetype');
} */
/* @import url('https://fonts.googleapis.com/css2?family=Oswald&display=swap'); */
/* Noto Serif JP */
@font-face {
	font-family: 'Noto Serif JP';
    font-weight: bold;
    font-style: normal;
    src: local('Noto Serif JP'), url('../../assets/fonts/Noto_Serif_JP/NotoSerifJP-Black.otf') format('opentype');
}

@font-face {
	font-family: 'Noto Serif JP';
    font-weight: 900;
    font-style: normal;
    src: local('Noto Serif JP'), url('../../assets/fonts/Noto_Serif_JP/NotoSerifJP-Bold.otf') format('opentype');
}

@font-face {
	font-family: 'Noto Serif JP';
    font-weight: 700;
    font-style: normal;
    src: local('Noto Serif JP'), url('../../assets/fonts/Noto_Serif_JP/NotoSerifJP-SemiBold.otf') format('opentype');
}


@font-face {
	font-family: 'Noto Serif JP';
    font-weight: 500;
    font-style: normal;
    src: local('Noto Serif JP'), url('../../assets/fonts/Noto_Serif_JP/NotoSerifJP-Medium.otf') format('opentype');
}

@font-face {
	font-family: 'Noto Serif JP';
    font-weight: normal;
    font-style: normal;
    src: local('Noto Serif JP'), url('../../assets/fonts/Noto_Serif_JP/NotoSerifJP-Regular.otf') format('opentype');
}

@font-face {
	font-family: 'Noto Serif JP';
    font-weight: 300;
    font-style: normal;
    src: local('Noto Serif JP'), url('../../assets/fonts/Noto_Serif_JP/NotoSerifJP-Light.otf') format('opentype');
}

@font-face {
	font-family: 'Noto Serif JP';
    font-weight: 100;
    font-style: normal;
    src: local('Noto Serif JP'), url('../../assets/fonts/Noto_Serif_JP/NotoSerifJP-ExtraLight.otf') format('opentype');
}

/* Noto Serif JP */

/* Cormorant Garamond*/
@font-face {
	font-family: 'Cormorant Garamond';
    font-weight: bold;
    font-style: normal;
    src: local('Cormorant Garamond'), url('../../assets/fonts/Cormorant_Garamond/CormorantGaramond-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
    font-weight: bold;
    font-style: italic;
    src: local('Cormorant Garamond'), url('../../assets/fonts/Cormorant_Garamond/CormorantGaramond-BoldItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
    font-weight: 700;
    font-style: normal;
    src: local('Cormorant Garamond'), url('../../assets/fonts/Cormorant_Garamond/CormorantGaramond-SemiBold.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
    font-weight: 700;
    font-style: italic;
    src: local('Cormorant Garamond'), url('../../assets/fonts/Cormorant_Garamond/CormorantGaramond-SemiBoldItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
    font-weight: 500;
    font-style: normal;
    src: local('Cormorant Garamond'), url('../../assets/fonts/Cormorant_Garamond/CormorantGaramond-Medium.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
    font-weight: 500;
    font-style: italic;
    src: local('Cormorant Garamond'), url('../../assets/fonts/Cormorant_Garamond/CormorantGaramond-MediumItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
    font-weight: normal;
    font-style: normal;
    src: local('Cormorant Garamond'), url('../../assets/fonts/Cormorant_Garamond/CormorantGaramond-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
    font-weight: normal;
    font-style: italic;
    src: local('Cormorant Garamond'), url('../../assets/fonts/Cormorant_Garamond/CormorantGaramond-Italic.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
    font-weight: 200;
    font-style: normal;
    src: local('Cormorant Garamond'), url('../../assets/fonts/Cormorant_Garamond/CormorantGaramond-Light.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
    font-weight: 200;
    font-style: italic;
    src: local('Cormorant Garamond'), url('../../assets/fonts/Cormorant_Garamond/CormorantGaramond-LightItalic.ttf') format('truetype');
}

/* Cormorant Garamon */

@font-face {
	font-family: 'MyYuGothicM';
	font-weight: normal;
	src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular")
}

@font-face {
	font-family: 'MyYuGothicM';
	font-weight: bold;
	src: local("YuGothic-Bold"), local("Yu Gothic")
}

#apply{
    padding-top: 119px;
    font-family: 'Noto Serif JP', YakuHanJPs, 'Noto Sans Japanese', 'Hiragino Kaku Gothic Pro', MyYuGothicM, Meiryo, sans-serif;
}
.drawer-nav{
    display: none;
}
.for-large{
    display: block;
}
.for-small{
    display: none;
}
a:hover{
    text-decoration:none;
}
@media screen and (max-width: 736px){
    #apply{
        padding-top: 62px;
        font-family: 'Noto Serif JP', YakuHanJPs, 'Noto Sans Japanese', 'Hiragino Kaku Gothic Pro', MyYuGothicM, Meiryo, sans-serif;
    }
    .for-large{
        display: none;
    }
    .for-small{
        display: block;
    }
}
.cta-float-btn {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    background-color: rgba(0, 0, 0, 0.4);
    transition: opacity 0.3s, visibility 0.3s;
    opacity: 1;
    visibility: visible;
    cursor: pointer;
    z-index: 99;
}
.cta-float-btn a{
    display:flex;
    align-items: center;
    justify-content: center;
    text-decoration:none;
    text-align: center;
    background-color:#333333;
    color: #fff;
    padding: 8px 5px;
}

/* PC版（右固定） */
@media (min-width: 769px) {
    .cta-float-btn {
        background-color: transparent;
        top: 55%; /* 縦方向の中央 */
        transform: translateY(-55%); /* 縦中央に調整 */
        right: 0;
        width: auto;
    }
    .cta-float-btn a {
        display: flex;
        align-items: center;
        writing-mode: vertical-rl; /* 縦書き（右→左） */
        text-orientation: mixed; /* 文字の向きを自然に */
        background-color: #333333;
        color: #fff;
        padding: 10px;
        gap: 15px;
        border-radius: 10px 0 0 10px; /* 任意 */
        width: 85px;
        height: 250px;
    }
    .cta-icon{
        width: 30px;
    }
    .cta-float-btn p{
        margin: 0;
        font-size: 18px;
        letter-spacing: 1px;
    }
}

/* スマホ版（下部固定） */
@media (max-width: 768px) {
    .cta-float-btn {
        width: 100%;
        bottom: 0;
        right: 0;
        padding: 7px 0;
    }
    .cta-float-btn a{
        display:flex;
        align-items: center;
        justify-content: center;
        text-decoration:none;
        text-align: center;
        background-color:#333333;
        color: #fff;
        gap: 15px;
        padding: 8px 5px;
        width: 270px;
    }
    .cta-icon{
        width: 30px;
    }
    .cta-float-btn p{
        margin: 0;
        font-size: 15px;
        letter-spacing: 1px;
    }
}

/* 表示時のアニメーション */
.cta-float-btn.active {
    opacity: 1;
    visibility: visible;
}
#pagetop{
    position: fixed;
    right: 50px;
    bottom: 50px;
    z-index: 2;
}
#pagetop img{
    width: 60px;
}

/* よく使うタイトルのcss */
.width{
    max-width: 1200px;
    margin: 0 auto;
}
.width2 {
    max-width: 1000px;
    margin: 0 auto;
}
@media screen and (max-width: 1300px) {
    
    #pagetop{
        position: fixed;
        right: 20px;
        bottom: 20px;
    }
    #pagetop img{
        width: 50px;
    }
    .width{
        max-width: 100%;
        padding: 0 50px ;
        margin: 0 auto;
    }
}
@media screen and (max-width: 736px) {
    .width{
        max-width: calc(100% - 40px);
        padding: 0 20px;
        margin: 0 auto;
    }
    .width2{
        max-width: calc(100% - 40px);
        padding: 0 20px;
        margin: 0 auto;
    }
}


.top {
    width: 100%;
    position: relative;
}
.top #titlebox {
    position: absolute;
    top: 35%;
    left: 10%;
}
.top .banner {
    width: 100%;
}
#titlebox .main_t {
    font-family: 'Cormorant Garamond',sans-serif;
    font-size: 62px;
    font-style: italic;
    margin: 0;
    line-height: initial;
    font-weight: 500;
    color: #fff;
}
#titlebox .sub_t {
    font-family: Noto Serif JP, YakuHanJPs, 'Noto Sans Japanese', 'Hiragino Kaku Gothic Pro', MyYuGothicM, Meiryo, sans-serif;
    font-size: 16px;
    font-weight: 500;
    margin: 0;
    color: #fff;
}

@media screen and (max-width: 1300px) {
    .top #titlebox {
        position: absolute;
        top: 30%;
        left: 0%;
    }
}


@media screen and (max-width: 736px){
    .top{
        width: 100%;
        position: relative;
    }
    .top .banner{
        width: 100%;
    }
    
    .top #titlebox{
        position: absolute;
        top: 60%;
        left: 0px;
    }
    #titlebox .main_t{
        font-size: 25px;
    }
    #titlebox .sub_t{
        font-size: 14px;
    }
}
   
.apply_body .tabs{
    padding: 30px;
    display: flex;
    align-items: center;
    gap: 50px;
}
.apply_body .tabs .tab{
    cursor: pointer;
    flex-basis: calc(50% - 25px);
    border: 1px solid #000;
    color: #000;
    text-align: center;
    font-family: 'Noto Serif JP', YakuHanJPs, 'Noto Sans Japanese', 'Hiragino Kaku Gothic Pro', MyYuGothicM, Meiryo, sans-serif;
    font-size: 18px;
    letter-spacing: 1px;
    padding: 15px 0;
}
.apply_body .tabs .tab.active{
    background: #528096;
    color: #fff;
    border: 1px solid #528096;
}

@media screen and (max-width: 736px){
    .apply_body .tabs{
        padding: 20px;
        display: flex;
        align-items: center;
        gap: 20px;
    }
    .apply_body .tabs .tab{
        flex-basis: calc(50% - 10px);
        font-size: 14px;
        padding: 10px 0;
    }
    .apply_body .tabs .tab.active{
        background: #528096;
        color: #fff;
        border: 1px solid #528096;
    }
}

/* #part{
    display: none;
} */
.tab_inner{
    background-color: #e3e3e3;
    padding-top: 30px;
    padding-bottom:50px;
}
.tab_inner .detail_box{
    padding: 40px 20px 90px;
    background-color: #fff;
    margin-bottom: 50px;
    text-align: left;
}
.tab_inner .detail_box .titles{
    text-align: left;
    padding-bottom: 20px;
    font-family: 'Noto Serif JP', YakuHanJPs, 'Noto Sans Japanese', 'Hiragino Kaku Gothic Pro', MyYuGothicM, Meiryo, sans-serif;
}
.tab_inner .detail_box .titles .type{
    border: 1px solid #000;
    padding: 2px 5px;
    font-size: 15px;
}
.tab_inner .detail_box .titles .shokushu{
    padding-left: 10px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 2px;
}
.tab_inner .detail_box .imgbox{
    padding-bottom:20px;
}
.tab_inner .detail_box .imgbox img{
    width: 100%;
}


@media screen and (max-width: 736px){
    .tab_inner .detail_box{
        margin:0 15px 50px;
        padding: 20px 10px 50px;
    }
    .tab_inner .detail_box .titles{
        text-align: left;
        padding-bottom: 10px;
    }
    .tab_inner .detail_box .titles .type{
        padding: 2px;
        font-size: 10px;
    }
    .tab_inner .detail_box .titles .shokushu{
        padding-left: 5px;
        font-size: 16px;
        letter-spacing: 0px;
    }
    .tab_inner .detail_box .imgbox{
        padding-bottom:20px;
    }
    .tab_inner .detail_box .imgbox img{
        width: 100%;
    }
}




.Content {
    padding-bottom: 20px;
}
.Content .title{
    font-size: 15px;
    background-color: #e3e3e3;
    padding: 5px 10px;
    font-weight: 500;
    letter-spacing: 1px;
}
.Content .text{
    font-size: 15px;
    line-height: 30px;
    padding: 0px 10px;
    letter-spacing: 1px;
}
.Content .text .bold{
    font-size: 17px;
    font-weight: bold;
}
.Content .btns{
    display: flex;
    gap: 20px;
    padding: 10px 0 50px;
    width: 90%;
    margin: 0 auto;
}
.link{
    display: flex;
    width:51%;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 0;
}
.link .icon{ 
    width: 30px;
}
.link .text{ 
    font-size: 16px;
}

.formlink{
    background-color: #333333;
}
.formlink .icon{ 
    width: 30px;
}
.formlink .text{ 
    color: #fff;
}

.tellink{
    border: 1px solid #333333;
}
.tellink .icon{ 
    width: 30px;
}
.tellink .text{ 
    line-height: 20px;
    color: #333333;
}

.Content .btns .formlink{
    width: calc(50% -10px);
}


@media screen and (max-width: 736px){
    .Content {
        padding-bottom: 20px;
    }
    .Content .title{
        font-size: 14px;
        padding: 5px 10px;
        letter-spacing: 0px;
    }
    .Content .text{
        font-size: 14px;
        line-height: 28px;
        padding: 0px 10px;
        letter-spacing: 0px;
    }
    .Content .text .bold{
        font-size: 16px;
        font-weight: bold;
    }
    .Content .btns{
        display: flex;
        gap: 10px;
        padding: 10px 0 50px;
        flex-flow: column;
        width: 90%;
        margin: 0 auto;
    }
    .link{
        display: flex;
        width:91%;
        margin: 0 auto;
        align-items: center;
        justify-content: center;
        gap: 0px;
        padding: 10px 0;
    }
    .link .icon{ 
        width: 25px;
    }
    .link .text{ 
        font-size: 14px;
    }
    

    .formlink .icon{ 
        width: 25px;
    }

    .tellink{
        padding: 5px 0;
    }
    .tellink .icon{ 
        width: 20px;
    }
    .tellink .text{ 
        line-height: 17px;
        color: #333333;
    }
    
    .Content .btns .formlink{
        width: 90%;
    }
}

.accordion {
    position: relative;
}

.grad-btn {
    background-color: #7088b9;
    border: 1px solid #7088b9;
    bottom: -44px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 18px;
    letter-spacing: 1px;
    left: 0;
    margin: auto;
    padding: 10px 15px;
    position: absolute;
    right: 0;
    text-align: center;
    transition: all .2s;
    width: 50%;
    z-index: 1;
}
.grad-btn::before {
    content: "続きを読む"
}
.grad-item {
    position: relative;
    overflow: hidden;
    height: 277px; /*隠した状態の高さ*/
    transition: height 0.3s linear;
}
.grad-item-p {
    position: relative;
    overflow: hidden;
    height: 209px; /*隠した状態の高さ*/
    transition: height 0.3s linear;
}
.grad-item::before {
    display: block;
    background:#fff;
    bottom: 0;
    content: "";
    height: 60px; /* グラデーションで隠す高さ */
    position: absolute;
    width: 100%;
}
.grad-item-p::before {
    display: block;
    background:#fff;
    bottom: 0;
    content: "";
    height: 40px; /* グラデーションで隠す高さ */
    position: absolute;
    width: 100%;
}
.grad-trigger {
    display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked ~ .grad-btn{
    bottom: -55px;
}
.grad-trigger:checked ~ .grad-btn::before {
    content: "閉じる" /*チェックされていたら、文言を変更する*/
}
.grad-trigger:checked ~ .grad-item {
    height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item-p {
    height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
    display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}
.grad-trigger:checked ~ .grad-item-p::before {
    display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}
@media screen and (max-width: 736px){

    .grad-btn {
        display: inline-block;
        font-size: 14px;
        letter-spacing: 1px;
        left: 0;
        padding: 10px 10px;
        right: 0;
        width: 80%;
        z-index: 1;
        bottom: -37px;
    }
    .grad-btn::before {
        content: "続きを読む"
    }
    .grad-item {
        position: relative;
        overflow: hidden;
        height: 263px; /*隠した状態の高さ*/
        transition: height 0.3s linear;
    }
    .grad-item-p {
        position: relative;
        overflow: hidden;
        height: 199px; /*隠した状態の高さ*/
        transition: height 0.3s linear;
    }
    .grad-item::before {
        display: block;
        background:#fff;
        bottom: 0;
        content: "";
        height: 50px; /* グラデーションで隠す高さ */
        position: absolute;
        width: 100%;
    }
    .grad-item-p::before{
        display: block;
        background:#fff;
        bottom: 0;
        content: "";
        height: 40px; /* グラデーションで隠す高さ */
        position: absolute;
        width: 100%;    
    }
    .grad-trigger {
        display: none; /*チェックボックスは常に非表示*/
    }
    .grad-trigger:checked ~ .grad-btn{
        bottom: -30px;
    }
    .grad-trigger:checked ~ .grad-btn::before {
        content: "閉じる"; /*チェックされていたら、文言を変更する*/
        bottom: -20px;
    }
    .grad-trigger:checked ~ .grad-item {
        height: auto; /*チェックされていたら、高さを戻す*/
        
    }
    .grad-trigger:checked ~ .grad-item-p {
        height: auto; /*チェックされていたら、高さを戻す*/
        
    }
    .grad-trigger:checked ~ .grad-item::before {
        display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
    }
    .grad-trigger:checked ~ .grad-item-p::before {
        display: none; /*チェックされていたら、高さを戻す*/
        
    }
}


/* .ac-labelを親要素としてアイコン位置を絶対値で指定 */
.grad-btn .icon-wrap {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translatey(-50%);
    width: 30px;
    height: 30px;
}
/* .icon-wrapの中でプラスを中央に位置させるために.iconを親要素に設定 */
.grad-btn .icon-wrap .icon {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
}
/* プラスアイコン */
/* ２本の線を.icon-wrapの中央に並行に重ねる */
.grad-btn .icon-wrap .icon:before,
.grad-btn .icon-wrap .icon:after {
    position: absolute;
    content: "";
    display: block;
    transition: all 0.4s;
    background: #fff;
    left: 50%;
    top: 50%;
    width: 50%;
    height: 2px;
    transform: translate(-50%, -50%);
}
/* そのうち1本を縦にする */
.grad-btn .icon-wrap .icon:before {
    transform: translate(-50%, -50%) rotate(90deg);
}

/* プラスアイコンクリック後、マイナスにする */
.grad-trigger:checked ~ .grad-btn .icon-wrap .icon:before {
    transform: translate(-50%, -50%) rotate(0deg);
}
.cta_detail_box > h2 {
    font-weight: normal;
    font-family: 'Noto Serif JP', YakuHanJPs, 'Noto Sans Japanese', 'Hiragino Kaku Gothic Pro', MyYuGothicM, Meiryo, sans-serif;
}
.cta_detail_box > h3 {
    font-weight: normal;
    font-family: 'Noto Serif JP', YakuHanJPs, 'Noto Sans Japanese', 'Hiragino Kaku Gothic Pro', MyYuGothicM, Meiryo, sans-serif;
}
.cta_detail_box{
    padding: 40px 20px 40px;
    background-color: #fff;
    margin-bottom: 50px;
    text-align: center;
}
.cta_detail_box .btns{
    display: flex;
    gap: 20px;
    padding: 10px 0 20px;
    width: 90%;
    margin: 0 auto;
}

.cta_detail_box .btns a{
    height: auto;
}

.cta-title{
    margin-bottom: 10px;
    font-size: 20px;
}
@media screen and (max-width: 736px){
    .cta_detail_box{
        margin:0 15px 50px;
        padding: 20px 10px 20px;
    }
    .cta_detail_box .btns{
    display: flex;
    gap: 10px;
    padding: 10px 0 10px;
    flex-flow: column;
    width: 90%;
    margin: 0 auto;
    }
    .cta_detail_box .btns a{
        height: 35px;
    }
    .cta-float-btn .text{
        line-height: 28px;
        padding: 0px 10px;
        letter-spacing: 0px;
    }
    .link{
        gap: 10px;
    }
    .cta-title{
        margin-bottom: 10px;
        font-size: 16px;
    }
}