 
/* 
Theme Name: fp-network
Author: fp-network
Author URI: 
Version: 1.0
*/
@charset "UTF-8";
/* CSS Document */
html {
    font-size: 62.5%;
}
body {
    width: 100%;
    height: 100%;
    font-size: 1.6em;
    line-height: 1.8;
    letter-spacing: 0.13rem;
    font-weight: 500;
}
*,
*:before,
*:after {
    box-sizing:border-box;
}
@media (max-width: 600px) {
body {
    font-size: 1.4rem;
    line-height: 1.6;
}
.fwB{
    font-weight: 500!important;
}
}
section[id] {
  scroll-margin-top: 100px; /* ヘッダー高さ */
}
@media screen and (max-width:600px){
    section[id] {
    scroll-margin-top: 70px; /* ヘッダー高さ */
    }
}
/* ------------------------------------- /
/   共通
/* ------------------------------------- */
.taC {
    text-align: center;
}
.taR {
    text-align: right;
}
.fwM {
    font-weight: 500;
}
.fwSB {
    font-weight: 600;
}
.fwB {
    font-weight: bold;
}
.flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.justify__between{
    justify-content: space-between;
}
.anchor {
    padding-top: 100px;
    margin-top: -100px;
}
.flex-end{
    align-items: flex-end;
}
.flex-contents{
    justify-content: flex-start!important;
}
*:before,
*:after {
    box-sizing:border-box;
}
.align__center{
    align-items: center;
}
/* ------------------------------------- /
/   inner
/* ------------------------------------- */
.inner {
    width: min(100%, calc(1366px + (6% * 2)));
    margin: 0 auto;
    padding: 0 6%;
}
@media screen and (max-width:600px){
.inner {
    padding: 0 4%;
}
}

/* ------------------------------------- /
/   pc-none、sp-none
/* ------------------------------------- */
.pc-none {
    display: none;
}
.pc-none768 {
    display: none;
}
.pc-none__inline {
    display: none;
}
.pc-none__inline768 {
    display: none;
}
.pc-none__inline1200 {
    display: none;
}
@media screen and (max-width:1200px){
.pc-none__inline1200 {
    display: inline;
}
.sp-none1200 {
    display: none;
}
}
@media screen and (max-width:768px){
.pc-none768 {
    display: block;
}
.pc-none__inline768 {
    display: inline;
}
.sp-none768 {
    display: none;
}
}
@media screen and (max-width:600px){
.pc-none {
    display: block;
}
.pc-none__inline {
    display: inline;
}
.sp-none {
    display: none !important;
}
}

/* ------------------------------------- /
/   サイトカラー、フォント
/* ------------------------------------- */
body {
    font-family: "Noto Serif JP", serif;
    color: #3C3C3C;
}
a {
    color: #1D1D1D;
    text-decoration: none;
    display: block;
}
a:hover {
    opacity: 0.8
}
:root {
    --font-jp: "Noto Serif JP", serif;
    --font-en: "Outfit", sans-serif;
    --font-jp-sans: "Noto Sans JP", sans-serif;
    --color-blue: #0089B2;
    --color-black: #1D1D1D;
}
.font-18{
    font-size: clamp(1.6rem, 3vw, 1.8rem);
}
.font-20{
    font-size: clamp(1.6rem, 3vw, 2rem);
}
.font-25{
    font-size: clamp(2rem, 3vw, 2.5rem);
}
.font-30{
    font-size: clamp(2.3rem, 3vw, 3rem);
}
.font-jp {
    font-family: var(--font-jp);
}
.font-en {
    font-family: var(--font-en);
}
.color-blue {
    color: var(--color-blue);
}
.font-sans{
    font-family: "Noto Sans JP", sans-serif;
}
h1, h2, h3, h4, h5, h6{
    font-weight: 500;
}

/* ------------------------------------- /
/  header
/* ------------------------------------- */
.header{
    background-color: #fff;
    padding:27px 0 ;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 9999;
}
.header__contents{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 5vw;
}
.header__logo{
    max-width: 250px;
}
.header__right{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.header__nav_flex{
    min-width: 1040px;
    width: 100%;
}
.header__nav_list{
    display: flex;
    align-items: center;
}
.header__nav_flex a{
    position: relative;
    margin-left: 55px;
    color: var(--color-blue);
    font-family: var(--font-en);
    font-weight: 600;
    font-size: clamp(1.6rem, 3vw, 1.8rem);
}
.header__nav_flex a:hover {
    color: #4DAFDA;
    opacity: 1;
}
.header__nav_flex a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background-color: var(--color-blue);
    bottom: 20px; 
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}
.header__nav_flex a:hover::after {
    visibility: visible;
    bottom: -8px; /*アニメーションが止まる位置*/
    opacity: 1;
}
.header__nav_txt_contact{
    width: 200px;
}
.contact_btn{
    background-color: var(--color-blue);
    border:solid 1px var(--color-blue);
    border-radius: 50px;
    max-width:200px ;
    width: 100%;
    color: #fff!important;
    display: flex;
    justify-content: center;
}
.contact_btn::after{
    display: none;
}
.contact_btn span {
    padding-left: 25px;
    background-image: url(../img/top/contact_iocn_wh.svg);
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: center left;
    line-height: 50px;
    display: inline-block;
}
.contact_btn:hover{
    color: var(--color-blue)!important;
    background-color: #fff;
}
.contact_btn:hover span{
    background-image: url(../img/top/contact_iocn_blue.svg);
}
/*spnav*/
.header__sp_btn {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    position: fixed;
    top: 30px;
    right: 30px;
    width: 48px;
    height: 48px;
    z-index: 99;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms;
    background-color: #fff;
    box-shadow: 0 0 10px #ccc;
    border-radius: 50px;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header__sp_btn.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header__sp_btn span {
    position: absolute;
    width: 18px;
    height: 2px;
    background: var(--color-blue);
    -webkit-transition: all 400ms;
    transition: all 400ms;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.header__sp_btn span::before {
    content: "";
    position: absolute;
    width: 18px;
    height:2px;
    top: -6px;
    background:  var(--color-blue);
    -webkit-transition: all 400ms;
    transition: all 400ms;
}
.header__sp_btn span::after {
    content: "";
    position: absolute;
    width: 18px;
    height:2px;
    background:  var(--color-blue);
    -webkit-transition: all 400ms;
    transition: all 400ms;
    bottom: -6px;
}
/*open*/
.header__sp_btn.open span{
    background:  #fff;
}
.header__sp_btn.open span::before{
    top: 0;
    transform: rotate(-45deg);
}
.header__sp_btn.open span::after {
    top: 0;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
.header__nav_flex.open {
    position: fixed;
    background: #DBEDDD;
    background: linear-gradient(
79deg, rgba(219, 237, 221, 1) 0%, rgba(153, 219, 229, 1) 100%);
    width: 100%;
    height: 100%;
    overflow-y: auto;
    left: 0;
    top: 0;
    z-index: 1;
}
.header__nav_flex.open .header__nav_list{
    max-width: 800px;
    position: relative;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: max(min(110px, calc(110vw / var(--dsp-width))), calc(110px / var(--dsp-width) * var(--dsp-width-sp))) !important;
    padding-bottom: max(min(110px, calc(110vw / var(--dsp-width))), calc(110px / var(--dsp-width) * var(--dsp-width-sp))) !important;
}
.header__nav_flex.open .header__nav_list li{
    width: 100%;
}
.header__sp_bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 0; /* ナビの下に */
}
.header__sp_bg.open {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}
.header__nav_flex.open a::after{
    display: none;
}
.header__nav_flex .header__sp_logo{
    position: fixed;
    top: 20px;
    width: 250px;
    left: 30px;
    opacity: 0;
    display: none;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header__nav_flex.open .header__nav_txt a{
    position: relative;
    position: relative;
    margin-left: 0;
    padding: 15px 0 ;
    font-size: clamp(2.6rem, 3vw, 4rem);
    font-weight: 600;
}
.header__nav_flex.open .header__nav_txt_contact a{
    max-width: inherit;
    margin-top: 50px;
}
.header__nav_flex.open .header__nav_txt_contact a span{
    padding-left: 46px;
    background-size: 35px;
}
@media (max-width: 1440px) {
.header__nav_flex a {
    margin-left: 25px;
}
.header__nav_flex {
    min-width: 840px;
}
}
@media (max-width: 1320px) {
    .header__sp_btn{
        opacity: 1;
        visibility: visible;
        pointer-events:auto;
    }
    .header__nav_flex{
        display: none;
    }
    .header__nav_flex.open{
        display: none;

        display: block;
    }
    .header__nav_flex.open .header__nav_list{
        padding: 100px 0!important;
    }
}
@media (max-width: 800px) {
    .header{
        padding:17px 0 ;
    }
     .header__nav_flex.open .header__nav_list{
        padding: 100px 20px!important;
     }
     .header__nav_flex.open .header__nav_list li {
        width: 100%;
    }
    .header__sp_btn{
        top:17px ;
        right: 20px;
    }
    .header__nav_flex{
        min-width: inherit;
    }
}
@media (max-width: 600px) {
    .header__logo {
        max-width: 200px;
    }
}

/* ------------------------------------- /
/ main
/* ------------------------------------- */
main {
    overflow: hidden;
}
/* main__post
/* ------------------------------------- */
.mv__wrapper{
    margin-top: 108px;
    background: #DBEDDD;
    background: linear-gradient(223deg,rgba(219, 237, 221, 1) 0%, rgba(153, 219, 229, 1) 100%);
}
.mv__wrapper .inner{
    display: flex;
    /*align-items: center;*/
}
.mv__txt{
    position: relative;
    max-width: 760px;
    width: 100%;
    z-index: 2;
    color: #fff;
    min-height: 760px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mv__txt::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url(../img/top/circle.svg);
    background-repeat: no-repeat;
    background-size:106%;
    background-position: center;
    z-index: -1;
}
.mv__txt div{
    max-width: 455px;
}
.mv__txt h2{
    font-size: clamp(3rem, 3vw, 5rem);
    font-weight: 600;
    margin-bottom:clamp(10px, 3vw, 30px);
    letter-spacing: 0.5rem;
}
.mv__txt p{
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(1.6rem, 3vw, 2rem);
}
.mv__img {
    position: relative;
    z-index: 3;
    width: 50%;
}
.mv__img img {
    position: absolute;
    width: 110%;
    top: 50%;
    transform: translateY(-50%);
    left: -8%;
    z-index: 2;
}
@media (max-width: 800px) {
    .mv__wrapper {
        margin-top: 78px;
    }
    .mv__txt {
        max-width: inherit;
        min-height: 580px;
    }
    .mv__img {
        width: 100%;
    }
    .mv__img img {
        position: absolute;
        width: 90%;
        top: inherit;
        transform: inherit;
        left: inherit;
        right: 10px;
        z-index: 2;
    }
    .mv__txt::before{
        display: none;
    }
    .mv__wrapper{
        position: relative;
        overflow: hidden;
    }
    .mv__wrapper::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: -4%;
        left: -27%;
        background-image: url(../img/top/circle.svg);
        background-repeat: no-repeat;
        background-size: 93%;
        background-position: center;
        z-index: 1;
    }
}
@media (max-width: 600px) {

    .mv__wrapper{
        /*min-height: 800px;*/
        min-height: 100vh;
    }
    .mv__wrapper .inner{
        flex-wrap: wrap;
    }
    .mv__txt {
        /*padding-top: 50px;*/
        max-width: inherit;
        min-height: inherit;
        align-items: flex-start;
        margin-bottom: 30px;
    }
    .mv__wrapper::before {
        top: -14%;
        left: 0;
        background-size: 163%;
        background-position: top center;
    }

}
@media (max-width: 400px) {
.mv__txt p{
    font-size: 1.4rem;
}
}

/* ------------------------------------- /
/  message__wrapper
/* ------------------------------------- */
.message__wrapper{
    overflow: hidden;
}
.message__wrapper .inner{
    position: relative;
}
.message__left_img{
    position: absolute;
    width: 100%;
    max-width: 264px;
    top: 38%;
    left: -3%;
}
.message__right_img{
    position: absolute;
    width: 100%;
    max-width: 264px;
    top: -2%;
    right: -3%;
}
.ttl{
    position: relative;
    margin-bottom: clamp(25px, 4vw, 60px);
}
.ttl::before{
    content: "";
    position: absolute;
    top: 33%;
    width: 100%;
    height: 1px;
    border-bottom: solid 1px #0089B2;
    z-index: -1;
}
.ttl span{
    display: table;
    margin: 7px auto 0;
    color: var(--color-blue);
    position: relative;
    font-family: var(--font-jp-sans);
}
.ttl span.font-en {
    font-size: clamp(2.6rem, 3vw, 4.5rem);
    font-weight: 600;
    letter-spacing: 0.18rem;
    background-color: #fff;
    padding: 0 clamp(20px, 2vw, 45px);
    line-height: 1.2;
}
.ttl span.font-jp:first-child {
    font-size: clamp(2.6rem, 3vw, 4.5rem);
    font-weight: 600;
    letter-spacing: 0.18rem;
    background-color: #fff;
    padding: 0 clamp(20px, 2vw, 45px);
    line-height: 1.2;
}
.ttl span.font-jp-sans{
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.1rem;
}
/* ttl-left */
.ttl-left{
    text-align: left;
}
.ttl-left span{
    margin: 7px auto 0 0;
}
.ttl-left span.font-en{
    padding:0;
    background-color: inherit;
}
.ttl-left::before{
    right: 0;
    width: 55%;
}
.top-about__span{
    padding-left: 35px;
    background-image: url(../img/top/arrow_ttlside.svg);
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: left center;
    font-family: var(--font-en);
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    margin-bottom: 50px;
    display: table;
    margin: 0 auto;
}
.message__p{
    line-height: 2.5;
    text-align: center;
}
@media (max-width: 1660px) {
    .message__left_img{
        left:0;
    }
    .message__right_img{
        right: 0;
    }
}
@media (max-width: 1230px) {
    .message__right_img {
        max-width: 20%;
    }
    .message__left_img {
        max-width: 20%;
        top: inherit;
        bottom:-30%;
    }
    .message__p{
        position: relative;
        z-index: 2;
    }
    }
    @media (max-width: 800px) {
    .message__left_img{
        display: none;
    }
    .message__p{
        text-align: left;
        line-height: 2;
    }
}
@media (max-width: 600px) {
    .message__wrapper{
        padding-bottom: 50px!important;
    }
    .message__right_img {
        max-width: 22%;
        top: 2%;
    }
}
/* ------------------------------------- /
/  about__wrapper
/* ------------------------------------- */
.about__wrapper{
    color:#3C3C3C ;
}
.about__wrapper .flex{
    align-items: stretch;
}
.about__img{
    width: 47%;
}
.about__txt{
    width: 47%;
    display: flex;
    flex-flow: column;
    line-height: 2.2;
}
.about__txt h3{
    letter-spacing: 0.17rem;
    margin-bottom: clamp(10px, 2vw, 25px);
}
.about__links{
    margin-top:auto ;
}
.order2{
    order: 2;
}
.about__flex2{
    margin-top: clamp(30px, 6vw, 110px);
}
.btn{
    border: solid 1px var(--color-blue);
    font-size: clamp(1.6rem, 3vw, 1.8rem);
    text-align: center;
    font-family: var(--font-jp-sans);
    background-size:19px,34px;
    background-repeat: no-repeat;
    background-position: left 1px top 1px , center right 20px ;
    height: 65px;
    width: 48%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition:all 0.3s ease;
}
.btn__blue{
    background-color: var(--color-blue);
    color: #fff;
    background-image: url(../img/top/kado_wh.svg),url(../img/top/arroow_wh.svg);
}
.btn__wh{
    background-color:#fff;
    color:  var(--color-blue);
    background-image: url(../img/top/kado_blue.svg),url(../img/top/arroow_blue.svg);
}
.btn:hover{
    opacity: 1;
    background-position: left 0.5px top 0.5px , center right 16px ;
    transition:all 0.3s ease;
}
.btn__blue:hover{
    background-color:#fff;
    color:  var(--color-blue);
    background-image: url(../img/top/kado_blue.svg),url(../img/top/arroow_blue.svg);
}
.btn__wh:hover{
    background-color: var(--color-blue);
    color: #fff;
    background-image: url(../img/top/kado_wh.svg),url(../img/top/arroow_wh.svg);
}
@media (max-width: 1450px) {
    .about__links{
        flex-wrap: wrap;
        margin-top: 20px;
    }
    .about__links a{
        width: 100%;
        margin-bottom: 15px;
    }
}
@media (max-width: 1200px) {
    .about__img{
        width: 100%;
        margin-bottom: 20px;
    }
    .about__txt{
        width: 100%;
    }
    .order2{
        order: -1;
    }
}
@media (max-width: 600px) {
    .about__txt h3 {
        line-height: 1.4;
    }
}
/* ------------------------------------- /
/  service__wrapper
/* ------------------------------------- */
.service__wrapper{
    position: relative;
}
.service__wrapper::before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 80%;
    background: #E8FCFF;
    background: linear-gradient(216deg,rgba(232, 252, 255, 1) 0%, rgba(244, 252, 245, 1) 100%);
}
.service__wrapper .inner{
    position: relative;
    z-index: 1;
}
.service__links a{
    height: 100px;
    margin-bottom: clamp(15px, 4vw, 30px);
}
.service__h3{
    color: var(--color-blue);
    margin-top: clamp(20px, 7vw, 50px);
    margin-bottom: clamp(20px, 7vw, 50px);
    position: relative;
    padding-left:32px ;
}
.service__h3::after{
    content: "";
    width: 17px;
    height: 17px;
    border-radius: 50px;
    background-color: var(--color-blue);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}
.service__bnr a{
    width: 31%;
}
@media (max-width: 800px) {
    .service__links a{
        justify-content: flex-start;
        padding-left: 25px;
    }
    .ttl-left::before {
        width: 35%;
        top: 28%;
    }
}
@media (max-width: 600px) {
    .service__bnr a{
        width: 100%;
        margin-bottom: 10px;
    }
    .service__links a{
        width: 100%;
        height: 70px;
    }
    .ttl-left::before{
        display: none;
    }
}

/* ------------------------------------- /
/ contact__contents
/* ------------------------------------- */
.contact__contents{
    background-image: url(../img/top/contact_bg.jpg);
    border-radius:10px;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 10px;
    padding:clamp(20px, 5vw, 45px);
}
.contact__ttl{
    position: relative;
    margin-bottom: clamp(25px, 4vw, 60px);
    color: #fff;
}
.contact__ttl::before{
    content: "";
    position: absolute;
    top: 33%;
    width: 35%;
    height: 1px;
    border-bottom: solid 1px #fff;
}
.contact__ttl::after{
    content: "";
    position: absolute;
    top: 33%;
    width: 35%;
    right: 0;
    height: 1px;
    border-bottom: solid 1px #fff;
}
.contact__ttl span{
    display: table;
    margin: 7px auto 0;
    position: relative;
    font-family: var(--font-jp-sans);
}
.contact__ttl span.font-en {
    font-size: clamp(2.6rem, 3vw, 4.5rem);
    font-weight: 600;
    letter-spacing: 0.18rem;
    padding: 0 clamp(20px, 2vw, 45px);
    line-height: 1.2;
}
.contact__ttl span.font-sans{
    letter-spacing: 0.1rem;
}
.contact__flex_links a{
    width: 32%;
    background-color: #fff;
    border: solid 1px #fff;
    color: #EDA464;
    font-family: var(--font-jp-sans);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    height: 129px;
    display: flex;
    flex-flow: column;
    align-items: left;
    justify-content: center;
    background-image: url(../img/top/kado_org.svg), url(../img/top/arrow__org.svg);
    background-size:26px,40px;
    background-repeat: no-repeat;
    background-position: left 1px top 1px , right 35px center;
    transition:all 0.3s ease;
}
.contact__flex_links a:first-child{
   background-image: url(../img/top/kado_org.svg), url(../img/top/blank_org.svg);
    background-size:26px,20px;
    background-repeat: no-repeat;
    background-position: left 1px top 1px , right 35px center;
}
.contact__flex_links a span{
    background-repeat: no-repeat;
    background-position: left center ;
    line-height: 129px;
    display: inline-block;
    margin-left: 35px;
}
.line_links{
    background-image: url(../img/top/line_icon.svg);
    background-size:48px;
    padding-left: 65px;
}
.tel_links{
    background-image: url(../img/top/tel_org.svg);
    background-size:26px;
    padding-left: 45px;
}
.mail_links{
    background-image: url(../img/top/mail_org.svg);
    background-size:48px;
    padding-left: 65px;
}
.contact__flex_links a:hover{
    opacity: 1;
    background-color:#EDA464;
    color: #fff;
    transition:all 0.3s ease;
    background-image: url(../img/top/kado_wh2.svg), url(../img/top/arroow_wh.svg);
    background-position: left 1px top 1px , right 25px center;
}
.contact__flex_links a:first-child:hover{
    background-image: url(../img/top/kado_wh2.svg), url(../img/top/blank_wh.svg);
    background-position: left 1px top 1px , right 25px center;
}
.contact__flex_links a:hover .tel_links{
    background-image: url(../img/top/tel_wh.svg);
}
.contact__flex_links a:hover .mail_links{
    background-image: url(../img/top/mail_wh.svg);
}
@media (max-width: 1350px) {
    .contact__flex_links a{
        width: 49%;
    }
    .contact__flex_links a:first-child{
        width: 100%;
        margin-bottom: 20px;
    }

}
@media (max-width: 800px) {
    .contact__flex_links a{
        width: 100%;
        margin-bottom: 20px;
    }
    .contact__flex_links a:last-child{
        margin-bottom: 0;
    }
}
@media (max-width: 600px) {

    .contact__flex_links a{
        height: 70px;
    }
    .contact__flex_links a span{
        line-height: 70px;
    }
    .line_links{
        background-size:38px;
        padding-left: 55px;
    }
    .tel_links{
        background-size:20px;
        padding-left: 55px;
        background-position: left 10px center!important;
    }
    .mail_links{
        background-size:32px;
        padding-left: 55px;
    }
    .contact__flex_links a:first-child {
        background-image: url(../img/top/kado_org.svg), url(../img/top/blank_org.svg);
        background-size: 26px, 13px;
    }
    .contact__ttl::before,
    .contact__ttl::after {
        width: 25%;
    }
}


/* ------------------------------------- /
/ voice__wrapper
/* ------------------------------------- */
.voice__p{
    text-align: center;
    font-size: clamp(1.6rem, 3vw, 1.8rem);
    margin-bottom: clamp(30px, 6vw, 60px);
}
.voice__list{
    align-items: stretch;
}
.voice__box{
    width: 32%;
    border: solid var(--color-blue ) 2px;
    border-radius: 5px;
    padding: clamp(20px, 3vw, 30px);
    font-family: var(--font-jp-sans);
    color: #3C3C3C;
    min-height: 380px;
}
.voice__icon{
    width: 74px;
}
.voice__box h3{
    width: 70%;
    font-size: clamp(1.6rem, 3vw, 1.8rem);
    line-height: 1.5;
}
.voice__box_bm{
    margin-top: clamp(15px, 3vw, 25px);
}
.more_btn{
    width: 100%;
    max-width: 300px;
    margin: clamp(30px, 4vw, 70px) auto 0;
}
@media (max-width: 1200px) {
    .voice__box h3 {
        width: 100%;
        margin-top: 10px;
    }
    .voice__icon{
        margin:0 auto;
    }
}
@media (max-width: 800px) {
    .voice__box{
        width: 100%;
        margin-bottom: 20px;
        min-height:inherit ;
    }
    .voice__list{
        align-items:inherit;
    }
}
/* ------------------------------------- /
/ news__wrapper
/* ------------------------------------- */
.news__bg{
    background-color: #F8F8F8;
    border-radius: 5px;
}
h2.news__ttl {
    position: relative;
    top: -24px;
}
.news__ttl span{
    display: table;
    margin: 7px auto 0;
    font-family: var(--font-jp-sans);
    color: var(--color-blue);
}
.news__ttl span.font-en {
    font-size: clamp(2.6rem, 3vw, 4.5rem);
    font-weight: 600;
    letter-spacing: 0.18rem;
    padding: 0 clamp(20px, 2vw, 45px);
    line-height: 1.2;
}
.news__ttl span.font-sans{
    letter-spacing: 0.1rem;
}
.news__list{
    max-width: 1250px;
    margin: 0 auto;
}
.news__list dl{
    font-size: clamp(1.6rem, 3vw, 1.8rem);
    border-bottom: solid 1px #D1D1D1;
    padding: 30px 0;
    display: flex;
}
.news__list dt{
    font-family: "Outfit", sans-serif;
    color: #868686;
    width: 145px;
}
.news__list dd{
    font-family: var(--font-jp-sans);
    width: 90%;
}
.news__list dd a{
    color: var(--color-blue);
    background-image:url(../img/top/arroow_blue.svg);
    background-position: center right;
    background-repeat:no-repeat;
    transition: all 0.3s ease;
    padding-right: 110px;

}
.news__list dd a:hover{
    background-position: center right 20px;
}
@media (max-width: 1550px) {
.news__list{
    padding: 0 30px;
}

}
@media (max-width: 768px) {
    .news__list dd a{
        background-image: none;
        padding-right: 0;
    }
    .news__list dl{
        padding: 15px 0;
    }
}
@media (max-width: 600px) {
    .news__list dl{
        flex-wrap: wrap;
    }
    .news__list dt{
        width: 100%;
    }
    .news__list dd{
        width: 100%;
    }
    h2.news__ttl {
        top: -17px;
    }
}
/* ------------------------------------- /
/ recruit__wrapper
/* ------------------------------------- */
.recruit__bg{
    padding: 76px 45px;
    align-items: center;
    background: #61C9A9;
    background: linear-gradient(299deg,rgba(97, 201, 169, 1) 0%, rgba(40, 173, 213, 1) 80%);
}
.recruit__ttl{
    width: 40%;
    color: #fff;
    font-size: clamp(1.6rem, 3vw, 1.8rem);
    font-family: var(--font-jp-sans);
    padding-left: 50px;
}
.recruit__ttl span{
    font-size: clamp(2.6rem, 3vw, 4.5rem);
    font-weight: 600;
    font-family: "Outfit", sans-serif;
    display: block;
    margin-bottom: 8px;
}
.recruit__btn{
    width: 52%;
    height: 100px;
    border: 0;
    justify-content: left;
    padding-left: 45px;
    background-position: left top, center right 20px;
}
.recruit__btn:hover{
    background-color: #fff;
    color: var(--color-blue);
    background-position: left top, center right 40px;
    background-image: url(../img/top/kado_blue.svg), url(../img/top/arroow_blue.svg);
}
@media (max-width: 800px) {
    .recruit__bg{
        padding: 46px 35px;
    }
    .recruit__ttl{
        width: 100%;
        padding-left: 0px;
        margin-bottom: 20px;
    }
    .recruit__btn{
        width: 100%;
    }
}
@media (max-width: 600px) {
    .recruit__bg{
        padding: 35px 25px;
    }
    .recruit__btn{
        height: 70px;
    }
}
/* ------------------------------------- /
/ footer
/* ------------------------------------- */
.footer{
    background: #E8FCFF;
    background: linear-gradient(216deg, rgba(232, 252, 255, 1) 0%, rgba(244, 252, 245, 1) 100%);
}
.footer__left{
    width: 50%;
}
.footer__logo{
    width: 330px;
    margin-bottom: 15px;
}
.footer__add{
    margin-bottom: 15px;
}
.footer__txt p a{
    display: inline;
}
.footer__line{
    margin-top:25px;
    width: 48px;
}


.footer__right{
    width: 50%;
}
.footer__nav-main{
    width: 30%;
}
.footer__nav-main:nth-child(1){
    width: 20%;
}
.footer__nav-main a{
    color: var(--color-blue);
    font-family: var(--font-en);
    font-size: clamp(1.6rem, 3vw, 1.8rem);
    font-weight: 600;
    margin-bottom: 25px;
}
.footer__nav-sub a{
    color: var(--color-blue);
    font-family: var(--font-jp-sans);
    font-size: clamp(1.4rem, 3vw, 1.6rem);
    font-weight: 500;
    padding-left: 25px;
    position: relative;
    margin-bottom: 6px;
}
.footer__nav-sub a::before{
    content: "";
    position: absolute;
    width: 15px;
    height: 1px;
    background-color: var(--color-blue);
    top: 15px;
    left: 0;
}
.footer__right .contact_btn{
    margin-top: 30px;
    margin-left: auto;
}
.copy {
    color: var(--color-blue);
    width: 100%;
    font-size: clamp(1.2rem, 3vw, 1.6rem);
    font-family: var(--font-jp-sans);
    text-align: center;
    
}
.copy a{
    display: inline;
    color: var(--color-blue);
}
.copy a:hover{
    color: var(--color-blue);
}
@media (max-width: 1530px) {
.footer__left{
    width: 30%;
}
.footer__right{
    width: 65%;
}

}
@media (max-width: 1200px) {
    .footer__left{
        width: 100%;
        margin-bottom: 40px;
        position: relative;
    }
    .footer__right{
        width: 100%;
    }
    .footer__line{
        position: absolute;
        right: 0;
        top: 0;
        margin-top: 0;
        width: 37px;
    }
    .footer__right .contact_btn{
        margin-right: auto;
    }
}
@media (max-width: 600px) {
    .footer{
        margin-top: 50px;
    }
    .footer__logo img{
        width: 240px;
    }
    .copy {
        text-align: center;
        margin-top: 20px;
    }
    .footer__nav-main{
        width: 100%;
    }
    .footer__nav-main a{
        margin-bottom: 10px;
    }
    .copy{
        padding-top: 30px!important;
    }
}

/* ------------------------------------- /
/ 下層共通
/* ------------------------------------- */
.l-main__wrapper{
    margin-top: 106px;
    position: relative;
    color: var(--color-blue);
}
.l-main__wrapper::before {
    content: "";
    position: absolute;
    width: 86%;
    height: 100%;
    bottom: -66px;
    right: 0px;
    z-index: -1;
    background: #F4FCF5;
    background: linear-gradient(151deg, rgba(244, 252, 245, 1) 28%, rgba(232, 252, 255, 1) 100%);
}
.l-main__wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 86%;
    height: 100%;
    background-image:url(../img/lower/business__main_bg.jpg);
    background-position: center;
    background-size: cover;
    background-repeat:no-repeat;
}
.l-main__wrapper .inner{
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    min-height: 315px
}
.l-main__ttl{
    color: #fff;
    font-size: clamp(2.5rem, 4vw, 7rem);
    letter-spacing: 0.3rem;
}
.l-main__ttl span{
    font-family: var(--font-en);
    font-size: clamp(1.8rem, 3vw, 3rem);
    padding-left: 20px;
}

.breadcrumbs_area a{
    display: inline;
    color: #BABABA;
    margin-top: 10px;
}
.breadcrumbs {
    margin-top: 18px;
    text-align: right;
    color: #BABABA;
    font-family: var(--font-jp-sans);
}
.breadcrumbs_area span .current-item {
    color:#3C3C3C;
}
.l-margin{
    margin-top: clamp(90px, 15vw, 150px);
}
@media (max-width: 800px) {
    .l-main__wrapper {
        margin-top: 86px;
    }
}

@media (max-width: 600px) {
    .l-main__wrapper {
        margin-top: 74px;
    }
    .l-main__wrapper .inner {
        min-height: 215px;
    }
    .l-main__wrapper::after {
        width: 92%;
    }
    .l-main__wrapper::before {
        width: 93%;
        bottom: -46px;
    }
    .breadcrumbs {
        margin-top: 8px;
    }
    .l-main__ttl{ 
        letter-spacing: 0.2rem;
    }
}
/* ------------------------------------- /
/ l-service
/* ------------------------------------- */
.l-service__flex{
    align-items: stretch;
    font-family: var(--font-jp-sans);
}
.l-service__box{
    width: 48%;
    border-radius: 10px;
    padding: clamp(20px, 3vw, 30px);
    font-size: clamp(1.6rem, 2vw, 1.8rem);
    background: #F4FCF5;
    background: linear-gradient(151deg, rgba(244, 252, 245, 1) 28%, rgba(232, 252, 255, 1) 100%);
}
.l-h3__ttl{
    color: var(--color-blue);
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    padding-left: clamp(25px, 3vw, 32px);
    position: relative;
    margin-bottom: clamp(20px, 5vw, 40px);
}
.l-service__box h3::before{
    content: "";
    width: 17px;
    height: 17px;
    border-radius: 50px;
    background-color: var(--color-blue);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.l-service__box div{
    margin-left: clamp(0, 3vw, 24px);
}
.l-service__txt{
    background-color: #fff;
    padding: clamp(20px, 3vw, 30px);
    margin-left: clamp(0, 3vw, 24px);
    margin-bottom: clamp(20px, 3vw, 30px);
}
.l-service__txt p,
.l-s__indent {
    text-indent: -18px;
    margin-left: 18px;
}
.l-service__txt span{
    background-color: var(--color-blue);
    color: #fff;
    border-radius: 50px;
    padding: 3px 22px;
    margin-bottom: clamp(9px, 3vw, 20px);
    display: inline-block;
}
.mb0{
    margin-bottom: 0!important;
}
.l-service__box_100{
    width: 100%;
    margin-top: 30px;
}
.l-service__box_100_flex{
    background-color: #fff;
    padding: 30px;
}
.l-service__box_100_flex div{
    width: 47%;
}
.l-service__box_100_flex div p{
    margin-bottom: clamp(10px, 5vw, 25px);
}
.l-service__box_100_flex h4{
    color: var(--color-blue);
    font-weight: 500;
    margin-bottom: 25px;
    margin-left: -20px;
}
.l-service__box_100_flex h4::before{
    content: "・";
}
.btn_100{
    width: 100%;
}
.btn__blue_target{
    height: 100px;
    background-image: url(../img/top/kado_wh.svg), url(../img/top/blank_wh.svg);
    background-size: 26px, 20px;
    background-repeat: no-repeat;
    background-position: left 1px top 1px, right 35px center;
}
.btn__blue_target:hover{
    background-position: left 1px top 1px, right 35px center;
    background-image: url(../img/top/kado_blue.svg), url(../img/top/blank_blue.svg);
}
#service,
#bousai,
#hokenkanri {
  scroll-margin-top: 100px; /* ヘッダーの高さ */
}
/* l-voice------------- */
.l-voice__wrapper{
    background-color: #F8F8F8;
}
.l-voice__wrapper .ttl{
    z-index: 2;
}
.l-voice__wrapper .ttl span.font-en{
    background-color: #F8F8F8;
}
.l-voice__flex{
    align-items: stretch;
}
.l-voice__box{
    width: 48%;
    font-family: var(--font-jp-sans);
    background-color: #fff;
    border: solid 1px var(--color-blue);
    border-radius: 10px;
    padding:clamp(15px, 3vw, 30px) ;
    margin-bottom: clamp(30px, 3vw, 60px) ;
}
.l-voice__box_flex{
    background-image: url(../img/lower/doto__line.svg);
    background-size: 10px;
    background-repeat: repeat-x;
    background-position: bottom;
    padding-bottom: clamp(15px, 3vw, 30px) ;
}
.l-voice__box .voice__icon{
    width: 88px;
}
.l-voice__box h3{
    width: 80%;
    font-size: clamp(1.6rem, 2vw, 1.8rem);
}
@media only screen and (max-width: 1200px) {
    .l-service__box{
        width: 100%;
        margin-bottom: 30px;
    }
    .l-service__box_100_flex div {
        width: 100%;
        margin-bottom: 30px;
    }
    .l-service__box_100_flex div:last-child {
        margin-bottom: 0;
    }
    .l-voice__box h3 {
        width: 100%;
        margin-top: 10px;
    }
}
@media only screen and (max-width: 600px) {
    .l-service__wrapper .ttl span.font-en {
        font-size: clamp(2.3rem, 3vw, 4.5rem);
    }
    .l-service__box_100_flex h4 {
        margin-bottom: 15px;
        margin-left: 5px;
        text-indent: -20px;
        line-height: 1.5;
    }
    .btn__blue_target{
        background-position: left 1px top 1px, right 10px center;
    }
    .btn__blue_target:hover{
        background-position: left 1px top 1px, right 10px center;
    }
    .l-voice__box{
        width: 100%;
    }
}
/* ------------------------------------- /
/ l__about
/* ------------------------------------- */
.l-main__about::after {
    background-image: url(../img/lower/about__main_bg.jpg);
}
.l-company__bg{
    background-color: #fff;
    border-radius: 10px;
    box-shadow:0 0 18px #18617752;
    max-width: 1000px;
    margin: 0 auto;
    padding: clamp(20px, 5vw ,100px);
}
.l-company__table{
    width: 100%;
    font-family: var(--font-jp-sans);
    font-size: clamp(1.6rem, 2vw, 1.8rem);
}
.l-company__table th {
    width: 210px;
    text-align: left;
    color:var(--color-blue);
    padding: 16px;
}
.l-company__table td {
    padding-bottom: clamp(15px, 3vw ,45px);
    padding-top: 0;
}
.l-company__table ul {
    margin: 0;
}
.l-company__table li::before{
    content: "・";
}
/* l-philosophy-------------------- */
.l-philosophy__wrapper p{
    text-align: center;
    font-family: var(--font-jp-sans);
    font-size: clamp(1.6rem, 2vw, 1.8rem);
}
/* l-policy------------------------- */
.l-policy__wrapper{
    background-color: #F8F8F8;
}
.l-policy__wrapper .ttl{
    z-index: 2;
}
.l-policy__wrapper .ttl span.font-en{
    background-color: #F8F8F8;
}
.l-policy__box{
    background-color: #fff;
    max-width: 1000px;
    margin: 0 auto;
    border-radius: 10px;
    padding:clamp(20px, 6vw ,80px) 20px ;
    font-family: var(--font-jp-sans);
    font-size: clamp(1.6rem, 2vw, 1.8rem);
}
.l-policy__list{
    max-width: 765px;
    margin: 0 auto;
}
.l-policy__list li{
    position: relative;
    margin-bottom: clamp(20px, 3vw ,40px);
    padding-left:70px;
}
.l-policy__list li span {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border: solid 1px var(--color-blue);
    border-radius: 50px;
    width: 40px;
    height: 40px;
    line-height: 37px;
    padding-left: 2px;
    text-align: center;
    color: var(--color-blue);
}
/* l-map------------------------- */
.l-map__wrapper .btn{
    max-width: 300px;
    margin-top: clamp(20px, 6vw ,70px);
    height: 65px;
    margin: clamp(20px, 6vw ,70px) auto 0;
}
/* l-recruit------------------------- */
.l-recruit__wrapper{
    position: relative;
    background: #61C9A9;
    background: linear-gradient(299deg, rgba(97, 201, 169, 1) 0%, rgba(40, 173, 213, 1) 80%);
}
.l-recruit__wrapper::before{
    content: "";
    position: absolute;
    width: 80%;
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    background-image: url(../img/lower/l-recruit_person.png);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 100%;
}
.l-recruit__wrapper .inner{
    position: relative;
    z-index: 2;
}
.l-recruit__ttl {
    max-width:812px ;
    margin: 0 auto;
    position: relative;
    margin-bottom: clamp(25px, 4vw, 60px);
    color: #fff;
}
.l-recruit__ttl::before {
    content: "";
    position: absolute;
    top: 33%;
    width: 35%;
    height: 1px;
    border-bottom: solid 1px #fff;
    z-index: 1;
}
.l-recruit__ttl::after {
    content: "";
    position: absolute;
    top: 33%;
    width: 35%;
    right: 0;
    height: 1px;
    border-bottom: solid 1px #fff;
}
.l-recruit__ttl span.font-en{
    background-color: inherit;
}
.l-recruit__ttl span{
    color: #fff;
}
.l-recruit__wrapper p{
    text-align: center;
    font-size: clamp(1.6rem, 2vw, 1.8rem);
    font-family: var(--font-jp-sans);
    color: #fff;
    margin-bottom: clamp(25px, 4vw, 50px);
}
.l-recruit__wrapper .recruit__btn{
    margin: 0 auto;
}
/* l-solicitation------------------------- */
.l-solicitation__box{
    max-width: 1000px;
    margin: 0 auto;
    font-size: clamp(1.6rem, 2vw, 1.8rem);
    font-family: var(--font-jp-sans);
}
.l-solicitation__box h3,
.l-privacy__box h3{
    background-color: var(--color-blue);
    color: #fff;
    padding: 10px 20px;
    margin-bottom: clamp(20px, 3vw, 40px);
}

.l-solicitation__box h4{
    color:  var(--color-blue);
    margin-bottom: 15px;
    margin-top: clamp(20px, 3vw, 40px);
}
.l-solicitation__box h4::before{
    content: "♦︎ ";
}
.l-solicitation__box ul{
    margin-left: 28px;
}
.l-solicitation__box li::before{
    content: "・";
}
.l-solicitation__box li {
    text-indent: -25px;
    line-height: 1.4;
    margin-bottom: 15px;
}
.policy-note{
    margin-top: clamp(20px, 3vw, 40px);
}
/* l-privacy__------------------------- */
.l-privacy__box{
        max-width: 1000px;
    margin: 0 auto;
    font-size: clamp(1.6rem, 2vw, 1.8rem);
    font-family: var(--font-jp-sans);
}
.l-privacy__box h4{
    color: var(--color-blue);
    margin-bottom: 10px;
    margin-top: clamp(30px, 4vw, 50px);
}
.l-privacy__box a{
    display: inline;
    text-decoration: underline;
    color: #00B1FF;
}
.l-privacy__add{
    margin-top: clamp(30px, 4vw, 50px);
}
@media only screen and (max-width: 800px) {
    .l-recruit__wrapper::before {
        width: 100%;
        bottom: 150px;
        background-size: 85%;
    }
}
@media only screen and (max-width: 600px) {
    .l-company__table th {
        width: 100%;
        display: block;
        padding: 7px 0;
    }
    .l-company__table td{
        display: block;
    }
    .l-company__bg {
        width: 95%;
    }
    .l-map__wrapper iframe{
        height: 500px;
    }
    .l-recruit__wrapper{
        overflow: hidden;
    }
    .l-recruit__wrapper::before {
        width: 110%;
        bottom: 120px;
        background-size: 85%;
    }
    .l-recruit__ttl::before,
    .l-recruit__ttl::after{
        width: 27%;
    }
    .ttl span.font-en_long{
        font-size: clamp(2.3rem, 3vw, 4.5rem);
    }
}
/* ------------------------------------- /
/ single
/* ------------------------------------- */
.single__inner{
    max-width: 1220px;
    margin: 0 auto;
}
.single__date{
    color: #868686;
    font-family: var(--font-en);
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 10px;
}
.single__h1{
    color: var(--color-blue);
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.4;
    border-bottom: solid 1px #3C3C3C;
    padding-bottom: clamp(10px, 4vw, 30px);
    margin-bottom: clamp(20px, 4vw, 55px);
}
.single__contents{
    font-family: var(--font-jp-sans);
}
.single__contents p{
    margin-bottom: 10px;
}
.single__contents .wp-block-image{
    margin: clamp(20px, 4vw, 30px) 0;
}
.single__contents img{
    border-radius: 10px;
}
.single__contents h2{
    color: var(--color-blue);
    background: #F4FCF5;
    margin: clamp(20px, 3vw, 30px) 0;
    padding: 20px;
    font-size: clamp(2rem, 3vw, 2.2rem);
    font-family: var(--font-jp);
    background: linear-gradient(151deg, rgba(244, 252, 245, 1) 28%, rgba(232, 252, 255, 1) 100%);
}
.single__contents h3{
    position: relative;
    margin: clamp(10px, 3vw, 20px) 0;
    padding-left: 30px;
    color: var(--color-blue);
    font-size: clamp(1.7rem, 3vw, 2rem);
}
.single__contents h3::before{
    content: "";
    width: 14px;
    height: 14px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #61C9A9;
    background: linear-gradient(299deg, rgba(97, 201, 169, 1) 0%, rgba(40, 173, 213, 1) 80%);   
}
/*single__prevnext*/
.single__prevnext{
    margin: 100px auto 0;
    align-items: center;
    font-family: var(--font-jp-sans);
}
.single__prevnext .prev,
.single__prevnext .next{
    width: 140px;
}
.single__prevnext .prev a,
.single__prevnext .next a{
    width: 150px;
    text-align: center;
    color: var(--color-blue);
    border-bottom: solid 1px var(--color-blue);
    padding-bottom: 10px;
}
.single__btn{
    background-color: var(--color-blue);
    color: #fff;
    background-image: url(../img/lower/kado-r_wh.svg), url(../img/lower/arrow_back.svg);
    border: solid 1px var(--color-blue);
    font-size: clamp(1.6rem, 3vw, 1.8rem);
    text-align: center;
    font-family: var(--font-jp-sans);
    background-size: 19px, 34px;
    background-repeat: no-repeat;
    background-position: right 1px top 1px, center left 20px;
    height: 65px;
    width: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
.single__btn:hover{
    background-color: #fff;
    color: var(--color-blue);
    background-image: url(../img/lower/kado-r_wh_blue.svg), url(../img/lower/arrow_back_blue.svg);
    
}
@media only screen and (max-width: 1200px) {
    .single__inner{
        padding: 0 20px;
    }
}
@media only screen and (max-width: 600px) {

    .single__prevnext{
        margin-top: 40px;
    }
    .single__btn{
        width: 160px;
        background-image: url(../img/lower/kado-r_wh.svg);
    }
    .single__prevnext .prev a,
    .single__prevnext .next a {
        width: 30px;
        height: 30px;
        text-indent: -9999px; /* 文字を画面外へ */
        overflow: hidden;
        white-space: nowrap;
        position: relative;
        text-decoration: none;
    }
    .single__prevnext .prev a::before,
    .single__prevnext .next a::after {
        content: "←";
        text-indent: 0;
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
    }
    .single__prevnext .next a::after {
        content: "→";
    }
    .single__prevnext .prev, .single__prevnext .next {
        width: 30px;
    }
}

/* ------------------------------------- /
/ l-contact
/* ------------------------------------- */
.l-contact_inner{
    max-width: 1200px;
    margin: 0 auto;
}
/* l-contact-top ------------------------*/
.l-contact__flex{
    align-items: stretch;
}
.l-contact__box{
    width: 48%;
    background-color: #fff;
    border: solid 1px var(--color-blue);
    padding: clamp(20px, 3vw , 40px);
    position: relative;
    text-align: center;
}
.l-contact__box::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    background: linear-gradient(
    299deg,
    rgba(97, 201, 169, 1) 0%,
    rgba(40, 173, 213, 1) 80%
    );
   clip-path: polygon(0 0, 100% 0, 0 100%);
}
.l-contact__box-tel{
    align-items: center;
    justify-content: center;
}
.l-contact__box p{
    font-family: var(--font-jp-sans);
    font-size: clamp(1.8rem, 3vw, 2rem);
}
.l-contact__box a{
    font-family: var(--font-en);
    font-size: clamp(3rem, 4vw, 5rem);
    color: var(--color-blue);
}
.l-contact__box-line{
    align-items: center;
}
.l-contact__box img{
    width: 160px;
}
.l-contact__inner{
    max-width: 1000px;
    margin: 0 auto;
}
@media only screen and (max-width: 1200px) {
    .l-contact_inner{
        padding: 0 20px;
    }
}
@media only screen and (max-width: 800px) {
    .l-contact__box img {
        width: 110px;
    }
}
@media only screen and (max-width: 600px) {
    .l-contact__box{
        width: 100%;
        margin-bottom: 10px;
    }
    .l-contact__box::before {
        width: 30px;
        height: 30px;
    }
}

/* l-contact-bm ------------------------*/
/* .l-contact_form{
    padding: clamp(40px,6vw,80px) 0;
    background: #F4FCF5;
    background: linear-gradient(151deg, rgba(244, 252, 245, 1) 28%, rgba(194, 234, 240, 1) 100%);   
} */
.l-contact-bm__wrapper p {
    text-align: center;
    font-family: var(--font-jp-sans);
    font-size: clamp(1.6rem, 2vw, 1.8rem);
}
.formbox {
    padding: clamp(40px,6vw,80px) 0;
    background: #F4FCF5;
    background: linear-gradient(151deg, rgba(244, 252, 245, 1) 28%, rgba(194, 234, 240, 1) 100%);   
}
.form__inner {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
    font-family: var(--font-jp-sans);
}
form dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
form dl dt {
    width: 100%;
    position: relative;
    font-size: clamp(1.7rem, 4vw, 2rem);
}
form dl dt span {
    font-size: 13px;
    padding: 2px 10px;
    background: linear-gradient(
    299deg,
    rgba(97, 201, 169, 1) 0%,
    rgba(40, 173, 213, 1) 80%
    );
    color: #fff;
    margin-right: 20px;
    display: inline-block;
}
form dl dd {
    width: 100%;
    margin-top: 15px;
    margin-bottom: 30px;
}
form dl dd input,
form dl dd select {
    font-size:16px;
    border: none;
    outline: none;
    padding: 15px 10px;
    box-shadow: 0 0 10px #4949491a;
    width: 100%;
    border-radius: 0!important;
}
form dl dd input.input_error,
form dl dd select.input_error,
form dl dd textarea.input_error {
        background-color: #ffe5e5;
}
form dl dd input::placeholder,
form dl dd textarea::placeholder{
    color: #BCBCBC;
}
form dl dd textarea {
    font-size:16px;
    border: none;
    outline: none;
    padding: 15px 10px;
    box-shadow: 0 0 10px #4949491a;
    width: 100%;
    border-radius: 0!important;
    line-height: 1.6;
}
form dl dd label {
    position: relative;
    cursor: pointer;
    padding-left: 30px;
    width: 30%;
    display: inline-block;
    margin-block: 6px;
}
form dl dd label::before,
form dl dd label::after {
    content: "";
    display: block; 
    border-radius: 50%;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
}
form dl dd label::before {
    background-color: #fff;
    box-shadow: 0 0 10px #4949491a;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    left: 5px;
}
form dl dd label::after {
    background: linear-gradient(
    299deg,
    rgba(97, 201, 169, 1) 0%,
    rgba(40, 173, 213, 1) 80%
    ); 
    border-radius: 50%;
    opacity: 0;
    width: 12px;
    height: 12px;
    left: 9px;
}
input.visually-hidden:checked + label::after {
    opacity: 1;
}
.visually-hidden {
    position: absolute;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
}
@media only screen and (max-width:1200px) {
    form{
        /*padding: 0 20px;*/
    }
}
@media only screen and (max-width:800px) {
    form dl dt {
        margin-bottom: 20px;
    }
    form dl dd {
        width: 100%;
    }
    form dl dd label {
        width: 100%;
    }
}
@media only screen and (max-width:600px) {
    form dl dt {
        margin-bottom: 0px;
    }
    form dl dd {
        margin-bottom: 15px;
    }
}

/* .Form-CheckItem-Label */
.Form-CheckItem-Label {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-bottom: 50px;
}
.Form-CheckItem-Label-Input {
    display: none;
}
.Form-CheckItem-Label-SquareIcon {
    border: 1px solid #707070;
    display: block;
    flex: none;
    width: 15px;
    height: 15px;
    background: #fff;
}
@media screen and (max-width: 500px) {
    .Form-CheckItem-Label-SquareIcon {
        width: 12px;
        height: 12px;
    }

    .Form-CheckItem-Label {
        margin-bottom: 30px;
    }
}
/* .Form-CheckItem-Label-Text */
.Form-CheckItem-Label-Text {
    padding-left: 8px;
    font-size: clamp(14px, 3vw, 18px);
}
.red-txt {
    color: #FF2323;
}
@media screen and (max-width: 600px) {
    .Form-CheckItem-Label-Text {
        padding-left: 6px;
    }
}
/* .Form-Btn */
.send__btn{
   width: min(100%, 300px);
   /*
   height: 65px;
   */
   margin: 0 auto 0;
   position: relative;
}
.Form-Btn {
    cursor: pointer;
    display: block;
    border: none;
    outline: none;
    width: 100%;
    color: #fff;
    background-color:var(--color-blue);
    font-size: clamp(14px, 3vw, 18px);
    margin: 0 auto;
    text-align: center;
    line-height: 65px;
    transition: all 0.2s;
    border: solid 1px var(--color-blue);
    background-size: 19px, 34px;
    background-repeat: no-repeat;
    background-position: left 1px top 1px, center right 20px;
    background-image: url(../img/top/kado_wh.svg), url(../img/top/arroow_wh.svg);
}
.Form-Btn.return {
    background-position: left 1px top 1px, left 20px center;
    background-image:
        url(../img/top/kado_wh2.svg),
        url(../img/top/arroow_wh_left.svg);
    border-color: #868686;
    background-color:#868686;
}
.Form-Btn:hover{
    background-color: #fff;
    color: var(--color-blue);
    background-image: url(../img/top/kado_blue.svg), url(../img/top/arroow_blue.svg);

}
.Form-Btn.return:hover{
    color: #868686;
    background-image: url(../img/top/kado_gray.svg), url(../img/top/arroow_gray_left.svg);

}
.Form-Btn.isActive {
    opacity: 1;
    pointer-events: inherit;
}
.center-form {
    text-align: center;
}
.Form-CheckItem {
    display: inline-block;
}
.Form-CheckItem-Label-Input:checked+*:before {
    content: "";
    display: block;
    width: 18px;
    height: 2px;
    background: #4D2F2B;;
    transform-origin: bottom left;
    transform: rotateZ(90deg);
}
.Form-CheckItem-Label-Input:checked+*:after {
    content: "";
    display: block;
    width: 8px;
    height: 2px;
    background: #4D2F2B;;
    transform-origin: bottom left;
    transform: rotateZ(0deg);
}
.Form-CheckItem-Label-Input:checked+* {
    width: 0;
    height: 0;
    transform: translate(8px, 8px) rotateZ(-135deg) scale(1.1);
}

@media screen and (max-width: 600px) {
    .Form-CheckItem-Label-Input:checked+* {
        transform: translate(5px, 7px) rotateZ(-135deg) scale(1.5);
    }
    .policy_area .box {
        padding: 35px 20px;
    }
}
input, select {
  -webkit-appearance: none;
  appearance: none;
}

.contact-form__error.false {
    display: none;
}
.contact-form__error {
    color: #db0000;
    font-size: 1.4rem;
}



.p-pagination ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}
.p-pagination li {
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-pagination li:has(.first) {
    margin-right: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-pagination li:has(.prev) {
    margin-right: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-pagination li:has(.next) {
    margin-left: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-pagination li:has(.last) {
    margin-left: 30px;
  }
}
.p-pagination .page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 30px;
  height: 40px;
  font-size: 16px;
  line-height: 1.45;
  font-weight: bold;
  color: #868686;
  border: 1px solid #868686;
}
@media screen and (min-width: 768px) {
  .p-pagination .page-numbers {
    width: 40px;
    height: 50px;
    font-size: 20px;
  }
}
.p-pagination .page-numbers.current {
  color: var(--color-blue);
  border-color: var(--color-blue);
}
.p-pagination .page-numbers.first,
.p-pagination .page-numbers.last,
.p-pagination .page-numbers.prev,
.p-pagination .page-numbers.next {
  border: none;
}
.p-pagination .page-numbers.first {
  background: transparent url(../img/lower/icon_pagination2.svg) no-repeat center/contain;
  width: 16px;
  height: 16px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media screen and (min-width: 768px) {
  .p-pagination .page-numbers.first {
    width: 24px;
    height: 24px;
  }
}
.p-pagination .page-numbers.last {
  background: transparent url(../img/lower/icon_pagination2.svg) no-repeat center/contain;
  width: 16px;
  height: 16px;
}
@media screen and (min-width: 768px) {
  .p-pagination .page-numbers.last {
    width: 24px;
    height: 24px;
  }
}
.p-pagination .page-numbers.prev {
  background: transparent url(../img/lower/icon_pagination.svg) no-repeat center/contain;
  width: 14px;
  height: 14px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media screen and (min-width: 768px) {
  .p-pagination .page-numbers.prev {
    width: 17px;
    height: 17px;
  }
}
.p-pagination .page-numbers.next {
  background: transparent url(../img/lower/icon_pagination.svg) no-repeat center/contain;
  width: 14px;
  height: 14px;
}
@media screen and (min-width: 768px) {
  .p-pagination .page-numbers.next {
    width: 17px;
    height: 17px;
  }
}