@charset "utf-8";
/* ===============================
RESET
=============================== */
*, *::before, *::after {margin: 0;padding: 0;box-sizing: border-box;}
img {max-width: 100%;height: auto;display: block;}
ul {list-style: none;}
a {text-decoration: none;color: #252525;}
html {font-size: 62.5%;scroll-behavior: smooth;}
body {font-size: 1.6rem;line-height: 1.7;letter-spacing: 1px;color: #3f3f3f;font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Times New Roman", "YuMincho", "Yu Mincho", "MS PMincho", serif;overflow-x: hidden;}
.bg-01 {background: #F5F8FC;}
.bg-02 {background: linear-gradient(180deg, #E6EDF7 0%, #F5F8FC 100%);}
.bg-03 {background: linear-gradient(180deg, #F5F8FC 0%, #E6EDF7 100%);}
.bg-04 {background: linear-gradient(135deg, #1A2B5C 0%, #2855B5 55%, #1F4099 100%);}
.small {font-size: 70%;}
.pc {display: none !important;}
.sp {display: block !important;}
.side-img{float:right;width:30%;padding-left:1em;}
.clearfix:after {content: "";display: block;clear: both;} 
.clearfix:before {content: "";display: block;clear: both;} 
.clearfix {display: block;}
/* =============================== COMMON =============================== */
section {padding: 2em 0;}
section#sub-head{padding:60px 0 0;}
.inner {width: 95%;max-width: 960px;margin: 0 auto;}
h1 {font-size: 6vw;font-weight: bold;color: #0d2a54;text-align:center;margin:1em auto 0;line-height: 1.4;}
h1.logo {width: 100px;margin:-.2em auto 0 0;}
h2 {font-size: 7vw;font-weight: bold;color: #0d2a54;line-height: 1.4;}
h2 span {font-size: 3vw;}
h2 span.heading {color: #b7a47b;}
h2 span.heading::before {background-color: #b7a47b;}
h3 {font-weight: bold;margin: 1em 0 .2em;color: #0d2a54;}
h3 + p {margin: 0;}
h3 .material-symbols-outlined{color: #1d44a0;font-size: 90%;}
h4 {position: relative;padding: .8em 1em;border-left: 3px solid #0d2a54;font-size: 110%;margin-bottom: 1em;background: linear-gradient(135deg, rgb(231 233 241) 0%, rgba(243, 246, 252, .92) 45%, rgba(255, 255, 255, .95) 100%);color: #0d2a54;}
h5{text-align:center;}
main h1 {margin:2em auto -1em;}
.pc {display: none;}
.sp {display: block;}
p + img, img + p, h3 + p, h4 + p, .flex + p, p + .flex, p + table, table + p, h2 + .flex {margin-top: 1em;}
h2 + p, p + h2, h2 + dl, h2 + img, p + .flex-2, h2 + .flex-2, .box01 + .box02, p + details, p + .box01,.lead + .post-list,p + .flow,h1 + .content,h2 + .box01,p + h4,p + .box03,.box03 + p {margin-top: 2em;} 
.mark {background: linear-gradient(transparent 80%, #debb71 80%);font-weight: bold;}
.r {color: #a32222;}
.y {color: #debb71;}
.b{font-weight:bold;}
/* =============================== NAV =============================== */
.hamburger {width: 35px;height: 35px;position: relative;border: none;background: none;cursor: pointer;z-index: 1100;}
.hamburger span {position: absolute;width: 60%;height: 2px;background: #333;left: 50%;top: 50%;transform: translate(-50%, -50%);transition: transform .3s ease, opacity .2s ease;}
/* 閉じてる状態 */
.hamburger span:nth-child(1) {transform: translate(-50%, -50%) translateY(-8px);}
.hamburger span:nth-child(2) {transform: translate(-50%, -50%);}
.hamburger span:nth-child(3) {transform: translate(-50%, -50%) translateY(8px);}
/* 開いた状態 */
.hamburger.active span:nth-child(1) {transform: translate(-50%, 0) rotate(45deg);}
.hamburger.active span:nth-child(2) {opacity: 0;}
.hamburger.active span:nth-child(3) {transform: translate(-50%, 0) rotate(-45deg);}
.nav {position: fixed;top: 0;left: 0;width: 100%;height: 100vh;background: #fffffff0;display: flex;transform: translateY(-110%);transition: transform 0.5s ease;z-index: 200;}
.nav.active {transform: translateY(0);}
.nav ul {display: flex;flex-direction: column;align-items: center;justify-content: flex-start;gap: 32px;padding-top: 100px;width: 100%;max-width: none;}
.nav ul li.line, .nav ul li.mail {color: #fff;font-size: 80%;width: 100%;}
.nav ul li.line {background: #06C755;}
.nav ul li.line img {width: 20px;}
.nav ul li.mail {background: #1d449f;margin-top:-32px;;}
.nav ul li.mail a, .nav ul li.line a {gap: 2px;padding: 16px 0;width: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;color: #fff;}
.nav a .material-symbols-outlined {font-size: 18px;line-height: 1;color: #fff; padding-bottom: 0.2em;}
.nav a {letter-spacing: 0.12em;}
/* 閉じるボタン */
.close-btn {position: absolute;top: 20px;right: 20px;background: none;border: none;letter-spacing: 0.1em;cursor: pointer;}
/* =============================== HEADER =============================== */
header {}
.header-inner {position: fixed;top: 0;left: 0;width: 100%;height: 60px;z-index: 1000;background: rgba(255, 255, 255, .95);display: flex;justify-content: space-between;align-items: center;padding: 0 1rem;}
.fv-inner {width: 100%;padding: 0 .5em;position: absolute;bottom: 0;}
.fv-inner p {font-size: 3vw;}
.heading {position: relative;padding: 0 0 0 2.5em;color: #222;font-size: 1.8vw;}
.heading::before {content: '';display: inline-block;position: absolute;top: 50%;width: 30px;height: 1px;background-color: #222;left: 0;}
.inner .heading{padding: 0 0 0 3.5em;font-size: 3vw;}
.flex-merit {display: flex;flex-wrap: wrap;gap: .2em;padding-bottom: 1em;}
.flex-merit p {width: calc(50% - .25em);box-sizing: border-box;border: 1px solid rgba(111, 140, 199, .18);box-shadow: 0 10px 30px rgba(31, 64, 153, .08), 0 1px 0 rgba(255, 255, 255, .9) inset, 0 -1px 0 rgba(120, 140, 180, .08) inset;padding: .2em .5em;font-size: 2.8vw;color: #1c2c4f;background: linear-gradient(135deg, rgba(255, 255, 255, .95) 0%, rgba(243, 246, 252, .92) 45%, rgba(226, 234, 248, .85) 100%);text-align: center;border-radius: 5px;flex: 1 1 calc(50% - 10px);color: #1c2c4f;}
.flex-btn, .flex-merit {margin-left: auto;margin-right: auto;box-sizing: border-box;}
#fv{background: url('img/head-sp3.png') center / cover no-repeat;position: relative;width: 100%;min-height: 500px;height: 50vh;padding: 0;}
#merit {padding: 1em .5em 0;background: linear-gradient(180deg, #E6EDF7 0%, #F5F8FC 100%);}
#jb {background: linear-gradient(#1a418f, #00193c);padding: 1.5em 0;}
#jb2 {background: linear-gradient(180deg, #E6EDF7 0%, #F5F8FC 100%);padding: 1em 0;}
#jb p {color: #F5F7FA;}
.flex-jb {display: flex;justify-content: center;gap: .5em;}
.flex-jb p {position: relative;font-size: 2.4vw;text-align: center;padding: 0 .5em;line-height: 1.4;letter-spacing: .8px;}
.flex-jb p:not(:last-child)::after {content: "";position: absolute;right: -0.5em;top: 50%;transform: translateY(-50%);width: 1px;height: 160%;background: linear-gradient(to bottom, transparent, #deba71, transparent);}
.flex-jb p span {font-size: 140%;display: block;background: linear-gradient(180deg, #d4ab4b 0%, #f1d89c 25%, #fff8e7 50%, #f1d89c 70%, #d4ab4b 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);}
/* =============================== FLEX/BOX =============================== */
.flex {display: flex;gap: 5px;flex-wrap: wrap;}
.flex p {width: calc(50% - 2.5px);padding: 1em .5em;text-align: center;line-height: 1.4;font-size: 3vw;border-radius: 10px;}
.flex p.bg-bl {box-shadow: 2px 5px 10px #6282c759, inset 0 1px 0 #ffffff14;background: linear-gradient(135deg, #b9c2d759 0%, #f3f6fc 55%, #ffffff 100%);border: 1px solid #fff;}
.flex p span {font-weight: bold;font-size: 110%;display: block;margin: 0 auto .5em;}
.flex img {width: 25%;margin: 0 auto .5em;}
.flex-2 {display: flex;gap: 1rem;flex-direction: column;}
.flex-2 p span {font-weight: bold;display: block;font-size: 110%;color: #0d2a54;z-index: 100;position: relative;}
.flex-2 p span i {font-size: 130%;background: linear-gradient(135deg, #859cc1, #0d2a53);-webkit-background-clip: text;-webkit-text-fill-color: transparent;font-weight: normal;padding-right: .1em;}
.bg-02 .flex-2 .flex-wrap {background: #fcfdff;}
.flex-wrap {border: 1px solid #fff;border-radius: 10px;padding: 1em .8em;box-shadow: 2px 5px 10px #6282c759, inset 0 1px 0 #ffffff14;background: linear-gradient(135deg, #b9c2d759 0%, #f3f6fc 55%, #ffffff 100%);}
.flex-wrap .item {display: flex;gap: 5px;flex-wrap: wrap;margin: 1em auto 0;}
.flex-wrap .item p {background: #0d2a53;border-radius: 50px;color: #fff;padding: .1em 1em;font-size: 65%;}
.fadeUp {opacity: 0;transform: translateY(40px);transition: opacity 1s ease, transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);will-change: transform, opacity;}
.fadeUp.isActive {opacity: 1;transform: translateY(0);}
.box01 {background: #fff;padding: 1em .5em;border-radius: 10px;}
.box01 .flex p.bg-bl {box-shadow: 0 5px 5px rgb(191 206 240 / 35%), inset 0 1px 0 rgb(255 255 255 / 8%);}
.box02 {background: linear-gradient(135deg, #1A2B5C 0%, #2855B5 55%, #1F4099 100%);padding: 1em .5em;border-radius: 10px;box-shadow: 2px 5px 10px #6282c759, inset 0 1px 0 #ffffff14;}
.box02 p, .box02 h2 {color: #fff !important;}
.box03{background: #f6f8fc;padding: 1em;}
/* =============================== Reason =============================== */
#reason .flex-wrap {position:relative;}
.reason-box01{position: absolute;top: -15px;left: 10px;font-size: 14vw;color: #edf2fb;font-weight: bold;font-style: oblique;font-family: "Times New Roman";letter-spacing: -2px;z-index: 10;}
.reason-box02{position: absolute;top: -15px;left: 10px;font-size: 14vw;color: #ffffffa6;font-weight: bold;font-style: oblique;font-family: "Times New Roman";letter-spacing: -2px;z-index: 10;}
/* =============================== TABLE =============================== */
table {width: 100%;}
table th {position: relative;text-align: left;width: 20%;line-height:1.4;}
table th:after {display: block;content: "";width: 20px;height: 1px;background-color: #0d2a53;position: absolute;top: calc(50% - 1px);right: -25px;}
table td {text-align: left;padding: 7px 0 7px 2em;width: 80%;}
/* =============================== LIST =============================== */
.list {list-style-type: disc;padding: 1em;border: 2px solid #deba71;margin: 1em auto;background: #ffffffa6;}
.list li {padding: .3em .3em .3em 0;list-style: none;}
.list li::before {content: "done_all";font-family: 'Material Symbols Outlined';color: #b89b5e;font-size: 1.1em;margin-right: 8px;vertical-align: middle;}
ol {counter-reset: number;list-style: none;padding: 0;margin: 1em auto 0;}
ol li {position: relative;padding: .5em .2em .5em 2.8em;margin-bottom: 1em;background: #e9f0ff;border: 1px solid #d9e4ef;border-radius: 8px;box-shadow: 0 4px 15px rgba(0, 0, 0, .04);font-size: 90%;line-height: 1.4;box-shadow: 5px 5px 10px #0f2c76;}
ol li::before {counter-increment: number;content: counter(number);position: absolute;left: 10px;top: 50%;transform: translateY(-50%);color: #2550ad;display: flex;align-items: center;justify-content: center;font-weight: 700;font-size: 110%;border-right: 1px solid #254eaa;height: 35px;padding-right: .5em;}
/* ================= flow ================= */
.flow {display: flex;justify-content: center;align-items: center;}
.flow ul {padding: 0;}
.flow li {list-style-type: none;}
.flow dd {margin-left: 0;color: #fff;}
.flow-wrap {position: relative;}
.flow-wrap::before {content: "";width: 1px;height: 100%;background: #bdd2ff;margin-left: -117px;display: block;position: absolute;top: 0;left: 120px;border-radius: 20px;}
.flow-wrap > li {position: relative;}
.flow-wrap > li:not(:last-child) {margin-bottom: 2em;}
.flow-wrap > li .icon03 {font-size: 0.8em;width: 2em;height: 2em;line-height: 2;text-align: center;font-weight: bold;border-radius: 100vh;color: #fff;background: #b7a37b;display: inline-block;margin-right: 0.3em;font-family: monospace;}
.flow-wrap > li dl {padding-left: 35px;position: relative;}
.flow-wrap > li dl::before, .flow-wrap > li dl::after {content: "";display: block;position: absolute;top: 15px;}
.flow-wrap > li dl::before {width: 7px;height: 7px;margin-top: -3px;background: #fff;border-radius: 50%;left: 0;}
.flow-wrap > li dl::after {width: 20px;border-bottom: 1px dashed #fff;position: absolute;left: 10px;}
.flow-wrap > li dl dt {font-size: 1.3em;font-weight: 600;color: #fff;margin-bottom: 0.5em;display: flex;align-items: center;}
/* =============================== BUTTON =============================== */
.flex-btn {display: flex;gap: .5em;margin: 2em auto;flex-direction: column;}
.button, .button2 {flex: 1 1 0;width: 60%;box-sizing: border-box;padding: .7em 2.8em;-webkit-appearance: none;color: #fff;border-radius: 50px;cursor: pointer;font-weight: 600;font-size: 3vw;position: relative;display: flex;justify-content: center;align-items: center;font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Times New Roman", "YuMincho", "Yu Mincho", "MS PMincho", serif;border: 1px solid #446f9f;background: linear-gradient(90deg, #05123a, #163b84, #072065, #3367d7);background-size: 300% 300%;animation: btn_animation 4s ease-in-out infinite alternate;transition: .3s;}
.button.w100{width:100%;}
@keyframes btn_animation {0% {background-position: 0% 50%;}100% {background-position: 100% 50%;}}
.button span, .button2 span {display: block;width: 100%;text-align: center;}
.button:hover, .button2:hover {transform: translateY(-3px);box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);}
.button:active, .button2:active {transform: translateY(-1px);}
.button::after, .button2::after {content: '';width: 25px;height: 5px;border-bottom: solid 1px;border-right: solid 1px;position: absolute;right: .8em;top: 44%;transform: translateY(-42%) skew(45deg);}
.button3 {display: flex;justify-content: center;align-items: center;width: 100%;margin: 0 auto;padding: .9em 2em;border: none;border-radius: 5px;box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);background: linear-gradient(135deg, #d7ab6a 0%, #ffe4c1 50%, #c6975a 100%);color: #222;font-weight: 600;font-size: 1em;margin: 1.5em auto;position: relative;border: 1px solid #d4c2a5;}
.button3:hover {filter: brightness(105%);}
.button3::after {position: absolute;right: 2em;transform: translateY(-50%);transform-origin: left;width: 2em;height: .5em;background-color: #222;clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);content: '';transition: transform .3s;}
.button3:hover::after {transform: translateY(-50%) scaleX(1.4);}
/* =============================== FAQ =============================== */
.qa {margin-bottom: 1rem;border: 1px solid #ffffff;border-radius: 10px;box-shadow: 2px 5px 10px #d5dcee;}
.qa summary {display: flex;justify-content: space-between;align-items: center;position: relative;font-weight: 600;cursor: pointer;line-height: 1.4;padding: .8em .5em .8em 2em;}
.qa summary::before, .qa p::before {position: absolute;left: .5em;font-weight: 600;font-size: 1.3em;}
.qa summary::before {color: #01193c;content: "Q";}
.qa summary::after {content: "expand_more";font-family: "Material Symbols Outlined";font-size: 20px;margin-left: 10px;color: #01193c;display: inline-block;transition: opacity .2s ease, transform .2s ease;}
.qa[open] summary::after {content: "expand_less";}
.qa p {position: relative;transform: translateY(-10px);opacity: 0;margin: 0;padding: 0 0 1.5em 2.6em;transition: transform .5s, opacity .5s;}
.qa[open] p {transform: none;opacity: 1;}
.qa p::before {color: #a32222;content: "A";}
/* =============================== FORM =============================== */
.box01 .wpcf7 form{background: none;padding: 0;border-radius: 16px;box-shadow: none;padding-top: 4em;}
.wpcf7 form {background: #fff;padding: 1em;border-radius: 16px;box-shadow: 0 10px 30px rgba(0,0,0,.08);}
.wpcf7 p {margin-bottom: 24px;}
.wpcf7 label {display: block;font-size: 14px;font-weight: 700;margin-bottom: 8px;}
/* 必須 */
.required {display: inline-block;padding: 2px 8px;background: #cd1914;color: #fff;font-size: 11px;}
/* 入力欄 */
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],.wpcf7 textarea,
.wpcf7 select {width: 100%;padding: 14px 16px;border: 1px solid #ddd;border-radius: 8px;font-size: 16px;background: #fafafa;transition: .3s;}
.wpcf7 label .wpcf7-form-control {margin-top: .5em;}
/* フォーカス */
.wpcf7 input[type="text"]:focus,.wpcf7 input[type="email"]:focus,.wpcf7 input[type="tel"]:focus,.wpcf7 textarea:focus,.wpcf7 select:focus {outline: none;border-color: #1f3a6d;background: #fff;box-shadow: 0 0 0 4px rgba(31,58,109,.1);}
.wpcf7 textarea {min-height: 180px;resize: vertical;}
.wpcf7-submit:focus {outline: none;box-shadow: none;}
/* 送信ボタン */
.wpcf7-submit {width: 100%;display: block;margin: 0 auto;padding: 18px;border-radius: 999px;color: #fff;font-weight: 700;cursor: pointer;font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Times New Roman", "YuMincho", "Yu Mincho", "MS PMincho", serif;border: 1px solid #446f9f;background: linear-gradient(90deg, #05123a, #163b84, #072065, #3367d7);background-size: 300% 300%;animation: btn_animation 4s ease-in-out infinite alternate;transition: .3s;}
.wpcf7-submit:hover {transform: translateY(-3px);box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);}
/* エラー */
.wpcf7-not-valid {border-color: #d9534f !important;}
.wpcf7-not-valid-tip {font-size: 13px;margin-top: 6px;}
/* 送信完了 */
.wpcf7-response-output {margin-top: 20px !important;padding: 15px !important;border-radius: 8px;text-align: center;font-weight: 700;}
.inner .wpcf7 form.sent .wpcf7-response-output,.inner .wpcf7 form .wpcf7-response-output{border:none;background: #f6f6f6;}
/* =============================== FOOTER =============================== */
footer {background: #0d2a54;text-align: center;padding: 4em 0;font-size: 80%;}
footer img {width: 160px;margin: 0 auto 3em;}
footer p, footer a, footer span {color: #d4e6ff;}
/* ===============================  COLUMN =============================== */
.post-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 16px;}
.post-card {background:#fff;}
.post-card a{display:block;color:inherit;text-decoration:none;transition:.3s;}
.post-thumb{overflow:hidden;aspect-ratio:1 / 1;}
.post-thumb img{width:100%;height:100%;object-fit:cover;transition:.5s;}
.post-card:hover img{transform:scale(1.05);}
.post-card:hover a{transform:translateY(-4px);}
.post-content{padding:1em;}
.post-content time{display: inline-block;font-size: 70%;color: #fff;background: #0d2a54;padding: .2em .6em;margin-bottom: .5em;}
.post-content h4{font-weight:700;color: #0d2a54;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.post-content p{display:none;}
/* ===============================TABLET=============================== */
@media(min-width:768px) {body {font-size: 3vw;}
  h2 {font-size: 5vw; line-height: 1.3;}
  .inner .heading {padding: 0 0 0 2em;font-size: 2vw;}
  h1.logo {width: 110px;}
  #fv {height:1200px;}
  .lead{margin:2em auto;}
  .flex p{font-size:2vw;}
  .post-list{grid-template-columns:repeat(3,1fr);gap:32px 24px;}
  .post-content time{font-size:80%;}
}
/* ===============================PC FIX=============================== */
@media(min-width:1025px) {body {font-size: 16px;}
  .pc {display: block !important;}
  .sp {display: none !important;}
  section {padding: 2em 0 4em;}
  .inner {width: min(92%, 1200px);}
  /* ===============================HEAD=============================== */
  #fv {background: url('img/head-bg.png') right center / cover no-repeat;min-height: 500px;height: 700px;}
  .heading{font-size:1rem;padding:0 0 0 .5em;}
  .heading::before {width: 28px;}
  .header-inner {padding:0;}
  .fv-inner{position:absolute;bottom:0;width:680px;left:max(4rem,calc((100vw - 980px) / 2));}
  .fv-inner h2,.fv-inner .lead,.fv-inner .flex-btn,.fv-inner .flex-merit{max-width:680px;}	
  .fv-inner p {font-size: 1.6rem;}
  main h1 {margin:2em auto 1em;}
  h1 {font-size: 7.2rem; line-height: 1.2;}
  h1.logo {width: 130px;margin: -.1em auto 0 8rem;}
  h2 {font-size: 5.4rem;line-height: 1.4;}
  h2 span {font-size: 1.5rem;  letter-spacing: .15em;}
  h2 span.heading::before{width: 80px;}
  main h1 {font-size: 6rem;}
  .inner .heading {padding: 0 0 0 4.5em;font-size: 2rem;}
  /* =================nav================= */
  .hamburger {display: none;}
  .nav {position: static;transform: none;height: 60px;background: none;width: auto;margin-left: auto;display: flex;padding: 0;}
  .nav ul {display: flex;flex-direction: row;align-items: center;gap: 0;padding: 0;margin: 0;height: 60px;}
  .nav li {height: 60px;display: flex;}
  .nav a {display: flex;  align-items: center;  justify-content: center;  height: 60px;  padding: 0 16px;  transition: .3s;  font-size: 80%;}
  .nav a:hover {background: #f2f2f2;}
  .close-btn {display: none;}
  .nav ul li.line,.nav ul li.mail {width: auto;padding: 0;}
  .nav ul li.line a,.nav ul li.mail a {width: 140px;height: 60px;padding: 0;margin: 0;border-radius: 0;gap: 0;line-height: 1.2;}
  .nav ul li.line {margin-left: auto;}
  .nav ul li.mail {margin: 0 0 0 auto;}
  .nav ul li.line a:hover {background: #05b44d;}
  .nav ul li.mail a:hover {background: #103384;}
  main p {line-height: 2;}
  /* ===============================REASON=============================== */
  #reason .flex-wrap {width: calc(50% - 12px);}
  .reason-box01,.reason-box02{top: -28px;left: 10px;font-size: 7rem;}
  /* ===============================BUTTON=============================== */
  .flex-btn {flex-direction: row;  gap: 1em;  align-items: center;}
  .button, .button2 {width: auto;  min-width: 280px;  font-size: 1.7rem;  padding: 1em 3em;}
  .button::after, .button2::after {width: 32px;  height: 8px;}
  /* ===============================MERIT=============================== */
  .flex-merit {gap: .5em;  padding-bottom: 2em;}
  .flex-merit p {padding: .8em 1.4em;}
  /* ===============================JB=============================== */
  .flex-jb {gap: 2em;}
  .flex-jb p {font-size: 1.5rem;  padding: 0 2em;}
  .flex-jb p span {font-size: 2.4rem;}
  /* ===============================FLEX=============================== */
  .flex {gap: 20px;}
  .flex p {width: calc(50% - 10px);  font-size: 1.5rem;  padding: 2em 1.5em;}
  .flex img {width: 80px;}
  /* 3カラム */
  .flex-2 {flex-direction: row;  flex-wrap: wrap;  gap: 24px;}
  .flex-wrap {width: calc(50% - 12px);  padding: 2em;  border-radius: 16px;}
  /* ===============================BOX=============================== */
  .box01, .box02 {padding: 4em;  border-radius: 24px;}
  /* ===============================FLOW=============================== */
  ol li {font-size: 1.6rem;  padding: 1.2em 1.5em 1.2em 4em;}
  /* ===============================COMPANY=============================== */	
  table th:after {width: 20px;right: -25px;}
  table td {padding: 7px 0 7px 4em;}
  /* ===============================FAQ=============================== */
  .qa summary {padding: 1.4em 1.5em 1.4em 3em;}
  .qa p {padding: 0 2em 2em 3.2em;}
  /* ===============================FOOTER=============================== */
  .footer-nav {display: flex;  justify-content: center;  gap: 1em;  flex-wrap: wrap;margin-bottom:1em;}
  .footer-nav span {opacity: .5;}
  footer {padding: 5em 0;}
  /* ===============================HOVER=============================== */
  .flex-wrap, .flex p, .qa {transition: .3s ease;}
  /* ===============================CONTACT=============================== */
  .bg-01 .box01 {margin-top: 3em;}
  /* ===============================COLUMN=============================== */
  .post-list{grid-template-columns:repeat(4,1fr);gap:10px;}
  .post-content h3{font-size:1.8rem;}
}