@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* ==================================================
Header
================================================== */

.p-spMenu__inner{
width:auto;
}

.p-spMenu__inner::before{
background:#fbf7f0ff;
}

@media (min-width:960px) and (max-width:1142px){

.-txt .c-headLogo__link {
font-size:clamp(16px,1.4vw,16px) !important; /*clamp(最小値, 理想値, 最大値)*/
white-space: nowrap;
}

.swell-block-button__link {
font-size:clamp(13px,0.9vw,15px) !important;
white-space: nowrap;
}

.c-gnav>.menu-item>a .ttl {
font-size:clamp(13px,0.9vw,15px) !important;
white-space: nowrap;
}

.-series-right .c-gnavWrap{
margin-left:auto !important;

}
}

.is-style-btn_line a
{
background:#D16060 !important;
color:#fff !important;
}

.is-style-btn_line a:hover
{
background:#fff !important;
color:#D16060 !important;
border:1.5px solid #D16060 !important;
}


.c-gnav > .menu-item > a::after{
    background:#d9be9b !important;
}

/* ヘッダー右上ボタン（通常） */
.l-header .swell-block-button__link{
    background:#D16060 !important;
    color:#fff !important;
    border:1.5px solid #D16060 !important;
    transition:all .3s ease;
}

/* ホバー時 */
.l-header .swell-block-button__link:hover{
    background:#fff !important;
    color:#D16060 !important;
    border-color:#D16060 !important;
}

html{
    scroll-behavior: smooth;
}

[id]{
    scroll-margin-top:120px;
}

body,
button,
input,
select,
textarea {

    font-family: "Zen Maru Gothic", sans-serif;
}

body{
    background:#ffffff;
}

/* お問い合わせフォーム*/

/* 初期状態では非表示 */
.wpcf7-not-valid-tip{
    display:none;
}

/* 送信後（フォームが invalid になったら表示） */
.wpcf7 form.invalid .wpcf7-not-valid-tip{
    display:block;
    color:#D16060;
    margin-top:6px;
    font-size:14px;
}

.wpcf7 form.invalid .wpcf7-response-output{
    border:none;
    color:#D16060;
	text-align:center;
}

.santi-contact-form{
    max-width:800px;
    margin:0 auto;
}

.santi-contact-form .form-item{
    margin-bottom:32px;
}

.santi-contact-form .form-label{
    font-size:16px;
    font-weight:700;
    margin-bottom:12px;
    color:#333;
}

/* 必須バッジ */

.required-badge{
    display:inline-block;
    background:#d9be9b;
    color:#fff;
    font-size:12px;
    font-weight:700;
    line-height:1;
    padding:6px 10px;
    border-radius:4px;
    margin-left:10px;
    vertical-align:middle;
}

/* 入力欄 */

.santi-contact-form input[type="text"],
.santi-contact-form input[type="email"],
.santi-contact-form input[type="tel"],
.santi-contact-form textarea{
    width:100%;
    background:#fbf7f0ff;
    border:1px solid #d9be9b;
    border-radius:10px;
    padding:14px 16px;
    font-size:16px;
    transition:.3s;
}

.santi-contact-form textarea{
    min-height:220px;
    resize:vertical;
}

/* フォーカス */

.santi-contact-form input:focus,
.santi-contact-form textarea:focus{
    outline:none;
    border-color:#d9be9b;
	box-shadow: 0 0 0 4px rgba(217, 190, 155, .2);
}

/* ラジオボタン */

.santi-contact-form .wpcf7-list-item{
    margin-right:25px;
}

.santi-contact-form input[type="radio"]{
    margin-right:6px;
}

/* 同意チェック */

.privacy-check{
    margin-top:40px;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
}

.privacy-check .wpcf7-form-control-wrap{
    display:inline-flex;
    justify-content:center;
}

.privacy-check .wpcf7-list-item{
    margin:0;
}

.privacy-check label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    cursor:pointer;
    margin:0;
}

/* ボタン */

.form-submit{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:35px;
}

.form-submit .wpcf7-spinner{
    position:absolute;
}

.form-submit input[type="submit"]{
    display:block;
    margin:0 auto;
    background:#d9be9b;
    color:#fff;
    border:none;
    border-radius:999px;
    padding:16px 50px;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:.3s;
}

.form-submit input[type="submit"]:hover{
    transform:translateY(-2px);
    opacity:.9;
}

/* swell仕様オフ */

.post_content > * {
    clear: both;
    margin-bottom:0 !important;
}

.hero-v5{

    margin-top:0 !important;

}

.hero-v5__background{

    top:0 !important;

}

/* ==================================
  COMMON.CSS
================================== */

/* ==================================
  swell 解除
================================== */

.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
        padding: 0 0 0 !important;
    }


/* ==================================
   タイトル
================================== */

.section-allwrap2{
        margin-top:8%;
    }

@media (max-width:768px){
	
.section-allwrap2{
        margin-top:10% !important;
    }

}

@media (max-width:1500px){
.section-allwrap2{
	
    padding:0 3% !important;
}
}

.section-allwrap3{
        margin-top:7%;
    }

@media (max-width:1500px){

.section-allwrap3{
    padding:0 3% !important;
}

}

.section-title{
    text-align:center;
    padding:0 0 6%;
}

.fade-title{
    opacity:0;
    transform:scale(.97);
    transition:
        opacity 1.2s ease,
        transform 1.2s ease;
}

.fade-title.show{
    opacity:1;
    transform:scale(1);
}

.section-heading {/*margin-topは設定無し*/

text-align: center;
margin-top:0;
margin-bottom: 3%;
	
}

.title-sub{

    display:inline-block;

    color:#d9be9b;

    font-size:14px;

    font-weight:700;

    letter-spacing:.18em;
	
	line-height:auto;

}

.section-heading div{

    margin:0;

    font-size:48px;

    font-weight:700;

    color:#333;

    letter-spacing:.1em;
	
	line-height:auto;

}

@media(max-width:1024px){

.section-heading {/*margin-topは設定無し*/
margin-top:0;
margin-bottom: 5%;
	
}
	
}

@media(max-width:600px){
	
.section-heading div{

    font-size:32px;
	
	}

}

@media (max-width:767px) and (max-height:400px){
	
.section-heading div{

    font-size:32px;
	
	}
	
}

/* ==================================
   フェード
================================== */


/* フェードアップ */

.slide-up{
    opacity:0;
    transform:translateY(40px);
    transition:
        opacity 1.2s ease,
        transform 1.2s ease;
}

.slide-up.active{
    opacity:1;
    transform:translateY(0);
}

/* フェードダウン */

.slide-down{
    opacity:0;
    transform:translateY(-40px);
    transition:
        opacity 1.2s ease,
        transform 1.2s ease;
}

.slide-down.active{
    opacity:1;
    transform:translateY(0);
}


/* アニメーション */

.slide-right,
.slide-left{
    opacity:0;
    transition:
    opacity 1.2s ease,
    transform 1.2s ease;
}

.slide-right{
    transform:translateX(40px);
}

.slide-left{
    transform:translateX(-40px);
}

.slide-right.active,
.slide-left.active{
    opacity:1;
    transform:translateX(0);
}


/* モーダル関連 */

/* =========================
スライダー
========================= */

.support-slider-wrap{

display:flex;

align-items:center;

justify-content:center;

gap:20px;

width:100%;

padding-top:1%;

margin:0 auto;

}

.supportSwiper{

flex:1;

max-width:100%;

margin:0 auto;

overflow:hidden;

}

/* =========================
矢印
========================= */

.support-prev,
.support-next{

    --swiper-navigation-size:12px;

    width:30px !important;
    height:30px !important;

    min-width:30px;
    min-height:30px;

    flex-shrink:0;

    position:static !important;

    margin:0;

    border-radius:50%;

    background:#fff;

    border:2px solid #d9be9b;

    transition:.3s ease;

}

.support-prev:hover,
.support-next:hover{

background:#d9be9b;

}

.support-prev:after,
.support-next:after{

font-weight:700;

color:#d9be9b;

}

.support-prev:hover:after,
.support-next:hover:after{
color:#fff;

}

/* =========================
ドット非表示
=========================

.swiper-pagination{
display:none !important;
}
 */
/* =========================
補足
========================= */

.flow-note{

margin-top:3%;

padding:1%;

background:#fbf7f0ff;

border-radius:16px;

text-align:center;

line-height:3;

border:1px solid #d9be9b;

}

.flow-note font {
	 
	 color:#D16060;
	font-weight: 700;
	font-size:1.2em;

}


/* ==========================================
   義務的支援10項目リンク
========================================== */

.support-modal-open{
    color:#333;
    cursor:pointer;
    text-decoration:underline;
    text-decoration-color:#333;
font-weight:700;
    transition:.25s;

}

/* ==========================================
   モーダル背景
========================================== */

.support-modal{

    position:fixed;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:30px;

    overflow-y:auto;

    background:rgba(0,0,0,.75);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:9999;

}

.support-modal.show,
.support-modal.active{

    opacity:1;

    visibility:visible;

}

/* ==========================================
   モーダル本体
========================================== */


body.modal-open{
    overflow:hidden;
}

.support-modal__content{

    position:relative;

    width:min(1200px,92vw);

    max-height:85vh;

    margin:0 auto;

    padding:2%;

    overflow:auto;

    background:#fff;

    border-radius:18px;

    box-shadow:0 30px 70px rgba(0,0,0,.2);

    animation:modalUp .3s ease;

}

@keyframes modalUp{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

.support-modal__content h3{

    margin:0 0 30px;

    font-size:28px;

    color:#333;

}

/* ==========================================
   10項目一覧
========================================== */

.support-list{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

}

.support-item{

    display:flex;

    align-items:flex-start;

    gap:14px;

    padding:18px;

    border-radius:12px;

    background:#FAF8F5;

    border:1px solid #EFE7DD;

}

.support-no{

    width:36px;

    height:36px;

    flex-shrink:0;

    border-radius:50%;

    background:#D16060;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

}

.support-text{

    line-height:1.8;

    color:#333;

}

/* ==========================================
   スクロールバー
========================================== */

.support-modal__content::-webkit-scrollbar{

    width:0px;

}

.support-modal__content::-webkit-scrollbar-thumb{

    background:none;

    border-radius:999px;

}


/* ==========================================
   モーダル内レイアウト
========================================== */

.support-modal-heading{

    font-size:36px;

    font-weight:700;

    color:#333;

    letter-spacing:.08em;

    text-align:center;

    white-space:nowrap;

}

.support-modal__title{

    display:flex;

    justify-content:center;

    margin-bottom:3%;

}

.title-line{

    display:none;

}


/* =========================
閉じるボタン
========================= */

.support-modal__close{

    position:absolute;

    top:10px;

    right:10px;

    width:36px;

    height:36px;

    border:none;

    border-radius:50%;

    background:transparent;

    cursor:pointer;

    padding:0;

    z-index:100000;
	
    box-shadow:0 8px 20px rgba(0,0,0,.15);
	
    transition:
        transform .25s ease,
        color .25s ease;

}

.support-modal__close:hover{

    transform:rotate(90deg);
	
}

.support-modal__close span{

    position:absolute;

    left:50%;

    top:50%;

width:18px;   /* 線の長さ */
height:2px;   /* 線の太さ */

    background:#d9be9b;

    border-radius:999px;
	
    pointer-events:none;

}

.support-modal__close span:first-child{

    transform:translate(-50%,-50%) rotate(45deg);

}

.support-modal__close span:last-child{

    transform:translate(-50%,-50%) rotate(-45deg);

}

/* =========================
カード
========================= */

.support-card{

    background:#fff;

    border:1px solid #d9be9b;

    border-radius:20px;

    overflow:visible;

    box-shadow:0 8px 22px rgba(217,190,155,.28);

    height:100%;

}

.support-card img{

    width:100%;

    display:block;

    object-fit:cover;

    border-top-left-radius:0;

    border-top-right-radius:0;

    border-bottom-left-radius:0;

    border-bottom-right-radius:0;

}

.support-card p{

    padding:20px;

    margin:0;

    line-height:2;

    color:#333;

    font-size:15px;

}


/* =========================
カード上部
========================= */

.support-card-head{

    display:flex;

    align-items:center;

    gap:14px;

    padding:20px 20px 16px;

    border-bottom:none;

}

.support-card-title{

    font-size:18px;

    font-weight:700;

    line-height:1.5;

    color:#333;

}


/* =========================
補足文
========================= */

.support-note{

    margin-top:3%;

    padding:22px;

    background:#fbf7f0ff;

    border-radius:18px;

    text-align:center;

    line-height:2;

    border:1px solid #d9be9b;

}

/* =========================
タブレット
========================= */

@media(max-width:1024px){
	
.support-modal__title h2{
    font-size:32px;
}

.support-slider-wrap{
    gap:15px;
}
	
	.support-modal__content{

        padding:4%;

    }
	
	
.support-modal__close{

    position:absolute;

    top:10px;

    right:10px;

    width:36px;

    height:36px;
}
	
.support-modal__close span{

    position:absolute;

    left:50%;

    top:50%;

width:14px;   /* 線の長さ */
height:2px;   /* 線の太さ */

}

.support-modal-heading{

    font-size:32px;

}

.support-modal__title{

    gap:12px;

    margin-bottom:3%;

}

.title-line{

    max-width:60px;

}

.support-card-title{

    font-size:16px;

}

.support-card p{

    font-size:14px;

    padding:16px;

}

.support-note{

    padding:18px;

    font-size:14px;
	
	text-align:left;

}

}

@media(max-width:767px){
	
	
.support-modal__close{

    position:absolute;

    top:0px;

    right:0px;

    width:30px;

    height:30px;
}
	
.support-modal__close span{

    position:absolute;

    left:50%;

    top:50%;

width:12px;   /* 線の長さ */
height:2px;   /* 線の太さ */

}
	
	
.support-modal-heading{

    font-size:26px;

}

.support-modal{
    padding-top:70px;
}

.support-modal__title{
    flex-direction:column;
}

.title-line{
    display:none;
}

.support-modal__title h2{
    font-size:24px;
    text-align:center;
}

.support-prev,
.support-next{

    width:44px;
    height:44px;
}

.support-slider-wrap{
    gap:10px;
}
	
    .support-list{

        grid-template-columns:1fr;

    }
	
    .support-modal__content{

        padding:4% 2%;

        border-radius:14px;

    }

}

/* =========================
スマホ
========================= */

@media (max-width:480px){

    .support-modal__content{

        padding:4%;

        border-radius:14px;

    }

    .support-modal__content h3{

        font-size:22px;

    }

    .support-item{

        padding:14px;

    }

    .support-no{

        width:30px;

        height:30px;

        font-size:14px;

    }

}



/* ==========================================
   モーダル表示中はSWELLヘッダー等を隠す
========================================== */

body.modal-open .l-header,
body.modal-open .l-fixHeader,
body.modal-open .l-fixHeader__inner,
body.modal-open #fix_header,
body.modal-open .p-fixBtn,
body.modal-open .c-fixBtn,
body.modal-open .p-pageTop,
body.modal-open .c-pageTop{

    opacity:0 !important;

    visibility:hidden !important;

    pointer-events:none !important;

}

/* ==========================================
    Swell横幅制限解除
========================================== */

:root{
    --article_size:1400px;
}

.l-mainContent__inner{
    max-width:1400px;
}

.l-container{
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

.l-mainContent__inner > .post_content{
    padding:0 !important;
}

/*==================================
ヘッダーナビ再調整（PCのみ）
==================================*/

@media (min-width:960px){

    .l-header__inner,
    .l-fixHeader__inner{
        max-width:1200px !important;
        margin:0 auto !important;
        padding:0 20px !important;
        box-sizing:border-box;
    }

}

/* ==========================================
    改行レスポンシブ
========================================== */

.return-a{
display:none;
}
	
.return-b{
display:none;
}


/* スマホメニュー ホバー背景色 */
.p-spMenu .menu-item > a:hover{
    background:none;
}

/* タップ・フォーカス時 */
.p-spMenu .menu-item > a:focus,
.p-spMenu .menu-item > a:active{
    background: none;
}


/* ==========================================
   SWELL LP 横幅制限解除
========================================== */

/* メインコンテンツ */
.l-mainContent,
.l-mainContent__inner{
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
    margin:0 !important;
}

/* 記事コンテンツ */
.post_content{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

/* WPブロック */
.wp-block-group,
.wp-block-cover,
.wp-block{
    max-width:none !important;
}

/* alignfull */
.alignfull{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
}

.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{
    display:none !important;
    content:none !important;
}

