@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

:root {
   /*------------------------------------------------------
  System - Font
  ------------------------------------------------------*/
   --body-font-family: "Noto Sans JP", sans-serif;
   --font-family01: "Noto Sans JP", sans-serif;
   --font-family02: "Noto Sans JP", sans-serif;
   --font-family03: "Outfit", sans-serif;
   --font-family04: "Montserrat", "Noto Sans JP", sans-serif;
   --body-font-size: var(--rem16);
   --content-max-width: 1240px;
   --content-max-width-lg: 1240px;
   /*------------------------------------------------------
  Background - Color 
  ------------------------------------------------------*/
   --color-background: #ffffff;
   --color-font: #002c49;
   --color-primary: #65c9f2;
   --color-primary-shade: #ebf9ff;
   --color-primary-tint: #ebf9ff;
   --color-secondary: #ffb637;
   --color-secondary-tint: #fff279;
   --color-table-border: #dddddd;
   --color-table-background: #65c9f2;
   --color-white: #ffffff;
   --color-black: #000000;
   --color-gray: #999999;
   --color-red: #de3535;
   --color-bg: #f2f2f2;
   --color-gradient: linear-gradient(90deg, #ffa70f 0%, #ff6c2c 100%);
   --box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.1);
   /*------------------------------------------------------
  Header
  ------------------------------------------------------*/
   --header-background: #ffffff;
   --header-color-font: #002c49;
   --header-color-primary: #65c9f2;
   --header-color-primary-shade: #ffffff;
   --header-color-primary-tint: #65c9f2;
   /*------------------------------------------------------
  Footer
  ------------------------------------------------------*/
   --footer-background: #65c9f2;
   --footer-color-font: #002c49;
   --footer-color-primary: #002c49;
   /*------------------------------------------------------
  PX Variations
  ------------------------------------------------------*/
   --px240: min(calc(240px + (1vw - 19.2px) * 10.356), 240px);
   /*240px-80px (1920-375)*/
   --px220: min(calc(220px + (1vw - 19.2px) * 10.356), 220px);
   /*220px-80px (1920-375)*/
   --px210: min(calc(210px + (1vw - 19.2px) * 6.4725), 210px);
   /*210px-100px (1920-375)*/
   --px200: min(calc(200px + (1vw - 19.2px) * 6.4725), 200px);
   /*200px-100px (1920-375)*/
   --px190: min(calc(190px + (1vw - 19.2px) * 3.8835), 190px);
   /*190-120px (1920-375) */
   --px180: min(calc(180px + (1vw - 19.2px) * 3.8835), 180px);
   /*180-120px (1920-375) */
   --px170: min(calc(170px + (1vw - 19.2px) * 3.8835), 170px);
   /*170-120px (1920-375) */
   --px160w: min(calc(160px + (1vw - 19.2px) * 5.178), 160px);
   /*160px-80px (1920-375)*/
   --px160: min(calc(160px + (1vw - 19.2px) * 6.4725), 160px);
   /*160px-60px (1920-375)*/
   --px150: min(calc(150px + (1vw - 19.2px) * 3.2362), 150px);
   /*150-100px (1920-375) */
   --px145: min(calc(145px + (1vw - 19.2px) * 3.2362), 145px);
   /*145-100px (1920-375) */
   --px140: min(calc(140px + (1vw - 19.2px) * 6.4725), 140px);
   /*140px-40px (1920-375)*/
   --px130: min(calc(130px + (1vw - 19.2px) * 2.589), 130px);
   /*130px-80px (1920-375)*/
   --px120: min(calc(120px + (1vw - 19.2px) * 2.589), 120px);
   /*120px-80px (1920-375)*/
   --px100w: min(calc(100px + (1vw - 19.2px) * 3.2362), 100px);
   /*100px-50px (1920-375)*/
   --px100: min(calc(100px + (1vw - 19.2px) * 3.8835), 100px);
   /*100px-40px (1920-375)*/
   --px96: min(calc(96px + (1vw - 19.2px) * 3.1068), 96px);
   /*96px-48px (1920-375)*/
   --px90: min(calc(90px + (1vw - 19.2px) * 1.2945), 90px);
   /*90px-60px (1920-375)*/
   --px80w: min(calc(80px + (1vw - 19.2px) * 1.2945), 80px);
   /*80px-60px (1920-375)*/
   --px80: min(calc(80px + (1vw - 19.2px) * 2.589), 80px);
   /*80px-40px (1920-375)x*/
   --px80s: min(calc(80px + (1vw - 19.2px) * 3.8835), 80px);
   /*80px-20px (1920-375)x*/
   --px70: min(calc(70px + (1vw - 19.2px) * 1.9417), 70px);
   /*70px-20px (1920-375)x*/
   --px68: min(calc(68px + (1vw - 19.2px) * 1.9417), 68px);
   /*68px-20px (1920-375)x*/
   --px65: min(calc(65px + (1vw - 19.2px) * 1.9417), 65px);
   /*65px-20px (1920-375)x*/
   --px60w: min(calc(60px + (1vw - 19.2px) * 1.2945), 60px);
   /*60px-40px (1920-375)*/
   --px60: min(calc(60px + (1vw - 19.2px) * 1.9417), 60px);
   /*60px-30px (1920-375)*/
   --px50: min(calc(50px + (1vw - 19.2px) * 1.2945), 50px);
   /*50px-30px (1920-375) */
   --px48: min(calc(48px + (1vw - 19.2px) * 1.2945), 48px);
   /*48px-30px (1920-375) */
   --px44: min(calc(44px + (1vw - 19.2px) * 0.6472), 44px);
   /*44px-30px (1920-375)*/
   --px40w: min(calc(40px + (1vw - 19.2px) * 0.6472), 40px);
   /*40px-30px (1920-375)*/
   --px40: min(calc(40px + (1vw - 19.2px) * 1.2945), 40px);
   /*40px-20px (1920-375)*/
   --px38: min(calc(38px + (1vw - 19.2px) * 1.2945), 38px);
   /*38px-20px (1920-375)*/
   --px35: min(calc(35px + (1vw - 19.2px) * 1.2945), 35px);
   /*35px-20px (1920-375)*/
   --px30w: min(calc(30px + (1vw - 19.2px) * 0.6472), 30px);
   /*30px-20px (1920-375)*/
   --px30: min(calc(30px + (1vw - 19.2px) * 0.9709), 30px);
   /*30px-15px (1920-375)*/
   --px28: min(calc(28px + (1vw - 19.2px) * 0.9709), 28px);
   /*28px-15px (1920-375)*/
   --px24: min(calc(24px + (1vw - 19.2px) * 0.6472), 24px);
   /*24px-14px (1920-375)*/
   --px26: min(calc(26px + (1vw - 19.2px) * 0.6472), 26px);
   /*26px-14px (1920-375)*/
   --px20: min(calc(20px + (1vw - 19.2px) * 0.6472), 20px);
   /*20px-10px (1920-375)*/
   --px18: min(calc(18px + (1vw - 19.2px) * 0.2589), 18px);
   /*18px-14px (1920-375)*/
   --px16: min(calc(16px + (1vw - 19.2px) * 0.1294), 16px);
   /*16px-14px (1920-375)*/
   --px15: min(calc(15px + (1vw - 19.2px) * 0.1294), 15px);
   /*15px-14px (1920-375)*/
   --px14: min(calc(14px + (1vw - 19.2px) * 0.1294), 14px);
   /*14px-12px (1920-375)*/
   --px12: min(calc(12px + (1vw - 19.2px) * 0.0647), 12px);
   /*12px-11px (1920-375)*/
   /*------------------------------------------------------
  REM Variations
  ------------------------------------------------------*/
   --rem200: min(calc(20rem + (1vw - 1.92rem) * 6.472), 20rem);
   /*20rem-10rem (1920-375)*/
   --rem160: min(calc(16rem + (1vw - 1.92rem) * 6.472), 16rem);
   /*16rem-10rem (1920-375)*/
   --rem120: min(calc(12rem + (1vw - 1.92rem) * 3.8835), 12rem);
   /*12rem-6rem (1920-375)*/
   --rem96: min(calc(9.6rem + (1vw - 1.92rem) * 1.2945), 9.6rem);
   /*9.6rem-6rem (1920-375)*/
   --rem90: min(calc(9rem + (1vw - 1.8rem) * 1.21359375), 9rem);
   /*9rem-6rem (1920-375)*/
   --rem80w: min(calc(8rem + (1vw - 1.92rem) * 1.2945), 8rem);
   /*8rem-6rem (1920-375)*/
   --rem82: min(calc(8.2rem + (1vw - 1.92rem) * -0.271), 8.2rem);
   /* 8.2rem → 4rem (1920 → 375px) */
   --rem80: min(calc(8rem + (1vw - 1.92rem) * 2.589), 8rem);
   /*8rem-4rem (1920-375)x*/
   --rem72: min(calc(7.2rem + (1vw - 1.92rem) * 1.9417), 7.2rem);
   /*7.2rem-4.2rem (1920-375)*/
   --rem70: min(calc(7rem + (1vw - 1.92rem) * 1.8875), 7rem);
   /*7rem-4rem (1920-375)*/
   --rem64: min(calc(6.4rem + (1vw - 1.92rem) * 1.5534), 6.4rem);
   /*6.4rem-4rem (1920-375)*/
   --rem60: min(calc(6rem + (1vw - 1.92rem) * 1.5534), 6rem);
   /*6rem-3.6rem (1920-375)*/
   --rem56: min(calc(5.6rem + (1vw - 1.92rem) * 1.5534), 5.6rem);
   /*5.6rem-3.6rem (1920-375)*/
   --rem52: min(calc(5.2rem + (1vw - 1.92rem) * 1.5534), 5.2rem);
   /*5.2rem-3.6rem (1920-375)*/
   --rem50: min(calc(5rem + (1vw - 1.92rem) * 1.5534), 5rem);
   /*5rem-3.6rem (1920-375)*/
   --rem48w: min(calc(4.8rem + (1vw - 1.92rem) * 0.6472), 4.8rem);
   /*4.8rem-3.8rem*/
   --rem48: min(calc(4.8rem + (1vw - 1.92rem) * 1.5534), 4.8rem);
   /*4.8rem-2.4rem (1920-375)*/
   --rem46: min(calc(4.6rem + (1vw - 1.92rem) * 1.5534), 4.6rem);
   /*4.6rem-2.4rem (1920-375)*/
   --rem44: min(calc(4.4rem + (1vw - 1.92rem) * 1.5534), 4.4rem);
   /*4.4rem-2.4rem (1920-375)*/
   --rem42w: min(calc(4.2rem + (1vw - 1.92rem) * 0.6472), 4.2rem);
   /*4.2rem-3.2rem (1920-375)*/
   --rem42: min(calc(4.2rem + (1vw - 1.92rem) * 1.165), 4.2rem);
   /*4.2rem-2.4rem (1920-375)*/
   --rem42s: min(calc(4.2rem + (1vw - 1.92rem) * 1.4887), 4.2rem);
   /*4.2rem-1.9rem (1920-375)*/
   --rem40w: min(calc(4rem + (1vw - 1.92rem) * 0.6472), 4rem);
   /*4rem-3rem (1920-375)*/
   --rem40: min(calc(4rem + (1vw - 1.92rem) * 1.2945), 4rem);
   /*4rem-2rem (1920-375)*/
   --rem38: min(calc(3.8rem + (1vw - 1.92rem) * 0.7767), 3.8rem);
   /*3.8rem-2.4rem (1920-375)*/
   --rem36: min(calc(3.6rem + (1vw - 1.92rem) * 0.7767), 3.6rem);
   /*3.6rem-2.4rem (1920-375)*/
   --rem34: min(calc(3.4rem + (1vw - 1.92rem) * 0.7767), 3.4rem);
   /*3.4rem-2.4rem (1920-375)*/
   --rem32: min(calc(3.2rem + (1vw - 1.92rem) * 0.3883), 3.2rem);
   /*3.2rem-2.4rem (1920-375)*/
   --rem30w: min(calc(3rem + (1vw - 1.92rem) * 0.3883), 3rem);
   /*3rem-2.4rem (1920-375)*/
   --rem30: min(calc(3rem + (1vw - 1.92rem) * 0.6472), 3rem);
   /*3rem-2rem (1920-375)*/
   --rem30s: min(calc(3rem + (1vw - 1.92rem) * 0.9709), 3rem);
   /*3rem-1.5rem (1920-375)*/
   --rem28: min(calc(2.8rem + (1vw - 1.92rem) * 0.6472), 2.8rem);
   /*2.8rem-1.8rem (1920-375)*/
   --rem27: min(calc(2.7rem + (1vw - 1.92rem) * 0.6472), 2.7rem);
   /*2.7rem-1.8rem (1920-375)*/
   --rem26: min(calc(2.6rem + (1vw - 1.92rem) * 0.6472), 2.6rem);
   /*2.6rem-1.8rem (1920-375)*/
   --rem24w: min(calc(2.4rem + (1vw - 1.92rem) * 0.3883), 2.4rem);
   /*2.4rem-1.8rem (1920-375)*/
   --rem24: min(calc(2.4rem + (1vw - 1.92rem) * 0.6472), 2.4rem);
   /*2.4rem-1.4rem (1920-375)*/
   --rem22w: min(calc(2.2rem + (1vw - 1.92rem) * 0.3883), 2.2rem);
   /*2.2rem-1.6rem (1920-375)*/
   --rem22: min(calc(2.2rem + (1vw - 1.92rem) * 0.6472), 2.2rem);
   /*2.2rem-1.4rem (1920-375)*/
   --rem20w: min(calc(2rem + (1vw - 1.92rem) * 0.2589), 2rem);
   /*2rem-1.6rem (1920-375)*/
   --rem20: min(calc(2rem + (1vw - 1.92rem) * 0.3883), 2rem);
   /*2rem-1.4rem (1920-375)*/
   --rem18: min(calc(1.8rem + (1vw - 1.92rem) * 0.2589), 1.8rem);
   /*1.8rem-1.4rem (1920-375)*/
   --rem16: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
   /*1.6rem-1.4rem (1920-375)*/
   --rem15: min(calc(1.5rem + (1vw - 1.92rem) * 0.1294), 1.5rem);
   /*1.5rem-1.4rem (1920-375)*/
   --rem14: min(calc(1.4rem + (1vw - 1.92rem) * 0.1294), 1.4rem);
   /*1.4rem-1.2rem (1920-375)*/
   --rem12: min(calc(1.2rem + (1vw - 1.92rem) * 0.0647), 1.2rem);
   /*1.2rem-1.1rem (1920-375)*/
}
/*------------------------------------------------------
Global Style
------------------------------------------------------*/
html {
   scroll-behavior: smooth;
}

body p {
   line-height: 1.6;
}

a:hover {
   opacity: 0.8;
}

.clear-both {
   clear: both;
}

.imgarea {
   overflow: hidden;
}
.imgarea img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.fw_medium {
   font-weight: 500;
}

.fw_bold {
   font-weight: 700;
}

.fw_black {
   font-weight: 900;
}

.color_white {
   color: var(--color-white);
}

.color_primary {
   color: var(--color-primary);
}

.color_primary_shade {
   color: var(--color-primary-shade);
}

.color_secondary {
   color: var(--color-secondary);
}

.color_red {
   color: var(--color-red);
}

.bg_color {
   background: var(--color-bg);
}

.bg_gray {
   background: var(--color-gray);
}

.bg_primary {
   background: var(--color-primary);
}

.bg_secondary {
   background: var(--color-secondary);
}

.bg_primary_tint {
   background: var(--color-primary-tint);
}

.bg_primary_shade {
   background: var(--color-primary-shade);
}

.bg_red {
   background: var(--color-red);
}

.bg_white {
   background: var(--color-white);
}

.bg_opacity_09 {
   background: rgba(255, 255, 255, 0.9);
}

.clr-FF6C2C {
   color: #ff6c2c;
}

.lh_14 {
   line-height: 1.4;
}

.lh_15 {
   line-height: 1.5;
}

.lh_16 {
   line-height: 1.6;
}

.lh_18 {
   line-height: 1.8;
}

.lh_2 {
   line-height: 2;
}

.lh_22 {
   line-height: 2.2;
}
.lh_24 {
   line-height: 2.4;
}

.fs_18 {
   font-size: var(--rem18);
}

.fs_20 {
   font-size: var(--rem20);
}

.fs_22 {
   font-size: var(--rem22w);
}

.fs_24 {
   font-size: var(--rem24w);
}

.fs_26 {
   font-size: var(--rem26);
}
.fs_27 {
   font-size: var(--rem27);
}

.fs_28 {
   font-size: var(--rem28);
}

.fs_30 {
   font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}

.fs_36 {
   font-size: var(--rem36);
}

.fs_50 {
   font-size: var(--rem50);
}

.ls_5 {
   letter-spacing: 0.05em;
}

.anchor_link::before {
   padding-top: var(--px120);
   margin-top: calc(var(--px120) * -1);
}

.max_w800 {
   max-width: 800px;
}

.underline {
   text-decoration: underline;
}

.img_radius {
   aspect-ratio: 1/1;
}

.img_radius img {
   border-radius: 100%;
}

.radius_20 {
   border-radius: var(--px20);
}

.shadow_40 {
   box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.1);
}

.flexbox_c {
   display: flex;
   align-items: center;
   justify-content: center;
}

.flex_column {
   flex-direction: column;
}

/* ----------- style table ----------------- */
table.responsive {
   border: none;
}

table.responsive th {
   font-size: var(--rem18);
   color: var(--color-font);
   padding: var(--px24);
   background: var(--color-primary-shade);
   vertical-align: middle;
   border: 1px solid var(--color-table-border);
   font-weight: 500;
   letter-spacing: 0.05em;
}

table.responsive td {
   font-size: var(--rem18);
   color: var(--color-font);
   line-height: 2;
   padding: var(--px24);
   vertical-align: middle;
   border: 1px solid var(--color-table-border);
   letter-spacing: 0.05em;
}
/* ----------- end style table ----------------- */

@media print, screen and (min-width: 700px) {
   .flexbox-sp {
      display: flex;
   }

   .flexbox-sp .w50 {
      width: 50%;
   }
}

@media print, screen and (min-width: 1024px) {
   .pc_left {
      text-align: left !important;
   }
   .pc_right {
      text-align: right !important;
   }
}

.widearea {
   margin-right: calc(((100vw - 100%) / 2) * -1);
   margin-left: calc(((100vw - 100%) / 2) * -1);
}

.content_max_width {
   max-width: var(--content-max-width);
   width: 90%;
   margin: 0 auto;
}

.content_max_1100 {
   max-width: 1100px;
   margin: 0 auto;
   width: 100%;
}

.content_max_1000 {
   max-width: 1000px;
   margin: 0 auto;
   width: 100%;
}

.content_max_800 {
   max-width: 800px;
   margin: 0 auto;
   width: 100%;
}
/*------------------------------------------------------
  Heading Style
  ------------------------------------------------------*/
.post h2:not(.cat-loop),
.cta01 h2 {
   position: relative;
   font-family: var(--font-family02);
   font-weight: 700;
   text-align: center;
   color: var(--color-font);
   margin: 0 0 var(--px50);
   letter-spacing: 0.05em;
   line-height: 1.4;
}

.post h2:not(.cat-loop) span,
.cta01 h2 span {
   font-family: var(--font-family03);
   font-weight: 500;
   text-transform: capitalize;
   font-size: var(--rem24w);
   letter-spacing: 0.08em;
   color: var(--color-primary);
   display: block;
}

.post h2::after {
   background: var(--color-primary);
}

.home .post h2::after {
   display: none;
}
.post h2:not(.cat-loop).txt_l::after {
   margin-left: 0;
}

.post h2.txt_l,
.post h2.txt_l span {
   text-align: left;
}

h2.title_icon {
   padding-top: 60px;
   background: url("/wp-content/uploads/title-icon.png") no-repeat top center;
}

body:not(.home) .post h2 {
   font-size: calc(var(--rem30w) + 2px);
   font-weight: bold;
   letter-spacing: 0.05em;
   color: var(--color-font);
   position: relative;
   margin-bottom: var(--px50);
   padding-top: 50px;
   background: url(/wp-content/uploads/title-icon.png) no-repeat top center;
}

body:not(.home) .post h2::after {
   content: none;
}

/* ---------- style h3 ------------------- */
body:not(.home) .post h3 {
   font-size: var(--rem24w);
   font-weight: bold;
   line-height: 1.6;
   color: var(--color-secondary);
   display: flex;
   flex-direction: column;
   gap: 10px;
   border: none;
   margin-bottom: var(--px12);
}

body:not(.home) .post h3 span {
   display: inline-block;
   background: var(--color-primary);
   color: var(--color-background);
   font-size: var(--rem18);
   font-weight: bold;
   line-height: 1.6;
   border-radius: 50vh;
   padding: 5px 10px;
   width: fit-content;
   font-family: var(--font-family04);
}
/* ---------- style h3 ------------------- */

.post h4 {
   font-family: var(--font-family02);
   font-weight: 700;
   color: var(--color-primary);
   font-size: var(--rem20);
}

.txtstyle01 {
   font-family: var(--font-family02);
   font-size: clamp(22px, calc(22px + 18 * ((100vw - 375px) / 1545)), 40px);
   text-align: center;
   font-weight: 700;
   line-height: 1.4;
}

.txtstyle02 {
   font-family: var(--font-family02);
   font-weight: 500;
   font-size: var(--rem20);
   line-height: 1.6;
   color: var(--color-font);
   text-align: center;
}

.txtstyle03 {
   font-family: var(--font-family02);
   font-weight: 700;
   line-height: 1.2;
   color: var(--color-white);
   background: var(--color-primary);
   letter-spacing: 0.05em;
   padding: 4px var(--px20);
   max-width: fit-content;
   margin: 0 auto;
}

.txtstyle04 {
   font-family: var(--font-family03);
   font-weight: 700;
   font-size: var(--rem24w);
   line-height: 1.2;
   text-align: center;
   letter-spacing: 0.05em;
   color: var(--color-white);
   background: var(--color-primary);
   border-radius: 50vh;
   padding: 5px var(--px14);
   max-width: fit-content;
   margin: 0 auto;
}

.txtstyle05 {
   font-weight: 700;
   font-size: var(--rem28);
   line-height: 1.4;
   text-align: center;
   letter-spacing: 0.05em;
}

.txtstyle06 {
   font-weight: 500;
   font-size: var(--rem18);
   line-height: 1.6;
   letter-spacing: 0.05em;
   text-align: center;
}

.txtstyle07 {
   font-weight: 700;
   font-size: var(--rem24w);
   line-height: 1.6;
   text-align: center;
}

.txtstyle08 {
   font-size: var(--rem18);
   text-align: center;
   line-height: 1.4;
   padding: 4px 10px;
   background: var(--color-table-border);
}

.txtstyle09 {
   background: var(--color-secondary);
   color: var(--color-white);
   font-size: var(--rem18);
   font-weight: 700;
   text-align: center;
   line-height: 1.4;
   padding: 4px 10px;
   text-transform: uppercase;
}

.txtstyle10 {
   background: linear-gradient(transparent 60%, var(--color-secondary-tint) 30%);
   max-width: fit-content;
   margin: 0 auto;
   font-weight: 700;
   line-height: 1.6;
   text-align: center;
   letter-spacing: 0.05em;
}

.txtstyle11 {
   position: relative;
   max-width: fit-content;
   font-weight: 700;
   line-height: 1.4;
   text-align: center;
   letter-spacing: 0.05em;
   padding: 0 3.5rem;
   margin: 0 auto;
   display: flex;
   align-items: center;
}

.txtstyle11::before,
.txtstyle11::after {
   content: "";
   position: absolute;
   top: 50%;
   display: inline-block;
   width: 4rem;
   height: 0.2rem;
   background-color: var(--color-font);
   border-radius: 50vh;
}

.txtstyle11::before {
   left: 0;
   transform: rotate(60deg);
}

.txtstyle11::after {
   right: 0;
   transform: rotate(-60deg);
}

.txtstyle11_sm::before,
.txtstyle11_sm::after {
   width: 3rem;
}

.txtstyle12 {
   font-weight: 500;
   font-size: var(--rem18);
   line-height: 2;
   text-align: center;
   letter-spacing: 0.05em;
   border-bottom: 2px solid var(--color-secondary);
   max-width: fit-content;
   display: inline-block;
   margin: 0 auto;
   padding: 5px;
}

.marker_primary {
   background: linear-gradient(transparent 60%, var(--color-primary-tint) 30%);
   max-width: fit-content;
   margin: 0 auto;
}
/*------------------------------------------------------
  Button Style
  ------------------------------------------------------*/
.fa-classic,
.fa-regular,
.fa-solid,
.far,
.fas {
   font-family: "FontAwesome";
}

.linkBtn, .post .linkBtn, a.linkBtn, .post .subimitarea .linkBtn input[type="submit"] {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 300px;
    font-size: var(--rem16);
    color: var(--color-background);
    line-height: 1.8;
	letter-spacing: 0.05em;
    text-align: center;
    background: var(--color-gradient);
    font-weight: bold;
    padding: var(--rem20) 30px var(--rem20) 20px;
    margin: var(--px40) auto 0;
    border: none;
    border-radius: 50vh;
    transition: all .3s;
}
.post .linkBtn::after, .linkBtn::after, a.linkBtn::after {
    border-color: var(--color-background);
	border-width: 2px;
}
.post .linkBtn:hover, .linkBtn:hover, a.linkBtn:hover, .post .subimitarea .linkBtn input[type="submit"]:hover {
    color: var(--color-background);
    background: var(--color-gradient);
	opacity: 0.7;
}
.post .linkBtn:hover::after, .linkBtn:hover::after, a.linkBtn:hover::after {
    border-color: var(--color-background);
}
.subimitarea > .linkBtn {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}
.post .subimitarea .linkBtn input[type="submit"] {
    margin-top: 0;
}

.link_btn {
   background: transparent;
   text-align: left;
   padding: 18px 45px 18px 0;
   color: var(--color-font);
   border-radius: 0;
   border-bottom: 1px solid;
   letter-spacing: 0;
   font-weight: 700;
}

.link_btn::after {
   content: "\f105";
   font-size: var(--rem12);
   font-weight: 400;
   font-family: "FontAwesome";
   transform: rotate(90deg) translateY(-50%);
   margin: 0;
   border: 0;
   width: var(--px40);
   height: var(--px40);
   border-radius: 100%;
   background: var(--color-font);
   right: calc(var(--px40) / 2);
   top: calc(50% - calc(var(--px40) / 2));
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--color-white);
}

.link_btn:hover {
   background: transparent;
   color: var(--color-primary);
}

.link_btn:hover::after {
   background: var(--color-primary);
}

/*------------------------------------------------------
  Helper Style
  ------------------------------------------------------*/
/*---------col_list-----------*/
.post .col_list {
   position: relative;
   display: flex;
   flex-wrap: wrap;
   gap: var(--px40);
}

.col3_lg .imgarea {
   margin-bottom: var(--px30);
}

.post .col3_icon {
   max-width: 810px;
   width: 100%;
}

.post .col2_icon {
   max-width: 680px;
   width: 100%;
}

.post .col2_icon > li,
.post .col3_icon > li {
   text-align: center;
}

.col2_icon .img_area,
.col3_icon .img_area {
   aspect-ratio: 200/200;
   border-radius: 100%;
   border: 3px solid var(--color-primary);
   display: flex;
   align-items: center;
   justify-content: center;
   max-width: 200px;
   margin: 0 auto;
   padding: var(--px30);
}

.col2_icon .img_area {
   margin-bottom: var(--px30);
}

.col3_number {
   counter-reset: number;
}

.col3_number > li {
   border-radius: 10px;
   border: 2px solid var(--color-primary);
   background: var(--color-background);
   aspect-ratio: 390/289;
   max-width: 390px;
   padding: var(--px20);
   text-align: center;
   position: relative;
}

.col3_number > li::before {
   content: "step " counter(number, decimal-leading-zero);
   counter-increment: number;
   position: absolute;
   display: flex;
   justify-content: center;
   align-items: center;
   color: var(--color-white);
   background: var(--color-secondary);
   font-size: var(--rem24w);
   font-family: var(--font-family03);
   border-radius: 50vh;
   top: 0;
   left: 50%;
   transform: translate(-50%, -50%);
   aspect-ratio: 140/36;
   width: 140px;
   line-height: 1.35;
   font-weight: 700;
   padding: 2px 10px;
   box-sizing: border-box;
}

.col3_number .img_area {
   aspect-ratio: 350/160;
   padding: var(--px35);
   display: flex;
   align-items: center;
   justify-content: center;
}

.post .col4_list > li {
   border-radius: 10px;
   border: 2px solid var(--color-primary);
   text-align: center;
   font-weight: 700;
   font-size: var(--rem20w);
   line-height: 1.5;
   aspect-ratio: 295/100;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: var(--px30) 10px;
}

.post ul.list_checkbox > li {
   font-size: var(--rem20);
   font-weight: 500;
   line-height: 1.6;
   letter-spacing: 0.05em;
   padding-left: calc(var(--rem28) + var(--px12));
}

.post ul.list_checkbox > li::before {
   font-size: var(--rem28);
   line-height: 1.2;
}

.list_sc30 li + li {
   margin-top: var(--px20);
}

.checkbox_primary > li::before {
   color: var(--color-primary);
}

.checkbox_secondary > li::before {
   color: var(--color-secondary);
}

.pd_v80 {
   padding: var(--px80) 0;
}

.pd_v80 + .pd_v80 {
   margin-top: var(--px60);
}

.block_radius_sm {
   padding: var(--px60) 0;
   border-radius: 10px;
}

/*--FAQ-------------------------------------------*/
.qa_list {
   cursor: pointer;
}
.qa_list .qa_list_inner dt {
   position: relative;
   margin: 20px 0 0 0;
   display: flex;
   align-items: stretch;
   padding: 0rem var(--px40) 0rem 0rem;
   background: var(--color-background);
   border: 1px solid var(--color-table-border);
}
.qa_list .qa_list_inner dd .ans_flex {
   position: relative;
   margin: 0;
   display: flex;
   align-items: stretch;
   padding: 0;
   background: var(--color-background);
}
.qa_list .qa_list_inner .a_ico {
   color: var(--color-white);
   background: var(--color-secondary);
   line-height: 1;
   padding: 1rem 1rem 1rem 1rem;
   font-size: 2.4rem;
   border-right: 1px solid var(--color-table-border);
   width: 100%;
   text-align: center;
   max-width: 80px;
   font-weight: 700;
   display: flex;
   align-items: center;
   justify-content: center;
   font-family: var(--font-family03);
   color: var(--color-white);
}
.qa_list .qa_list_inner .q_ico {
   background: var(--color-primary);
   line-height: 1;
   padding: 1rem 1rem 1rem 1rem;
   font-size: 2.4rem;
   font-weight: 700;
   width: 100%;
   text-align: center;
   max-width: 80px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-right: 1px solid var(--color-table-border);
   font-family: var(--font-family03);
   color: var(--color-white);
}
.qa_list .qa_list_inner .q_desc,
.qa_list .qa_list_inner .a_desc {
   padding: var(--px40) var(--px40);
   line-height: 1.6;
   font-weight: 500;
   flex: 1;
   width: 100%;
}
.qa_list .qa_list_inner .a_desc {
   font-weight: 400;
}
.qa_list .qa_list_inner dt:after {
   content: "";
   position: absolute;
   top: 46%;
   right: var(--px40);
   width: 12px;
   height: 12px;
   border-right: 1px solid #A6A6A6;
   border-bottom: 1px solid #A6A6A6;
   -webkit-transform: rotate(45deg) translateY(-50%);
   transform: rotate(45deg) translateY(-50%);
}
.qa_list .qa_list_inner .active:after {
   top: 43%;
   right: 2rem;
   -webkit-transform: rotate(-135deg) translateY(-50%);
   transform: rotate(-135deg) translateY(-50%);
}
.qa_list .qa_list_inner dd {
   display: none;
   position: relative;
   padding: 0;
   margin: 0 0 20px 0;
   border: 1px solid var(--color-table-border);
   border-top: 0;
}

/*------------------------------------------------------
  Footer Style
  ------------------------------------------------------*/
#footer p {
   font-family: var(--font-family02);
   font-size: var(--rem16);
}

#footer .footer__logo a {
   display: inline-block;
   line-height: 1;
}

#footer .footer__logo img {
   max-width: 279px;
   max-height: 75px;
	backface-visibility: visible;
}

#footer .socialicon {
   margin-top: var(--px30);
}

#footer .socialicon ul li a {
   font-size: var(--rem24w);
}

#footer .socialicon [class*="fa-"]::before {
   color: var(--color-background);
   font-family: "FontAwesome";
   font-size: var(--rem24w);
}

#footer .fa-2x,
.fa-2x {
   font-size: 24px;
}

.footer_bottom {
   display: flex;
   justify-content: space-between;
   gap: var(--px40);
   margin-top: var(--px60);
}

#footer ul li a,
#footer ul li a b {
   font-weight: 400;
   font-size: var(--rem14);
   line-height: 1.2;
   color: var(--footer-color-font);
}

#copyright {
   line-height: 1.2;
   background: transparent;
   font-weight: 300;
   color: var(--footer-color-font);
   margin: var(--px30) 0 0;
   font-size: var(--rem12);
}

#footer .footnav:not(:last-child) {
   margin-bottom: 0;
}

/*------------------------------------------------------
  CTA Style
  ------------------------------------------------------*/
.cta-bg {
   position: relative;
   padding: var(--px120) 0;
   clear: both;
   background: var(--color-primary);
}

.cta01 .cta01_wrap {
   max-width: var(--content-max-width-lg);
   width: 94%;
   margin: 0 auto;
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   border: 0;
   border-radius: 0;
   padding: 0;
   z-index: 2;
}


.cta01 .txtstyle01 {
   color: var(--color-white);
}

.cta01_inner {
   width: 100%;
   margin: 0 auto;
   max-width: 940px;
}

.cta_des {
   color: var(--color-font);
   font-family: var(--font-family02);
   line-height: 2;
   margin: 0 0 var(--px40);
   font-weight: 400;
   font-size: var(--rem16);
   letter-spacing: 0;
   text-align: center;
}

.cta_des + p {
   font-family: var(--font-family01);
   font-size: var(--rem18);
}

.cta01 .ctabtnlist {
   display: flex;
   justify-content: center;
   margin: 0 auto;
   gap: var(--px40);
}

.cta01 .ctabtnlist li {
   width: 100%;
   margin: 0;
   padding: 0;
   line-height: 1;
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.cta01 .ctabtnlist .txtstyle11 {
   flex: 1;
}

.cta01 a.item {
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   width: 100%;
   max-width: 100%;
   margin: 0 auto;
   padding: var(--px30) var(--px20);
   text-align: center;
   box-sizing: border-box;
   color: var(--color-font);
   transition: all ease 0.15s;
   background: var(--color-white);
   border: 2px solid var(--color-font);
   border-radius: 10px;
   box-shadow: none;
   aspect-ratio: 450 / 140;
   box-sizing: border-box;
}

.cta01 a.item:hover {
   opacity: 0.7;
}

.cta01 .btnttl {
   display: block;
   font-family: var(--font-family02);
   font-weight: 700;
   font-size: var(--rem20w);
   line-height: 1.3;
   text-align: center;
   letter-spacing: 0.05em;
}

.cta01 .infotxt {
   font-size: var(--rem16);
   line-height: 1.2;
   font-family: var(--font-family01);
   font-weight: 500;
   letter-spacing: 0;
}

.cta01 a.item.telbtn {
   background: var(--color-secondary);
   border-radius: 0;
   border: 0 solid var(--color-primary);
   color: var(--color-white);
}

.cta01 .telnum {
   margin: 1rem 0;
   font-family: var(--font-family02);
   font-size: var(--rem36);
   line-height: 1.2;
   font-weight: 500;
   display: flex;
   align-items: center;
   position: relative;
}

.cta01 a.mailarea {
   background: var(--color-background);
   color: var(--color-font);
}

.cta01 a.mailarea::after {
   color: var(--color-primary);
   display: none;
}

.cta01 .mailarea .infotxt {
   font-size: var(--rem18);
   font-weight: 700;
}

.mailbtn {
   border-radius: 0;
   font-family: var(--font-family01);
   font-weight: 700;
   font-size: var(--rem24w);
   line-height: 1.2;
   margin: 0 0 1rem;
   letter-spacing: 0;
}

.cta01 a.item.linebtn {
   background: var(--color-secondary);
   color: var(--color-font);
   line-height: 1.2;
}

.lineicon {
   border-radius: 50vh;
   font-family: var(--font-family01);
   font-weight: 700;
   font-size: var(--rem16);
   line-height: 1.2;
   margin: 1rem 0;
   letter-spacing: 0;
   background: var(--color-white);
   color: var(--color-secondary);
   width: 90%;
   max-width: 330px;
   padding: 16px;
}

.telnum::before,
.mailbtn::before,
.lineicon::before {
   content: "";
   display: inline-block;
   font-family: "FontAwesome";
   font-weight: 700;
   margin-right: 1rem;
   font-size: var(--rem20);
}

.telnum::before {
   content: "\f095";
   font-size: var(--rem24w);
}

.mailbtn::before {
   content: "\f0e0";
   font-size: var(--rem28);
}

.lineicon::before {
   content: "\f3c0";
   font-size: var(--rem24w);
   font-weight: 400;
}
@media print, screen and (max-width: 768px) {
	.cta01 a.item {
		aspect-ratio: 0;
		padding: var(--px40w) var(--px20);
	}
}
/*------------------------------------------------------
  News Style
  ------------------------------------------------------*/
.postlist li {
   border-bottom: 1px solid var(--color-table-border);
}

.postlist li:first-child {
   border-top: 1px solid var(--color-table-border);
}

.postlist .post_text {
   padding: 25px 0;
   color: var(--color-font);
}

.post2b h2,
.post4b h2,
.post2b h2 a,
.post4b h2 a {
   font-weight: 400;
}

.post .time,
.postlist .time,
.post2b .time,
.post4b .time {
   background: var(--color-primary);
   padding: 1.5px 1.2rem;
   display: block;
   font-size: 13px;
   line-height: 2;
   font-family: var(--font-family03);
   color: var(--color-white);
   border-radius: 0;
}

.post .time a,
.post2b .time a,
.post4b .time a,
.postlist .time a {
   font-weight: 500;
   font-size: var(--rem12);
   line-height: 2;
   color: var(--color-white);
}

.postlist .ttls,
.postlist .date {
   font-size: var(--rem16);
   font-weight: 500;
   color: var(--color-font);
   font-family: var(--body-font-family);
}

.post2b li .post2b_contents,
.post4b li .post4b_contents {
   opacity: 1;
   font-size: var(--rem14);
   line-height: 2;
}

.post_link,
.post2b_link,
.post4b_link {
   font-size: var(--rem12);
   color: var(--color-font);
}

.post_link a,
.post2b_link a,
.post4b_link a {
   color: var(--color-font);
}

.border_in_list {
   padding-left: 20px;
}

/*------------------------------------------------------
  Home Page Style
  ------------------------------------------------------*/
.home .wrapper_content {
   max-width: var(--content-max-width-lg);
}

.home .home-none {
   display: none;
}

#strengths {
   background: url("/wp-content/uploads/bg-01.png") no-repeat center top / cover;
}

#strengths::before {
   content: "";
   display: block;
   width: 0;
   height: 0;
   border-left: calc(var(--px70) - 2px) solid transparent;
   border-right: calc(var(--px70) - 2px) solid transparent;
   border-top: var(--px80) solid var(--color-secondary);
   position: absolute;
   left: 50%;
   bottom: calc(100% - var(--px40));
   transform: translateX(-50%);
}

#strengths .wrapper_content {
   padding: var(--px100) 0;
}

#reasons {
   background: url("/wp-content/uploads/bg-02.png") no-repeat center top / cover;
}

#faqs {
   background: url("/wp-content/uploads/bg-03.png") no-repeat center top / cover;
}

#recruitment {
   background: url("/wp-content/uploads/bg-04.png") no-repeat center top / cover;
}

#recruitment .wrapper_content {
   padding: var(--px100) 0;
}

/*------------------------------------------------------
  Inner Pages Style
  ------------------------------------------------------*/
header#h1Header::before {
   background-color: var(--color-background);
   opacity: 0.2;
}

header#h1Header h1.title span {
   text-transform: uppercase;
   font-family: var(--font-family02);
   line-height: 1.4;
   letter-spacing: 0.05em;
   font-weight: bold;
   font-size: calc(var(--rem36) + 2px);
   display: inline-block;
   background: var(--color-secondary);
   padding: var(--px12) var(--px40w);
   border-radius: 50vh;
}

/*------------------------------------------------------
  Contact Pages Style
  ------------------------------------------------------*/
.wpcf7-form a {
   color: var(--color-font);
}

.wpcf7-form table th .inline_block {
   display: inline-block;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="date"],
input[type="url"],
input[type="number"],
select,
textarea {
   min-height: 55px;
   border-radius: 0;
   margin-bottom: 0;
   font-family: var(--font-family02);
   padding: 5px 10px;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="date"],
input[type="url"],
input[type="number"],
select {
   line-height: 1;
}

.wpcf7-form input[type="submit"]:disabled:hover {
   cursor: not-allowed;
}

input.wpcf7-image_auth_jp[type="text"] {
   width: auto;
}

.wpcf7-form .must {
   background: var(--color-secondary);
   color: var(--color-white);
   font-size: 100%;
}

.wrapper-acceptance {
   display: flex;
   justify-content: center;
   align-items: flex-start;
}

.wrapper-acceptance > span {
   width: auto;
}

.wpcf7-form .must_fn {
   float: none;
}

/*------------------------------------------------------
  Responsive Style
  ------------------------------------------------------*/
#sp-header .inner #header-layout nav#sp-mainNav .inner ul li.current-menu-item a {
   background-color: var(--color-primary);
   color: var(--color-white);
}

@media print, screen and (min-width: 769px) {
   .post .col2_icon {
      gap: var(--px80);
   }

   .post .col2_icon > li {
      width: calc((100% - var(--px80)) / 2);
   }

   .post .col3_lg {
      gap: var(--px65);
   }

   .post .col3_lg > li {
      width: calc((100% - var(--px65) * 2) / 3);
   }

   .post .col3_icon {
      gap: var(--px80);
   }

   .post .col3_icon > li {
      width: calc((100% - var(--px80) * 2) / 3);
   }

   .post .col3_number {
      gap: var(--px35);
   }

   .post .col3_number > li {
      width: calc((100% - var(--px35) * 2) / 3);
   }

   .post .col4_list {
      gap: var(--px20);
   }

   .post .col4_list > li {
      width: calc((100% - var(--px20) * 3) / 4);
   }
}


@media print, screen and (min-width: 1024px) {
   /*------------------------------------------------------
  Header Style
  ------------------------------------------------------*/
   #header {
      height: 100px;
      font-family: var(--font-family02);
   }

   .sticky-header #header > .inner {
      background-color: var(--header-background);
   }

   #header .logo {
      padding: 5px clamp(5px, 5px + 25 * ((100vw - 1024px) / 896), 30px);
   }

   body.mobile #header .logo img,
   #header .logo img {
      max-width: clamp(130px, 130px + 149 * ((100vw - 1024px) / 896), 279px);
      max-height: 75px;
	   backface-visibility: visible;
   }

   nav#mainNav ul li a {
      padding: var(--px20) clamp(5px, 5px + 10 * ((100vw - 1024px) / 896), 15px);
      text-align: center;
      font-family: var(--font-family02);
      line-height: 1.6;
      letter-spacing: 0;
      color: var(--header-color-font);
      text-transform: uppercase;
   }

   nav#mainNav ul li a b {
      font-size: clamp(12px, 12px + 3 * ((100vw - 1024px) / 896), 15px);
      font-weight: 500;
   }

   nav#mainNav ul li a span {
      font-size: clamp(10px, 10px + 2 * ((100vw - 1024px) / 896), 12px);
   }

   nav#mainNav ul li li a {
      color: var(--header-color-font);
   }

   nav#mainNav ul li a:active,
   nav#mainNav ul li a:hover,
   nav#mainNav ul li.current-menu-ancestor a,
   nav#mainNav ul li.current-menu-item a,
   nav#mainNav ul li.current-menu-parent a {
      background: transparent;
      color: var(--header-color-primary);
   }

   nav#mainNav ul li.current-menu-item a b,
   nav#mainNav ul li a:hover b,
   nav#mainNav ul li a:active b,
   nav#mainNav ul li.current-menu-parent a b {
      color: var(--header-color-primary);
   }

   nav#mainNav ul li a:active span,
   nav#mainNav ul li a:hover span,
   nav#mainNav ul li.current-menu-item a span,
   nav#mainNav ul li.current-menu-parent a span {
      color: var(--color-white);
   }

   nav#mainNav ul li ul.sub-menu li a:hover,
   nav#mainNav ul li li a:hover,
   nav#mainNav ul li li.current-menu-item a,
   nav#mainNav ul li li.current-menu-item li a:hover,
   nav#mainNav ul li.current-menu-item li a:hover,
   nav#mainNav ul li.current-menu-ancestor li.current-menu-item a,
   nav#mainNav ul li.current-menu-ancestor li a:hover {
      background: var(--header-color-primary);
      color: var(--color-white);
   }

   #header ul.header__contact {
      margin-left: clamp(10px, 10px + 20 * ((100vw - 1024px) / 896), 30px);
      margin-right: 0;
   }

   .header__contact > li {
      display: flex;
      align-items: center;
   }

   #header a.head_btn {
      padding-left: clamp(5px, 5px + 0 * ((100vw - 1024px) / 896), 5px);
      padding-right: clamp(5px, 5px + 0 * ((100vw - 1024px) / 896), 5px);
      font-weight: 700;
      text-align: center;
      background: var(--header-color-primary);
      color: var(--color-white);
      border-radius: 0;
   }

   #header a.head_btn:hover {
      opacity: 0.8;
   }

   #header a.head_btn.tel_btn {
      color: var(--color-font);
      width: clamp(175px, 175px + 100 * ((100vw - 1024px) / 896), 275px);
      position: relative;
      text-align: center;
      background: transparent;
   }

   #header a.head_btn.tel_btn::before {
      display: none;
   }

   #header a.head_btn.tel_btn .tel_num {
      font-family: var(--font-family03);
      display: flex;
      align-items: center;
      font-weight: 500;
      line-height: 1;
      margin: 0 0 1rem;
      position: relative;
      font-size: clamp(16px, 16px + 8 * ((100vw - 1024px) / 896), 24px);
   }

   #header a.head_btn.tel_btn .tel_num::before {
      content: "\f095";
      display: block;
      font-family: "FontAwesome";
      font-size: clamp(14px, 14px + 4 * ((100vw - 1024px) / 896), 18px);
      font-weight: 700;
      line-height: 1;
      margin-right: 1rem;
   }

   .tel_rec,
   .tel_rec .note,
   .tel_rec .note b {
      font-weight: 400;
      font-size: clamp(10px, 10px + 3 * ((100vw - 1024px) / 896), 13px);
      font-family: var(--font-family02);
      color: var(--color-font);
   }

   #header a.head_btn.mail_btn {
      line-height: 1.2;
      font-size: clamp(12px, 12px + 2 * ((100vw - 1024px) / 896), 15px);
      font-family: var(--font-family03);
      width: clamp(90px, 90px + 40 * ((100vw - 1024px) / 896), 130px);
      font-weight: 700;
      text-transform: uppercase;
      color: var(--color-white);
      background: var(--color-primary);
      letter-spacing: 0.05em;
   }

   #header a.head_btn.mail_btn::before {
      font-size: var(--rem20w);
      margin-bottom: 1rem;
   }

   #header a.head_btn.mail_btn span {
      display: flex;
      align-items: center;
   }

   #header a.head_btn.mail_btn span::before {
      margin-right: 1rem;
      display: block;
      font-family: "FontAwesome";
      font-weight: 700;
      font-size: var(--rem20w);
      line-height: 1;
      content: "\f0e0";
      display: none;
   }

   #header a.head_btn.line_btn {
      background: var(--color-secondary);
      line-height: 1.2;
      width: clamp(120px, 120px + 40 * ((100vw - 1024px) / 896), 160px);
      text-transform: uppercase;
      color: var(--color-white);
      border-radius: 0;
   }

   #header a.head_btn.line_btn > span {
      display: flex;
      align-items: center;
      font-size: clamp(12px, 12px + 3 * ((100vw - 1024px) / 896), 15px);
      font-family: var(--font-family02);
      font-weight: 700;
      letter-spacing: 0.05em;
   }

   #header a.head_btn.line_btn::before {
      display: block;
      font-family: "FontAwesome";
      font-weight: 300;
      line-height: 1;
      font-size: clamp(14px, 14px + 6 * ((100vw - 1024px) / 896), 20px);
      margin-bottom: 1rem;
      content: "\f3c0";
   }

   #footer {
      padding: var(--px60) 0;
   }

   #footer .footer__logo:not(:last-child) {
      margin-bottom: var(--px60);
   }

   .pc_none {
      display: none !important;
   }

   .block_sticky {
      aspect-ratio: 330/212;
      border: 3px solid var(--color-font);
      border-radius: 10px;
      padding: var(--px30) var(--px20);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 12px;
      background: var(--color-secondary);
      position: fixed;
      right: 0;
      top: 20%;
      z-index: 1000;
   }

   .block_sticky_btn {
      border: 2px solid var(--color-font);
      border-radius: 50vh;
      aspect-ratio: 290/88;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: var(--rem20w);
      font-weight: 700;
      background: var(--color-background);
      padding: 20px 30px;
      box-sizing: border-box;
   }

   .block_sticky_btn::before {
      display: block;
      font-family: "FontAwesome";
      font-weight: 300;
      line-height: 1;
      font-size: var(--rem30);
      margin-right: 1rem;
      content: "\f3c0";
      color: #06c755;
   }
}

@media print, screen and (max-width: 1023.88px) {
   .pc_none {
      display: inherit;
   }

   #header .logo .mark a {
      display: block;
      line-height: 1;
   }

   nav#mainNav ul li.current-menu-item a,
   nav#mainNav ul li a:hover {
      background-color: var(--color-primary);
      color: var(--color-white);
   }

   .block_sticky {
      display: none;
   }
}

@media only screen and (max-width: 959px) {
   .qa_list .qa_list_inner {
      margin-bottom: 8rem;
   }
}

@media print, screen and (max-width: 768px) {
   .col_list > li {
      width: calc((100% - var(--px40)) / 2);
   }

   .sp_center {
      text-align: center;
   }

   .cta01 .ctabtnlist {
      flex-direction: column;
   }

   .cta01 .ctabtnlist li {
      width: 100%;
      margin: 0 auto;
   }

   .qa_list .qa_list_inner .q_desc,
   .qa_list .qa_list_inner .a_desc {
      padding: 0.5rem 1rem 0.5rem 1rem;
   }

   .qa_list .qa_list_inner dt {
      padding: 0rem 1rem 0rem 0rem;
   }

   .qa_list .qa_list_inner .a_ico,
   .qa_list .qa_list_inner .q_ico {
      max-width: 50px;
      padding: 1.2rem 1rem;
   }

   .qa_list .qa_list_inner dt:after {
      right: 1.5rem;
      width: 6px;
      height: 6px;
   }

   .qa_list .qa_list_inner .active:after {
      right: 1rem;
   }
}

@media only screen and (max-width: 559px) {
   .qa_list .qa_list_inner dd {
      font-size: 1.4rem;
   }
   .qa_list .qa_list_inner {
      margin-bottom: 6rem;
   }
   .qa_list .qa_list_inner dt {
      font-size: 1.4rem;
   }
}

@media print, screen and (max-width: 480px) {
   .post .col_list > li {
      width: 100%;
   }

   .post .col3_lg > li {
      width: calc((100% - var(--px40)) / 2);
   }

   .post .col4_list > li {
      width: calc((100% - var(--px40)) / 2);
   }
}

/* ---------------- COURSE -------------------- */
.txt09-inline {
   margin: 0 auto;
   max-width: fit-content;
   padding: 8px var(--px30w);
}

.post .col3-course li .imgarea {
   border-radius: var(--px60);
}

.course-2 {
   background: url(/wp-content/uploads/course-7.png) no-repeat center/cover;
}

.course-2 .col-tag-course li {
   border: 4px solid var(--color-secondary);
   background: var(--color-background);
}

.course-2 ul.caution {
   max-width: fit-content;
   width: 100%;
   margin: var(--px40) auto 0;
}

table.table-secondary {
   border-collapse: separate;
   border-spacing: 0 9px;
}

table.table-secondary th {
   font-size: var(--rem20);
   color: var(--color-background);
   background: var(--color-secondary);
   font-weight: bold;
}

table.table-secondary td {
   font-weight: 500;
   font-size: var(--rem20);
}

table.table-secondary td span {
   font-size: calc(var(--rem27));
   color: #ff6c2c;
   font-weight: bold;
}

table.table-secondary td span > span.unit {
   font-size: var(--rem20);
}

ul.list-course-tag {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   justify-content: center;
}

ul.list-course-tag li {
   font-size: var(--rem18);
   line-height: 1.6;
   font-weight: bold;
   border: 2px solid var(--color-secondary);
   padding: 2px 10px;
   color: var(--color-secondary);
}

.course-item {
   max-width: 1050px;
   width: 100%;
   margin: 0 auto;
   position: relative;
}

.txtstyle13 {
   font-size: var(--rem20w);
   font-weight: bold;
   line-height: 1.6;
   border: 4px solid var(--color-primary);
   color: var(--color-primary);
   background: var(--color-background);
   letter-spacing: 0.05em;
   padding: var(--px30);
   margin-bottom: var(--px30);
}

.txtstyle13.bg-primary {
   background: var(--color-primary);
   color: var(--color-background);
}

.course-price {
   width: fit-content;
   margin: var(--px20) auto 0;
}
.course-price-item {
   font-weight: bold;
   line-height: 1.6;
   font-size: var(--rem20);
   letter-spacing: 0;
}

.course-item {
   padding: var(--px50) 0;
}
.course-item .txtstyle08 {
   padding: 4px var(--px30);
   display: inline-block;
}

.course-item:not(:first-child) {
   border-top: 2px dashed var(--color-table-border);
}

@media print, screen and (max-width: 700px) {
   .course-item .flexbox-sp .w50:first-child {
      padding-bottom: var(--px120);
      position: relative;
      margin-bottom: 0;
   }

   .course-item .txtstyle13 {
      margin-bottom: 0;
   }

   .course-item .flexbox-sp .w50:first-child::after {
      content: "";
      position: absolute;
      display: inline-block;
      clip-path: polygon(50% 100%, 0 0, 100% 0);
      background: var(--color-secondary);
      width: var(--px120);
      aspect-ratio: 120 / 70;
      left: 50%;
      transform: translate(-50%, 60%);
      bottom: calc(var(--px120) / 2);
   }

   .course-box {
      padding: var(--px30) var(--px20);
      border: 4px solid var(--color-table-border);
      border-top: 0;
   }

   .post ul.col3-course > li {
      width: calc((100% - var(--px40)) / 2);
   }

   .txtstyle11_sm::before,
   .txtstyle11_sm::after {
      width: 2.5rem;
   }
}
/* ---------------- COURSE -------------------- */

/* ---------------- USE -------------------- */
/*--------------------
flow01
--------------------*/
.flowlist {
   padding-left: 6rem;
   position: relative;
}
.flowlist::before {
   content: "";
   width: 15px;
   height: 100%;
   background: #d9d9d9;
   margin-left: -8px;
   display: block;
   position: absolute;
   top: 0;
   left: 6rem;
}
.flowlist > li {
   position: relative;
}

.flowlist > li .imgarea {
   border-radius: var(--px60);
}
.flowlist > li:not(:last-child) {
   margin-bottom: 8vh;
}
.flowlist > li .icon {
   font-size: 2.7rem;
   color: var(--color-background);
   background: var(--color-primary);
   padding: 0rem;
   display: flex;
   align-items: center;
   justify-content: center;
   position: absolute;
   top: calc(50% - (2.4rem * 1.6));
   transform: translateY(-50%);
   left: -3rem;
   z-index: 100;
   font-weight: bold;
   width: 60px;
   aspect-ratio: 1 / 1;
   border-radius: 50%;
   font-family: var(--font-family04);
}

.flowlist > li dl {
   padding-left: 9rem;
   position: relative;
   padding-top: 0.7rem;
}
.flowlist > li dl::before,
.flowlist > li dl::after {
   content: "";
   display: block;
   position: absolute;
   top: 20px;
}

.flowlist > li dl::after {
   width: 50px;
   border-bottom: 2px dashed var(--color-primary);
   position: absolute;
   left: 30px;
   top: 2.3rem;
   top: calc(50% - (2.4rem * 1.6));
   transform: translateY(-50%);
}
.flowlist > li dl dt .listinfo {
   font-size: var(--rem18);
   line-height: 2;
   letter-spacing: 0.05em;
	font-weight: 400;
}

.flowlist > li dl dt a {
   border-bottom: 1px solid var(--color-secondary);
	color: var(--color-font);
}
.flowlist > li dl dt .listttl {
   margin-bottom: 0.5rem;
   font-weight: bold;
   color: var(--color-secondary);
   line-height: 1.6;
   font-size: var(--rem24w);
   letter-spacing: 0.05em;
}
@media (max-width: 1200px) and (min-width: 769px) {
   .use .flowlist > li:first-child .icon,
   .use .flowlist > li:first-child dl::after {
      top: calc(50% - (2.2rem * 1.6));
   }
   .flowlist > li .icon,
   .flowlist > li dl::after {
      top: calc(50% - (3.2rem * 1.6));
   }
}
@media (max-width: 768px) {
   .flowlist > li .icon {
      font-size: 2.2rem;
      width: 50px;
      top: -2px;
      transform: translateY(0);
   }

   .flowlist {
      padding-left: 10rem;
   }

   .flowlist > li .icon {
      left: -8.8rem;
   }

   .flowlist::before {
      left: 4rem;
   }

   .flowlist > li dl {
      padding-left: 1rem;
   }

   .flowlist > li dl::after {
      width: 30px;
      top: 2.3rem;
      left: -38px;
      transform: translateY(0);
   }

   .flowlist > li dl dt {
      font-size: 2rem;
   }
}

.list-btn {
   display: flex;
   justify-content: center;
   gap: 20px;
   flex-wrap: wrap;
}

.list-btn .linkBtn {
   display: block;
   width: 100%;
   margin: 0;
   flex: 1 1 280px;
   max-width: 300px;
}
/* ---------------- USE -------------------- */

/* ---------------- RECRUIT -------------------- */
.page-recruit .cta01,
.page-recruit #recruitment {
   display: none;
}
.recruit .flexbox + .flexbox {
   margin-top: var(--px30);
}
.recruit .flexbox .imgarea {
   border-radius: var(--px60);
}

ul.recruit-cta {
   max-width: 900px;
   width: 100%;
   margin: 0 auto;
   display: flex;
   align-items: center;
   justify-content: center;
}

ul.recruit-cta li {
   width: 50%;
}
ul.recruit-cta li a {
   display: block;
   width: 100%;
   background: var(--color-secondary);
   border: 2px solid var(--color-font);
   font-size: var(--rem20w);
   font-weight: bold;
   line-height: 1.3;
   letter-spacing: 0.05em;
   border-radius: 10px;
   padding: var(--px60) var(--px20);
   text-align: center;
}

ul.recruit-cta li a:hover {
   opacity: 0.7;
}

.recruit-check {
   background: url(/wp-content/uploads/recruit-5.png) no-repeat center/cover;
}

.recruit-check .content_max_1100 {
   background: var(--color-background);
   padding: var(--px60w) var(--px40);
   border-radius: var(--px80);
}

.recruit-check-inner {
   max-width: 856px;
   width: 100%;
   margin: 0 auto;
}

.post ul.list_checkbox.list-icon-primary li {
   padding-left: calc(var(--px40w) + 10px);
}
.post ul.list_checkbox.list-icon-primary > li::before {
   content: "";
   width: var(--px40w);
   aspect-ratio: 40 / 33;
   background: url(/wp-content/uploads/icon-check.png) no-repeat center/contain;
   top: 6px;
}
/* ---------------- RECRUIT -------------------- */

/* ---------------- LIST ITEM ------------------- */
.post ul.col-instructor {
   flex-wrap: wrap;
}

.post ul.col-instructor > li {
	line-height: 1.6;
	display: flex;
    flex-direction: column;
}

.post ul.col-instructor > li .imgarea {
	aspect-ratio: 1 / 1;
}

.post ul.col-instructor > li .txtarea {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.post ul.col-instructor > li .txtarea .txtinner {flex-grow: 1;}

.instructor-name {
   font-size: var(--rem24w);
   font-weight: bold;
   padding: var(--px24) 0 4px;
}

.instructor-nickname {
   font-weight: 500;
}

.instrument-taught > p {
   font-size: var(--rem20w);
   font-weight: bold;
   display: flex;
   align-items: center;
   gap: 8px;
   margin: var(--px20) 0 var(--px16);
}

.instrument-taught > p::before {
   content: "";
   width: 28px;
   aspect-ratio: 28 / 30;
   display: inline-block;
   background: url(/wp-content/uploads/title-icon.png) no-repeat center/contain;
}

ul.list-taught {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
}

ul.list-taught li {
   font-size: var(--rem18);
   font-weight: bold;
   padding: 0 10px;
   color: var(--color-secondary);
   border: 2px solid var(--color-secondary);
}

@media print, screen and (min-width: 769px) {
   .post ul.col-instructor {
      gap: var(--px80);
   }
   .post ul.col-instructor > li {
      width: calc((100% - var(--px80) * 2) / 3);
   }

   .post .col3-course li {
      width: calc((100% - var(--px40) * 2) / 3);
   }
}
@media print, screen and (max-width: 1100px) {
   .post ul.col-instructor > li a.linkBtn {
      font-size: var(--rem14);
   }
}
/* ---------------- LIST ITEM ------------------- */

/* ---------------- SINGLE ------------------- */
.single-profile {
   font-size: var(--rem18);
	margin-top: var(--px30);
}

.photo_main {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	margin: 0 auto var(--px40);
}

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

.single-item {
   margin-top: var(--px50);
}
.single-item-ttl span {
   font-size: var(--rem18);
   font-weight: bold;
   line-height: 1.6;
   display: inline-block;
   background: var(--color-primary);
   color: var(--color-background);
   padding: 3px 10px;
   margin-bottom: 10px;
}

a.link-archive {
   position: relative;
   font-size: var(--rem16);
   line-height: 1.3;
   letter-spacing: 0.05em;
   border-bottom: 1px solid var(--color-font);
   max-width: 180px;
   width: 100%;
   display: inline-block;
   text-align: left;
   padding: 6px 12px 6px 6px;
}

a.link-archive:hover {
   opacity: 0.7;
}

a.link-archive::after {
   display: block;
   content: "";
   position: absolute;
   top: 50%;
   right: 5px;
   width: 6px;
   height: 6px;
   border-right: 2px solid var(--color-font);
   border-bottom: 2px solid var(--color-font);
   -webkit-transform: rotate(-45deg);
   transform: rotate(-45deg);
   margin-top: -3px;
   transition: all 0.3s;
}
/* ---------------- SINGLE ------------------- */
@media print, screen and (max-width: 900px) {
	table.responsive th {
		font-size: var(--rem14);
		width: 32%;
	}
	table.responsive td {
		font-size: var(--rem14);
	}
	
	ul.recruit-cta li {
		width: 100%;
	}
}
@media print, screen and (max-width: 600px) {
	.post .col2_icon {
		gap: var(--px30);
	}
	.post .col2_icon > li {
		width: calc((100% - var(--px30)) / 2);
	}
}

/* 20260708 */

@media print, screen and (max-width: 480px) {
    #intro .col3_lg > li .txtstyle02{
        text-align: left;
    }
	#reasons .col_list > li .txtstyle08, #reasons .col_list > li .txtstyle08 + p, #reasons .col_list > li .txtstyle08, #reasons .col3_icon > li .fs_18  {
		font-size: calc(var(--rem18) * 1.5);
	}
	#reasons .col_list > li .txtstyle09, #reasons .col_list > li .txtstyle09 + p {
		font-size: calc(var(--rem18) * 1.5);
	}
	#reasons .txtstyle10 {
		background: none;
	}
	.post .col2_icon > li .txtarea p {
		text-align: left;
	}
	#welcomeback .col_tag {
		column-gap: var(--px20);
	}
	
	#welcomeback .col_tag > li {
		width: calc((100% - var(--px20)) / 2);
	}
	
	.txtstyle12 {
		display: inline;
		line-height: 2.5;
	}
	.txtstyle12 + br {
		display: block !important;
	}
	
}

/* 20260710 */

#sp-header .inner #header-layout nav#sp-mainNav ul li li:last-child a {
	background: #fff;
}
ul.recruit-cta li a > br {
	display: none;
}
@media print, screen and (max-width: 900px) {
	.course-3 table.responsive th, .course-3 table.responsive td {
		font-size: calc(var(--rem14) * 1.2);
	}
	.course-3 table.table-secondary td span {
		font-size: calc(var(--rem27) * 1.2);
	}
}

/* 24072026 */
@media print, screen and  (max-width: 768px) {
  .single-instructor .flexbox {
    display: flex;
    flex-direction: column;
  }

  .single-instructor .flexbox > .w40,
  .single-instructor .flexbox > .w60 {
    display: contents;
  }

  .photo_main {
    order: 1;
  }

  .instructor-name {
    order: 2;
  }

  .instructor-nickname {
    order: 3;
  }

  .single-profile {
    order: 4;
  }

  .instructor-pr {
    order: 5;
  }

  .instrument-taught {
    order: 6;
  }
}