@charset "utf-8";

/* -------------------------------------------------------------------------------------------

Gutenberg frontend

------------------------------------------------------------------------------------------- */


/* pタグ - Gutenbergスタイル
--------------------------------------------------------------- */

p:empty {
    margin-bottom: 1em;
}


/* hタグ - Gutenbergスタイル
--------------------------------------------------------------- */

h1:not(.is-default, .editor-post-title),
h2:not(.is-default),
.cmn-style-h2 {
    font-size: 48px;
    font-weight: 700;
    font-feature-settings: "palt";
    line-height: 1.2;
    margin-bottom: .3em;
}

h3:not(.is-default),
.cmn-style-h3 {
    color: var(--color-main);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: .3em;
}

h4:not(.is-default),
.cmn-style-h4 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: .3em;
}


/* hタグ - 固有クラス
--------------------------------------------------------------- */

/* -- グラデーション */

.cmn-title-1 {
    display: inline-block;
    color: transparent;
    font-size: 44px;
    font-weight: 500;
    background: var(--color-main);
    background: linear-gradient(to right, #b30012 0%, #e50012 30%, #f17a29 85%);
    -webkit-background-clip: text;
    background-clip: text;
    line-height: 1.5;
    margin-bottom: .7em;
}


/* -- dlタグ - hタグ版  */

.cmn-title-dl {
    position: relative;
    margin-bottom: 0.8em;
    z-index: 1;
}

.cmn-title-dl::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: var(--color-main);
    margin: auto;
    z-index: -1;
}

.cmn-title-dl .cs-tag {
    box-sizing: border-box;
    display: inline-block;
    min-width: 240px;
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    padding: 0.42em;
    background: var(--color-main);
    border-radius: 5px;
    line-height: 1;
}


/* hタグ - モジュール
--------------------------------------------------------------- */

/* -- 英語キャプションセット */

.cmn-module-title-1 {
    font-weight: 700;
    padding: 0;
    margin-bottom: 35px;
}

/*
.cmn-module-title-1 h2 {
    margin-bottom: 0;
}
*/
.cmn-module-title-1 p.is-en {
    color: var(--color-main);
    font-size: 22px;
    padding-left: .1em;
    margin-top: .1em;
}


/* -- 固定ページ - ヘッダーセット */

.cmn-module-title-header {
    --separate-width: 90px;
    position: relative;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: flex-start;
    align-items: center;
    gap: 1em var(--separate-width);
    font-size: 18px;
    margin: var(--module-margin) auto 4.16em;
}

.cmn-module-title-header .cmn-module-title-1 {
    position: relative;
    margin: 0;
}

.cmn-module-title-header .cmn-module-title-1::after {
    content: "";
    position: absolute;
    top: 0;
    right: calc(-1 * (var(--separate-width) / 2));
    bottom: 0;
    display: block;
    width: 2px;
    height: 100%;
    margin: auto;
    background: var(--color-main);
}

.cmn-module-title-header .cs-column-text {
    line-height: 1.4;
}


/* -- ※まるがく専用 - 固定ページ - ヘッダーセット */

.cmn-module-marugaku-header {
    --right-margin: calc((100vw - var(--container-width)) / 2);
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: calc(100% + var(--right-margin));
    height: 400px;
    overflow: hidden;
    margin-bottom: 3.12em;
    z-index: 1;
}

.cmn-module-marugaku-header .cs-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 85.33%;
    height: 100%;
    z-index: -1;
}

.cmn-module-marugaku-header .cs-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.cmn-module-marugaku-header .cmn-module-title-1 {
    box-sizing: border-box;
    min-width: 474px;
    background: rgba(255, 255, 255, .8);
    padding: 1.45em 1.45em 1.45em 0;
    margin: 0;
}

.cmn-module-marugaku-header h1 {
    margin: 0;
}

.cmn-module-marugaku-header .wp-block-group__inner-container{
    margin: 0 !important;
}

.cmn-module-marugaku-header .block-editor-block-list__layout{
    position: static;
}

@media screen and (max-width:1310px) {

    .cmn-module-marugaku-header {
        width: auto;
        margin-inline: calc(-1 * var(--container-padding));
    }

}


/* -- ※まるがく専用 - 固定ページ - キャッチコピー */

.cmn-module-strong-text {
    font-size: 1.33em;
    font-weight: 700;
    text-align: center;
}

.cmn-module-strong-text strong {
    display: inline-block;
    font-size: 1.31em;
    color: transparent;
    background: var(--color-main);
    background: linear-gradient(to right, #b30012 0%, #e50012 30%, #f17a29 85%);
    -webkit-background-clip: text;
    background-clip: text;
}


/* メディアタグ
--------------------------------------------------------------- */

.wp-block-image:not(.is-default) {
    margin-bottom: 1em;
}

.wp-block-imagefigcaption:not(.is-default) {}

.wp-block-image .is-style-rounded img, 
.wp-block-image.is-style-circle-mask img,
.wp-block-image.is-style-rounded img{
    width: 100%;
}


/* ul,olタグ
--------------------------------------------------------------- */

ul:not(.is-default, .slick-dots) {
    padding-left: 1em;
    list-style: disc;
}


/* tableタグ - Gutenbergスタイル
--------------------------------------------------------------- */

figure.wp-block-table,
figure.wp-block-table table {
    width: 100%;
}

figure.wp-block-table thead {
    color: #fff;
    background: var(--color-main);
    border-bottom: 0;
}

figure.wp-block-table td,
figure.wp-block-table th {
    font-weight: 400;
    text-align: left;
    padding: .5em 1em;
    border: 1px solid #999;
}

figure.wp-block-table th {
    padding: .3em 1em;
}

figure.wp-block-table:not(:last-child) {
    margin-bottom: 1em;
}


/* tableタグ - 固有クラス
--------------------------------------------------------------- */

figure.cmn-table-1 table tr > td:first-child {
    min-width: 6em;
}

figure.cmn-table-2 table {
    font-size: .9em;
}

figure.cmn-table-2 table tr > td:first-child {
    min-width: 7em;
    background: var(--color-back-green);
}


/* dlタグ - モジュール
--------------------------------------------------------------- */

.cmn-module-dl {
    font-size: var(--font-base-size);
}

.cmn-module-dl:not(:last-child) {
    margin-bottom: 2.08em;
}

.cmn-module-dl .cs-heading {
    position: relative;
    margin-bottom: .8em;
    z-index: 1;
}

.cmn-module-dl .cs-heading > span {
    box-sizing: border-box;
    display: inline-block;
    min-width: 240px;
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    padding: .42em;
    background: var(--color-main);
    border-radius: 5px;
    line-height: 1;
}

.cmn-module-dl .cs-heading::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: var(--color-main);
    margin: auto;
    z-index: -1;
}

.cmn-module-dl dd {
    line-height: 1.66;
}


/* ボタンタグ - 固有クラス
--------------------------------------------------------------- */

/* -- リンクボタン */

.is-button-style .wp-block-button__link{
    position: relative;
    color: #fff;
    background-color: var(--color-main);
    border-radius: 10px;
    box-shadow: none;
    text-decoration: none;
    padding: 1.04em 1.16em 1.16em;
    font-size: var(--font-base-size);
    font-weight: 700;
    line-height: 1;
}

.is-button-style .wp-block-button__link::after {
    content: "";
    position: relative;
    display: inline-block;
    width: 12px;
    aspect-ratio: 1/1.44;
    vertical-align: middle;
    background: url(../img/common/ico_arrow_white.svg) center center / contain no-repeat;
    margin: 0 0 0 .4em;
}



/* strongタグ - Gutenbergスタイル
--------------------------------------------------------------- */

strong {}


/* hr
--------------------------------------------------------------- */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 3em auto 2.5em;
    padding: 0;
}















/* aタグ
--------------------------------------------------------------- */

.post-type-post .editor-styles-wrapper a {
    color: #1344a7;
}



/* hシリーズ
--------------------------------------------------------------- */

.post-type-post .editor-styles-wrapper h1 {}

.post-type-post .editor-styles-wrapper h2 {}

.post-type-post .editor-styles-wrapper h3 {}

.post-type-post .editor-styles-wrapper h4 {}

.post-type-post .editor-styles-wrapper h5 {}


/* p
--------------------------------------------------------------- */

.post-type-post .editor-styles-wrapper p:not(:last-child) {
    margin-bottom: 1em;
}


/* メディア
--------------------------------------------------------------- */

.post-type-post .editor-styles-wrapper .wp-block-image {}

.post-type-post .editor-styles-wrapper .wp-block-imagefigcaption {}



/* ボタン
--------------------------------------------------------------- */

.post-type-post .wp-block-buttons {}

.post-type-post .wp-block-buttons > .wp-block-button {}

.post-type-post .wp-block-button__link {}

.post-type-post .wp-block-button__link[target="_blank"]:after {}


/* 各種パーツ - ul リスト
--------------------------------------------------------------- */

.post-type-post .editor-styles-wrapper ul {
    margin: 1em auto;
}

.post-type-post .editor-styles-wrapper ul > li:not(:last-child) {
    margin-bottom: .5em;
}

.post-type-post .editor-styles-wrapper ul > li {}

.post-type-post .editor-styles-wrapper ul > li:before {}


/* 各種パーツ - ol リスト
--------------------------------------------------------------- */

.post-type-post .editor-styles-wrapper ol {
    margin: 1em auto;
}

.post-type-post .editor-styles-wrapper ol > li:not(:last-child) {
    margin-bottom: .5em;
}

.post-type-post .editor-styles-wrapper ol > li {}

.post-type-post .editor-styles-wrapper ol > li:before {}


/* 各種パーツ - 強調
--------------------------------------------------------------- */

.post-type-post .editor-styles-wrapper em {
    font-style: italic;
}



@media screen and (max-width:1023px) {

    /* SP hタグ - Gutenbergスタイル
    --------------------------------------------------------------- */

    h1:not(.is-default, .editor-post-title),
    h2:not(.is-default),
    .cmn-style-h2 {
        font-size: 6.4vw;
    }

    h3:not(.is-default),
    h4:not(.is-default),
    .cmn-style-h3,
    .cmn-style-h4 {
        font-size: 5.33vw;
    }


    /* SP hタグ - 固有クラス
    --------------------------------------------------------------- */

    /* -- SP グラデーション */

    .cmn-title-1 {
        font-size: 6.67vw;
        margin-bottom: .7em;
    }


    /* -- SP dlタグ - hタグ版  */

    .cmn-title-dl .cs-tag {
        min-width: 40vw;
        font-size: 4.8vw;
        border-radius: 1.33vw;
    }


    /* SP hタグ - モジュール
    --------------------------------------------------------------- */

    /* -- SP 英語キャプションセット */

    .cmn-module-title-1 {
        margin-bottom: 6.4vw;
    }

    .cmn-module-title-1 p.is-en {
        font-size: 2.93vw;
    }


    /* -- SP 固定ページ - ヘッダーセット */

    .cmn-module-title-header {
        --separate-width: 0;
        position: relative;
        grid-template-columns: 100%;
        align-items: center;
        gap: 1em var(--separate-width);
        font-size: var(--font-base-size);
        margin-bottom: 8vw;
    }

    .cmn-module-title-header .cmn-module-title-1 {
        position: relative;
        width: 100%;
        margin: 0;
    }

    .cmn-module-title-header .cmn-module-title-1::after {
        content: normal;
    }

    .cmn-module-title-header .cs-column-text {
        line-height: 1.4;
    }


    /* -- SP ※まるがく専用 - 固定ページ - ヘッダーセット */

    .cmn-module-marugaku-header {
        height: 48.31vw;
    }
    
    .cmn-module-marugaku-header .cs-image.is-sp-left img{
        object-position: 0 center;
    }

    .cmn-module-marugaku-header .cmn-module-title-1 {
        min-width: 64.01vw;
        padding: 1.45em;
    }


    /* -- ※まるがく専用 - 固定ページ - キャッチコピー */

    .cmn-module-strong-text {
        text-align: left;
    }



    /* SP メディアタグ
    --------------------------------------------------------------- */

    .wp-block-image:not(.is-default) {
        margin-bottom: 1em;
    }

    .wp-block-imagefigcaption:not(.is-default) {}


    /* SP ul,olタグ
    --------------------------------------------------------------- */



    /* SP dlタグ - モジュール
    --------------------------------------------------------------- */

    .cmn-module-dl .cs-heading > span {
        min-width: 40vw;
        font-size: 4.8vw;
        border-radius: 1.33vw;
    }

    .cmn-module-dl .cs-heading::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        display: block;
        width: 100%;
        height: 1px;
        background: var(--color-main);
        margin: auto;
        z-index: -1;
    }
    
    
    /* SP ボタンタグ - 固有クラス
    --------------------------------------------------------------- */

    /* -- SP リンクボタン */

    .is-button-style .wp-block-button__link{
        border-radius: 2.67vw;
    }

    .is-button-style .wp-block-button__link::after {
        top: .05em;
        width: 2.13vw;
    }
    

}

/*
グーテンベルク 寄せ
--------------------------------------------------------
*/
.wp-block[data-align="right"] > .wp-block-table table{
	margin-right:0;
	margin-left:auto;
}

