@charset "UTF-8";

/* フォントのインポート */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Teko:wght@300..700&display=swap');
/*
Theme Name: lm-child
Version: 0.1.0
Template: lm
*/
:root {
    /* ======== ▼固定変数▼ ======== */
    /* ======== ▼フォント設定▼ ======== */
    --font-family01: "Noto Sans JP", sans-serif;
    --font-family02: "Teko", sans-serif;
    --font-family03: "Open Sans", sans-serif;
    /* ==== フォントサイズ設定 ==== */    
    --font-size12: clamp(10px, .63vw, 12px);
    --font-size14: clamp(12px, .73vw, 14px);
    --font-size16: clamp(14px, .84vw, 16px);
    --font-size18: clamp(16px, .94vw, 18px);
    --font-size20: clamp(18px, 1.1vw, 20px);
    --font-size22: clamp(18px, 1.15vw, 22px);
    --font-size24: clamp(18px, 1.25vw, 24px);
    --font-size26: clamp(20px, 1.36vw, 26px);
    --font-size28: clamp(20px, 1.6vw, 28px);
    --font-size30: clamp(22px, 1.56vw, 30px);
    --font-size32: clamp(22px, 1.7vw, 32px);
    --font-size34: clamp(24px, 1.85vw, 34px);
    --font-size36: clamp(24px, 1.875vw, 36px);
    --font-size38: clamp(24px, 2vw, 38px);
    --font-size40: clamp(26px, 2.1vw, 40px);
    --font-size42: clamp(20px, 2.3vw, 42px);
    --font-size44: clamp(26px, 2.3vw, 44px);
	--font-size46: clamp(28px, 2.4vw, 46px);
    --font-size48: clamp(28px, 2.5vw, 48px);
    --font-size50: clamp(28px, 2.61vw, 50px);
    --font-size52: clamp(28px, 2.71vw, 52px);
    --font-size54: clamp(28px, 2.782vw, 54px);
    --font-size56: clamp(30px, 3vw, 56px);
    --font-size58: clamp(30px, 3.1vw, 58px);
    --font-size60: clamp(30px, 3.13vw, 60px);
    --font-size74: clamp(45px, 4vw, 74px); 
    --font-size90: clamp(45px, 4.69vw, 90px); 
    /* ==== 間隔[clamp]設定 ==== */
    --clamp-10: clamp(5px, 0.52vw, 10px);
    --clamp-14: clamp(7px, 0.73vw, 14px);
    --clamp-16: clamp(10px, .84vw, 16px);
    --clamp-20: clamp(10px, 1.04vw, 20px);
    --clamp-30: clamp(15px, 1.56vw, 30px);
    --clamp-40: clamp(20px, 2.08vw, 40px);
    --clamp-44: clamp(20px, 2.61vw, 44px);
    --clamp-50: clamp(25px, 2.61vw, 50px);
    --clamp-60: clamp(30px, 3.13vw, 60px);
    --clamp-70: clamp(35px, 3.65vw, 70px);
    --clamp-80: clamp(40px, 4.17vw, 80px);
    --clamp-90: clamp(45px, 4.69vw, 90px); 
    --clamp-100: clamp(50px, 5.42vw, 100px);
    --clamp-110: clamp(55px, 5.73vw, 110px);
    --clamp-120: clamp(60px, 6.25vw, 120px);
    --clamp-130: clamp(65px, 6.78vw, 130px);
    --clamp-140: clamp(70px, 7.3vw, 140px);
    --clamp-150: clamp(75px, 7.92vw, 150px);
    --clamp-160: clamp(80px, 8.4vw, 160px);
    --clamp-170: clamp(85px, 8.9vw, 170px);
    --clamp-180: clamp(90px, 9.4vw, 180px); 
    --clamp-190: clamp(95px, 9.9vw, 190px);
    --clamp-200: clamp(100px, 10.42vw, 200px);
    /* ======== ▼基本設定▼ ======== */
    /* ==== カラー ==== */
    /* -ベース｜[カラー]- */
    --color-background: #FFF;
    --color-font: #12202C;
    --color-primary: #0561AE;
    --color-primary-shade: #FAFAFA;
    --color-primary-tint: #003A69;
    --color-secondary: #F73737;
    --color-secondary-tint: #F86464;
    --color-table-border: #DCDDDD;
    /* -ヘッダー-｜[カラー] */
    --header-background: #FFF;
    --header-color-font: #12202C;
    --header-color-primary: #0561AE;
    --header-color-primary-shade: #FAFAFA;
    --header-color-primary-tint: #237FC4;
    /* -フッター-｜[カラー] */
    --footer-background: #003A69;
    --footer-color-font: #FFF;
    --footer-color-primary: #FFF;
    /* ==== ルール付け ==== */
    --body-font-size: var(--font-size16);
    --body-line-height: 1.67;
    --body-letter-spacing: .03em;
    --body-font-family: var(--font-family01);
    --inner-width: 90%;
    --inner-max-width-px: 1480px;
    --inner-content-width: min(var(--inner-width), var(--inner-max-width-px));
    /* ==== h1~h6 ==== */
    --font-size-h1: var(--font-size48);
    --font-size-h2: var(--font-size38);
    --font-size-h3: var(--font-size28);
    --font-size-h4: var(--font-size22);
    --font-size-h5: var(--font-size20);
    /* ======== ▼gap設定[flexbox/card]▼ ======== */
    --gap-flex-column-02: var(--clamp-44);
    --gap-card-column-02: var(--clamp-44);
    --gap-card-column-03: var(--clamp-30);
    --gap-card-column-04: var(--clamp-30);
    --gap-card-column-05: var(--clamp-30);
    --gap-card-column-06: var(--clamp-30);    
}
[id] {
  scroll-margin-top: var(--clamp-100);
}
html, body {
  overflow-x: hidden;
}
html {
  font-size: 62.5%; /* 1rem = 10px */
}
/* 初期状態は透明 */
body {
    opacity: 0;
    transition: opacity .3s ease;
    font-family: var(--body-font-family);
    font-size: var(--body-font-size);
    line-height: var(--body-line-height);
    letter-spacing: var(--body-letter-spacing);
}
/* 読み込み完了でフェードイン */
body.fade-in {
    opacity: 1;
}
/* フェードアウト */
body.fade-out {
    opacity: 0;
}
a, a:hover {
    color: inherit;
    transition: opacity .2s;
}
a:hover {
    opacity: .6;
}
ul, li {
    color: var(--color-font);
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}
iframe {
  max-width: 100%;
}
hr {
    margin: var(--clamp-40) 0;
}
/* PC */
@media print, screen and (min-width: 1024px) {
}
/* タブレット */
@media print, screen and (max-width: 1023px) {
}
/* SP */
@media print, screen and (max-width: 768px) {
}
/* == == == == == == == == == == == == == == == == == == 
* inner/outer
* == == == == == == == == == == == == == == == == == == */
.wrapper_content,
.content_inner   {
    width: var(--inner-width);
}
.wrapper_content {
	max-width: var(--inner-max-width-px);
	position: relative;
	margin: 0 auto;
    /* overflow: hidden; */
}
.content_inner {
    position: relative;
    z-index: 0; 
    width: var(--inner-width);
    margin: 0 auto;
}
.content_wrapper {
    position: relative;
    z-index: 0; 
    width: 100%;
    margin: 0 auto;
}
.max_wFull {
    position: relative;
    width:100vw;
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
}
.max_wFull::before {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.w_94 {width: 94%!important;}
.w_98 {width: 98%!important;}
.max_w1600 {max-width: 1600px;}
.max_w1500 {max-width: 1500px;}
.max_w1400 {max-width: 1400px;}
.max_w1300 {max-width: 1300px;}
.max_w1200 {max-width: 1200px;}
.max_w1100 {max-width: 1100px;}
.max_w1000 {max-width: 1000px;}
.max_w900 {max-width: 900px;}
.max_w980 {max-width: 980px;}
.max_w960 {max-width: 960px;}
.max_w880 {max-width: 880px;}
.max_w800 {max-width: 800px;}
.max_w760 {max-width: 760px;}
.max_w660 {max-width: 660px;}
.max_w500 {max-width: 500px;}
.max_w400 {max-width: 400px;}
.inner_padding {
    padding: 0 6%;
}
@media print, screen and (max-width: 768px) {
	.w_94, .w_98 {
		width: 90%;
	}
}
/* ==== post ~ ===== */
p, h1, h2, h3, h4, h5 {
    color: var(--color-font);
    letter-spacing: var(--body-letter-spacing);
    line-height: var(--body-line-height);
    font-family: var(--font-family01);
}
h1, h2, h3, h4, h5 {
    font-weight: bold;
    margin-bottom: .5em;
	line-height: 1.5;
}
p {
    font-size: var(--body-font-size);
    margin-bottom: 1.5em;
    font-weight: 500;
}
h1 {
    font-size: var(--font-size-h1);
}
h2 {
    font-size: var(--font-size-h2);
}
h3 {
    font-size: var(--font-size-h3);
}
h4 {
    font-size: var(--font-size-h4);
}
h5 {
    font-size: var(--font-size-h5);
}
/* == == == == == == == == == == == == == == == == == == 
*  レイアウト/あしらい
*  == == == == == == == == == == == == == == == == == == */
.anchor_link::before {
    content: '';
    display: block; 
    /* padding-top: var(--clamp-150);
    margin-top: calc(var(--clamp-150) * -1);
    position: absolute;
    top: 0;
    left: 0; */
}
.googlemap {
    padding-top: 0;
	padding-bottom: clamp(250px, 30vw, 450px);
	margin: 0;
    position: relative;
}
.googlemap iframe,
.googlemap object,
.googlemap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media print, screen and (max-width: 768px) {
    .sp_center {
        text-align: center;
    }
}
/* == == == == == == == == == == == == == == == == == == 
*  flex / card
* == == == == == == == == == == == == == == == == == == */
/* == == == == == == == ==
* flex 
* == == == == == == == == */
.col-1{ width: 100%;}
.col-2{width: calc((100% - (var(--gap-flex-column-02) * 1)) / 2);}
.col-3{width: calc(100% / 3);}
.col-4{width: calc(100% / 4);}
.col-5{width: calc(100% / 5);}
.w25 {width: 25%;}
.w32 {width: 32%;}
.w35 {width: 35%;}
.w45 {width: 45%;}
.w55 {width: 55%;}
.w65 {width: 65%;}
.w75 {width: 75%;}
.w85 {width: 85%;}
.wrap {flex-wrap: wrap;}
.nowrap {flex-wrap: nowrap;}
.gap {gap: 5%;}
.gap-2 {gap: 2%;}
.gap-3 {gap: 3%;}
.gap-4 {gap: 4%;}
.flex_1 {flex: 1;}
@media print, screen and (min-width: 769px) {
}
@media print, screen and (max-width: 768px) {
    .col-1, .col-2, .col-3, .col-4, .col-5 {
        width: 100%;
        margin-bottom: 20px;
    } 
    .w25, .w32, .w35, .w45, .w55, .w65, .w75, .w85 {
        width: 100%;
        margin-bottom: 20px;
    }
}
/* == == == == == == == ==
* card
* == == == == == == == == */
.card {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    position: relative;
}
.card--col-2 {gap: var(--gap-card-column-02);}
.card--col-3 {gap: var(--gap-card-column-03)}
.card--col-4 {gap: var(--gap-card-column-04);}
.card--col-5 {gap: var(--gap-card-column-05);}
.card--col-6 {gap: var(--gap-card-column-06);}
.card__item {position: relative;}
.card__item--col-1 {width: 100%;}
.card__item--col-2 {width: calc((100% - (var(--gap-card-column-02) * 1)) / 2);}
.card__item--col-3 {width: calc((100% - (var(--gap-card-column-03) * 2)) / 3);}
.card__item--col-4 {width: calc((100% - (var(--gap-card-column-04) * 3)) / 4);}
.card__item--col-5 {width: calc((100% - (var(--gap-card-column-05) * 4)) / 5);}
.card__item--col-6 {width: calc((100% - (var(--gap-card-column-06) * 5)) / 6);}
.card p:last-child {margin: 0;}
@media print, screen and (max-width: 1023px) {
    .card__item--col-5 {width: calc((100% - (var(--gap-card-column-05) * 3)) / 4);}
}
@media print, screen and (min-width: 769px) {
    .gap-min {
        gap: var(--space-12)!important;
    }
    .gap-min .card__item--col-2 {width: calc((100% - (var(--space-12) * 1)) / 2);}
    .gap-min .card__item--col-3 {width: calc((100% - (var(--space-12) * 2)) / 3);}
    .gap-min .card__item--col-4 {width: calc((100% - (var(--space-12) * 3)) / 4);}
    .gap-min .card__item--col-5 {width: calc((100% - (var(--space-12) * 4)) / 5);}
    .gap-min .card__item--col-6 {width: calc((100% - (var(--space-12) * 5)) / 6);}
}
@media print, screen and (max-width: 768px) {
	.card {
		width: 100%;
		margin: 0 auto;
	}
    .card {flex-direction: row;}
    .card--col-2, .card--col-3 {
        gap: 15px;
    }
    .card__item--col-2, .card__item--col-3 {
        width: 100%;
        margin-bottom: 0;
    }
    .card__item--col-4, .card__item--col-5, .card__item--col-6  {
        width: calc((100% - (var(--gap-card-column-05) * 1)) / 2);
        margin-bottom: 0;
    }
}
@media print, screen and (max-width: 499px) {
    .card__item--col-4, .card__item--col-5, .card__item--col-6 {
        width: 100%;
		margin: 0 auto;
    }
}

/* == == == == == == == == == == == == == == == == == == 
* テーブル、マップ調整/table,map
* == == == == == == == == == == == == == == == == == == */
th, td {
  word-break: break-word;
}
table {
	border: 0;
	color: var(--color-font);
	border-collapse: collapse;
	width: 100%;
	table-layout: fixed;
	font-size: var(--font-size16);
	margin-bottom: 15px;
	box-sizing:border-box;
	line-height: 1.5;
	font-weight: 500;
}
table th, table td {
	text-align: left;
	padding: 1.2em 1em;
}
table th {
	border-bottom: var(--color-table-border) 1px solid;
	background-color: #FFF;
}
table td {
	border-bottom: var(--color-table-border) 1px solid;
	background-color: #FFF;
}
.of-scroll-x table {
    min-width: 1100px;
}
@media print, screen and (min-width: 769px) {
}
@media print, screen and (max-width: 768px) {
    table.responsive th, table.responsive td {
        display: block;
        width: 100%;
    }
    table.responsive th {
        background: var(--color-primary-shade);
    }
}
/* == == == == == == == == == == == == == == == == == == 
* ボタン/btn
* == == == == == == == == == == == == == == == == == == */
@media print, screen and (max-width: 768px) {
}
/* == == == == == == == == == == == == == == == == == == 
* アイキャッチ/eyecatch
* == == == == == == == == == == == == == == == == == == */
@media print, screen and (max-width: 1024px) {
}
/* == == == == == == == == == == == == == == == == == == 
 * パンくず
 * == == == == == == == == == == == == == == == == == == */
.lBreadcrumbContainer {
    width: 100%;
    max-width: 100%;
    background: #F5F5F5;
}
.lBreadcrumbContainer ul {
    max-width: var(--inner-max-width-px);
    width: var(--inner-width);
    margin: 0 auto;
}
.lBreadcrumbContainer li, .lBreadcrumbContainer a {
    font-size: var(--font-size14);
    font-family: var(--font-family01);
    font-weight: 500;
    color: var(--color-font);
}
/* == == == == == == == == == == == == == == == == == == 
* サイトマップ
* == == == == == == == == == == == == == == == == == == */
/* == == == == == == == == == == == == == == == == == == 
* コンタクトフォーム
* == == == == == == == == == == == == == == == == == == */

/* == == == == == == == == == == == == == == == == == == 
* カテゴリーページ
* == == == == == == == == == == == == == == == == == == */
/* ==== pLatestPosts__post / .pCustomizedPosts ====  */
.pLatestPosts__post, .pCustomizedPosts__post {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: var(--font-size16);
    font-family: var(--font-family01);
    font-weight: 500;
    color: var(--color-font);
    gap: .5em 1.5em;
    padding: 1.25em 0;
    border-bottom: 1px dashed var(--color-table-border);
}
.pLatestPosts__categories, .pCustomizedPosts__categories {
    display: flex;
    gap: var(--space-20);
}
.pLatestPosts__category, .pCustomizedPosts__category {
    font-family: var(--font-family01);
    font-weight: 500;
    font-size: var(--font-size16);
    display: inline-block;
    background: var(--color-primary-tint);
    color: #FFF;
    padding: .3em 1em .5em;
    border-radius: 5px;
}
.pLatestPosts__category:hover, .pCustomizedPosts__category:hover {
    color: #FFF;
    opacity: 1;
}
.pLatestPosts__title, .pCustomizedPosts__title {
    color: var(--color-font);
}

body.page .pLatestPost__separator, body.page .pCustomizedPosts__separator {
    display: none;
}
body.page .pLatestPost__date, body.page .pCustomizedPosts__date {
    order: 1;
    font-family: var(--font-family02);
    font-size: var(--font-size20);
    font-weight: 400;
    color: var(--color-primary-tint);
}
body.page .pLatestPost__categories, body.page .pCustomizedPosts__categories {
    order: 2;
}
body.page .pLatestPost__category, body.page .pCustomizedPosts__category {
    font-family: var(--font-family02);
    font-weight: 400;
    font-size: var(--font-size16);
    padding: .5em .8em .2em;
    background: var(--color-primary);
}
body.page .pLatestPost__title, body.page .pCustomizedPosts__title {
    order: 3;
    display: block;
    width: 100%;
    font-size: var(--font-size18);
}
@media print, screen and (max-width: 768px) {
    .pLatestPosts__title, .pCustomizedPosts__title {
        display: block;
        width: 100%;
    }
} 
/* == == == == == == == == == == == == == == == == == == 
* 投稿ページ
* == == == == == == == == == == == == == == == == == == */
body.single .lInner {
    padding: var(--clamp-80) 0;
}
.pPost__title {
    font-size: var(--font-size-h2);
    font-weight: bold;
    font-family: var(--font-family01);
    border-bottom: 1px solid var(--color-table-border);
    padding-bottom: .2em;
    margin-bottom: 0;   
    margin-top: var(--clamp-80);
}
.pPost__date {
    font-family: var(--font-family02);
    font-weight: 500;
    font-style: italic;
    font-size: var(--font-size16);
    color: var(--color-font);
    text-align: right;
}
.pPost__categoryLink a {
    display: inline-block;
    border: 0.5px solid #c2c2c2;
    padding-inline: 12px;
    padding-block: 4px;
}
.pPost__content {
    margin-top: var(--clamp-60);
}
.pPosts__postsNavigation {
	margin-top: var(--clamp-60);
}
ul.page-numbers {
    --main-color: var(--color-primary-tint);
}
@media print, screen and (max-width: 768px) {
} 
/* == == == == == == == == == == == == == == == == == == 
* トップ、下層調整/ .top-content, .page-content
* == == == == == == == == == == == == == == == == == == */
.page-content {
    position: relative;
    width: 100vw;
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
}
@media print, screen and (max-width: 768px) {
}
/* == == == == == == == == == == == == == == == == == == 
* component / c-○○
* == == == == == == == == == == == == == == == == == == */
/* ==== c-content ==== */
.c-content {
    border-radius: 20px;
    padding-bottom: 5rem;
    padding-top: calc((var(--font-size22) * 1.2) + 5rem);
    position: relative;
}
.c-content::before {
    content: '';
    position: absolute;
    width: 100%;
    height: calc(100% - (var(--font-size22) * 1.2));
    background: #F5FAFF;
    bottom: 0;
    left: 0;
    border-radius: 20px;
    z-index: 0;
}
.c-content__ttl {
    font-size: var(--font-size22);
    font-weight: bold;
    color: #FFF;
    background: var(--color-primary);
    position: absolute;
    display: inline-block;
    max-width: 90%;
    left: 3%;
    top: 0;
    padding: .4em 1.5em;
    border-radius: 50vw;
}
@media print, screen and (max-width: 768px) {
}
/* ==== c-ttl-01 ==== */
.c-ttl-01, .post .c-ttl-01 {
    font-size: var(--font-size20);
    font-family: var(--font-family01);
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 1em;
    text-align: left;
}
.c-ttl-01 .jp, .post .c-ttl-01 .jp {
    display: block;
    margin-top: calc(var(--font-size90) * -.2);
}
.c-ttl-01 .en, .post .c-ttl-01 .en {
    display: block;
    font-size: var(--font-size90);
    font-family: var(--font-family02);
    font-weight: 300;
    line-height: 1;
}
@media print, screen and (max-width: 768px) {
} 
/* ==== c-ttl-02 ==== */
.c-ttl-02, .post .c-ttl-02 {
    font-size: var(--font-size38);
    font-family: var(--font-family01);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-primary);
    margin-bottom: .6em;
    text-align: left;
    position: relative;
}
.c-ttl-02 .jp, .post .c-ttl-02 .jp {
    display: block;
    margin-top: calc(var(--font-size90) * -.1);
}
.c-ttl-02 .en, .post .c-ttl-02 .en {
    display: inline-block;
    font-size: var(--font-size20);
    font-family: var(--font-family02);
    font-weight: 400;
    line-height: 1;
    padding-right: 2.5em;
    position: relative;
}
.c-ttl-02 .en::after, .post .c-ttl-02 .en::after {
    content: '';
    position: absolute;
    width: 1.5em;
    height: 1px;
    border-bottom: 1px solid;
    right: 0;
    top: 40%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
.c-ttl-02 .object, .post .c-ttl-02 .object {
    font-size: clamp(80px, 13.29vw, 255px);
    font-family: var(--font-family02);
    font-weight: 400;
    color: #B9B9B9;
    position: relative;
    display: block;
    z-index: -1;
    line-height: 1;
    white-space: nowrap;
    opacity: .12;
    margin-bottom: -.6em;
}
@media print, screen and (max-width: 768px) {
} 
/* ==== c-ttl-03 ==== */
.c-ttl-03 {
    font-size: var(--font-size28);
    font-weight: bold;
    padding-left: .8em;
    margin-bottom: 1em;
    position: relative;
}
.c-ttl-03::before {
    content: '';
    position: absolute;
    width: 5px;
    height: 100%;
    background: var(--color-primary);
    left: 0;
    top: 0;
}
@media print, screen and (max-width: 768px) {
} 
/* ==== c-object-text ==== */
.c-object-text, .post .c-object-text {
    font-size: clamp(80px, 13.29vw, 255px);
    font-family: var(--font-family02);
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
    color: #B9B9B9;
    opacity: .12;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
}
/* ==== c-object-plus ==== */
.c-object-plus {
    position: relative;
    height: var(--clamp-70);
    margin: 3rem 0;
}
.c-object-plus::before {content: '';
    position: absolute;
    color: var(--color-primary);
    width: 100%;
    height: 100%;
    background-image: url(/wp-content/uploads/icon_plus.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
@media print, screen and (max-width: 768px) {
} 
/* ==== c-btn-content ==== */
.c-btn-content, .post .c-btn-content {
    display: flex;
    flex-direction: row;
    gap: 20px var(--clamp-40);
    flex-wrap: wrap;
    justify-content: center;
	width: 100%;
	position: relative;
	z-index: 10;
}
@media print, screen and (min-width: 769px) {
    .c-btn-content.left, .post .c-btn-content.left {
        justify-content: flex-start;
    }
    .c-btn-content.right, .post .c-btn-content.right {
        justify-content: flex-end;
    }
}
@media print, screen and (max-width: 768px) {
	.c-btn-content, .post .c-btn-content {
		gap: 20px;
	}
}
/* ==== c-btn ==== */
.c-btn, .post .c-btn, a.c-btn {
    transition: .5s ease;
    display: inline-block;
    position: relative;
    font-size: var(--font-size16);
    font-family: var(--font-family01);
    font-weight: 500;
    line-height: var(--body-line-height);
    letter-spacing: var(--body-letter-spacing);
    text-align: center;
    color: #FFF;
    background: var(--color-primary);
    width: 90%;
    max-width: 280px;
    padding: 1.65em 2em;
    border-radius: 0;
    outline: 1px solid var(--color-primary);
}
.c-btn:hover, .post .c-btn:hover, a.c-btn:hover {
    color: var(--color-primary);
    background: #FFF;
    box-shadow: 0 6px 20px #0000001A;
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
    opacity: 1;
}
.c-btn::after, .post .c-btn::after, a.c-btn::after {
    content: '';
    position: absolute;
    width: 1em;
    height: 1em;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    background-image: url(/wp-content/uploads/icon_arrow-circle_white.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    transition: .5s ease;
}
.c-btn:hover::after, .post .c-btn:hover::after, a.c-btn:hover::after {
    background-image: url(/wp-content/uploads/icon_arrow-circle_blue.png);
}
.c-btn.white, .post .c-btn.white, a.c-btn.white {
    color: var(--color-primary);
    background: #FFF;
    outline: 0;
}
.c-btn.white:hover, .post .c-btn.white:hover, a.c-btn.white:hover {
    background: var(--color-primary);
    color: #FFF;
}
.c-btn.white::after, .post .c-btn.white::after, a.c-btn.white::after {
    background-image: url(/wp-content/uploads/icon_arrow-circle_blue.png);
}
.c-btn.white:hover::after, .post .c-btn.white:hover::after, a.c-btn.white:hover::after {
    background-image: url(/wp-content/uploads/icon_arrow-circle_white.png);
}
.c-btn.lg, .post .c-btn.lg, a.c-btn.lg {
    max-width: 380px;
}
/* ---- c-btn.page ---- */
.c-btn-content:has(.c-btn.page) {
    gap: var(--clamp-20);
}
.c-btn.page, a.c-btn.page {
    background: #FFF;
    outline: 0;
    border-bottom: 1px solid var(--color-primary);
    color: var(--color-primary);
    text-align: left;
    padding: 1em 3em 1em 1em;
    font-weight: bold;
}
.c-btn.page:hover, a.c-btn.page:hover {
    background: var(--color-primary);
    color: #FFF;
}
.c-btn.page::after, a.c-btn.page::after {
    background-image: url(/wp-content/uploads/icon_arrow-circle_blue.png);
    right: 1em;
}
.c-btn.page:hover::after, a.c-btn.page:hover::after {
    background-image: url(/wp-content/uploads/icon_arrow-circle_white.png);
    right: 1em;
}
@media print, screen and (max-width: 499px) {
}

/* ==== .c-table ==== */
table.c-table, table.c-table th, table.c-table td,
.post table.c-table, .post table.c-table th, .post table.c-table td {
    border: 0px solid var(--color-table-border);
}
table.c-table th, .post table.c-table th {
	border-bottom: 1px solid var(--color-primary);
} 
table.c-table td, .post table.c-table td {
	border-bottom: 1px solid var(--color-table-border);
} 
@media print, screen and (min-width: 769px) {
	table.c-table th, .post table.c-table th {
		width: 20%;
	}
}
@media print, screen and (max-width: 768px) {
}
/* === c-table-records ==== */
/* 1列目を固定幅150px、他は均等 */
.c-table-records {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; /* 列幅制御のために必須 */
}
.c-table-records, .c-table-records th, .c-table-records td {
    border: 1px solid var(--color-table-border);
}
.c-table-records thead th {
  background: var(--color-primary);
  color: #FFF;
  font-weight: bold;
}
.c-table-records th:first-child,
.c-table-records td:first-child {
  width: 150px;
}
/* 奇数行（1,3,5...） */
.c-table-records tbody tr:nth-child(odd) td {
  background: #E2F2FF;
}
/* 偶数行（2,4,6...） */
.c-table-records tbody tr:nth-child(even) td {
  background: #FFFFFF;
}
/* === c-table-records ==== */
.c-table-spec {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; /* 列幅制御のために必須 */
}
.c-table-spec, .c-table-spec th, .c-table-spec td {
    border: 1px solid var(--color-table-border);
}
.c-table-spec thead th {
  background: var(--color-primary);
  color: #FFF;
  font-weight: bold;
}

/* ==== c-list-menu ==== */
.c-list-menu {
    display: flex;
    gap: var(--gap-card-column-02);
    flex-wrap: wrap;
}
.c-list-menu li {
    width: calc((100% - (var(--gap-card-column-02) * 1)) / 2);
}
.c-list-menu a {
    background: #FFF;
    border-radius: 10px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    font-size: var(--font-size22);
    font-weight: bold;
    font-family: var(--font-family01);
    color: var(--color-primary);
    padding: 2em 4.5em 2em 2.5em;
    gap: 2em;
    position: relative;
    transition: .5s ease;
}
.c-list-menu a:hover {
    color: #FFF;
    background: var(--color-primary);
    box-shadow: 0 6px 20px #0000001A;
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
    opacity: 1;
}
.c-list-menu a::after {
    content: '';
    position: absolute;
    width: 1.8em;
    height: 1.8em;
    right: 2em;
    top: 50%;
    transform: translateY(-50%);
    background-image: url(/wp-content/uploads/icon_arrow-circle_blue.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    transition: .5s ease;
}
.c-list-menu a:hover::after {
    background-image: url(/wp-content/uploads/icon_arrow-circle_white.png); 
}
.c-list-menu .text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.c-list-menu .text .en {
    font-family: var(--font-family02);
    font-weight: 300;
}
.c-list-menu .icon {
    width: 2.8em;
    transition: .5s ease;
}
.c-list-menu a:hover .icon {
    filter: brightness(0) invert(1);
    opacity: 1;
}
.c-list-menu img {
    width: 100%;
    height: auto;
}
@media print, screen and (max-width: 1023px) {
    .c-list-menu li {
        width: 100%;
    }
}
@media print, screen and (max-width: 768px) {
    .c-list-menu a {
        padding: 2em 3em 2em 1em;
        gap: 1em;
    }
    .c-list-menu a::after {
        right: 1em;
    }
}
/* ==== c-list-history ==== */
.c-list-history {
    display: flex;
    flex-direction: column;
}

.c-list-history li {
    border-bottom: 1px solid var(--color-table-border);
    font-size: var(--font-size22);
    padding: 1em .5em;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 2em;
}
.c-list-history li:first-child {
    border-top: 1px solid var(--color-table-border);
}
.c-list-history .year {
    font-size: var(--font-size74);
    font-family: var(--font-family03);
    font-weight: bold;
    color: var(--color-primary);
    display: inline-block;
    width: fit-content;
}
.c-list-history .text {
    flex: 1;
    line-height: 2;
}

@media print, screen and (max-width: 768px) {
    .c-list-history li {
        flex-direction: column;
        align-items: baseline;
        gap: 0;
		font-size: var(--font-size18);
    }
}

/* ==== c-list-flow ==== */
.c-list-flow {
    display: flex;
    gap: var(--space-16);
    padding-left: var(--space-16);
    padding-right: var(--space-80);
    position: relative;
    justify-content: flex-start;
}
.c-list-flow::after {
    content: '';
    position: absolute;
    border-left: var(--space-40) solid var(--color-primary);
    border-top: var(--space-40) solid transparent;
    border-bottom: var(--space-40) solid transparent;
    z-index: -1;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.c-list-flow li {
    width: calc((100% - (var(--space-16) * 7)) / 8);
    background: #E3F1FF;
    border: 1px solid var(--color-table-border);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: var(--font-size16);
    font-weight: bold;
    padding: 2.35em .5em;
}
.c-list-flow li:first-child {
    background: #FFF8D8;
}
.c-list-flow li:last-child {
    background: var(--color-primary);
    color: #FFF;
}
.c-list-flow li::before, .c-list-flow li::after {
    content: '';
    position: absolute;
    height: var(--space-30);/*25%*/
    background: var(--color-primary);
    z-index: -1;
    top: 50%;
    transform: translateY(-50%);
}
.c-list-flow li::before {
    width: var(--space-16);
    left: calc(var(--space-16) * -1);
}
.c-list-flow li::after {
    width: var(--space-46);
    right: calc(var(--space-46) * -1);
}
.of-scroll-x .c-list-flow {
    min-width: 900px;
}
@media print, screen and (max-width: 768px) {
}
/* ==== c-list-quality ==== */
.c-list-quality {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: var(--space-20);
    flex-wrap: wrap;
}

.c-list-quality li {
    width: calc((100% - (var(--space-20) * 2)) / 3);
    max-width: 250px;
    height: 6.25em;
    background: var(--color-primary);
    border: 1px solid var(--color-table-border);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: var(--font-size16);
    font-weight: bold;
    color: #FFF;
    padding: .5em;
}
@media print, screen and (max-width: 768px) {
    .c-list-quality li {
        width: 100%;
        height: 4em;
    }
}
/* == == == == == == == == == == == == == == == == == == 
* project / p-○○
* == == == == == == == == == == == == == == == == == == */
/* ==== p-fv ==== */

.p-fv {
    position: relative;
}
.p-fv__wrapper {
    position: relative;
    width: 95%;
    margin-left: auto;
    max-width: 95.834vw;
}
@media print, screen and (max-width: 768px) {
}
/* ---- p-fv__video ---- */
.p-fv__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}
.p-fv__video-file {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
@media print, screen and (max-width: 768px) {
}
/* ---- p-fv__content ---- */
.p-fv__content {
    padding-top: 12vw;
    padding-bottom: 17vw;
}
.p-fv__inner {
    width: var(--inner-width);
    max-width: 81.25vw;/* max-width: 1560px; */
    margin: 0 auto;
}
.p-fv .ttl, .p-fv .txt-jp, .p-fv .txt-en {
    color: #FFF; 
}
.p-fv .ttl {
    font-size: 3.75vw;
    font-weight: bold;
    line-height: 1.45;
    margin-bottom: .4em;
}
.p-fv .txt-jp {
    font-size: 1.62vw;
    font-weight: bold;
    margin-bottom: .32em;
}
.p-fv .txt-en {
    font-family: var(--font-family02);
    font-weight: 400;
    font-size: 1.1459vw;
    margin-bottom: 0;
}
@media print, screen and (max-width: 768px) {
    .p-fv__content {
/*         padding: 43.4vw 0; */
		padding:15.4vw 0;
    }
    .p-fv .ttl {
        font-size: 7.33vw;
    }
    .p-fv .txt-jp {
        font-size: 2.94vw;
    }
    .p-fv .txt-en {
        font-size: 2.14vw;
    }
}
/* ---- p-fv__topics ---- */
.p-fv__topics {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 10;
    max-width: 62.5vw;
    width: 80%;
    background: #0561AE80;
    border-radius: 20px 0 0 0;
    padding: 1.825vw 0;
}

.p-fv__topicsInner {
    width: var(--inner-width);
    max-width: 55.21vw;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1vw 3.34vw;
    align-items: center;
}

.p-fv__topicsTtl {
    font-size: 1.875vw;
    font-weight: 400;
    font-family: var(--font-family02);
    color: #FFF;
    white-space: nowrap;
}
.p-fv__topicsBtn {
    display: block;
    width: fit-content;
    color: #FFF;
    font-size: 0.9375vw;
    font-weight: 500;
    padding-right: 2em;
    position: relative;
    transition: .2s ease;
}
.p-fv__topicsBtn:hover {
    color: #FFF;
    opacity: .6;
}
.p-fv__topicsBtn::after {
    content: '';
    position: absolute;
    width: .6em;
    height: .6em;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg) translateY(-50%);
    -webkit-transform: rotate(45deg) translateY(-50%);
    top: 50%;
    right: 0;
}
body.page .p-fv__topics .pCustomizedPosts {
    flex: 2;
}
body.page .p-fv__topics .pCustomizedPosts__post {
    flex-wrap: nowrap;
    padding: .5em 0;
    border: 0;
    align-items: baseline;
    gap: 1.04vw;
}
body.page .p-fv__topics .pCustomizedPosts__categories {
    display: none;
}
body.page .p-fv__topics .pCustomizedPosts__date {
    font-size: 1.25vw;
    color: #FFF;
}
body.page .p-fv__topics .pCustomizedPosts__title {
    font-size: 0.9375vw;
    color: #FFF;
}
@media print, screen and (max-width: 768px) {
    .p-fv__topics {
        max-width: 100%;
        width: 95%;
    }
    .p-fv__topicsInner {
        max-width: 100%;
        flex-wrap: wrap;
    }
    .p-fv__topicsTtl {
        font-size: 3.734vw;
    }
    .p-fv__topicsBtn {
        display: none;
    }
    body.page .p-fv__topics .pCustomizedPosts__date {
        font-size: 3.734vw;
    }
    body.page .p-fv__topics .pCustomizedPosts__title {
        font-size: 3.734vw;
    }
}
/* ---- p-fv__scroll-down ---- */
.p-fv__scroll-down {
    position: absolute;
    left: calc(1.094vw * 3);   
    bottom: 15vw;
    transform: rotate(90deg);
    transform-origin: left top;
    display: flex;
    align-items: center;
    white-space: nowrap;
    z-index: 10;
}
.p-fv__scroll-down .text {
    font-size: 1.094vw;/* 21px */
    font-family: var(--font-family02);
    font-weight: 400;
    letter-spacing: 0.15em;
    color: #003A69;
    margin-right: .8em;
}
.p-fv__scroll-down .line {
    display: block;
    width: 6.77vw; /* 130px */
    height: 1px;
    background-color: #003A69;
    opacity: 0.9;
    position: relative;
    overflow: hidden;
}
.p-fv__scroll-down .line::before {
    content: "";
    position: absolute;
    left: 0;
    top: -100%;
    width: 100%;
    height: 2px;
    background: #F5FAFF;
    opacity: 1;
    animation: scroll-line 2.2s infinite ease-in-out;
    z-index: 1;
}
@keyframes scroll-line {
    0% { left: -100%; }
    50% { left: 0; }
    100% { left: 100%; }
}
@media print, screen and (max-width: 768px) {
    .p-fv__scroll-down {
        bottom: 21vw;
        left: calc(2.5vw * 1.7);
    }
    .p-fv__scroll-down .text {
        font-size: 2.5vw;
    }
    .p-fv__scroll-down .line {
        width: 10vw;
    }
}
/* ==== p-tAssurance ==== */
.p-tAssurance {
    background-image: url(/wp-content/uploads/top_assurance_bg.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.p-tAssurance::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--color-primary);
    opacity: .9;
    top: 0;
    left: 0;
    z-index: 0;
}
@media print, screen and (max-width: 768px) {
}
/* ==== p-tRecruit ==== */
.p-tRecruit__text {
    padding-top: 12rem;
    padding-bottom: 12rem;
    position: relative;
    background-image: url(/wp-content/uploads/top_recruit_bg.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    max-width: 1100px;
    width: 60%;
}
.p-tRecruit__text::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--color-primary);
    left: 0;
    top: 0;
    opacity: .85;
    z-index: 0;
}
.p-tRecruit__img {
    flex: 1;
}
@media print, screen and (max-width: 768px) {
    .p-tRecruit__text {
        width: 100%;
        padding: 6rem 0;
    }
}
/* ==== p-greeting ==== */
.p-greeting::before {
    content: '';
    position: absolute;
    width: 20%;
    height: 80%;
    background: #C5DDF0;
    right: 0;
    bottom: 0;
    z-index: 0;
    opacity: .3;
}
@media print, screen and (max-width: 768px) {
    .p-greeting::before {
        display: none; 
    }
}
/* ==== p-project ==== */
.p-project {
    background-image: url(/wp-content/uploads/project_bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media print, screen and (max-width: 768px) {
}
/* ==== p-sustainability-statement ==== */
.p-sustainability-statement {
    position: relative;
}
.p-sustainability-statement::before {
    content: '';
    position: absolute;
    width: 80%;
    max-width: 790px;
    height: 100%;
    background-image: url(/wp-content/uploads/sustainability-statement_bg.png);
    background-position: left;
    background-size: cover;
    background-repeat: no-repeat;
    right: 0;
    top: 0;
    opacity: .22;
    z-index: 0;
}
@media print, screen and (max-width: 768px) {
    .p-sustainability-statement::before {
        opacity: .1;
    }
}
/* ==== p- ==== */
@media print, screen and (max-width: 768px) {
}
/* ==== p- ==== */
@media print, screen and (max-width: 768px) {
}
/* ==== p- ==== */
@media print, screen and (max-width: 768px) {
}
/* ==== p- ==== */
@media print, screen and (max-width: 768px) {
}
/* ==== p- ==== */
@media print, screen and (max-width: 768px) {
}
/* ==== p- ==== */
@media print, screen and (max-width: 768px) {
}
/* ==== p- ==== */
@media print, screen and (max-width: 768px) {
}
/* == == == == == == == == == == == == == == == == == == 
* utility / u-○○
* == == == == == == == == == == == == == == == == == == */
/* ====  font-family / u-ff-○○ ===== */
.ff-01 {font-family: var(--font-family01);}
.ff-02 {font-family: var(--font-family02);}
.ff-03 {font-family: var(--font-family03);}
/* ====  font-style / u-fst-○○ ===== */
.fst-normal {font-style: normal;}
.fst-italic {font-style: italic;}
/* ====  font-weight / u-fw-○○ ===== */
.fw-100 {font-weight: 100}
.fw-200 {font-weight: 200}
.fw-300 {font-weight: 300}
.fw-400 {font-weight: 400}
.fw-500 {font-weight: 500}
.fw-600 {font-weight: 600}
.fw-700 {font-weight: 700}
.fw-800 {font-weight: 800}
.fw-900 {font-weight: 900}
.fw-regular {font-weight: normal}
.fw-mid {font-weight: 500}
.fw-bold {font-weight: bold}
.fw-black {font-weight: 900}
/* ====  font-size / u-fs-○○ ===== */
.fs-12 {font-size: var(--font-size12)!important;}
.fs-14 {font-size: var(--font-size14)!important;}
.fs-16 {font-size: var(--font-size16)!important;}
.fs-18 {font-size: var(--font-size18)!important;}
.fs-20 {font-size: var(--font-size20)!important;}
.fs-22 {font-size: var(--font-size22)!important;}
.fs-24 {font-size: var(--font-size24)!important;}
.fs-26 {font-size: var(--font-size26)!important;}
.fs-28 {font-size: var(--font-size28)!important;}
.fs-30 {font-size: var(--font-size30)!important;}
.fs-32 {font-size: var(--font-size32)!important;}
.fs-34 {font-size: var(--font-size34)!important;}
.fs-36 {font-size: var(--font-size36)!important;}
.fs-38 {font-size: var(--font-size38)!important;}
.fs-40 {font-size: var(--font-size40)!important;}
.fs-42 {font-size: var(--font-size42)!important;}
.fs-44 {font-size: var(--font-size44)!important;}
.fs-46 {font-size: var(--font-size46)!important;}
.fs-48 {font-size: var(--font-size40)!important;}
.fs-50 {font-size: var(--font-size50)!important;}
.fs-52 {font-size: var(--font-size52)!important;}
.fs-54 {font-size: var(--font-size54)!important;}
.fs-56 {font-size: var(--font-size56)!important;}
.fs-58 {font-size: var(--font-size58)!important;}
.fs-60 {font-size: var(--font-size60)!important;}
@media print, screen and (max-width: 768px) {	
    .fs-12-sp {font-size: var(--font-size12)!important;}
    .fs-13-sp {font-size: var(--font-size13)!important;}
    .fs-14-sp {font-size: var(--font-size14)!important;}
    .fs-16-sp {font-size: var(--font-size16)!important;}
    .fs-18-sp {font-size: var(--font-size18)!important;}
    .fs-20-sp {font-size: var(--font-size20)!important;}
    .fs-22-sp {font-size: var(--font-size22)!important;}
    .fs-24-sp {font-size: var(--font-size24)!important;}
    .fs-25-sp {font-size: var(--font-size25)!important;}
    .fs-26-sp {font-size: var(--font-size26)!important;}
    .fs-28-sp {font-size: var(--font-size28)!important;}
    .fs-36-sp {font-size: var(--font-size36)!important;}
    .fs-38-sp {font-size: var(--font-size38)!important;}
    .fs-60-sp {font-size: var(--font-size60)!important;}
    .fs-85-sp {font-size: var(--font-size85)!important;}
}
/* ====  line-height / u-lh-○○ ===== */
.lh-10 {line-height: 1;}
.lh-11 {line-height: 1.1;}
.lh-12 {line-height: 1.2;}
.lh-13 {line-height: 1.3;}
.lh-14 {line-height: 1.4;}
.lh-15 {line-height: 1.5;}
.lh-16 {line-height: 1.6;}
.lh-17 {line-height: 1.7;}
.lh-18 {line-height: 1.8;}
.lh-19 {line-height: 1.9;}
.lh-20 {line-height: 2;}
.lh-25 {line-height: 2.5;}
@media print, screen and (max-width: 768px) {
	.lh-15-sp {line-height: 1.5;}
}
/* ===== letter-spacing / u-ls-○○ ===== */
.ls-0 {letter-spacing: 0;}
.ls-05 {letter-spacing: 0.05em;}
.ls-1 {letter-spacing: 0.1em;}
.ls-2 {letter-spacing: 0.2em;}
/* ===== {white-space    / u-ws-○○ ===== */
.ws-nowrap {white-space: nowrap;}
/* ===== text-decoration / u-td-○○ ===== */
.td-underline {text-decoration: underline;}
.td-none {text-decoration: none;}
.td-line-through {text-decoration: line-through;}
.td-overline {text-decoration: overline;}
/* :hover */
a:hover .td-underline, .post a:hover .td-underline, a.td-underline:hover, .post a.td-underline:hover {text-decoration: none;}
/* ====  color / u-color-○○ ===== */
.color-body {color: var(--color-background)!important;}
.color-font {color: var(--color-font)!important;}
.color-primary {color: var(--color-primary)!important;}
.color-tint {color: var(--color-primary-tint)!important;}
.color-shade {color: var(--color-primary-shade)!important;}
.color-secondary {color: var(--color-secondary)!important;}
.color-white {color: #FFF!important;}
.color-black {color: #333!important;}
/* ===== background / u-bg-○○ ===== */
.bg-white {background-color: #fff!important;}
.bg-gray {background-color: #E2E2E2!important;}
.bg-light_blue {background-color: #F5FAFF!important;}
.bg-body {background-color: var(--color-background)!important;}
.bg-primary {background-color: var(--color-primary)!important;}
.bg-tint {background-color: var(--color-primary-tint)!important;}
.bg-shade {background-color: var(--color-primary-shade)!important;}
.bg-transparent {background-color: transparent!important;}
/* ===== display / u-d-○○ ===== */
.d-block {display: block;}
.d-inline {display: inline;}
.d-inline-block {display: inline-block;}
.d-flex {display: flex;}
.d-none {display: none;}
/* ===== flexbox / u-jc-○○ / u-ai-○○ ===== */
.jc-start {justify-content: flex-start;}
.jc-center {justify-content: center;}
.jc-end {justify-content: flex-end;}
.jc-between {justify-content: space-between;}
.jc-around {justify-content: space-around;}
.jc-evenly {justify-content: space-evenly;}
.ai-start {align-items: flex-start;}
.ai-center {align-items: center;}
.ai-end {align-items: flex-end;}
/* ===== border / u-bd-○○ ===== */
.bd {border: 1px solid var(--color-table-border);}
.bd-none {border: none;}
.bd-top {border-top: 1px solid var(--color-table-border);}
.bd-bottom {border-bottom: 1px solid var(--color-table-border);}
.bd-width-2px {border-width: 2px!important;}
.bd-color-light_blue {border-color: #CBE7FF!important;}
.outline {outline: 1px solid #C3C3C3;}
/* ===== radius / u-radius-○○ ===== */
.radius {border-radius: 10px;}
.radius-sm {border-radius: 8px;}
.radius-lg {border-radius: 20px;}
/* ===== overflow / u-of-○○ ===== */
.of-visible {overflow: visible;}
.of-hidden {overflow: hidden;}
.of-scroll {overflow: scroll;}
.of-auto {overflow: auto;}
.of-scroll-x {overflow-x: scroll;white-space: normal;} 
/* ===== box-shadow / u-shadow-○○ ===== */
.shadow {box-shadow: 0 3px 20px #5050501A;}
.shadow-sm {box-shadow: 0 3px 20px #0000000D;}
/* ===== position / u-pos-○○ ===== */
.pos-static {position: static;}
.pos-relative {position: relative;}
.pos-absolute {position: absolute;}
.pos-fixed {position: fixed;}
.pos-sticky {position: sticky;}
/* ===== background-image pattern / u-bg-cover / u-bg-contain ===== */
.bg-cover {background-position: center;background-size: cover;background-repeat: no-repeat;}
.bg-contain {background-position: center;background-size: contain;background-repeat: no-repeat;}
/* ===== 疑似要素で画像を入れる場合 / u-bg-img ===== */
.bg-img::before, .bg-img::after {content: "";position: absolute;width: 100%;height: 100%;}
/* ===== image / u-img-fluid ===== */
.img-fluid img {width: 100%;height: auto;display: block;}
.img-stretch img {height: 100%;object-fit: cover;object-position: left;}
.img-fit_2-1 img {aspect-ratio: 2/1;object-fit: cover;}
@media screen and (max-width: 768px) {
    .img-fit_2-1-sp img {aspect-ratio: 2/1;object-fit: cover;object-position: center;}   
}
/* ===== margin / u-mt-○○ / u-mx-○○ ===== */
.mt1 {margin-top: 1rem !important;}
.mt2 {margin-top: 2rem !important;}
.mt3 {margin-top: 3rem !important;}
.mt4 {margin-top: 4rem !important;}
.mt5 {margin-top: 5rem !important;}
.mt6 {margin-top: 6rem !important;}
.mt7 {margin-top: 7rem !important;}
.mt8 {margin-top: 8rem !important;}
.mt9 {margin-top: 9rem !important;}
.mt10 {margin-top: 10rem !important;}
.mt15 {margin-top: 15rem !important;}
.mt16 {margin-top: 16rem !important;}
.mb1 {margin-bottom: 1rem !important;}
.mb2 {margin-bottom: 2rem !important;}
.mb3 {margin-bottom: 3rem !important;}
.mb4 {margin-bottom: 4rem !important;}
.mb5 {margin-bottom: 5rem !important;}
.mb6 {margin-bottom: 6rem !important;}
.mb7 {margin-bottom: 7rem !important;}
.mb8 {margin-bottom: 8rem !important;}
.mb9 {margin-bottom: 9rem !important;}
.mb10 {margin-bottom: 10rem !important;}
.mb15 {margin-bottom: 15rem !important;}
.mb16 {margin-bottom: 16rem !important;}
.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}
@media screen and (min-width: 769px) {
    .mt1-pc {margin-top: 1rem !important;}
    .mt2-pc {margin-top: 2rem !important;}
    .mt3-pc {margin-top: 3rem !important;}
    .mt4-pc {margin-top: 4rem !important;}
    .mt5-pc {margin-top: 5rem !important;}
    .mt6-pc {margin-top: 6rem !important;}
    .mt7-pc {margin-top: 7rem !important;}
    .mt8-pc {margin-top: 8rem !important;}
    .mt9-pc {margin-top: 9rem !important;}
    .mt10-pc {margin-top: 10rem !important;}
    .mt15-pc {margin-top: 15rem !important;}
    .mt16-pc {margin-top: 16rem !important;}
    .mb1-pc {margin-bottom: 1rem !important;}
    .mb2-pc {margin-bottom: 2rem !important;}
    .mb3-pc {margin-bottom: 3rem !important;}
    .mb4-pc {margin-bottom: 4rem !important;}
    .mb5-pc {margin-bottom: 5rem !important;}
    .mb6-pc {margin-bottom: 6rem !important;}
    .mb7-pc {margin-bottom: 7rem !important;}
    .mb8-pc {margin-bottom: 8rem !important;}
    .mb9-pc {margin-bottom: 9rem !important;}
    .mb10-pc {margin-bottom: 10rem !important;}
    .mb15-pc {margin-bottom: 15rem !important;}
    .mb16-pc {margin-bottom: 16rem !important;}
    .ml-auto-pc {
        margin-left: auto !important;
        margin-right: 0 !important;
    }   
    .mr-auto-pc {
        margin-right: auto !important;
        margin-left: 0 !important;
    }   
}
@media screen and (max-width: 768px) {
    .mt1 {margin-top:calc(1rem / 2) !important;}
    .mt2 {margin-top:calc(2rem / 2) !important;}
    .mt3 {margin-top:calc(3rem / 2) !important;}
    .mt4 {margin-top:calc(4rem / 2) !important;}
    .mt5 {margin-top:calc(5rem / 2) !important;}
    .mt6 {margin-top:calc(6rem / 2) !important;}
    .mt7 {margin-top:calc(7rem / 2) !important;}
    .mt8 {margin-top:calc(8rem / 2) !important;}
    .mt9 {margin-top:calc(9rem / 2) !important;}
    .mt10 {margin-top:calc(10rem / 2) !important;}
    .mt15 {margin-top:calc(15rem / 2) !important;}
    .mt16 {margin-top:calc(16rem / 2) !important;}
    .mb1 {margin-bottom:calc(1rem / 2) !important;}
    .mb2 {margin-bottom:calc(2rem / 2) !important;}
    .mb3 {margin-bottom:calc(3rem / 2) !important;}
    .mb4 {margin-bottom:calc(4rem / 2) !important;}
    .mb5 {margin-bottom:calc(5rem / 2) !important;}
    .mb6 {margin-bottom:calc(6rem / 2) !important;}
    .mb7 {margin-bottom:calc(7rem / 2) !important;}
    .mb8 {margin-bottom:calc(8rem / 2) !important;}
    .mb9 {margin-bottom:calc(9rem / 2) !important;}
    .mb10 {margin-bottom:calc(10rem / 2) !important;}
    .mb15 {margin-bottom:calc(15rem / 2) !important;}
    .mb16 {margin-bottom:calc(16rem / 2) !important;}  
    .mt1-sp {margin-top:calc(1rem / 2) !important;}
    .mt2-sp {margin-top:calc(2rem / 2) !important;}
    .mt3-sp {margin-top:calc(3rem / 2) !important;}
    .mt4-sp {margin-top:calc(4rem / 2) !important;}
    .mt5-sp {margin-top:calc(5rem / 2) !important;}
    .mt6-sp {margin-top:calc(6rem / 2) !important;}
    .mt7-sp {margin-top:calc(7rem / 2) !important;}
    .mt8-sp {margin-top:calc(8rem / 2) !important;}
    .mt9-sp {margin-top:calc(9rem / 2) !important;}
    .mt10-sp {margin-top:calc(10rem / 2) !important;}
    .mt15-sp {margin-top:calc(15rem / 2) !important;}
    .mt16-sp {margin-top:calc(16rem / 2) !important;}
    .mb1-sp {margin-bottom:calc(1rem / 2) !important;}
    .mb2-sp {margin-bottom:calc(2rem / 2) !important;}
    .mb3-sp {margin-bottom:calc(3rem / 2) !important;}
    .mb4-sp {margin-bottom:calc(4rem / 2) !important;}
    .mb5-sp {margin-bottom:calc(5rem / 2) !important;}
    .mb6-sp {margin-bottom:calc(6rem / 2) !important;}
    .mb7-sp {margin-bottom:calc(7rem / 2) !important;}
    .mb8-sp {margin-bottom:calc(8rem / 2) !important;}
    .mb9-sp {margin-bottom:calc(9rem / 2) !important;}
    .mb10-sp {margin-bottom:calc(10rem / 2) !important;}
    .mb15-sp {margin-bottom:calc(15rem / 2) !important;}
    .mb16-sp {margin-bottom:calc(16rem / 2) !important;}  
    .ml-auto-sp {
        margin-left: auto !important;
        margin-right: 0 !important;
    }   
    .mr-auto-sp {
        margin-right: auto !important;
        margin-left: 0 !important;
    }   
}
/* ===== padding / u-pt-○○ / u-px-○○ ===== */
.pt1 {padding-top: 1rem !important;}
.pt2 {padding-top: 2rem !important;}
.pt3 {padding-top: 3rem !important;}
.pt4 {padding-top: 4rem !important;}
.pt5 {padding-top: 5rem !important;}
.pt6 {padding-top: 6rem !important;}
.pt7 {padding-top: 7rem !important;}
.pt8 {padding-top: 8rem !important;}
.pt9 {padding-top: 9rem !important;}
.pt10 {padding-top: 10rem !important;}
.pt12 {padding-top: 12rem !important;}
.pt15 {padding-top: 15rem !important;}
.pt16 {padding-top: 16rem !important;}
.pb1 {padding-bottom: 1rem !important;}
.pb2 {padding-bottom: 2rem !important;}
.pb3 {padding-bottom: 3rem !important;}
.pb4 {padding-bottom: 4rem !important;}
.pb5 {padding-bottom: 5rem !important;}
.pb6 {padding-bottom: 6rem !important;}
.pb7 {padding-bottom: 7rem !important;}
.pb8 {padding-bottom: 8rem !important;}
.pb9 {padding-bottom: 9rem !important;}
.pb10 {padding-bottom: 10rem !important;}
.pb12 {padding-bottom: 12rem !important;}
.pb15 {padding-bottom: 15rem !important;}
.pb16 {padding-bottom: 16rem !important;}
@media screen and (min-width: 769px) {
    .pt1-pc {padding-top: 1rem !important;}
    .pt2-pc {padding-top: 2rem !important;}
    .pt3-pc {padding-top: 3rem !important;}
    .pt4-pc {padding-top: 4rem !important;}
    .pt5-pc {padding-top: 5rem !important;}
    .pt6-pc {padding-top: 6rem !important;}
    .pt7-pc {padding-top: 7rem !important;}
    .pt8-pc {padding-top: 8rem !important;}
    .pt9-pc {padding-top: 9rem !important;}
    .pt10-pc {padding-top: 10rem !important;}
    .pt15-pc {padding-top: 15rem !important;}
    .pt16-pc {padding-top: 16rem !important;}
    .pb1-pc {padding-bottom: 1rem !important;}
    .pb2-pc {padding-bottom: 2rem !important;}
    .pb3-pc {padding-bottom: 3rem !important;}
    .pb4-pc {padding-bottom: 4rem !important;}
    .pb5-pc {padding-bottom: 5rem !important;}
    .pb6-pc {padding-bottom: 6rem !important;}
    .pb7-pc {padding-bottom: 7rem !important;}
    .pb8-pc {padding-bottom: 8rem !important;}
    .pb9-pc {padding-bottom: 9rem !important;}
    .pb10-pc {padding-bottom: 10rem !important;}
    .pb15-pc {padding-bottom: 15rem !important;}
    .pb16-pc {padding-bottom: 16rem !important;}
}
@media screen and (max-width: 768px) {
    .pt1 {padding-top:calc(1rem / 2) !important;}
    .pt2 {padding-top:calc(2rem / 2) !important;}
    .pt3 {padding-top:calc(3rem / 2) !important;}
    .pt4 {padding-top:calc(4rem / 2) !important;}
    .pt5 {padding-top:calc(5rem / 2) !important;}
    .pt6 {padding-top:calc(6rem / 2) !important;}
    .pt7 {padding-top:calc(7rem / 2) !important;}
    .pt8 {padding-top:calc(8rem / 2) !important;}
    .pt9 {padding-top:calc(9rem / 2) !important;}
    .pt10 {padding-top:calc(10rem / 2) !important;}
    .pt12 {padding-top:calc(12rem / 2) !important;}
    .pt15 {padding-top:calc(15rem / 2) !important;}
    .pt16 {padding-top:calc(16rem / 2) !important;}
    .pb1 {padding-bottom:calc(1rem / 2) !important;}
    .pb2 {padding-bottom:calc(2rem / 2) !important;}
    .pb3 {padding-bottom:calc(3rem / 2) !important;}
    .pb4 {padding-bottom:calc(4rem / 2) !important;}
    .pb5 {padding-bottom:calc(5rem / 2) !important;}
    .pb6 {padding-bottom:calc(6rem / 2) !important;}
    .pb7 {padding-bottom:calc(7rem / 2) !important;}
    .pb8 {padding-bottom:calc(8rem / 2) !important;}
    .pb9 {padding-bottom:calc(9rem / 2) !important;}
    .pb10 {padding-bottom:calc(10rem / 2) !important;}
    .pb12 {padding-bottom:calc(12rem / 2) !important;}
    .pb15 {padding-bottom:calc(15rem / 2) !important;}
    .pb16 {padding-bottom:calc(16rem / 2) !important;}  
    .pt1-sp {padding-top:calc(1rem / 2) !important;}
    .pt2-sp {padding-top:calc(2rem / 2) !important;}
    .pt3-sp {padding-top:calc(3rem / 2) !important;}
    .pt4-sp {padding-top:calc(4rem / 2) !important;}
    .pt5-sp {padding-top:calc(5rem / 2) !important;}
    .pt6-sp {padding-top:calc(6rem / 2) !important;}
    .pt7-sp {padding-top:calc(7rem / 2) !important;}
    .pt8-sp {padding-top:calc(8rem / 2) !important;}
    .pt9-sp {padding-top:calc(9rem / 2) !important;}
    .pt10-sp {padding-top:calc(10rem / 2) !important;}
    .pt15-sp {padding-top:calc(15rem / 2) !important;}
    .pt16-sp {padding-top:calc(16rem / 2) !important;}
    .pb1-sp {padding-bottom:calc(1rem / 2) !important;}
    .pb2-sp {padding-bottom:calc(2rem / 2) !important;}
    .pb3-sp {padding-bottom:calc(3rem / 2) !important;}
    .pb4-sp {padding-bottom:calc(4rem / 2) !important;}
    .pb5-sp {padding-bottom:calc(5rem / 2) !important;}
    .pb6-sp {padding-bottom:calc(6rem / 2) !important;}
    .pb7-sp {padding-bottom:calc(7rem / 2) !important;}
    .pb8-sp {padding-bottom:calc(8rem / 2) !important;}
    .pb9-sp {padding-bottom:calc(9rem / 2) !important;}
    .pb10-sp {padding-bottom:calc(10rem / 2) !important;}
    .pb15-sp {padding-bottom:calc(15rem / 2) !important;}
    .pb16-sp {padding-bottom:calc(16rem / 2) !important;}  
}
/* == == == == == == == == == == == == == == == == == == 
* レイアウト調整
* == == == == == == == == == == == == == == == == == == */

/* == == == == == == == == == == == == == == == == == == 
* その他の調整 / other
* == == == == == == == == == == == == == == == == == == */
/* ---- header ---- */
.lHeader001__inner {
  height: 100%;
  max-width: 1480px;
  margin: 0 auto;
  width: var(--inner-width);
}
.lHeader001__headerInner {
    gap: var(--space-40);
    padding: 0;
}
.lHeader001__logo img {
    max-width: 300px;
    width: clamp(160px, 16vw, 300px);
}

.lHeader001 .menu-item a {
    font-size: var(--font-size16);
    font-weight: bold;
    font-family: var(--font-family01);
    color: var(--header-color-font);
    padding: 0 var(--space-20);
}
.lHeader001 .menu-item a:hover {
    color: var(--header-color-primary);
}
.lHeader001 .menu-item a::after {
    display: none;
}
.lHeader001 .megaMenu {
    position: fixed;
    width: 100vw;
    height: auto;
    background: #FFF;
    left: 0;
    top: 100px;
    /* display: none;   */
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    transition: all 0.2s ease;
    padding: var(--space-100) 0;
}
.lHeader001 li:hover .megaMenu {
    display: block;
    visibility: visible;
    pointer-events: auto;
    opacity: 1;

}
.lHeader001 .megaMenu__inner {
    max-width: 1480px;
    width: var(--inner-width);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-50);
    margin: 0 auto;

}
.lHeader001 .megaMenu__img {
    flex: 1;
}
.lHeader001 .megaMenu__img img {
    width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 5px;
}
.lHeader001 .megaMenu__list {
    width: 70%;
    max-width: 970px;
    display: block;
}
.lHeader001 li ul.sub-menu {
    position: relative;
    display: block;
    background: #FFF;
}
/* メガメニューのリスト部分を2列にする */
.lHeader001 .megaMenu__list .sub-menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--space-50);
    row-gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}
/* li（項目）共通のボーダー */
.lHeader001 .megaMenu__list .sub-menu > li {
    border-top: 1px solid #C1C1C1;
    border-bottom: 1px solid #C1C1C1;
    margin-top: -1px;
    padding-bottom: 0;
}
.lHeader001 ul.sub-menu li a {
    font-size: var(--font-size16);
    color: var(--header-color-font);
    font-weight: bold;
    padding: 2em;
    position: relative;
    line-height: var(--body-line-height);
}
.lHeader001 ul.sub-menu li.is-new_window a {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 1em;
    align-items: center;
}

.lHeader001 ul.sub-menu li.is-new_window a::before {
    content: '';
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url(/wp-content/uploads/icon_new-window.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.lHeader001 ul.sub-menu li a::after {
    display: inline-block;
    position: absolute;
    content: '';
    transform: rotate(45deg) translateY(-50%);
    width: .6em;
    height: .6em;
    background: transparent;
    border-top: 1px solid;
    border-right: 1px solid;
    right: 2em;
    top: 50%;
    transition: .2s ease;
}
.lHeader001 ul.sub-menu li a:hover::after {
    transform: rotate(45deg) translateY(-50%);
    right: 1em;
}
.lHeader001__navContent {
    display: flex;
    justify-content: space-between;
    gap: var(--space-10);
}
.lHeader001__contactNav {
    display: flex;
    justify-content: space-between;
    gap: var(--space-20);
}
.lHeader001__contactNav li {
    display: flex;
    justify-content: center;
    align-items: center;
}
.lHeader001__contactNav a {
    font-size: var(--font-size16);
    font-family: var(--font-family01);
    font-weight: 500;
    color: #FFF;
    background: var(--header-color-primary);
    outline: 1px solid var(--header-color-primary);
    width: 11.25em;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    transition: .5s ease;
    border-radius: 5px;
    gap: .3em;
}
.lHeader001__contactNav a::before {
    font-family: "Material Symbols Outlined";
    content: "\e163"; 
}
.lHeader001__contactNav a:hover {
    background: #FFF;
    color: var(--header-color-primary);
    opacity: 1;
}

/* ==== body.sticky-header ==== */
body.sticky-header #header {
    background: #FFF;
}
body.sticky-header .lHeader001 .megaMenu {
    top: 100px;
}
/* ==== body.admin-bar ==== */
body.admin-bar .lHeader001 .megaMenu {
    top: calc(100px + var(--wp-admin--admin-bar--height));
}
body.admin-bar.sticky-header .lHeader001 .megaMenu {
    top: 100px;
}
@media print, screen and (max-width: 1023px) {
    .lHeader001 {
        height: 60px;
    }
    .lHeader001__navContent {
        display: none;
    }
    body.headerNavIsOpen .lHeader001__inner {
        width: 100%;
        background: #FFF;
    }
    body.sticky-header .lHeader001__inner {
        top: 0;
    }
    body.headerNavIsOpen .lHeader001__tabletNavContainer {
        padding: 20px 0;
        background: #FFF;
    }
    body.headerNavIsOpen .lHeader001__header {
        height: 60px;
    }
    body.headerNavIsOpen .lHeader001__headerInner {
        width: var(--inner-width);
        margin: 0 auto;
    }
    body.headerNavIsOpen nav.lHeader001__tabletNavigation {
        width: var(--inner-width);
        margin: 0 auto;
    }
    .lHeader001 .menu-item {
        margin-bottom: 0;
    }   
    .lHeader001 .menu-item a {
        padding: 1em 0;
		border-bottom: 1px solid var(--color-table-border);
    }
    .lHeader001 li.menu-item-has-children a {
        pointer-events: auto;
    }
    .lHeader001 ul.sub-menu li a {
        padding: 1em 2em;
		border-bottom: 0;
    }
    .lHeader001 ul.sub-menu li a::after {
        display: none;
    }
    .lHeader001 ul.sub-menu li {
        padding: 0;
        margin: 0;
    }
    .lHeader001__tabletHamburger {
        padding: 0;
    }
    .lHeader001__tabletHamburgerOpen, .lHeader001__tabletHamburgerClose {
        color: var(--color-primary);
    }
    .lHeader001 li.menu-item-has-children > a {
        pointer-events: none;
    }
    .lHeader001 li.menu-item-has-children .sub-menu {
        display: none!important;
        overflow: hidden;
        height: 0;
        transition: height 0.3s ease;
    }
    .lHeader001 li.menu-item-has-children.is-open .sub-menu {
        display: block!important;
    }
    .lHeader001 li.menu-item-has-children > a {
        position: relative;
        padding-right: 1.2em; /* 矢印分の余白 */
    }
    .lHeader001 li.menu-item-has-children > a::after {
        font-family: "Material Symbols Outlined";
        content: "\e313";
        font-size: 1em;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        transition: transform 0.3s ease;
        display: block;
        width: auto;
        height: auto;
        background: transparent;
    }
    .lHeader001 li.menu-item-has-children.is-open > a::after {
        content: "\e316";
    }
}    
/* ==== lHeaderthumbnail ==== */
.lHeaderthumbnail {
    position: relative;
}
.lHeaderthumbnail::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #0561AE;
    opacity: .89;
    left: 0;
    top: 0;
    z-index: 0;
}
.lHeaderthumbnail__background {
    width: 100%;
    height: clamp(200px, 30vw, 550px);
}
.lHeaderthumbnail__background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lHeaderthumbnail__title {
    position: absolute;
    width: var(--inner-width);
    max-width: 1480px;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    height: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    font-size: var(--font-size48);
    font-family: var(--font-family01);
    font-weight: bold;
    color: #FFF;
    line-height: 1.5;
    flex-direction: column;
    z-index: 1;
    margin-bottom: 0;
}
.lHeaderthumbnail__title .description {
    font-family: var(--font-family02);
    font-weight: 300;
    font-size: var(--font-size30);
    line-height: 1;
}
.lHeaderthumbnail__title .object {
    font-family: var(--font-family02);
    font-weight: 300;
    font-size: clamp(100px, 13.3vw, 255px);
    position: absolute;
    z-index: -1;
    opacity: .12;
    left: 0;
    top: 54%;
    transform: translateY(-50%);
    white-space: nowrap;
}
body.home .lHeaderthumbnail {
    display: none;
}
/* ---- footer ---- */
footer {
  background: var(--footer-background);
}
.copyright {
  width: 90%;
  margin: 0 auto;
  text-align: center;
  color: #FFF;
  font-size: var(--font-size12);
  font-family: var(--font-family01);
  font-weight: 400;
  line-height: 2;
  padding: 0 0 10px;
}
/* ==== pFooter ====*/
.pFooter {
    color: #FFF;
}
.pFooterInner {
    width: var(--inner-width);
    max-width: var(--inner-max-width-px);
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: var(--clamp-40);
    flex-wrap: wrap;
    padding: var(--clamp-70) 0;
}
.pFooterText, .pFooterNav {
    width: calc((100% - (var(--clamp-40) * 1)) / 2);
}
.pFooter__logo {
    width: 70%;
    max-width: 420px;
    margin-bottom: 20px;
}
.pFooter__logo img {
    width: 100%;
    height: auto;
}
.pFooter__desc {
    color: #FFF;
}
.pFooter .c-btn-content {
    flex-direction: column;
}
.pFooterNav__navigationMenu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-40);
    list-style: none;
    margin: 0;
    padding: 0;
}
.pFooterNav__navigationMenu a {
    font-weight: bold;
    font-size: var(--font-size18);
    color: #FFF;
}
.pFooterBottom {
    padding-bottom: 15px;
}
.pFooterBottomNav {
    margin-bottom: 10px;
}
.pFooterBottomNav__navigation {
    max-width: var(--inner-max-width-px);
    width: var(--inner-width);
    margin: 0 auto;
}
.pFooterBottomNav__navigationMenu {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
}
.pFooterBottomNav__navigationMenu a {
    font-size: var(--font-size14);
    color: #FFF;
    font-weight: 400;
    padding: 0 1em;
    position: relative;
}
.pFooterBottomNav__navigationMenu li a::before {
    content: '';
    position: absolute;
    width: 1px;
    height: 100%;
    background: #FFF;
    left: 0;
    top: 0;
}
.pFooterBottomNav__navigationMenu li:last-child a::after {
    content: '';
    position: absolute;
    width: 1px;
    height: 100%;
    background: #FFF;
    right: 0;
    top: 0;
}

a.cta_tel {
    color: #FFF;
    font-size: calc(var(--font-size32) + 1px);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .5em;
}
a.cta_tel .num {
    font-family: var(--font-family02);
    font-weight: 400;
    display: flex;
    gap: .2em;
    align-items: center;
}
a.cta_tel .num::before {
    font-family: "Material Symbols Outlined";
    content: "\e0b0";
    font-size: .8em;
}
a.cta_tel .sub {
    font-size: var(--font-size16);
}
a.cta_mail {
    color: #FFF;
    font-size: var(--font-size16);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
    max-width: 420px;
    width: 90%;
    height: 5em;
    outline: 1px solid #FFF;
    border-radius: 10px;
    transition: .5s ease;
}
a.cta_mail::before {
    font-family: "Material Symbols Outlined";
    content: "\e163";
}
a.cta_mail:hover {
    background: #FFF;
    color: var(--color-primary);
    transform: translateY(-3px);
    opacity: 1;
}
@media print, screen and (max-width: 768px) {
    .pFooterText, .pFooterNav {
        width: 100%;
    }
    .pFooter__logo {
        width: 90%;
        margin-inline: auto;
    }
    .pFooterText {
        text-align: center;
    }
    .pFooter .c-btn-content {
        align-items: center;
    }
    .pFooterNav {
        max-width: 400px;
        margin: 0 auto;
    }
}
/* ---- その他 ---- */

/*  */
body.category .lInner {
    margin-top: var(--clamp-100);
    margin-bottom: var(--clamp-100);
}
/*  */
body.wp-editor {
	opacity: 1;
}
@media print, screen and (min-width: 769px) {
}
@media print, screen and (max-width: 768px) {
}
