@charset "UTF-8";
/*
    Theme Name: SWELL Child
    Description: WordPressテーマ「SWELL」の自作 子テーマです。
    Template: swell
    Version: 1.1
    Author: SeaCloud,Inc.
*/

/*----------------------------------------*/
/*  共通 */
/*----------------------------------------*/
.post_content h2 {
    font-size: 1.1em;
    font-weight: 700;
    line-height: 1.4;
    margin: 3em 0 2em;
    position: relative;
}

@media (min-width: 600px) {
    .post_content h2 {
        font-size: 1.3em;
    }
}

/*------------------------------------------------*/
/* スマホ対応 */
/*------------------------------------------------*/
.pc_hide { display: none;  }
.pc2_hide { display: none;  }
.sp_hide { display: block; }
.sp2_hide { display: block; }
.sp3_hide { display: block; }
.sp4_hide { display: block; }

@media screen and (max-width: 781px){
	.pc_hide { display: block; }
    .pc2_hide { display: none;  }
	.sp_hide { display: none;  }
    .sp2_hide { display: block; }
    .sp3_hide { display: none; }
}
@media screen and (max-width: 600px){
	.pc_hide { display: block; }
    .pc2_hide { display: block;  }
	.sp_hide { display: block;  }
    .sp2_hide { display: none; }
    .sp3_hide { display: none; }
}
@media screen and (max-width: 360px){
    .sp4_hide { display: none; }
}


/* 調整 
.space20 {margin-bottom:2.5% !important;}
.space30 {margin-bottom:4% !important;}
.space50 {margin-bottom:6% !important;}
.space70 {margin-bottom:8%;}
.space80 {margin-bottom:10%;}
.space100 {margin-bottom:11.7%;}

.mb0 {margin-bottom:0 !important;}
.mb1 {margin-bottom:1em !important;}
.mb2 {margin-bottom:2em !important;}
*/
.mt0 {margin-top: 0;}
.mb0 {margin-bottom:0 !important;}
.mb80 {margin-bottom: 80px;}
.pd20 {margin:20px !important;}


/* フォント・テキスト */
.hira_kaku_go {
    font-family: 'Hiragino Kaku Gothic Pro W6', sans-serif;
    font-weight: 600;
	font-style: normal;
}
.hira_kaku_go2 {
    font-family: 'Hiragino Kaku Gothic Pro W5', sans-serif;
	font-style: normal;
}
.hira_kaku_go3 {
    font-family: 'Hiragino Kaku Gothic Pro W6', sans-serif;
	font-style: normal;
}
.hira_kaku_go4 {
    font-family: 'Hiragino Kaku Gothic Pro W3', sans-serif;
	font-style: normal;
}

.main_color { color:#CE3B26; }
.gray_color { color:#4B4B4B; }
/*
.remove_bg { background-color: rgb(0 0 0 / 0) !important; }
*/
.swell-block-fullWide.pc-py-60.sp-py-40.has-bg-img.-fixbg.alignfull.u-mb-ctrl.u-mb-0.lazyloaded {
    width: calc(100vw - var(--swl-scrollbar_width, 0px));
}


/* ヘッダー　ページの名前下の線の色 */
.l-header .c-gnav>li>a:after {
    background: #ce3b26;
}
/* ヘッダー内のボタンサイズを一定にする */
.c-mvBtn {
    width: 320px;
}
/* ヘッダー内のキャッチフレーズ非表示 */
.c-catchphrase {
    display: none;
}
.c-pageTitle {
    font-size: 2.0em;
    text-shadow: none;
    color: #000;
}
.c-pageTitle__subTitle {
    margin-left: 0;
}
@media (max-width: 782px) {
    .c-pageTitle {
        font-size: 1.7em;
    }
}

/* トップページ上部に表示される記事バナーエリアを表示 */
div#pickup_banner {
    display: none;
}
.l-topTitleArea {
    position: absolute;
    top: 0;
    left: 0;
    height: 300px;
}
/* トップエリアの画像を画像を上下真ん中右寄せに配置 */
.l-topTitleArea img {
    object-position: 100% 50%;
}
#header {
    background-color: rgb(0 0 0 / 0.15) !important;
}

.-frame-on .l-mainContent {
    margin-top: 300px;
}

@media (max-width: 782px) {
    /* トップエリアの画像を画像を上下真ん中すこし右寄せに配置 */
    .l-topTitleArea img {
        object-position: 80% 50%;
    }
}


/* フッター */
.l-footer {
    border-top: 7px solid #CE3B26;
}
.footer_logo_menu {
    display: flex;
    justify-content: space-between;
}
.footer_logo {
    white-space: nowrap;
    font-size: small;
    font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.footer_logo span {
    font-size: x-large;
    font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
/* フッター メニュー区切りの"｜"を消す*/
.l-footer__nav li:first-child a {
    border:none
}
.l-footer__nav a {
    border:none
}
@media screen and (max-width: 781px){
    .footer_logo_menu {
        display: block;
        text-align: center;
    }
}
/*----------------------------------------*/
/* TOPページ */
/*----------------------------------------*/

#body_wrap {
    background-color: #fff;
}

.bg_white_title {
    font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-style: normal;
    font-size: 30px;
    color: #CE3B26;
    text-align: center;
    border-bottom: 4px solid #CE3B26;
    padding: 40px 0;
}
.bg_white_title div {
    color: #000;
    font-size: 25px;
}
.bg_white {
    background:#fff;
    margin-top: 100px;
}
.content_pd { padding: 20px 10%; }


/* メイン画像のボタンスタイル */
.c-mvBtn__btn {
    background: linear-gradient(90deg, #FA624B, #CE3B26);
    border: 0 solid rgb(0 0 0 / 0);
    border-radius: 50px;
    box-shadow:none;
    padding-right: 100px;
}
.c-mvBtn__btn::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 27px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    box-sizing: border-box;    
}
.c-mvBtn__btn:hover {
    background: #ffffff;
    color: #CE3B26;
    border: 1px solid #CE3B26;
    margin-top: -2px;
}
.c-mvBtn__btn:hover::after {
    border-top: 2px solid #CE3B26;
    border-right: 2px solid #CE3B26;
    top:1px;
    right: 26px;
}

/* メイン画像のボタンの背景を透明にしておく */
.p-mainVisual__slideBtn.c-mvBtn.-btn-n {
    background-color: rgb(0 0 0 / 0);
}

.top_contents_1 {
    margin-bottom: 100px !important;
}

.img_contents {
    position: relative; /*親要素にrelative*/
    margin-bottom: 50px !important;
}

.img_contents img {
    width: 100%;
    object-fit: cover;
}
.img_contents img:hover  {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}

.img_bottom-left_cont {
    background: rgb(0 0 0 / 0);
    font-size: 28px;
    color: #000;
    padding-left: 25px;
    position: absolute;
    bottom: -40px;
    left: 0;
    width: auto;
}
.img_bottom-left_cont p {
    background: rgb(0 0 0 / 0);
    font-size: 18px;
    color: #CE3B26;
}
.img_bottom-left_cont:hover {
    color: #8a8a8a;
}
.img_bottom-left_cont p:hover {
    color: #FA624B;
}


/*
.img_bottom-left_cont p::after {
    content: '';
    position: absolute;
    top: 65px;
    left: 120px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid #CE3B26;
    border-right: 2px solid #CE3B26;
    transform: rotate(45deg);
    box-sizing: border-box;
}
.img_bottom-left_cont p:hover::after {
    border-top: 2px solid #FA624B;
    border-right: 2px solid #FA624B;
}
*/
.posi_rlctv {
    position: relative;
}
.fa-solid, .fas {
    font-weight: 600;
}
i.fa-duotone.fa-solid.fa-angle-right {
    margin-left: 10px;
}

.message_contents {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.message_item {
    width: calc(100% / 2);
    padding: 20px 0px;
    text-align: left;
}
.message_item_txt_1 {
	font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	font-style: normal;
	font-size: 30px;
    padding-left: 25px;
}
.message_item_txt_2 {
    font-family: 'Hiragino Kaku Gothic Pro W6', sans-serif;
	font-style: normal;
	font-size: 16px;
    padding-right: 10px;
}
.card_contents {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.card_item {
    width: calc(100% / 3);
    padding: 20px 10px;
    text-align: center;
}
.card_item_contents {
    position: relative;
    background: #fff;
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 5px 3px 3px 1px rgba(0, 0, 0, 0.1);
}
.card_item_contents:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
.card_item_potion {
    display: block;
}

.card_item_potion img {
    width: 100px;
}
.card_item_text {
    font-family: 'Hiragino Kaku Gothic Pro W6', sans-serif;
	font-style: normal;
	font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.triangle {
    position: absolute;
    top: 3px;
    left: 3px;
    height: 30px;
    aspect-ratio: cos(30deg);
    clip-path: polygon(0 0,100% 0,0 100%);
    background: #CE3B26;
  }

.top_news {
    padding: 100px 0 20px;
}

.top_news h3 {
    font-family: 'Hiragino Kaku Gothic Pro W3', sans-serif;
    font-size: 28px;
    color: #212020;
    font-weight: bold;
    text-align: center;
    position: relative; /*positionをrelativeに指定*/
}

  /*下線のスタイリング*/
.top_news h3::before {
	content: "";
    position: absolute; /*positionをabsoluteに指定*/
    background: none;
    background-color: #CE3B26; /*下線の色*/
    width: 125px; /*線の幅*/
    height: 3px; /*線の太さ*/
    bottom: 0; /*線のタテ位置*/
    left: 50%;  /*線のヨコ位置*/
    transform: translateX(-50%); /*線のヨコ位置*/
}


.top_performance {
    padding: 100px 0 20px;
}
.top_performance h3 {
    font-family: 'Hiragino Kaku Gothic Pro W3', sans-serif;
    font-size: 28px;
    color: #212020;
    font-weight: bold;
    text-align: center;
    position: relative; /*positionをrelativeに指定*/
}
/*下線のスタイリング*/
.top_performance h3::before {
	content: "";
    position: absolute; /*positionをabsoluteに指定*/
    background: none;
    background-color: #CE3B26; /*下線の色*/
    width: 125px; /*線の幅*/
    height: 3px; /*線の太さ*/
    bottom: 0; /*線のタテ位置*/
    left: 50%;  /*線のヨコ位置*/
    transform: translateX(-50%); /*線のヨコ位置*/
}
/*「実績一覧」規定ブロック外の実績一覧ボタンのスタイル*/
.top_p_more_btn {
    margin-top: 2em;
    margin-bottom: 50px;
}
.c-mvBtn:hover {
    background-color: #CE3B26; /*下線の色*/
}

.is-style-more_btn a {
    box-shadow: 0 0 0 1px #CE3B26;
    color: #CE3B26;
    border-radius: 50px;
}
.is-style-more_btn a:after {
    content: '';
    bottom: 0;
    top:2px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 1px solid #CE3B26;
    border-right: 1px solid #CE3B26;
    transform: rotate(45deg);
    box-sizing: border-box;    
}


/*--タブレット（※SWELLブロック）--*/
@media screen and (max-width: 960px){
    .img_bottom-left_cont{ font-size: 26px;}
    .message_item_txt_1{  font-size: 26px;}
    .img_bottom-left_cont p::after { top: 62px;}
}
/*--フォントサイズ調整--*/
@media screen and (max-width: 860px){
    .img_bottom-left_cont{ font-size: 24px;}
    .message_item_txt_1{  font-size: 24px;}
    .img_bottom-left_cont p::after { top: 58px;}
    .top_contents_1 { padding: 0 5%; }
    .top_contents_2 { padding: 0 5%; }
    .card_item_text { font-size: 16px; }
    
}
/*--タブレット（※WordPressブロック）--*/
@media screen and (max-width: 781px){
	.bg_white_title { font-size: 26px; }
	.bg_white_title div { font-size: 16px; }
    .img_bottom-left_cont{ font-size: 22px; left: -24px; font-weight: bold;}
    .message_item_txt_1{  font-size: 22px;}
    .img_bottom-left_cont p::after { top: 55px;}
    .top_contents_1 { padding: 0 10px;}
    .top_contents_2 { padding: 0 10px;}
    .message_item_txt_1 { padding-left: 0;}
    .message_contents {
        margin: 0 auto;
        display: block;
        width: 100%;
    }
    .message_item {
        width: 100%;
        /*padding: 0px 0px 20px;*/
     
    }
    .message_item_txt_2 {
        font-size: 20px;
    }
    .card_item {
        width: 100%;
        padding: 5px 0;
        text-align: center;
        margin: 0 auto;
    }

    .card_item_potion {
        display: flex;
        width: inherit;
        margin-left:30px;
    }   
    .card_item_potion img {
        width: 80px;
    }
    .card_contents {
        display: block;
        width: 95%;
        margin: 0 auto;
    }
    .card_item_contents {
        aspect-ratio: 0;
        aspect-ratio: 0;
        padding-top: 10px;
        padding-bottom: 10px;
        text-align: left;
    }

    .card_item_img {
        text-align: center;
        width: 30%;
    }
    /*
    .card_item_text {
        width: 70%;
    }
    */

    /*--お知らせ--*/
    .top_news h3 {
        font-size: 20px;
    }
    .top_news h3::before {
        width: 100px; /*線の幅*/
        bottom: 0; /*線のタテ位置*/
    }
    /*--実績紹介--*/
    .top_performance h3 {
        font-size: 20px;
    }
    .top_performance h3::before {
        width: 100px; /*線の幅*/
        bottom: 0; /*線のタテ位置*/
    }
    
}
/*--フォントサイズ調整--*/
@media screen and (max-width: 680px){
    .img_bottom-left_cont{ font-size: 20px; left: -19px; bottom: -39px;}
    .img_bottom-left_cont p { font-size: 16px;}
    .img_bottom-left_cont p::after {
        top: 50px;
        left: 111px;
    }

    .message_item_txt_1{  font-size: 21px; font-weight: bold;}
}
/*--スマホ（※SWELLとWordPressブロック）--*/
@media screen and (max-width: 600px){

    /* トップページ　トップエリアの画像を画像を上下真ん中左寄せに配置 */
    .p-mainVisual__imgLayer img {
        object-position: left center;
    }
    
    /* トップエリアの画像を画像を上下真ん中左寄せに配置 */
    .l-topTitleArea img {
        object-position: 0% 50%;
    }
    .c-mvBtn__btn {
        padding-right: 0;
        text-align: left;
    }
    .img_bottom-left_cont{ font-size: 20px; left: -20px; bottom: -46px;}
	.img_bottom-left_cont p { font-size: 15px;}
    .img_bottom-left_cont p::after {
		top: 47px;
		left: 108px;
	}

    .message_item_txt_1{ font-size: 20px; padding-bottom: 0;}
	.message_item_txt_2 { font-size: 16px; }



    .card_item_text {
        margin-right: 10px;
        margin-left: 10px;
    }
    
}
/*--スマホ--*/
@media screen and (max-width: 480px){
    /* ヘッダー内のボタンサイズを一定にする */
    .c-mvBtn {
        width: 250px;
        text-align: left;
    }
    .c-mvBtn__btn {
        padding-right: 0;
        padding-left: 24px;
    }
    .c-mvBtn__btn::after {
        top: 0;
        bottom: 0;
    }
    .img_bottom-left_cont{ font-size: 22px;}

	.bg_white_title { font-size: 25px; padding: 20px 0;}
	.bg_white_title div { font-size: 16px; }
}
/*--スマホ--*/
@media screen and (max-width: 400px){
    /* ヘッダー内のボタンサイズを一定にする */
    .c-mvBtn {
        width: 210px;
        text-align: left;
    }
    .c-mvBtn__btn {
        padding-right: 0;
        padding-left: 24px;
    }
}

/*----------------------------------------*/
/* サービスページ */
/*----------------------------------------*/
.consul_msg_line_1 {
    display: flex;
    width: 100%;
    padding: 0 20px;
}
.consul_msg_txt {
    width:55%;
    position: relative;
    height: 450px;
}

.consul_msg_img {
    width:45%;
    position: relative;
    height: 450px;
}
.consul_msg_img img {
    width: 100%;
    position: absolute;
    bottom: 0;
}
.consul_msg_1 {
    color: #000;
    font-size: 28px;
    font-weight: 500;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    position: absolute;
    top: 97px;
}
.consul_msg_2 {
    color: #000;
    font-size: 16px;
    position: absolute;
    bottom: 0;
    padding-bottom: 45px;
}
.consul_msg_2 span {
    color: #CE3B26;
}
.consul_msg_3 {
    background: linear-gradient(to right, #FA624B, #E5503A, #CE3B26);
    color: #fff;
    font-size: 30px;
    text-align: center;
    font-family: 'Hiragino Kaku Gothic Pro W6', sans-serif;
    padding: 30px 10px;
   
}

.consul_caption_top h3, .inst_caption_top h3 { 
    font-family: 'Hiragino Kaku Gothic Pro W3', sans-serif;
    font-size: 50px;
    color: #212020;
    font-weight: bold;
    text-align: center;
    padding-bottom: 0;
    margin-bottom: 70px;
}
/*
.inst_caption_top h3 { 
    padding-top:65px
}
*/
.consul_caption_top span { color: #CE3B26;}

.caption_underline { margin-bottom: 100px; }
.caption_underline h3 {
    font-family: 'Hiragino Kaku Gothic Pro W3', sans-serif;
    font-size: 28px;
    color: #212020;
    font-weight: bold;
    text-align: center;
    position: relative; /*positionをrelativeに指定*/
}

  /*下線のスタイリング*/
.caption_underline h3::before {
	content: "";
    position: absolute; /*positionをabsoluteに指定*/
    background: none;
    background-color: #CE3B26; /*下線の色*/
    height: 3px; /*線の太さ*/
    bottom: 0; /*線のタテ位置*/
    left: 50%;  /*線のヨコ位置*/
    transform: translateX(-50%); /*線のヨコ位置*/
}

 /*線の幅*/
.consul_caption_top h3::before { background: none; }
.consul_caption_1 h3::before { width: 250px; }
.consul_caption_2 h3::before { width: 200px; }
.consul_caption_3 h3::before { width: 250px; }
.consul_caption_4 h3::before { width: 250px; }
.inst_caption_top h3::before { background: none; }
.inst_caption_3 h3::before { width: 280px; }
.inst_caption_4 h3::before { width: 250px; }
.inst_caption_5 h3::before { width: 250px; }

.consul_msg {
    margin: 0;
}
.consul_caption_1 {
    margin: 150px 0;
}
.consul_caption_2 {
    margin: 150px 0;
}
.consul_caption_3 {
    margin: 150px auto;
    padding: 0 20px;
}
.consul_caption_4 {
    margin: 150px 0;
}

.inst_caption_1 {
    margin: 100px 0;
}
.inst_caption_2 {
    margin: 100px 0;
}
.inst_caption_3 {
    margin: 150px 0;
}
.inst_caption_4 {
    margin: 150px 0;
}
.inst_caption_5 {
    margin: 150px 0;
}

.instructor_caption_1_title {
    background: linear-gradient(to right, #FA624B, #E5503A, #CE3B26);
    color: #fff;
    font-size: 30px;
    text-align: center;
    font-family: 'Hiragino Kaku Gothic Pro W6', sans-serif;
    padding: 30px 10px;
    margin-bottom: 60px;
}

/*--タブレット（※SWELLブロック）--*/
@media screen and (max-width: 960px){
    .consul_msg_1 { font-size: 25px; }
    .consul_msg_2 { font-size: 16px; }
}
/*--フォントサイズ調整--*/
@media screen and (max-width: 860px){
    .consul_msg_1 { font-size: 22px; }

}
/*--タブレット（※WordPressブロック）--*/
@media screen and (max-width: 781px){

    .consul_caption_top h3 {
        font-size: 22px;
        margin-bottom: 40px;
    }
    .caption_underline h3 {
        font-size: 24px;
    }

    .inst_caption_top h3 {
        font-size: 22px;
        margin-bottom: 40px;
    }
    .consul_caption_1 h3::before { width: 200px; }
    .consul_caption_2 h3::before { width: 170px; }
    .consul_caption_3 h3::before { width: 195px; }
    .consul_caption_4 h3::before { width: 180px; }

    .inst_caption_1 h3::before { width: 150px; }
    .inst_caption_2 h3::before { width: 150px; }
    .inst_caption_3 h3::before { width: 220px; }
    .inst_caption_4 h3::before { width: 180px; }
    .inst_caption_5 h3::before { width: 180px; }

    
    .consul_msg_1 {
        position: static;
    }
    .consul_msg_line_1 {
        display: block;
        width: 100%;
        padding: 0;
        text-align: center;
    }
    .consul_msg_2 {
        position: static;
        padding-bottom: 10px;
        text-align: left;
    }
    .consul_msg_txt {
        width: 100%;
        position: static;
        height: auto;
    }
    .consul_msg_img {
        width: 100%;
        position: relative;
        height: 100%;
    }
    .consul_msg_img img {
        width: 71%;
        left: 50%;
        transform: translateX(-50%);
    }
    
}
/*--フォントサイズ調整--*/
@media screen and (max-width: 680px){

}
/*--スマホ（※SWELLとWordPressブロック）--*/
@media screen and (max-width: 600px){

    .caption_underline { margin-bottom: 40px; }
    .consul_msg_3 { font-size: 18px;}
    .instructor_caption_1_title { font-size: 18px; margin-bottom: 20px;}

    .consul_caption_1 { margin: 100px 0; }
    .consul_caption_2 { margin: 100px 0; }
    .consul_caption_3 {
        margin: 100px auto;
        padding: 0 10px;
    }
    .consul_caption_4 { margin: 100px 0; }
    .inst_caption_3 { margin: 80px 0; }
    .inst_caption_4 { margin: 80px 0; }
    .inst_caption_5 { margin: 100px 0; }
}
/*--スマホ--*/
@media screen and (max-width: 480px){
    .consul_msg_3 { font-size: 17px;}
    .instructor_caption_1_title {
        font-size: 18px;
    }
}
/*----------------------------------------*/
/*  お問い合わせ */
/*----------------------------------------*/
/* スマホ時　電話リンク有効 */
a[href^="tel:"] {
	text-decoration:underline !important;
	font-weight:bold;
	color:#333;
}
@media screen and (min-width: 600px) {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none !important;
	}
}
@media (min-width: 640px) {
	.smf-form--simple-table .smf-item__col--controls {
		flex: 1 1 calc(100% - 17em);
		max-width: calc(100% - 17em);
	}
	.smf-form--simple-table .smf-item__col--label {
		flex: 0 0 17em;
		max-width: 17em;
    }
}
.required .smf-item__label__text::after {
	content: "必須";
	color: #ffffff;
	background: #cc0000;
	font-size: 0.8em;
	padding: 0.1em 0.5em;
	border-radius: 0.5em;
	margin-left:0.5em;
}

.policy_link { color: #0000ee; }
.contact_link a { color: #0000ee; }