@charset "UTF-8";

pre{
    white-space: break-spaces;
}

table {
    border-collapse:  collapse;
    margin-top: 20px;
    margin-bottom: 30px;
}

tr:nth-child(odd) {
    background-color: #ddd;
}

tbody tr:nth-child(odd){
    background-color: #ececec;
}

th,td {
    padding: 5px 10px;
}

dl {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    text-align: left;
    margin-bottom: 5rem;
}

dt {
    width: 20%;
    margin: 0;
    border-bottom: dashed 1px #333333;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2rem;
    padding: 1.2em 1em 1em 0;
    vertical-align: middle;
    align-items: center;
}

dd {
    width: 80%;
    margin: 0;
    padding: 1em 1em 1em 0;
    border-bottom: dashed 1px #333333;
    vertical-align: middle;
    line-height: 2.7rem;
    line-height: 1.8;
}

.single_post {
    max-width: 1280px;
    width: 80%;
    margin: 0 auto;
    padding-top: 320px;
    line-height: 1;   
}

.single_content img {
    border-radius: 20px;
}

.single_post a {
    color: #333333;
}

.single_header {
    font-family: "Manrope", sans-serif;
    margin-bottom: 70px;
}

.single_header_top {
    display: flex;
    gap: 35px;
    margin-bottom: 40px;
}

.single_header_top p {
    font-size: 18px;
    font-weight: 700;
}

.single_header_top p:nth-child(2) {
    color: #F89C48;
}

.single_wrapper .breadcrumb_nav {
    margin-bottom: 100px;
    padding: 0;
}

.single_content_box {
    display: flex;
    gap: 9.375%;
    justify-content: space-between;
    padding-bottom: 100px;
    border-bottom: 1px dashed #333333;
}

.single_box_left {
    width: 62.5%;
}

.single_box_right {
    width: 28.125%;
    min-width: 285px;
}

/* single_content */
/* single_box_left */

span.single_insta_title {
    font-weight: 600;
}

.single_detail_title_1 {
    font-size: 28px;
    font-weight: 700;
    color: #F89C48;
} 

.single_detail_title_2 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
    color: #F89C48;
}

.single_detail_img_flex {
    display: flex;
    justify-content: space-between;
    gap: 7.5%;
}

.single_detail_img_flex img {
    width: 100%;
}

.single_detail_img {
    width: 100%;
}

.single_detail_img.single_detail_img_top {
    padding: 0;
}
/* single_box_left ここまで */

/* single_box_right */
.single_detail_text {
    line-height: 2;
}

.single_sidebar h2 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.67;
}

.single_sidebar_box {
    display: flex;
    flex-direction: column;
}

.single_news_top {
    display: flex;
    gap: 10px 25px;
    align-items: center;
    flex-wrap: wrap;
}

.single_sidebar_box p {
    font-family: "Manrope", sans-serif;
    font-weight: 400;
}

.single_news_top p {
    font-size: 14px;
}

.single_news_bottom p {
    font-size: 14px;
    line-height: 1.6;
}

.single_news_top p:nth-child(2) {
    color: #F39939;
}

.single_item_link {
    display: flex;
    gap: clamp(10px, 2vw, 30px);
    align-items: center;
    justify-content: space-between;   
}

.single_sidebar_box li {
    padding: 30px 0;
    border-bottom: 1px dashed #333333;
}

.single_sidebar_box li:nth-child(1) {
    border-top: 1px dashed #333333;
}

.btn_arrow_wh p {
    font-size: 18px;
    font-weight: 600;
}

.btn_arrow_wh {
    display: flex;
}

.single_sidebar_btn {
    display: flex;
    justify-content: flex-end;
}

.single_news_bottom {
    margin-top: 20px;
}

.single_img_newest {
    flex-shrink: 0;
    width: clamp(85px, 8vw, 125px);
    aspect-ratio: 25 / 17;
}

.single_img_newest img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* single_box_rightここまで */

/* 一覧に戻る */
.single_btn_area .btn_list_back {
    width: 300px;
    height: 46px;
    color: #FFFFFF;
    background-color: #F89C48;
    text-align: center;
    line-height: 46px;
    font-size: 18px;
    font-weight: 600;
    border-radius: 50px;
    margin: auto;
}

.single_btn_area {
    margin-top: 100px;
}
/* 一覧に戻る ここまで */

/* ニュース一覧を見る */
.info_btn_arrow_area {
    display: flex;
    align-items: center;
    gap: 15px;
}

.info_btn_text {
    font-size: 18px;
    font-weight: 600;
}

.info_img_arrow_wh {
    position: relative;
    width: 40px;
    height: 40px;
    background-color: #F89C48;
    border-radius: 50%;
}

.info_arrow_icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.info_img_arrow_wh img {
    width: 12px;
    height: 12px;
}

/* ニュース一覧を見る ここまで */

/* margin */
.single_margin_2 {
    margin-top: 20px;
}
.single_margin_3 {
    margin-top: 30px;
}

.single_margin_4 {
    margin-top: 40px;
}

.single_margin_5 {
    margin-top: 50px;
}

.single_margin_6 {
    margin-top: 60px;
}

.single_margin_7 {
    margin-top: 70px;
}
/* marginここまで*/

/* ワードプレステーマ用 */
.wp-block-gallery.has-nested-images.columns-default.is-cropped.wp-block-gallery-1.is-layout-flex.wp-block-gallery-is-layout-flex {
    display: flex;
    flex-wrap: wrap; 
    gap: 30px 60px;
    justify-content: space-between;
    margin: 40px 0;
}

.wp-block-gallery.has-nested-images.columns-default.is-cropped.wp-block-gallery-1.is-layout-flex.wp-block-gallery-is-layout-flex .wp-block-image {
    flex: 1 1 calc(50% - 30px); /* 2列レイアウト */
    box-sizing: border-box; 
    max-width: calc(50% - 30px); 
    object-fit: cover;
    aspect-ratio: 16 / 10;
}

.wp-block-gallery.has-nested-images.columns-default.is-cropped.wp-block-gallery-1.is-layout-flex.wp-block-gallery-is-layout-flex .wp-block-image img {
    width: 100%; /* 画像を親要素に合わせる */
    height: auto; /* アスペクト比を維持 */
    display: block; 
}

.single_news_bottom p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden; 
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.category_list {
    display: flex;
    gap: 5px 15px;
    flex-wrap: wrap;
}

.single_news_top .category_list {
    gap: 5px 8px;
}

.single_header_bottom h1 {
    font-size: 60px;
    font-weight: 700;
    line-height: 1.37;
    overflow: visible;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* コンテンツ部分のスタイル */
.single_box_left img {
    max-width: 100%;
    height: 100%;
    object-fit: cover;
}
.single_box_left picture {
    max-width: 100%;
    height: 100%;
    object-fit: cover;
}

/* サムネイル画像 */
/* サムネイル画像がある場合 */
.single_detail_img.single_detail_img_top.has-thumbnail {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 50px;
}

/* サムネイル画像がない場合 */
.single_detail_img.single_detail_img_top.no-thumbnail {
    margin-bottom: 0px;
}

/* サムネイル画像ここまで */

/* コンテンツ部分見出し */
.single_detail_text h1 {
    color: #F89C48;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 40px; /* 前の要素との距離 */
    margin-bottom: 40px; /* 次の要素との距離 */
    word-break: break-word;
    overflow-wrap: break-word;
}

.single_detail_text h2 {
    color: #F89C48;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 40px;
    margin-bottom: 40px;
    word-break: break-word;
    overflow-wrap: break-word;
}

.single_detail_text h3 {
    color: #F89C48;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.42;
    margin-top: 30px;
    margin-bottom: 30px;
    word-break: break-word;
    overflow-wrap: break-word;
}

.single_detail_text h4 {
    color: #F89C48;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.47;
    margin-top: 25px;
    margin-bottom: 25px;
    position: relative;
    word-break: break-word;
    overflow-wrap: break-word;
}

.single_detail_text h5 {
    color: #F89C48;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.53;
    margin-top: 40px;
    margin-bottom: 20px;
    word-break: break-word;
    overflow-wrap: break-word;
}

.single_detail_text h6 {
    color: #F89C48;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.57;
    margin-top: 20px;
    margin-bottom: 15px;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* 見出し直後に画像がある場合の調整 */
.single_detail_text h1 + figure {
    margin-top: 40px; /* h1と画像間の距離 */
}

.single_detail_text h2 + figure {
    margin-top: 50px; /* h2と画像間の距離 */
}

.single_detail_text h3 + figure {
    margin-top: 40px; /* h3と画像間の距離 */
}

.single_detail_text h4 + figure,
.single_detail_text h5 + figure,
.single_detail_text h6 + figure {
    margin-top: 30px; /* h4～h6と画像間の距離 */
}

/* 最初の見出し */
.single_detail_text h1:first-child,
.single_detail_text h2:first-child,
.single_detail_text h3:first-child,
.single_detail_text h4:first-child,
.single_detail_text h5:first-child,
.single_detail_text h6:first-child {
    margin-top: 0;
}

/* その他の見出し */
.single_detail_text h1:not(:first-child),
.single_detail_text h2:not(:first-child) {
    margin-top: 60px;
}

/* 通常の段落の余白 */
.single_detail_text p {
    margin-top: 20px; /* 段落間の余白 */
    margin-bottom: 30px; /* 段落間の余白を広めに設定 */
    line-height: 1.8; 
    font-size: 16px;
    font-weight: 400;
    word-break: break-word;
    overflow-wrap: break-word;   
}

/* 段落内に画像がある場合の余白 */
.single_detail_text p > img {
    display: block;
    margin-top: 40px; /* 段落上部との余白 */
    margin-bottom: 40px; /* 段落下部との余白 */
    margin-left: auto; 
    margin-right: auto;
    max-width: 100%;
    height: auto;
}

/* 画像を含む段落と次の段落の余白 */
.single_detail_text p img + p {
    margin-top: 32px; /* 画像下の段落余白を調整 */
}

/* 段落直後の画像の余白 */
.single_detail_text p + figure {
    margin-top: 70px; /* 段落と画像の間の余白を広く */
    margin-bottom: 40px; /* 画像下の余白 */
}

/* 画像と次の段落の余白 */
.single_detail_text figure + p {
    margin-top: 50px; /* 画像下の段落余白を調整 */
}

.single_detail_text .alignleft {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
    margin-top: 0;
}

.alignright {
    float: right;
    margin-left: 15px;
    margin-bottom: 15px;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
}

.wp-block-image img {
    max-width: 100%;
    height: auto;
}

.alignleft {
    width: auto; /* 幅をリセット */
    max-width: 100%; /* コンテナの幅を超えない */
}

p:has(.alignleft) {
    overflow: hidden; /* フロート解除 */
}

.alignright {
    width: auto;
    max-width: 100%;
}

.single_detail_text .alignright {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
    margin-top: 0;
}

.alignright + p,
.alignright + div {
    clear: right; /* 右寄せの次の要素でフロートを解除 */
}

.wp-caption {
    max-width: 100%;
    overflow: hidden;
    margin: 0 auto;
}

.wp-caption img {
    max-width: 100%;
    height: auto;
    display: block;
}

.wp-caption-text {
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
    margin-top: 10px;
}

/* 最後の画像に margin-bottom: 0 を適用 */
.single_detail_text figure:last-of-type img {
    margin-bottom: 0;
}

/* 最後の figure の場合に margin-bottom を 0 に上書き */
.single_detail_text figure:last-of-type {
    margin-bottom: 0 !important;
}

.wp-block-image {
    margin: 70px 0;
}

.has-heading-color-color {
    color: #F89C48; /* Gutenbergのカラーパレットで指定した色 */
}

/* Gutenbergのブロックに背景色を反映させるスタイル */
.has-background {
    background-color: #F89C48;
}
/* ここまでコンテンツ部分のスタイル */
/* ここまでワードプレステーマ用 */


/* 1024px以下のデバイスに適用 */
@media screen and (max-width: 1024px) {
    .single_post {
        width: 100%;
        padding-top: 125px;
    }

    .single_header {
        padding: 0 7.5%;
        margin-bottom: 40px;
    }

    .single_header_top p {
        font-size: 14px;
        font-weight: 700;
    }

    .single_header_top {
        gap: 15px;
        margin-bottom: 30px;
    }

    .single_header_bottom h1 {
        font-size: 30px;
    }

    .single_wrapper .breadcrumb_nav {
        margin-bottom: 40px;
        padding: 0 7.5%;
    }

    .single_detail_text {
        font-size: 14px;
        line-height: 2;
        padding: 0 7.5%;
    }

    .single_content_box {
        flex-direction: column;
        gap: 50px;
    }

    .single_box_left {
        width: 100%;
    }

    .single_detail_title_2 {
        padding: 0 7.5%;
    }

    .single_detail_title_1 {
        padding: 0 7.5%;
    }

    .single_detail_img_flex {
        flex-direction: column;
        padding: 0 7.5%;
        gap: 25px;
    }

    .single_detail_img_flex img {
        width: 100%;
    }

    .single_detail_title_1 {
        font-size: 16px;
    }

    .single_detail_img.single_detail_img_top {
        padding: 0;
    }

    .single_detail_img.single_detail_img_top img {
        border-radius: 0;
    }

    .single_detail_insta .single_detail_text {
        line-height: 1.71;
    }

    .single_box_right {
        width: 100%;
        background-color: #FFFFFF;
    }

    .single_sidebar {
        padding: 30px 7.5% 40px;
    }

    .info_btn_arrow_area.pc_device {
        display: none;
    }

    .single_content_box {
        padding-bottom: 0;
        border-bottom: none;
    }

    .single_btn_area .btn_list_back {
        width: 196px;
        font-size: 16px;
    }

    .single_sidebar_box li {
        padding: 25px 0;
    }

    .single_news_top {
        gap: 10px;
    }

    .single_sidebar_box {
        margin-top: 25px;
    }

    .single_news_bottom {
        margin-top: 15px;
    }

    .single_sidebar h2 {
        font-size: 18px;
        line-height: 2.22;
    }

    .single_news_top p {
        font-size: 12px;
    }

    /* SP マージン */
    .single_margin_0_sp {
        margin-top: 0;
    }

    .single_margin_2_sp {
        margin-top: 20px;
    }

    .single_margin_25_sp {
        margin-top: 25px;
    }

    .single_margin_3_sp {
        margin-top: 30px;
    }

    .single_margin_35_sp {
        margin-top: 35px;
    }

    .single_margin_4_sp {
        margin-top: 40px;
    }

    .single_btn_area {
        margin-top: 30px;
    }
    /* マージン ここまで */

    .single_item_link {
        gap: clamp(20px, 5vw, 48px);
    }

    .single_detail_img {
        padding: 0 7.5%;
    }

    /* ワードプレステーマ用 */
    .single_detail_img.single_detail_img_top.has-thumbnail {
        margin-bottom: 40px;
    }

    .single_detail_text h1:not(:first-child) {
        margin-top: 40px;
    }

    .single_detail_text p {
        font-size: 14px;
        line-height: 2;
    }

    .single_detail_text h1 {
        font-size: 22px;
        margin-top: 40px;
        margin-bottom: 20px;
    }

    .single_detail_text h1 + figure {
        margin-top: 20px;
    }

    .single_detail_text figure + p {
        margin-top: 30px;
    }

    .single_detail_text p + figure {
        margin-top: 35px;
    }

    .wp-block-gallery.has-nested-images.columns-default.is-cropped.wp-block-gallery-1.is-layout-flex.wp-block-gallery-is-layout-flex {
        gap: 25px;
        margin: 25px 0;
    }

    .wp-block-gallery.has-nested-images.columns-default.is-cropped.wp-block-gallery-1.is-layout-flex.wp-block-gallery-is-layout-flex .wp-block-image {
        flex: none; 
        max-width: 100%; 
        box-sizing: border-box;
    }
    
    .wp-block-gallery.has-nested-images.columns-default.is-cropped.wp-block-gallery-1.is-layout-flex.wp-block-gallery-is-layout-flex .wp-block-image img {
        width: 100%; 
        height: auto; 
        object-fit: cover; 
    }

    .wp-block-gallery.has-nested-images.columns-default.is-cropped {
        --wp--style--unstable-gallery-gap: 0; /* ギャップをリセット */
    }

    .single_detail_text h2 {
        font-size: 20px;
        margin-top: 40px;
        margin-bottom: 20px;
    }

    .single_detail_text h3 {
        font-size: 18px;
    }

    .single_detail_text h4 {
        font-size: 16px;
    }

    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
        width: 100%;
    }

    .wp-block-image {
        margin: 35px 0;
    }

    /* ここまでワードプレステーマ用 */

    .breadcrumb li:last-child {
        font-size: 12px;
    }

    .breadcrumb {
        flex-wrap: wrap;
    }

    .single_detail_text .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2), .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image) {
        width: 100%;
        height: auto;
    }

    .single_img_newest {
        width: clamp(110px, 18vw, 125px);
        aspect-ratio: 22 / 15;
    }
  
}

/* 540px以下のデバイスに適用 */
@media screen and (max-width: 540px) {
    .single_img_newest {
        max-width: 110px;
    }

    .single_img_newest img {
        aspect-ratio: 110 / 74;
    }
    
}