@charset "utf-8";
/* CSS Document */


/*common*/
:root {
  --color00: #FFFFFF;
  --color01: #f2f2f2;
  --color02: #808080;
  --color03: #888888;
  --color04: #333333;
  --color05: #222222;
  --color05: #111111;

  --color11: #f09a90;
  --color12: #f9d7d3;

  --color21: #b38f76;
  --color22: #e1d2c8;

  --color31: #a1acbc;
  --color32: #d9dee4;

  --color41: #bfae72;
  --color42: #e5dfc7;

  --color51: #7fa6c2;
  --color52: #ccdbe7;

  --color61: #d32f2f;
  --color62: #1272d;

  --color99: #000000;
}


a,
a:hover { transition: ease .5s;}

img { width: 100%; height: auto;}

a img { transform: scale(1); transition: ease .5s;}
a:hover img { transform: scale(1); transition: ease .5s; opacity: 0.7;}


.wrap { display: flex; flex-direction: column; min-height: 100vh;}
.wrap .main { flex: 1;}



/*PC_px*/
/*@media screen and (min-width: 1680px) {}*/



/*PC*/
@media print, screen and (min-width: 768px) {

.pc { display: block;}
.pcBr { display: inline-block;}
.sp { display: none;}
.spBr { display: none;}

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


/* =====================
   ベース・全体共通
===================== */
html { margin: 0; padding: 0;}
body { font-family: 'Noto Sans JP', 'Yu Gothic', 'Meiryo', sans-serif; background: var(--color00); font-feature-settings: "palt"; font-size: 18px; line-height: 1.6; color: var(--color99);}
section { width: 100%; }
a { text-decoration: none; }

/* =====================
   ヘッダー・ナビゲーション
===================== */
h1 { text-align: center; padding: 30px 0; font-size: 28px;}
nav { padding: 0 0 30px;}
nav ul { display: flex; justify-content: center; align-items: flex-end; list-style: none; padding: 0; margin: 0; gap: 10px; }
nav li { text-align: center;}
nav li a { display: block; font-size: 14px; margin-top: 2px; color: var(--color02); padding: 5px; width: 100px; border-radius: 5px;}
nav li a::before { content: attr(data-en); display: block; font-size: 20px; font-weight: 600; color: var(--color99);}
nav li a:hover { background: var(--color01);}

/* =====================
   フッター
===================== */
footer { text-align: center; color: #888; } 
footer p { background: var(--color99); color: var(--color00); padding: 20px 0 30px; font-size: 15px;} 


/* =====================
   フォーム
===================== */
.sec_form {}
.sec_form > .bg { background: var(--color01); }
.sec_form > .bg > .inner { padding: 0 0 50px;}
.sec_form h2 { font-size: 90px; margin: 0 0 30px; text-align: center; color: var(--color00); font-family: Arial, Helvetica, "sans-serif"; line-height: 0.8;}
.form-box { max-width: 1000px; margin: 0 auto;} 
.wpcf7-turnstile { margin-bottom: 30px; text-align: center;}

.sec_form table { width: 100%; border-collapse: collapse;}
.sec_form table th { width: 280px; padding: 20px 0; text-align: left; font-weight: 500;}
.sec_form table td { padding: 20px 0;}
.sec_form .wpcf7-list-item { margin: 0; }
.sec_form label { display: block; margin-bottom: 4px; }
.sec_form input[type="text"],
.sec_form input[type="tel"],
.sec_form input[type="email"],
.sec_form select,
.sec_form textarea { width: 100%; padding: 6px; border-radius: 0; border: none; background: var(--color00);}
.sec_form textarea { min-height: 140px; }

.required { color: red; }
.wpcf7-not-valid-tip { text-align: left;}

.plan-checkboxes { display: flex; flex-direction: column; gap: 8px; width: 100%;}
.plan-row { display: flex; align-items: center; margin-top: 10px;}
.plan-row:nth-of-type(1) { margin-top: 0;}
.plan-row input[type="radio"] { display: none;}
.plan-row label { max-width: 180px; padding: 5px 20px; margin-right: 20px; cursor: pointer; border-radius: 5px; background: var(--color00); text-align: center;}
.plan-row label:has(input[type="radio"]:checked) { background: #31A9EE; color: var(--color00);}


.btn-submit { width: 100%; margin: 30px auto 20px; text-align: center;}
.btn-submit input { width: 200px; background: #d32f2f; color: var(--color00); border: none; padding: 15px 0; border-radius: 50px; font-size: 18px; cursor: pointer; transition: ease .5s;}
.btn-submit input:hover { opacity: 0.6; transition: ease .5s;}
.pp_txt { text-align: center;}
.pp_txt a { text-decoration: underline;}


.totop { display: none; position: fixed; bottom: 100px; right: 32px; z-index: 100;}
.totop a { display: block; text-decoration: none; cursor: pointer;}
.totop a:hover { display: block; text-decoration: none; opacity: 0.5;}

.header-inner { display: none;}


.pagenavi {}
.pagenavi .wp-pagenavi { text-align: center; padding: 20px 0;}
.pagenavi .wp-pagenavi .current,
.pagenavi .wp-pagenavi .page { width: 50px; height: 50px; display: inline-block; align-content: center; text-align: center; margin: 0 5px; color: var(--color00); border: solid 1px var(--color99);}

.pagenavi .wp-pagenavi .current { background: var(--color99);}
.pagenavi .wp-pagenavi .page { background: var(--color03);}
.pagenavi .wp-pagenavi .page:hover { opacity: 0.6;}
.pagenavi .previouspostslink,
.pagenavi .nextpostslink { width: 50px; height: 50px; display: inline-block; align-content: center; text-align: center; margin: 0 5px; color: var(--color99); border: none;}

}



/*sp*/
@media only screen and (max-width: 767px) {

.pc { display: none;}
.pcBr { display: none;}
.sp { display: block;}
.spBr { display: inline-block;}

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

header { width: 100%; height: 18.75vw; display: flex; justify-content: space-between; align-items: center; padding: 0 1.563vw;}
header h1 { padding: 0;}
header h1 a { display: inline-block;}
header .hamburger { width: 9.375vw; height: 9.375vw; padding: 1.563vw; background: var(--color99);}
header .hamburger a { width: 100%; height: 100%; display: block; position: relative; cursor: pointer;}
header .hamburger a span { position: absolute; left: 0; right: 0; height: 2px; background: var(--color00); transform-origin: 50% 50%; transition: ease .5s;}
header .hamburger a span:nth-of-type(1) { top: 1.406vw;}
header .hamburger a span:nth-of-type(2) { top: calc(50% - 0.156vw);}
header .hamburger a span:nth-of-type(3) { bottom: 1.406vw;}

header .hamburger.active a {}
header .hamburger.active a span { transform-origin: 50% 50%; transition: ease .5s;}
header .hamburger.active a span:nth-of-type(1) { top: 2.969vw; transform: rotate(30deg);}
header .hamburger.active a span:nth-of-type(2) { top: calc(50% - 0.156vw); transform: translateX(-150%); opacity: 0;}
header .hamburger.active a span:nth-of-type(3) { bottom: 2.969vw; transform: rotate(-30deg);}

.header-inner { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--color99); transform: translateY(-200%); transition: ease .5s; opacity: 0.0; z-index: -1;}
.header-inner.active { transform: translateY(0); transition: ease .5s; opacity: 1.0; overflow-y: auto; z-index: 9000;}

.header-inner .head { width: 100%; height: 18.75vw; display: flex; justify-content: space-between; align-items: center; padding: 0 1.563vw;}
.header-inner .head h1 { color: var(--color00);}
.header-inner .spMenu { width: 9.375vw; height: 9.375vw; padding: 1.563vw;}
.header-inner .spMenu a { width: 100%; height: 100%; display: block; position: relative; cursor: pointer;}
.header-inner .spMenu a span { position: absolute; left: 0; right: 0; height: 2px; background: var(--color00); transform-origin: 50% 50%; transition: ease .5s;}
.header-inner .spMenu a span:nth-of-type(1) { top: 1.406vw;}
.header-inner .spMenu a span:nth-of-type(2) { top: calc(50% - 0.156vw);}
.header-inner .spMenu a span:nth-of-type(3) { bottom: 1.406vw;}

.header-inner .spMenu a {}
.header-inner .spMenu a span { transform-origin: 50% 50%; transition: ease .5s;}
.header-inner .spMenu a span:nth-of-type(1) { top: 2.969vw; transform: rotate(30deg);}
.header-inner .spMenu a span:nth-of-type(2) { top: calc(50% - 0.156vw); transform: translateX(-150%); opacity: 0;}
.header-inner .spMenu a span:nth-of-type(3) { bottom: 2.969vw; transform: rotate(-30deg);}

.header-inner .main {}
.header-inner .main ul { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 12.5vw 0 12.5vw;}
.header-inner .main li { text-align: center; margin-top: 4.688vw;}
.header-inner .main li:nth-of-type(1) { margin-top: 0;}
.header-inner .main li a { display: inline-block; font-size: 3.125vw; margin-top: 0.313vw; color: var(--color01); padding: 0.781vw; }
.header-inner .main li a::before { content: attr(data-en); display: block; font-size: 5.313vw; font-weight: 600; color: var(--color00);}





/* =====================
   ベース・全体共通
===================== */
html { margin: 0; padding: 0;}
body { font-family: 'Noto Sans JP', 'Yu Gothic', 'Meiryo', sans-serif; background: var(--color00); font-feature-settings: "palt"; font-size: 2.813vw; line-height: 1.6; color: var(--color99);}
section { width: 100%; }
a { text-decoration: none; }

/* =====================
   ヘッダー・ナビゲーション
===================== */
h1 { text-align: center; padding: 4.688vw 0; }
nav { padding: 0 0 4.688vw;}
nav ul { display: flex; justify-content: center; align-items: flex-end; list-style: none; padding: 0; margin: 0; gap: 1.563vw; }
nav li { text-align: center;}
nav li a { display: block; font-size: 2.188vw; margin-top: 0.313vw; color: var(--color02); padding: 0.781vw; width: 15.625vw; border-radius: 0.781vw;}
nav li a::before { content: attr(data-en); display: block; font-size: 3.125vw; font-weight: 600; color: var(--color99);}
nav li a:hover { background: var(--color01);}

/* =====================
   フッター
===================== */
footer { text-align: center; color: #888; } 
footer p { background: var(--color99); color: var(--color00); padding: 3.125vw 0 4.688vw; font-size: 2.344vw;} 


/* =====================
   フォーム
===================== */
.sec_form {}
.sec_form > .bg { background: var(--color01); }
.sec_form > .bg > .inner { padding: 0 0 7.813vw;}
.sec_form h2 { font-size: 14.063vw; margin: 0 0 4.688vw; text-align: center; color: var(--color00); font-family: Arial, Helvetica, "sans-serif"; line-height: 0.8;}
.form-box { max-width: 156.25vw; margin: 0 auto; padding: 0 5.469vw; } 
.wpcf7-turnstile { margin-bottom: 7.813vw; text-align: center;}

.sec_form form {}
.sec_form table { width: 100%; border-collapse: collapse;}
.sec_form table th { width: 100%; padding: 0 0 0; text-align: left; font-weight: 700; display: block;}
.sec_form table td { padding: 1.563vw 0 4.688vw; display: block;}
.sec_form .wpcf7-list-item { margin: 0; }
.sec_form label { display: block; margin-bottom: 0.625vw; }
.sec_form input[type="text"],
.sec_form input[type="tel"],
.sec_form input[type="email"],
.sec_form select,
.sec_form textarea { width: 100%; padding: 0.938vw; border-radius: 0; border: none; background: var(--color00); }
.sec_form textarea { min-height: 21.875vw; }

.required { color: red; }
.wpcf7-not-valid-tip { text-align: left;}

.plan-checkboxes { display: flex; flex-direction: column; gap: 1.25vw; width: 100%;}
.plan-row { display: flex; align-items: center; margin-top: 1.563vw;}
.plan-row:nth-of-type(1) { margin-top: 0;}
.plan-row input[type="radio"] { display: none;}
.plan-row label { max-width: 28.125vw; padding: 0.781vw 3.125vw; margin-right: 3.125vw; cursor: pointer; border-radius: 0.781vw; background: var(--color00); text-align: center;}
.plan-row label:has(input[type="radio"]:checked) { background: #31A9EE; color: var(--color00);}


.btn-submit { width: 100%; margin: 4.688vw auto 3.125vw; text-align: center;}
.btn-submit input { width: 31.25vw; background: #d32f2f; color: var(--color00); border: none; padding: 2.344vw 0; border-radius: 7.813vw; font-size: 2.813vw; cursor: pointer; transition: ease .5s;}
.btn-submit input:hover { opacity: 0.6; transition: ease .5s;}
.pp_txt { text-align: center;}
.pp_txt a { text-decoration: underline;}


.totop { display: none; position: fixed; bottom: 15.625vw; right: 5vw; z-index: 100;}
.totop a { display: block; text-decoration: none; cursor: pointer;}
.totop a:hover { display: block; text-decoration: none; opacity: 0.5;}


.pagenavi {}
.pagenavi .wp-pagenavi { text-align: center; padding: 5.333vw 0;}
.pagenavi .wp-pagenavi .current,
.pagenavi .wp-pagenavi .page { width: 13.333vw; height: 13.333vw; display: inline-block; align-content: center; text-align: center; margin: 0 1.333vw; color: var(--color00); border: solid 1px var(--color99);}

.pagenavi .wp-pagenavi .current { background: var(--color99);}
.pagenavi .wp-pagenavi .page { background: var(--color03);}
.pagenavi .wp-pagenavi .page:hover { opacity: 0.6;}
.pagenavi .previouspostslink,
.pagenavi .nextpostslink { width: 13.333vw; height: 13.333vw; display: inline-block; align-content: center; text-align: center; margin: 0 1.333vw; color: var(--color99); border: none;}


}



/*sp_px*/
@media screen and (width: 640px) {

.pc { display: none;}
.pcBr { display: none;}
.sp { display: block;}
.spBr { display: inline-block;}

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

header { width: 100%; height: 120px; display: flex; justify-content: space-between; align-items: center; padding: 0 10px;}
header h1 { padding: 0;}
header h1 a { display: inline-block;}
header .hamburger { width: 60px; height: 60px; padding: 10px; background: var(--color99);}
header .hamburger a { width: 100%; height: 100%; display: block; position: relative; cursor: pointer;}
header .hamburger a span { position: absolute; left: 0; right: 0; height: 2px; background: var(--color00); transform-origin: 50% 50%; transition: ease .5s;}
header .hamburger a span:nth-of-type(1) { top: 9px;}
header .hamburger a span:nth-of-type(2) { top: calc(50% - 1px);}
header .hamburger a span:nth-of-type(3) { bottom: 9px;}

header .hamburger.active a {}
header .hamburger.active a span { transform-origin: 50% 50%; transition: ease .5s;}
header .hamburger.active a span:nth-of-type(1) { top: 19px; transform: rotate(30deg);}
header .hamburger.active a span:nth-of-type(2) { top: calc(50% - 1px); transform: translateX(-150%); opacity: 0;}
header .hamburger.active a span:nth-of-type(3) { bottom: 19px; transform: rotate(-30deg);}

.header-inner { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--color99); transform: translateY(-200%); transition: ease .5s; opacity: 0.0; z-index: -1;}
.header-inner.active { transform: translateY(0); transition: ease .5s; opacity: 1.0; overflow-y: auto; z-index: 9000;}

.header-inner .head { width: 100%; height: 120px; display: flex; justify-content: space-between; align-items: center; padding: 0 10px;}
.header-inner .head h1 { color: var(--color00);}
.header-inner .spMenu { width: 60px; height: 60px; padding: 10px;}
.header-inner .spMenu a { width: 100%; height: 100%; display: block; position: relative; cursor: pointer;}
.header-inner .spMenu a span { position: absolute; left: 0; right: 0; height: 2px; background: var(--color00); transform-origin: 50% 50%; transition: ease .5s;}
.header-inner .spMenu a span:nth-of-type(1) { top: 9px;}
.header-inner .spMenu a span:nth-of-type(2) { top: calc(50% - 1px);}
.header-inner .spMenu a span:nth-of-type(3) { bottom: 9px;}

.header-inner .spMenu a {}
.header-inner .spMenu a span { transform-origin: 50% 50%; transition: ease .5s;}
.header-inner .spMenu a span:nth-of-type(1) { top: 19px; transform: rotate(30deg);}
.header-inner .spMenu a span:nth-of-type(2) { top: calc(50% - 1px); transform: translateX(-150%); opacity: 0;}
.header-inner .spMenu a span:nth-of-type(3) { bottom: 19px; transform: rotate(-30deg);}

.header-inner .main {}
.header-inner .main ul { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 80px 0 80px;}
.header-inner .main li { text-align: center; margin-top: 30px;}
.header-inner .main li:nth-of-type(1) { margin-top: 0;}
.header-inner .main li a { display: inline-block; font-size: 20px; margin-top: 2px; color: var(--color01); padding: 5px; }
.header-inner .main li a::before { content: attr(data-en); display: block; font-size: 34px; font-weight: 600; color: var(--color00);}





/* =====================
   ベース・全体共通
===================== */
html { margin: 0; padding: 0;}
body { font-family: 'Noto Sans JP', 'Yu Gothic', 'Meiryo', sans-serif; background: var(--color00); font-feature-settings: "palt"; font-size: 18px; line-height: 1.6; color: var(--color99);}
section { width: 100%; }
a { text-decoration: none; }

/* =====================
   ヘッダー・ナビゲーション
===================== */
h1 { text-align: center; padding: 30px 0; }
nav { padding: 0 0 30px;}
nav ul { display: flex; justify-content: center; align-items: flex-end; list-style: none; padding: 0; margin: 0; gap: 10px; }
nav li { text-align: center;}
nav li a { display: block; font-size: 14px; margin-top: 2px; color: var(--color02); padding: 5px; width: 100px; border-radius: 5px;}
nav li a::before { content: attr(data-en); display: block; font-size: 20px; font-weight: 600; color: var(--color99);}
nav li a:hover { background: var(--color01);}

/* =====================
   フッター
===================== */
footer { text-align: center; color: #888; } 
footer p { background: var(--color99); color: var(--color00); padding: 20px 0 30px; font-size: 15px;} 


/* =====================
   フォーム
===================== */
.sec_form {}
.sec_form > .bg { background: var(--color01); }
.sec_form > .bg > .inner { padding: 0 0 50px;}
.sec_form h2 { font-size: 90px; margin: 0 0 30px; text-align: center; color: var(--color00); font-family: Arial, Helvetica, "sans-serif"; line-height: 0.8;}
.form-box { max-width: 1000px; margin: 0 auto; padding: 0 35px; } 
.wpcf7-turnstile { margin-bottom: 50px; text-align: center;}

.sec_form form {}
.sec_form table { width: 100%; border-collapse: collapse;}
.sec_form table th { width: 100%; padding: 0 0 0; text-align: left; font-weight: 700; display: block;}
.sec_form table td { padding: 10px 0 30px; display: block;}
.sec_form .wpcf7-list-item { margin: 0; }
.sec_form label { display: block; margin-bottom: 4px; }
.sec_form input[type="text"],
.sec_form input[type="tel"],
.sec_form input[type="email"],
.sec_form select,
.sec_form textarea { width: 100%; padding: 6px; border-radius: 0; border: none; background: var(--color00); }
.sec_form textarea { min-height: 140px; }

.required { color: red; }
.wpcf7-not-valid-tip { text-align: left;}

.plan-checkboxes { display: flex; flex-direction: column; gap: 8px; width: 100%;}
.plan-row { display: flex; align-items: center; margin-top: 10px;}
.plan-row:nth-of-type(1) { margin-top: 0;}
.plan-row input[type="radio"] { display: none;}
.plan-row label { max-width: 180px; padding: 5px 20px; margin-right: 20px; cursor: pointer; border-radius: 5px; background: var(--color00); text-align: center;}
.plan-row label:has(input[type="radio"]:checked) { background: #31A9EE; color: var(--color00);}


.btn-submit { width: 100%; margin: 30px auto 20px; text-align: center;}
.btn-submit input { width: 200px; background: #d32f2f; color: var(--color00); border: none; padding: 15px 0; border-radius: 50px; font-size: 18px; cursor: pointer; transition: ease .5s;}
.btn-submit input:hover { opacity: 0.6; transition: ease .5s;}
.pp_txt { text-align: center;}
.pp_txt a { text-decoration: underline;}


.totop { display: none; position: fixed; bottom: 100px; right: 32px; z-index: 100;}
.totop a { display: block; text-decoration: none; cursor: pointer;}
.totop a:hover { display: block; text-decoration: none; opacity: 0.5;}


.pagenavi {}
.pagenavi .wp-pagenavi { text-align: center; padding: 20px 0;}
.pagenavi .wp-pagenavi .current,
.pagenavi .wp-pagenavi .page { width: 50px; height: 50px; display: inline-block; align-content: center; text-align: center; margin: 0 5px; color: var(--color00); border: solid 1px var(--color99);}

.pagenavi .wp-pagenavi .current { background: var(--color99);}
.pagenavi .wp-pagenavi .page { background: var(--color03);}
.pagenavi .wp-pagenavi .page:hover { opacity: 0.6;}
.pagenavi .previouspostslink,
.pagenavi .nextpostslink { width: 50px; height: 50px; display: inline-block; align-content: center; text-align: center; margin: 0 5px; color: var(--color99); border: none;}

}


