@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
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=Noto+Sans+JP:wght@400;600;700&family=Zen+Old+Mincho:wght@400;500;600;700&display=swap');

body {
    font-family: "Zen Old Mincho", "Cormorant Garamond", serif;
}

p, li, .post_content .sp_block_ td, .post_content .sp_block_ th {
    font-family: "Noto Sans JP", sans-serif;
}

.l-content {
    margin-bottom: 0;
}

.archive #content {
    padding-top: 0;
}

.w-beforeFooter {
    margin: 0;
}

.c-pageTitle {
    display: none;
}

.error404 .is-style-more_btn,
.single .l-articleBottom__section.-related,
.p-archiveContent,
.category #content {
    padding-bottom: 70px;
}

.category .p-termHead {
    display: none;
}

.p-termContent {
    margin-top: 0;
}

[class*=page-numbers].current,
[class*=page-numbers]:hover {
    background: linear-gradient(180deg, rgba(11, 35, 64, 1) 10%, rgba(24, 88, 164, 1) 90%);
}

/* 共通パーツ */
.vsp {
    display: block;
}

.vpc {
    display: none;
}

@media (min-width: 768px) {
    .vsp {
        display: none;
    }

    .vpc {
        display: block;
    }
}

/* アーカイブ */
.archive .p-postList__body {
    flex-direction: column;
}

.category__property {
    display: none;
}

.category-property .category__property {
    display: block;
}

/* 固定ページ */
.page .post_content {
    margin-top: 0;
}

.page .l-content {
    padding-top: 0;
}

.page.-body-solid .p-breadcrumb.-bg-on {
    display: none;
}

.page__headerBg {
    background: linear-gradient(251deg, rgba(3, 49, 121, 1) 10%, rgba(5, 21, 46, 1) 90%);
    position: relative;
}

.page__headerBg::before {
    content: "";
    position: absolute;
    width: 218px;
    height: 187px;
    inset: 0;
    top: 3%;
    right: -15%;
    left: auto;
    background: url(./img/common/logo_bg.svg) right top / cover no-repeat;
    mix-blend-mode: soft-light;
    opacity: .3;
}

.page__header {
    color: #fff;
}

.page__header .pageHeader__en {
    font-size: 2.5rem;
    font-family: "Cormorant Garamond", serif;
    text-transform: uppercase;
    line-height: 1.3;
    letter-spacing: 0.08em;
    font-weight: 400;
}

.page__header .pageHeader__ja {
    font-size: 1em;
    font-weight: 400;
}

@media (min-width: 768px) {
    .page__header .pageHeader__en {
        font-size: 3.25rem;
    }

    .page__headerBg::before {
        content: "";
        position: absolute;
        width: 232px;
        height: 199px;
        inset: 0;
        top: 50%;
        transform: translateY(-50%);
        right: 10%;
        left: auto;
        background: url(./img/common/logo_bg.svg) right top / cover no-repeat;
        mix-blend-mode: soft-light;
        opacity: .3;
    }
}

@media (min-width: 960px) {
    .page__headerBg::before {
        right: 14%;
    }
}

/* Header */
.l-header {
    font-family: "Zen Old Mincho", "Cormorant Garamond", serif;
}

.-parallel .l-header__gnav .c-gnav>li>a {
    font-family: "Zen Old Mincho", "Cormorant Garamond", serif;
}

@media (min-width: 960px) {
    .-parallel-bottom .l-header__inner {
        flex-direction: row;
        justify-content: space-between;
        padding: 0;
    }

    .-parallel-bottom .l-header__gnav {
        margin: 0;
    }

    .-parallel .l-header__logo {
        width: 20%;
		margin-left: 1rem;
    }

    .l-header.-parallel .w-header {
        width: 40%;
        justify-content: space-between;
        margin: 0;
        min-width: 480px;
    }

    .l-header.-parallel .w-header .w-header__inner {
        width: 100%;
        height: 100%;
    }

    .w-header__inner .p-blogParts {
        height: 100%;
    }

    .l-header.-parallel .w-header__item {
        width: 100%;
        height: 100%;
    }

    .header__cta .swell-block-columns__inner {
        justify-content: flex-end;
        height: 100%;
    }

    .header__cta {
        height: 100%;
    }

    .header__contact {
        background: #000;
    }

    .l-header.-parallel .header__contact {
        margin: 0;
        height: 100%;
        min-width: 240px;
    }

    .l-header.-parallel .header__contact p {
        display: flex;
        height: 100%;
        margin: 0;
        justify-content: center;
        align-items: center;
    }

    .header__contact a {
        color: #fff;
        text-align: center;
        width: 100%;
        height: 100%;
        display: block;
        font-size: 1.5rem;
        font-family: "Zen Old Mincho", "Cormorant Garamond", serif;
        padding-left: 1.5rem;
        position: relative;
        line-height: 4.5;
    }

    .header__contact a:before {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 1.5rem;
        width: 1.7rem;
        height: 1.6rem;
        background-image: url(./img/common/mail-icon.png);
        background-repeat: no-repeat;
        background-size: cover;
    }

    .w-header__item .header__tel {
        padding: 0.5rem 0;
        display: flex;
        justify-content: center;
        align-items: center;
        min-width: 240px;
    }

    .w-header__item .header__tel p {
        line-height: 1.5;
        font-family: "Zen Old Mincho", "Cormorant Garamond", serif;
    }

    .header__tel a {
        color: #333;
        font-weight: 400;
        font-family: "Zen Old Mincho", "Cormorant Garamond", serif;
    }

    .-parallel .l-header__gnav .c-gnav>li>a {
        padding: 1.6rem;
    }
}

/* CTA */
.cta__bg {
    background-image: url(./img/common/cta__bg_sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

@media (min-width: 768px) {
    .cta__bg {
        background-image: url(./img/common/cta__bg.jpg);
    }
}

.cta__txt {
    font-family: "Zen Old Mincho", serif;
}

.cta .cta__ttl {
    color: #fff;
    position: relative;
    letter-spacing: 0.08em;
    font-weight: 400;
}

.cta .cta__ttl::before {
    text-transform: uppercase;
    content: "Contact";
    font-size: 3em;
    position: absolute;
    opacity: 0.4;
    top: -60%;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(180deg, rgba(243, 250, 251, .7) 0%, rgba(243, 250, 251, .2) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    height: auto;
    letter-spacing: 0.08em;
    font-family: "Cormorant Garamond", serif;
}

.mail-icon img {
    width: 42px;
    margin: 0 auto;
    display: block;
}

.tel-icon img {
    width: 30px;
    margin: 0 auto;
    display: block;
}

.cta__border .swell-block-columns__inner {
    gap: 3rem 0;
}

.cta__tel {
    font-size: 3.2rem;
    font-family: "Zen Old Mincho", serif;
    line-height: 1.3;
}

.cta__note {
    font-size: 1rem;
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
}

.cta .cta__btn a {
    color: #000;
    text-align: center;
    padding: 1.15em 0 1.15em;
}

.cta__btn a {
    width: 85%;
    background: #fff;
    box-shadow: none;
    font-weight: 400;
    position: relative;
    border-radius: 50vh;
    text-align: center;
    font-size: 1.125rem;
}

.cta__btn a:hover {
    background-color: #000;
    color: #fff;
}

.cta .cta__btn a::after {
    display: none;
}

.c_parts_ttl {
    font-size: ;
}

.c_parts_ttl .en {
    font-size: 3rem;
    font-family: "Cormorant Garamond", serif;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    line-height: 1;
}

.c_parts_ttl .ja {
    font-size: 1.5rem;
    font-weight: 400;
}

@media (min-width: 768px) {
    .cta__border .swell-block-columns__inner {
        gap: 0;
        position: relative;
    }

    .cta__border .swell-block-columns__inner::before {
        content: "";
        height: 100%;
        width: .5px;
        position: absolute;
        background-color: #fff;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .cta__btn a {
        /* max-width: 300px; */
        width: 350px;
        padding: 1.15em 0 1.15em 2em;
    }

    .cta .cta__ttl {
        font-size: 1.5rem;
    }

    .cta .cta__ttl::before {
        font-size: 4em;
        top: -100%;
        letter-spacing: 0.1em;
    }

    .cta__txt {
        font-size: 1.125rem;
    }
}

/* Footer */
.l-footer__widgetArea {
    background: #01265E;
}

.footer__tel {
    font-size: 1.5rem;
    font-family: "Cormorant Garamond", serif;

}

.l-footer .footer__btn a {
    background-color: #fff;
    color: #0B4E9E;
    width: 60%;
    padding: 1.125rem 2rem;
}

.l-footer .footer__btn a:before {
    background-image: url(./img/common/btn-arrow-blue.svg);
}

.footer__logo {
    width: 100%;
}

.footer__snsList {
    gap: 0 1.75rem;
}

.footer__x img {
    width: 26px;
}

.footer__yt img {
    width: 38px;
}

.footer__note img {
    width: 80px;
}

.l-footer a,
.l-footer span {
    font-family: "Zen Old Mincho", "Cormorant Garamond", serif;
}

.menu > li {
    margin-bottom: 1.5rem;
}

@media (max-width: 959px) {
.w-footer__box+.w-footer__box {
        margin-top: 0;
}

.w-footer__box {
    padding-bottom: 0;
}
}

/* 記事 */
/* News */
.p-postList__body {
    display: flex;
    flex-direction: column-reverse;
}

.p-postList__meta {
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: .5rem;
    opacity: .4;
    font-size: .8em;
}

.icon-folder:before,
.icon-posted:before {
    display: none;
}

.c-postTimes__posted {
    font-family: "Zen Old Mincho", serif;
    opacity: 1;
}

.p-postList .p-postList__title {
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
}

@media (min-width: 768px) {
    .-type-list .p-postList__thumb {
        width: 184px;
        box-shadow: none;
    }
}

/*-------------------------
  コンポーネント
-------------------------*/
/* フォント */
.txt_serif {
    font-family: "Zen Old Mincho", serif;
}

/* ボタン */
[class*=is-style-btn_] a {
    font-family: "Cormorant Garamond", serif;
    text-transform: uppercase;
    border-radius: 4px;
    background-color: #000;
    text-align: left;
    position: relative;
    font-weight: 400;
    letter-spacing: 0.08em;
    min-width: 240px;
}

[class*=is-style-btn_] a:before {
    content: "";
    position: absolute;
    width: 41.2px;
    height: 8.84px;
    display: block;
    background-image: url(./img/common/btn-arrow.svg);
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.2s ease-in-out;
    transform: translateX(4px) translateY(-50%);
}

[class*=is-style-btn_] a:hover:before {
        -webkit-transform: translateX(4px) translateY(-50%);
            transform: translateX(4px) translateY(-50%);
            right: 1.5rem;
}

.is-style-more_btn a {
    font-family: "Cormorant Garamond", serif;
    text-transform: uppercase;
    border-radius: 4px;
    background-color: #fff;
    text-align: left;
    position: relative;
    font-weight: 400;
    letter-spacing: 0.08em;
    min-width: 240px;
    color: #0B4E9E;
}

.is-style-more_btn a:after {
    content: "";
    position: absolute;
    width: 41.2px;
    height: 8.84px;
    display: block;
    background-image: url(./img/common/btn-arrow-blue.svg);
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.2s ease-in-out;
}

.is-style-more_btn a:hover:after {
    background-image: url(./img/common/btn-arrow.svg);
}

.no-arrow a:before {
    display: none;
}

/* タイトル */
.post_content h2 {
    background: linear-gradient(150deg, #1858A4 0%, #000 80%);
}
.post_content h2.gradation_ttl {
    display: inline-block;
    background: linear-gradient(160deg, #2778F7 0%, #000 80%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: 6.25vw;
    width: 100%;
}

.swell-block-fullWide__inner h2 {
    font-weight: 400;
}

.ttl_left .t_ttl_en,
.ttl_left .is-style-section_ttl {
    text-align: left;
}

@media (min-width: 768px) {
.post_content h2.gradation_ttl {
        font-size: 2.5rem;
    }

.ttl_left .t_ttl_en,
.ttl_left .is-style-section_ttl {
    text-align: center;
}
}

/* 背景 */
.p-logo_bg {
    background: linear-gradient(260deg, rgba(255, 255, 255, 1) 10%, rgba(236, 236, 236, 1) 90%);
}
.p-logo_bg:after {
    content: "";
    position: absolute;
    width: 223px;
    height: 192px;
    background-image: url(./img/common/logo_bg02.svg);
    background-size: cover;
    background-repeat: no-repeat;
    top: 0.5%;
    left: -20%;
    opacity: 1;
}

 @media (min-width: 768px) {
    .p-logo_bg {
            background: linear-gradient(220deg, rgba(255, 255, 255, 1) 10%, rgba(236, 236, 236, 1) 90%);
        }
    .p-logo_bg:after {
        width: 694.07px;
        height: 596.88px;
        display: block;
        top: auto;
        bottom: 10%;
        left: auto;
        right: -12%;
    }
 }

  @media (min-width: 1440px) {
    .p-logo_bg:after {
            width: 800px;
            height: 688px;
            right: -15%;
        }
  }

  /* List */
  ul.wp-block-list {
      list-style: none;
  }

  ul.wp-block-list li {
      position: relative;
      margin-bottom: 0;
      line-height: 2;
  }

  ul.wp-block-list li:before {
      content: "";
      position: absolute;
      top: .9em;
      left: -1.25em;
      background: linear-gradient(87deg, rgba(0, 40, 103, 1) 10%, rgba(5, 21, 46, 1) 90%);
      border-radius: 50vh;
      width: 8px;
      height: 8px;
  }

  /* Card */
  .is-style-clmn-shadow>.swell-block-columns__inner>.swell-block-column {
    box-shadow: 0 0 12px rgba(32, 89, 164, 0.14);
    padding: 0;
  }

  /* カラム */
@media (min-width: 768px) {
    .swell-block-columns.-reverse .swell-block-columns__inner {
        flex-direction: row-reverse;
    }
}

/* Table */
.wp-block-table.color_tb>table tr>:first-child:not(.-no1) {
    background-color: #1858A4;
    color: #fff;
    font-size: 1.125rem;
    padding: 1rem;
    width: 40%;
    border-bottom: 1px solid #fff;
}

.color_tb td:last-child {
    background-color: #fff;
    padding: 1rem;
    border-color: #00000025;
    border-bottom: 1px solid #00000017;
}

.post_content td {
    border-left: none;
    border-top: none;
    border-bottom: 0;
}

.sp_block_ td,
.sp_block_ th {
    border-right: none;
    font-family: serif;
}

.sp_block_ td:first-child {
    padding-bottom: 0;
}

.sp_block_ td:last-child {
    border-bottom: 1px solid #ededed;
}

.post_content tr:last-child>td:first-child {
    border-bottom: 0;
}

@media (min-width: 768px) {
    .color_tb {
        max-width: 70%;
        margin: 0 auto;
    }
    .wp-block-table.color_tb>table tr>:first-child:not(.-no1) {
        padding: 1rem 2rem;
        width: 30%;
    }

    .color_tb td:last-child {
        padding: 1rem 2rem;
    }

    .sp_block_ td:first-child {
        padding-bottom: 1em;
    }

    .sp_block_ td {
        padding: 1.5rem;
    }

    .sp_block_ td:first-child, .post_content tr:last-child>td:first-child {
        border-bottom: 1px solid #ededed;
        font-weight: 500;
    }
}



/*-------------------------
  固定ページ
-------------------------*/
/* トップページ */
/* KV */
.t_kv .wp-block-columns{
    row-gap: 0!important;
}

.t_kv_txt.wp-block-column {
    background: linear-gradient(-90deg, rgba(255, 255, 255, 1) 10%, rgba(236, 236, 236, 1) 90%);
    color: #000;
    padding: 4rem 0 7.5rem;
    position: relative;
}

.t_kv_txt.wp-block-column:before {
    content: "";
    position: absolute;
    width: 326px;
    height: 280px;
    background-image: url(./img/common/logo_bg.svg);
    background-size: cover;
    background-repeat: no-repeat;
    top: 3%;
    left: -20%;
    opacity: .6;
}

.t_kv_txt.wp-block-column .wp-block-group {
    width: 91%;
    margin: 0 auto;
    z-index: 1;
    position: relative;
}

.t_kv_ttl {
    line-height: 1.5;
    font-weight: 500;
}

.t_kv_btn {
    font-family: "Cormorant Garamond", serif;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.t_kv_btn a {
    text-align: left;
    background-color: #000;
    border-radius: 4px;
    font-size: 1.2rem;
}

.t_kv_btn a span {
    color: #fff;
}

.is-style-more_btn.t_kv_btn a:after {
    content: "";
    position: absolute;
    width: 41.2px;
    height: 8.84px;
    display: block;
    background-image: url(./img/common/btn-arrow.svg);
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.2s ease-in-out;
}

/* Mission */
.t_ttl_en, .t_ttl_en span{
    font-family: "Cormorant Garamond", serif;
    color: #0B4E9E;
    font-size: 2.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
    font-weight: 400;
    margin-bottom: 0.8rem;
    display: block;
}

.t_ttl_en + h2,
.t_ttl_en span + h2 {
    margin-top: 0;
    font-size: 1rem;
}

.top h2 {
    font-weight: 400;
    font-size: 1.125rem;
}

.t_mission_message {
    font-size: 1.125rem;
    font-weight: 600;
}

/* Service */
.t_bg_navy {
    background-image: linear-gradient(181deg, rgba(0, 40, 103, 1) 10%, rgba(5, 21, 46, 1) 90%);
    position: relative;
    color: #fff;
}

.t_bg_navy .t_ttl_en,
.t_bg_navy .t_ttl_en span {
    color: #fff;
}

.t_service:before {
    content: "";
    position: absolute;
    width: 488px;
    height: 420px;
    inset: 0;
    top: 1%;
    left: -55%;
    background: url(./img/common/logo_bg.svg) left top / cover no-repeat;
    mix-blend-mode: soft-light;
    opacity: .3;
}

.t_service_main {
    line-height: 2;
}

.t_service_ttl, .t_service_num {
    font-family: "Cormorant Garamond", serif;
    text-transform: uppercase;
    display: inline-block;
    font-weight: 400;
}

.t_service_num {
    font-size: 2rem;
    line-height: .8;
    padding-left: .5rem;
}

.t_service h3 {
    font-size: 2rem;
    font-weight: 400;
}

.t_service_btn a {
    font-family: "Cormorant Garamond", serif;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: transparent;
    border-bottom: 1px solid #ffffff70;
    border-radius: 0;
    text-align: left;
    font-weight: 400;
    font-size: 1.25rem;
    position: relative;
    padding-left: 0;
}

.t_service_btn a:before {
    content: "";
    position: absolute;
    width: 19px;
    height: 19px;
    display: block;
    background-image: url(./img/top/s_btn-arrow.svg);
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.2s ease-in-out;
}

.t_service_btn a:hover:before {
    right: 0;
}

/* Athlete */
.t_athlete_column .swell-block-columns__inner {
    gap: 4rem;
}

.t_athlete .t_athlete_name {
    margin-top: 1rem;
}

.t_athlete_name .ja {
    font-size: 1.75rem;
    font-weight: 400;
}

.t_athlete_name .en {
    font-family: "Cormorant Garamond", serif;
    text-transform: uppercase;
    font-size: 1.5rem;
}

/* News */
.t_news .swell-block-columns__inner {
	gap: 6rem;
}

.t_news:before {
    content: "";
    position: absolute;
    width: 205px;
    height: 176px;
    inset: 0;
    top: 3%;
    right: -15%;
    left: auto;
    background: url(./img/common/logo_bg.svg) right top / cover no-repeat;
    mix-blend-mode: soft-light;
    opacity: .3;
}

.t_news_ttl {
    font-family: "Cormorant Garamond", serif;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 1) 10%, rgba(209, 209, 209, 1) 90%);
    font-size: 1.5rem;
    text-transform: uppercase;
    color: #004192;
    letter-spacing: 0.08em;
    font-weight: 400;
}


 @media (min-width: 768px) {
    /* KV */
    .t_kv .wp-block-columns {
        flex-direction: row-reverse;
        gap: 0 !important;
    }

    .t_kv_txt.wp-block-column {
        background: linear-gradient(181deg, rgba(0, 40, 103, 1) 10%, rgba(5, 21, 46, 1) 90%);
        color: #fff;
    }

   .t_kv_txt.wp-block-column:before {
       width: 658px;
       height: 566px;
       top: auto;
       bottom: 3%;
       left: -22%;
       mix-blend-mode: soft-light;
       opacity: .3;
   }

    .t_kv_image {
        margin: 0 !important;
    }

    .t_kv_image figure{
        margin-bottom: 0;
    }

    .t_kv_image figure img {
        width: 100%;
    }

    .t_kv .t_kv_ttl {
        font-size: 3rem;
    }

    .t_kv_txt {
        margin: 0!important;
    }

    .t_kv_txt.wp-block-column {
        position: relative;
    }

    .t_kv_txt.wp-block-column .wp-block-group {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 60%;
    }
    .t_kv_btn a span {
        color: #0B4E9E;
    }
    .t_kv_btn a {
        min-width: 400px;
        background-color: #fff;
    }
    .is-style-more_btn.t_kv_btn a:after {
        content: "";
        position: absolute;
        width: 41.2px;
        height: 8.84px;
        display: block;
        background-image: url(./img/common/btn-arrow-blue.svg);
        right: 2rem;
        top: 50%;
        transform: translateY(-50%);
        transition: all 0.2s ease-in-out;
    }

    .is-style-more_btn.t_kv_btn a:hover span {
        color: #fff;
    }

    .is-style-more_btn.t_kv_btn a:hover:after {
        background-image: url(./img/common/btn-arrow.svg);
    }

    /* MISSION */
    .t_ttl_en , .t_ttl_en span{
        font-size: 3rem;
    }

    .swell-block-column.t_mission_txt .wp-block-group {
        width: 90%;
    }

    /* Service */
    .t_service_reverse {
        margin-bottom: 3rem;
    }
    .t_service_reverse .swell-block-columns__inner {
        flex-direction: row-reverse;
    }
    .t_service:before {
        content: "";
        position: absolute;
        width: 694.07px;
        height: 596.88px;
        inset: 0;
        top: auto;
        bottom: 5%;
        left: auto;
        right: -12%;
    }

    /* News */
	 .t_news .swell-block-columns__inner {
		gap: 0;
		}
    .t_news:before {
        content: "";
        position: absolute;
        width: 694.07px;
        height: 596.88px;
        inset: 0;
        top: auto;
        bottom: 5%;
        left: -12%;
        right: auto;
    }
 }


 @media (min-width: 960px) {
    /* KV */
    .wp-block-columns .t_kv_txt {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-left: 8vw;
        padding-top: 0;
        padding-bottom: 0;
        }
 }

@media (min-width: 1600px) {
    /* KV */
    .t_kv_txt.wp-block-column:before {
        width: 800px;
        height: 688px;
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
        left: -22%;
        mix-blend-mode: soft-light;
        opacity: .3;
    }

    .t_kv_txt.wp-block-column .wp-block-group {
        width: 70%;
    }

    .t_kv .t_kv_ttl {
        font-size: 3.75rem;
    }
}


/* サービスハブページ */
.service_box {
    background-image: linear-gradient(198deg, rgba(255, 255, 255, 1) 10%, rgba(236, 236, 236, 1) 90%);
    padding: 1rem;
}

.service_box h4 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1rem;
}

.service_box p {
    font-size: 0.925rem;
}

.p_service_btn a {
    font-family: "Cormorant Garamond", serif;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: transparent;
    border-bottom: 1px solid #02265F;
    border-radius: 0;
    text-align: left;
    font-weight: 400;
    font-size: 1.25rem;
    position: relative;
    padding-left: 0;
    color: #02265F;
    box-shadow: none;
}

.p_service_btn a:before {
    content: "";
    position: absolute;
    width: 19px;
    height: 19px;
    display: block;
    background-image: url(./img/service/ps_btn-arrow.svg);
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.2s ease-in-out;
}

.p_service_btn a:hover {
    box-shadow: none;
}

.p_service_btn a:hover:before {
    right: 0;
}

.p_service h3 {
    font-size: 2rem;
    font-weight: 400;
}

.p_service .swell-block-fullWide__inner > .swell-block-columns {
    margin-bottom: 5rem;
}

 @media (min-width: 768px) {
    .p_service .swell-block-fullWide__inner>.swell-block-columns {
        margin-bottom: 8rem;
    }
 }

 /* サポート */
  .support_summary_columns .swell-block-columns__inner {
      padding-top: 4rem;
  }
 .support_summary_columns.is-style-clmn-shadow>.swell-block-columns__inner> .swell-block-column {
    position: relative;
    margin-bottom: 4rem;
    padding: 5.5rem 1rem 4rem;
 }

  .support_summary_columns .swell-block-column p {
    font-family: "Zen Old Mincho", "Cormorant Garamond", serif;
    font-size: 1.25rem;
  }

 .support_summary_columns .swell-block-column .wp-block-image {
    position: absolute;
    left: 50%;
    top: -20%;
    transform: translateX(-50%);
    width: 6.7rem;
 }

 .p-logo_bg h3 {
    margin: 0;
    font-weight: 400;
    font-size: 1.5rem;
 }

  .p-logo_bg.support_detail .swell-block-columns .swell-block-column>.wp-block-group {
      padding: 0 1.5rem 1.5rem;
  }

  .cards.swell-block-columns .swell-block-column>.wp-block-group {
    padding: 0 1.5rem 1.5rem;
  }

.details__columns .swell-block-columns__inner {
	row-gap: 2.5rem;
}

  @media (min-width: 768px) {
    .support_summary_columns.is-style-clmn-shadow>.swell-block-columns__inner>.swell-block-column {
        margin-bottom: 0;
        }
  }

/* 企業向け事業 */
.corporate_bg {
    position: relative;
}

.corporate_bg:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 175px;
    background-image: linear-gradient(90deg, rgba(0, 40, 103, 1) 10%, rgba(112, 142, 177, 1) 90%);
    background-size: 100% auto;
}

.c-content .swell-block-column h2 {
    font-size: 1.75rem;
    font-weight: 600;
}

.c-box {
    box-shadow: 0 0 12px rgba(32, 89, 164, 0.14);
    padding: 3rem 1.5rem;
    position: relative;
}

.c-box:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    background-image: url(./img/corporate/c-content_bg.jpg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: bottom right;
    width: 330.89px;
    height: 407px;
    z-index: -1;
}

.c-box h2 {
    position: relative;
    font-size: 1.75rem;
}

.c-box .wp-block-group__inner-container .wp-block-group {
    margin-bottom: 3rem;
}

.c-box .wp-block-group__inner-container .wp-block-group h2:after {
    content: "";
    position: absolute;
    bottom: -1rem;
    left: 50%;
    transform: translateX(-50%);
    width: 3.8rem;
    height: 3px;
    background: linear-gradient(181deg, rgba(0, 40, 103, 1) 10%, rgba(5, 21, 46, 1) 90%);
}

  @media (min-width: 768px) {
    .corporate_bg:before {
            height: 167px;
        }

    .c-content .swell-block-column {
        margin-bottom: 3rem;
    }

    .c-box {
        padding: 3rem;
    }

    .c-box p {
        line-height: 2;
    }

    .c-box:before {
        width: 438px;
        height: 492px;
    }
  }

/* EM SPORTS ゴルフアカデミー */
.a-outline_columns .swell-block-columns__inner {
    justify-content: center;
}

.a-outline_columns.swell-block-columns .swell-block-column>.wp-block-group {
    padding: 1.5rem;
}

.a-outline_columns.swell-block-columns .swell-block-column>.wp-block-group p {
    font-family: "Zen Old Mincho", "Cormorant Garamond", serif;
}

.a-outline_columns .wp-block-image {
    width: 22%;
    margin-right: 1rem;
}

@media (min-width: 768px) {
    .a-outline_columns .wp-block-image {
            max-width: 100px;
        }

    .a-outline_columns.swell-block-columns .swell-block-column>.wp-block-group p {
        font-size: 1.25rem;
    }
}

/* 契約アスリート */
.athlete_columns > .swell-block-columns__inner {
    row-gap: 3rem;
}

@media (min-width: 768px) {
    .athlete_columns>.swell-block-columns__inner {
        row-gap: var(--swl-clmn-mrgn--y);
        }
}

/* アスリート詳細 */
.athlete .athlete_info {
    padding-top: 3rem;
}

.a-athlete_name {
    margin-bottom: 1rem;
}

.a-athlete_ttl {
    font-size: 1.5rem;
}

.a-athlete_name_en {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    color: #0B4E9E;
    text-transform: uppercase;
    font-family: "Cormorant Garamond", serif;
}

.athlete figure {
    position: relative;
    display: inline-block;
}

.athlete figure:after {
    content: "";
    position: absolute;
    inset: 0;
    visibility: visible;
    height: 100%;
    box-shadow: inset 8px 8px 16px rgba(0, 0, 0, 0.25);
    pointer-events: none;
}

.athlete figure img {
    display: block;
}

.a-athlete_img {
    margin-bottom: 2rem;
}

.athlete h2 {
    font-family: "Zen Old Mincho", serif;
    color: #000;
    background-color: transparent;
    margin-bottom: 1.5rem;
    font-weight: 400;
    margin-top: 2rem;
    padding-left: 0;
    background: transparent;
}

.athlete .a-athlete_info_ttl {
    padding: 0;
}

.athlete h2:before {
    display: none;
}

.a-athlete_info {
    display: block;
    padding-bottom: 3rem;
}

.a-athlete_info tbody {
    width: 100%;
}

.a-athlete_info tbody th {
    border-left: none;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    vertical-align: middle;
    width: 40%;
    background: transparent;
    border-right: 0;
    border-bottom: 1px solid #ededed;
}

.a-athlete_info tbody th:before {
    background-color: transparent;
}

.a-athlete_info td {
    border-left: none;
    font-family: "Noto Sans JP", sans-serif;
    width: 60%;
    border-bottom: 1px solid #ededed;
}

.a-athlete_info tr:first-child>th:first-child {
    border-top: 0;
}

.a-athlete_info tr:last-child>th {
    border-bottom: 1px solid #ededed;
}

.post_content td:last-child,
.post_content th:last-child {
    border-right: none;
}

.content h2 {
    display: inline-block;
    background: linear-gradient(160deg, #2778F7 0%, #000 80%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    margin-bottom: 1rem;
    font-size: 1.75rem;
}

.a-athlete_pdf {
    background-color: #000;
    color: #fff;
    border-radius: 4px;
    padding: 1rem;
    margin-top: 2rem;
    display: inline-block;
    font-size: 1.125rem;
}

.a-sponsor {
    margin-top: 3rem;
}

.a-sponsor .a-sponsor_info {
    list-style: none;
    padding-left: 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem 4%;
}

.a-sponsor .a-sponsor_info .a-sponsor_item {
    border: 1px solid #E5E5E5;
    border-radius: 4px;
    width: 48%;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    box-sizing: border-box;
}

.a-sponsor_item a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 1.5rem;
    text-decoration: underline;
    color: #000;
    font-size: 1rem;
    box-sizing: border-box;
    text-align: center;
}

@media (min-width: 768px) {
.athlete .athlete_info {
    padding-top: 2rem;
}

.a-athlete_name_ja, .a-athlete_name {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    margin-top: 1rem;
}

.a-athlete_name_ja {
    gap: .5rem;
}

.a-athlete_name {
    gap: 1rem;
}

.a-athlete_profile {
    display: flex;
    justify-content: space-between;
    gap: 3rem;
}

.a-athlete_info {
    display: table;
}

.a-athlete_img {
    width: 48%;
    margin-bottom: 0;
}

.a-athlete_columns {
    width: 50%;
}

.a-athlete_info {
    padding-bottom: 0;
}

.a-sponsor {
    margin-top: 4rem;
}

.a-sponsor .a-sponsor_info {
    gap: 1rem calc(4 / 3 * 1%);
}

.a-sponsor .a-sponsor_info .a-sponsor_item {
   width: 24%;
}

.a-sponsor_item a {
    padding: 1rem 1.75rem;
}
}

/* 会社概要 */
.c-company iframe {
    height: 200px;
    margin: 1rem 0;
}

.c-banner .c-bannerLink {
    position: relative;
}

.c-bannerLink__text {
    padding-top: 0;
}

.c-banner .c-bannerLink:before {
    content: "";
    width: 100%;
    height: 2.5em;
    background: linear-gradient(90deg, rgba(0, 40, 103, 1) 10%, rgba(5, 21, 46, 1) 90%);
    bottom: 0;
    left: 0;
    right: 0;
    top: auto;
}

.c-banner .c-bannerLink:after {
    content: "";
    position: absolute;
    background-image: url(./img/common/banner-arrow_sp.svg);
    bottom: 1rem;
    right: 1rem;
    width: 26.42px;
    height: 8.84px;
    z-index: 1;
    transition: all 0.2s ease-in-out;
}

.c-banner .c-bannerLink:hover:after {
    right: 0.5rem;
}

.c-banner .c-bannerLink__title {
    font-family: "Cormorant Garamond", serif;
    font-size: 2.25rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.c-banner .c-bannerLink__description {
    font-weight: 400;
}

.c-access_box.is-style-clmn-shadow>.swell-block-columns__inner>.swell-block-column{
    padding: 1.5rem;
}

.post_content .c-access_box h4 {
    border-bottom: 1px solid #00000021;
    padding-bottom: 1rem;
    margin-bottom: 0.75rem;
}

@media (min-width: 768px) {
    .c-company .wp-block-table>table tr>:first-child:not(.-no1) {
        width: 30%;
    }

    .c-company iframe {
            height: 300px;
        }

    .c-banner .c-bannerLink:before {
        height: 3em;
    }

    .c-banner .c-bannerLink:after {
        width: 41.2px;
        height: 8.84px;
        right: 2rem;
        bottom: 1.25rem;
        background-image: url(./img/common/banner-arrow_pc.svg);
    }

    .c-banner .c-bannerLink:hover:after {
        right: 1rem;
    }
}

/* 代表プロフィール / インタビュー */
.c-ceo_name .wp-block-group__inner-container {
    display: flex;
    align-items: baseline;
    gap: 1rem;
}

.c-ceo_name h2 {
    font-size: 2rem;
}

.c-ceo_name p {
    font-family: "Cormorant Garamond", serif;
    text-transform: uppercase;
    color: #0B4E9E;
}

@media (min-width: 768px) {
    .c-ceo_name p {
        font-size: 1.25rem;
    }

    .wp-block-table.c-profile_table>table tr>:first-child:not(.-no1) {
        border-bottom : 1px solid #0B4E9E;
        width: 20%;
    }

    .post_content .c-profile_table tr:last-child>td:first-child {
        border-bottom: 1px solid #0B4E9E;
    }
}


/*-------------------------
  お問い合わせ
-------------------------*/
button,
input,
select,
textarea {
    font-family: 'Noto Serif JP', serif;
    background-color: #fff;
    max-width: 100%;
}

.form__txt {
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 2em;
    font-size: 1.125rem;
}

.contact__txt {
    color: #664F52;
    margin-bottom: 3rem;
}

.form__item {
    margin-bottom: 2em;
}

.form .form__heading {
    color: #000;
    font-size: 1.1rem;
    position: relative;
    font-weight: 400;
    margin-bottom: 0.5rem;
}

.form__heading p {
    display: inline-block;
    line-height: 1;
    font-family: 'Noto Serif JP', serif;
}

.form__heading p::after {
    position: absolute;
    content: "任意";
    color: #fff;
    font-size: .75rem;
    background-color: #676666;
    text-align: center;
    padding: 0.25rem .75rem;
    display: inline-block;
    margin-left: 1rem;
    top: 20%;
    margin-top: 0;
}

.required {
    position: relative;
}

.required p {
    display: inline-block;
    line-height: 1;
}

.required p::after {
    content: "必須";
    background-color: #0B4E9E;
}

.form__content .wpcf7-list-item {
    margin-left: 0;
    display: block;
}

.form .form__note {
    font-size: .85rem;
    display: block;
    margin-top: 1em;
    line-height: 2;
    font-family: 'Noto Sans JP', serif;
}

.form__note::after {
    display: none;
}


.form__submit input[type="submit"] {
    color: #fff;
    background-color: #000;
    text-align: center;
    padding: 1rem;
    font-family: 'Noto Serif JP', serif;
    font-size: 1.25rem;
    width: 80%;
    display: block;
    border: 0;
    max-width: 250px;
    margin: 0 auto;
}

.form input::placeholder,
.form textarea::placeholder {
    font-family: 'Noto Serif JP', serif;
    color: #B2B2B2;
}

/* ラジオボタン */
.form__content input[type=radio] {
    display: none;
}

.form__content .wpcf7-list-item-label {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px;
    position: relative;
    width: auto;
}

.form__content .wpcf7-list-item-label::before {
    background: #fff;
    border: 1px solid #BABABA;
    border-radius: 50%;
    content: '';
    display: block;
    height: 20px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 20px;
}

.form__content .wpcf7-list-item-label::after {
    background: #0B4E9E;
    border-radius: 50%;
    content: '';
    display: block;
    height: 12px;
    left: 9px;
    margin-top: -4px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: scale3d(.3, .3, 1);
    transition: transform .2s ease-in-out, opacity .2s ease-in-out;
    width: 12px;
}

.form__content input[type=radio]:checked+.wpcf7-list-item-label::before {
    border-color: #BABABA;
}

.form__content input[type=radio]:checked+.wpcf7-list-item-label::after {
    opacity: 1;
    transform: scale3d(1, 1, 1);
}

.form__heading p.form__note::after {
    display: none;
}

.form__item.privacy__check .wpcf7-list-item-label::after,
.form__item.privacy__check .wpcf7-list-item-label::before {
    display: none;
}

.form__item.privacy__check .form__content {
    width: 100%;
}

.form__item.privacy__check .wpcf7-list-item label {
    display: flex;

}

.form__item.privacy__check .wpcf7-list-item label input {
    zoom: 2;
    accent-color: #0B4E9E;
}

.form__item.privacy__check .wpcf7-list-item label {
    font-size: .95rem;
}

.wpcf7-form-control-wrap {
    margin-bottom: 0.5rem;
    display: block;
}

@media screen and (min-width:1024px) {
    .form__txt {
        text-align: center;
        margin-bottom: 3em;
    }

    .contact__txt {
        margin-bottom: 4rem;
        font-size: 1rem;
    }

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

    .form__item {
        display: flex;
        justify-content: space-between;
        margin-bottom: 2rem;
    }

    .form__heading {
        width: 30%;
    }

    .form__content {
        width: 65%;
    }

    .form .form__note {
        font-size: .85rem;
        line-height: 1.8;
    }

    .form__heading p::after {
        top: 5px;
        transform: translateY(0);
        left: auto;
        right: 0;
    }

    .form__submit input[type="submit"] {
        margin-top: 3rem;
        padding: 0.5rem 0;
        font-size: 1em;
    }

    .required__en p::after {
        position: relative;
    }
}
