@charset "UTF-8";
.noto-sans {
  font-family: "Noto Sans JP", sans-serif !important;
  font-optical-sizing: auto;
  font-style: normal;
}

.noto-serif {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.pt-serif {
  font-family: "PT Serif", serif;
  font-style: normal;
}

/*ディスプレイ初期値設定*/
/*以下、サイト固有の設定*/
/*サイト共通の間隔*/
/*英語用font読み込み指定*/
/*
@font-face {
	font-family: 'General Sans';
	src: url("../font/GeneralSans-Regular.otf") format("otf");
    font-weight: normal;
    font-style: normal;
}
@font-face {
	font-family: 'General Sans';
	src: url("../font/GeneralSans-Semibold.otf") format("otf");
    font-weight: bold;
    font-style: normal;
}
*/
/*
Theme Name: template1.01
Description: template1.01　全ページカスタマイズテーマです。
*/
/* ------------ */
/* デザイン共通 */
/* ------------ */
* {
  /*	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;*/
}

html,
body,
div,
span,
applet,
object,
iframe,
strong,
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
fieldset,
form,
legend,
caption,
tbody,
tfoot,
thead,
table,
label,
tr,
th,
td,
p,
img,
dl,
dt,
dd,
figure {
  margin: 0;
  padding: 0;
  border: none;
}
html .num,
body .num,
div .num,
span .num,
applet .num,
object .num,
iframe .num,
strong .num,
h1 .num,
h2 .num,
h3 .num,
h4 .num,
h5 .num,
h6 .num,
blockquote .num,
pre .num,
a .num,
abbr .num,
acronym .num,
address .num,
big .num,
cite .num,
code .num,
del .num,
dfn .num,
em .num,
font .num,
ins .num,
kbd .num,
q .num,
s .num,
samp .num,
small .num,
strike .num,
sub .num,
sup .num,
tt .num,
var .num,
fieldset .num,
form .num,
legend .num,
caption .num,
tbody .num,
tfoot .num,
thead .num,
table .num,
label .num,
tr .num,
th .num,
td .num,
p .num,
img .num,
dl .num,
dt .num,
dd .num,
figure .num {
  position: relative;
}
html .num figcaption,
body .num figcaption,
div .num figcaption,
span .num figcaption,
applet .num figcaption,
object .num figcaption,
iframe .num figcaption,
strong .num figcaption,
h1 .num figcaption,
h2 .num figcaption,
h3 .num figcaption,
h4 .num figcaption,
h5 .num figcaption,
h6 .num figcaption,
blockquote .num figcaption,
pre .num figcaption,
a .num figcaption,
abbr .num figcaption,
acronym .num figcaption,
address .num figcaption,
big .num figcaption,
cite .num figcaption,
code .num figcaption,
del .num figcaption,
dfn .num figcaption,
em .num figcaption,
font .num figcaption,
ins .num figcaption,
kbd .num figcaption,
q .num figcaption,
s .num figcaption,
samp .num figcaption,
small .num figcaption,
strike .num figcaption,
sub .num figcaption,
sup .num figcaption,
tt .num figcaption,
var .num figcaption,
fieldset .num figcaption,
form .num figcaption,
legend .num figcaption,
caption .num figcaption,
tbody .num figcaption,
tfoot .num figcaption,
thead .num figcaption,
table .num figcaption,
label .num figcaption,
tr .num figcaption,
th .num figcaption,
td .num figcaption,
p .num figcaption,
img .num figcaption,
dl .num figcaption,
dt .num figcaption,
dd .num figcaption,
figure .num figcaption {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background-color: #2562D2;
  border-radius: 50%;
  width: 56px;
  height: 56px;
  aspect-ratio: 1/1;
}
html .num figcaption span,
body .num figcaption span,
div .num figcaption span,
span .num figcaption span,
applet .num figcaption span,
object .num figcaption span,
iframe .num figcaption span,
strong .num figcaption span,
h1 .num figcaption span,
h2 .num figcaption span,
h3 .num figcaption span,
h4 .num figcaption span,
h5 .num figcaption span,
h6 .num figcaption span,
blockquote .num figcaption span,
pre .num figcaption span,
a .num figcaption span,
abbr .num figcaption span,
acronym .num figcaption span,
address .num figcaption span,
big .num figcaption span,
cite .num figcaption span,
code .num figcaption span,
del .num figcaption span,
dfn .num figcaption span,
em .num figcaption span,
font .num figcaption span,
ins .num figcaption span,
kbd .num figcaption span,
q .num figcaption span,
s .num figcaption span,
samp .num figcaption span,
small .num figcaption span,
strike .num figcaption span,
sub .num figcaption span,
sup .num figcaption span,
tt .num figcaption span,
var .num figcaption span,
fieldset .num figcaption span,
form .num figcaption span,
legend .num figcaption span,
caption .num figcaption span,
tbody .num figcaption span,
tfoot .num figcaption span,
thead .num figcaption span,
table .num figcaption span,
label .num figcaption span,
tr .num figcaption span,
th .num figcaption span,
td .num figcaption span,
p .num figcaption span,
img .num figcaption span,
dl .num figcaption span,
dt .num figcaption span,
dd .num figcaption span,
figure .num figcaption span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  font-family: "PT Serif", serif;
  font-size: clamp(18px, 1.33rem + 0.73vw, 30px);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.6;
  font-size: 16px;
}

.eng_ttl {
  overflow-wrap: break-word;
}

hr {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: dotted 1px #333;
}
@media (max-width: 767px) {
  hr {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}
hr.dotted_hr {
  padding-bottom: 50px;
  margin-bottom: 50px;
  border-bottom: dotted 2px #333333;
}
@media (max-width: 767px) {
  hr.dotted_hr {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
}
hr.footer_hr {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: dotted 2px #fff;
}
@media (max-width: 767px) {
  hr.footer_hr {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
}
hr.line01 {
  border-bottom: solid 2px #DC5E00;
}
hr.line02 {
  border-bottom: solid 2px #0C0C0C;
}
hr.line02.type01 {
  padding-bottom: 60px;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  hr.line02.type01 {
    padding-bottom: 40px;
    margin-bottom: 40px;
  }
}
hr.line03 {
  padding-bottom: 50px;
  margin-bottom: 50px;
  border-bottom: dotted 2px #002363;
}
@media (max-width: 767px) {
  hr.line03 {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
}
hr.line03.type01 {
  padding-bottom: 30px;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  hr.line03.type01 {
    padding-bottom: 18px;
    margin-bottom: 18px;
  }
}
hr.line03.type02 {
  padding-bottom: 50px;
  margin-bottom: 50px;
  border-bottom: solid 2px #2562D2;
}
@media (max-width: 767px) {
  hr.line03.type02 {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
}
hr.line03.type03 {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom-style: solid;
}
@media (max-width: 767px) {
  hr.line03.type03 {
    padding-bottom: 18px;
    margin-bottom: 18px;
  }
}

body,
html {
  height: 100dvh;
}

body {
  font-family: YakuHanJP_Noto, "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: #333;
  font-weight: 500;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  background-color: #fff;
}
@media (max-width: 767px) {
  body {
    font-size: 13px;
  }
}

a {
  color: #222222;
  text-decoration: none;
}
a:hover {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

.hover:hover {
  opacity: 0.65;
}

img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
img.border10 {
  border-radius: 10px;
}
img.border06 {
  border-radius: 6px;
}
img.border20 {
  border-radius: 20px;
}
img.line01 {
  border: solid 1px #002363;
}
img.line02 {
  border: solid 2px #2562D2;
}
img.line03 {
  border: solid 3px #002363;
}

address {
  font-style: normal;
  padding: 0 0 10px;
}

/*li { list-style:none; }*/
ol,
ul {
  margin: 0;
  padding: 0;
  line-height: 1.6;
}

li {
  list-style: none;
}

iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
@media (max-width: 767px) {
  iframe {
    aspect-ratio: 1/1;
  }
}

.contents_wrap {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1200px;
  margin: 0 auto;
}
.contents_wrap.w700 {
  max-width: 700px;
}
.contents_wrap.w800 {
  max-width: 800px;
}
.contents_wrap.w900 {
  max-width: 900px;
}
.contents_wrap.w1000 {
  max-width: 1000px;
}
.contents_wrap.w1100 {
  max-width: 1100px;
}
.contents_wrap.w1280 {
  max-width: 1280px;
}
@media screen and (max-width: 1360px) {
  .contents_wrap.w1280 {
    padding: 0 5%;
  }
}
.contents_wrap.w1360 {
  max-width: 1360px;
}
@media screen and (max-width: 1480px) {
  .contents_wrap.w1360 {
    padding: 0 5%;
  }
}
.contents_wrap.w1460 {
  max-width: 1460px;
}
@media screen and (max-width: 1580px) {
  .contents_wrap.w1460 {
    padding: 0 5%;
  }
}
.contents_wrap.w1600 {
  max-width: 1600px;
}
@media screen and (max-width: 1680px) {
  .contents_wrap.w1600 {
    padding: 0 5%;
  }
}

@media screen and (max-width: 1215px) {
  .contents_wrap {
    padding: 0 5%;
  }
}
@media screen and (max-width: 1024px) {
  html {
    font-size: 13px;
  }
  .contents_wrap {
    padding: 0 5%;
  }
}
.flexbox_contents_side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1200px;
}
@media (max-width: 1024px) {
  .flexbox_contents_side {
    display: block;
  }
}

.container_main {
  max-width: 900px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 1024px) {
  .container_main {
    margin-bottom: 30px;
  }
}

.container_side {
  width: 100%;
  max-width: 220px;
  margin-left: 40px;
}
@media (max-width: 1024px) {
  .container_side {
    max-width: inherit;
    margin-left: 0;
  }
}

@media screen and (max-width: 1024px) {
  .pc_on {
    display: none !important;
  }
  .sp_on {
    display: block !important;
  }
}
@media print, screen and (min-width: 1025px) {
  .pc_on {
    display: block !important;
  }
  .sp_on {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (min-width: 1024px) {
  .tb_none {
    display: none !important;
  }
  .tb_disp {
    display: block !important;
  }
}
.uppercase {
  text-transform: uppercase;
}

.loading_msk {
  position: fixed;
  z-index: 200;
  width: 100vw;
  height: 100dvh;
  background: #fff;
  top: 0;
  right: 0;
}

.loading_msk img {
  position: absolute;
  width: auto;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/*******************/
/*　検索ボックス　　　　*/
/*******************/
#searchform input[type=text] {
  width: auto;
  max-width: inherit;
  min-width: inherit;
  padding: 6px 20px;
}

.search_test01 {
  display: inline-block;
  margin: 0px 0 0 5px;
  border: none;
}

.search_test01 input[type=submit] {
  color: #fff;
  background-color: #000;
  border: 1px solid #000;
  padding: 6px 15px;
  border-radius: 6px;
}

.search_test01:hover {
  opacity: 0.6;
}

/* ------ */
/* コンテンツ装飾 */
/* ------ */
.f90 {
  font-size: clamp(50px, 1.989rem + 4.85vw, 90px);
  line-height: 1;
}

.f60 {
  font-size: clamp(34px, 1.67rem + 1.94vw, 60px);
  line-height: 1;
}

.f50 {
  font-size: clamp(34px, 1.67rem + 1.94vw, 50px);
  line-height: 1;
}

.f46 {
  font-size: clamp(32px, 1.602rem + 1.7vw, 46px);
  line-height: 1;
}

.f42 {
  font-size: clamp(30px, 1.534rem + 1.45vw, 42px);
  line-height: 1;
}

.f40 {
  font-size: clamp(25px, 1.136rem + 1.82vw, 40px);
  line-height: 1;
}

.f38 {
  font-size: clamp(25px, 1.466rem + 1.21vw, 38px);
}

.f36 {
  font-size: clamp(20px, 1.341rem + 1.21vw, 36px);
}

.f32 {
  font-size: clamp(20px, 0.909rem + 1.45vw, 32px);
}

.f30 {
  font-size: clamp(18px, 1.33rem + 0.73vw, 30px);
}

.f28 {
  font-size: clamp(18px, 1.205rem + 0.73vw, 28px);
}

.f26 {
  font-size: clamp(16px, 0.716rem + 1.21vw, 26px);
}

.f24 {
  font-size: clamp(17px, 0.864rem + 0.85vw, 24px);
}

.f22 {
  font-size: clamp(16px, 0.83rem + 0.73vw, 22px);
}

.f20 {
  font-size: clamp(16px, 0.886rem + 0.48vw, 20px);
}

.f18 {
  font-size: clamp(14px, 0.761rem + 0.48vw, 18px);
}

.f17 {
  font-size: clamp(13px, 0.699rem + 0.48vw, 17px);
}

.f16 {
  font-size: clamp(13px, 0.727rem + 0.36vw, 16px);
}

.f15 {
  font-size: clamp(13px, 0.756rem + 0.24vw, 15px);
}

.f14 {
  font-size: clamp(12px, 0.693rem + 0.24vw, 14px);
}

.f13 {
  font-size: clamp(11px, 0.631rem + 0.24vw, 13px);
}

.txt_lh02 {
  line-height: 2;
}

.txt_lh014 {
  line-height: 1.4;
}

.bg_sc_color {
  background-color: #FFF8FB;
}

.txt_bl01 {
  color: #2562D2;
}

.txt_bl02 {
  color: #002363;
}

.txt_y01 {
  color: #FFF700;
}

.txt_or01 {
  color: #DF001C;
}

.txt_red01 {
  color: #D10F28;
}

.txt_wt01 {
  color: #fff;
}

.mail_ttl01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mail_ttl01 .en {
  font-family: "PT Serif", serif;
  font-weight: bold;
  font-size: clamp(13.5px, 0.773rem + 0.3vw, 16px);
}
.mail_ttl01 .en .num {
  font-size: clamp(16px, 0.83rem + 0.73vw, 22px);
}
.mail_ttl01 .en .num:after {
  content: "|";
  display: inline-block;
  padding-left: 12.5px;
  margin-right: 12.5px;
  font-weight: 300;
}
.mail_ttl01 .jp {
  font-size: clamp(16px, 0.886rem + 0.48vw, 20px);
}

.bg_fff {
  background-color: #fff;
}

.bg_f3f7f8 {
  background-color: #f3f7f8;
}

.bg_fixed {
  position: relative;
  /*min-height: 100vh;*/
  height: 100%;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  /*min-height: 100vh;*/
}
@media (max-width: 1020px) and (min-width: 768px) {
  .bg_fixed {
    min-height: inherit;
    background-attachment: local;
    /*padding: 100px 0;*/
    height: auto;
    background-size: cover;
    background-position: 57% bottom;
    padding: 0;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .bg_fixed {
    min-height: inherit;
    background-attachment: scroll;
    /*padding: 100px 0;*/
    height: auto;
  }
}

/* ------ */
/* ボタン（BTN） */
/* ------ */
.bnr_flex li a {
  position: relative;
}
.bnr_flex li a:hover figure img {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
}
.bnr_flex li a figure {
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 10px;
  aspect-ratio: 3/2;
}
.bnr_flex li a figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  aspect-ratio: 3/2;
  border-radius: 0;
}

.h_btn01 {
  position: relative;
  background-color: #47472e;
  color: #fff;
  border-radius: 100px;
  display: block;
  margin: auto 5px;
  padding: 5px 15px;
  font-weight: bold;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 150px;
  height: 30px;
}
.h_btn01 a {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  line-height: 1.5;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: 14px;
}
.h_btn01:hover {
  opacity: 1;
  background-color: #f6ac00;
}
@media (max-width: 1024px) {
  .h_btn01 {
    display: none;
  }
}
.h_btn01.recruit_btn {
  background-color: #2562D2;
}
.h_btn01.contact_btn {
  background-color: #00173a;
}

.h_btn02 {
  position: relative;
  background-color: #00B7BD;
  color: #fff;
  display: block;
  padding: 5px 15px;
  font-weight: bold;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 190px;
  height: 80px;
}
.h_btn02.bl01 {
  background-color: #2562D2;
}
.h_btn02.lgr01 {
  background-color: #D0E3EE;
}
.h_btn02.lgr01 span {
  color: #002363;
}
.h_btn02 span {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  line-height: 1.5;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: 14px;
}
.h_btn02:hover {
  opacity: 1;
  background-color: #f6ac00;
}
@media (max-width: 1024px) {
  .h_btn02 {
    display: none;
  }
}
.h_btn02.recruit_btn {
  background-color: #2562D2;
}
.h_btn02.contact_btn {
  background-color: #00173a;
}

.tel_btn {
  text-align: center;
}
.tel_btn a {
  font-size: 32px;
  font-weight: bold;
  font-family: "Poppins", sans-serif;
}
.tel_btn p {
  font-size: 13px;
}

.breadcrumbs {
  padding: 10px 0;
}

/* ------ */
/* header */
/* ------ */
header {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 80px;
  z-index: 3;
}
@media (max-width: 767px) {
  header {
    height: 60px;
  }
}
@media (max-width: 767px) {
  header.is-none {
    background: none;
  }
}
header.fixed {
  position: fixed !important;
  background-color: #ffffff;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@-webkit-keyframes fixed_h {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fixed_h {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
header.fixed .h1 a img {
  display: none;
}
header.fixed .h1 a img + img {
  display: block;
}
header.fixed .header-r-area {
  /*display: none;*/
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
header.fixed .header-r-area .header-nav li a {
  color: #333;
}
header.fixed .header-r-area a.tel_link {
  color: #333;
}
header.fixed .header-r-area a.tel_link:before {
  background-image: url(../images/icon/tel_icon_c01.svg);
}
header.inner_header {
  position: relative;
  background-color: #ffffff;
}
header.inner_header .h1 a img {
  display: none;
}
header.inner_header .h1 a img + img {
  display: block;
}
header.inner_header .header-r-area {
  /*display: none;*/
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
header.inner_header .header-r-area .header-nav li a {
  color: #333;
}
header.inner_header .header-r-area a.tel_link {
  color: #333;
}
header.inner_header .header-r-area a.tel_link:before {
  background-image: url(../images/icon/tel_icon_c01.svg);
}
header .header-r-area {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 0px;
}
@media screen and (max-width: 1460px) {
  header .header-r-area {
    margin-right: 90px;
  }
}
@media (max-width: 767px) {
  header .header-r-area {
    background: none;
    padding: 0;
    margin-right: 60px;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  header .header-r-area .h_contact_btn {
    display: none;
  }
}
header .header-r-area .h-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
}
@media screen and (max-width: 1460px) {
  header .header-r-area .h-contact .header-nav {
    display: none;
  }
}
header .header-r-area a.tel_link {
  font-size: 35px;
  color: #689B00;
}
@media (max-width: 1024px) {
  header .header-r-area a.tel_link {
    display: none !important;
  }
}
header .header-r-area a.tel_link:before {
  background-image: url(../images/icon/tel_icon_c01.svg);
}
header .h1 {
  font-weight: bold;
}
header .h1 a {
  display: block;
  font-size: 14px;
  line-height: 1.4;
}
header .h1 a img {
  /*mix-blend-mode: difference;*/
  height: 60px;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  display: block;
}
header .h1 a img + img {
  display: none;
}
header .h1 a img:hover {
  -webkit-filter: drop-shadow(2px 3px 8px #fff);
          filter: drop-shadow(2px 3px 8px #fff);
}
@media (max-width: 767px) {
  header .h1 a img {
    height: 40px;
  }
}

header * {
  line-height: 1;
}

.h-logo {
  margin-left: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1280px) {
  .h-logo {
    margin-left: 20px;
  }
}
@media (max-width: 767px) {
  .h-logo {
    margin-left: 10px;
  }
}
.h-logo a {
  display: block;
}

/* ----------- */
/* global navi */
/* ----------- */
.drawer {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 150;
}

.header_drawer_toggle {
  /*ヘッダー内トグルボタンの指定*/
  display: none;
}
@media screen and (max-width: 1460px) {
  .header_drawer_toggle {
    display: block;
  }
}

body .header_drawer_toggle.fixed .gnav-trg span.txt:before {
  color: #333;
}

header.inner_header .header_drawer_toggle .gnav-trg span.line,
header.inner_header .header_drawer_toggle .gnav-trg::before,
header.inner_header .header_drawer_toggle .gnav-trg::after {
  background-color: #333;
}

.header_drawer_toggle.fixed .gnav-trg span.line,
.header_drawer_toggle.fixed .gnav-trg::before,
.header_drawer_toggle.fixed .gnav-trg::after {
  background-color: #333;
}

.header_drawer_toggle .gnav-trg span.line,
.header_drawer_toggle .gnav-trg::before,
.header_drawer_toggle .gnav-trg::after {
  background-color: #fff;
}

.header_drawer_toggle .gnav-trg {
  position: relative;
  top: 10px;
  right: 20px;
  z-index: 101;
  width: 60px;
  height: 60px;
  margin: 0;
  cursor: pointer;
  aspect-ratio: 1/1;
}

@media (max-width: 767px) {
  .header_drawer_toggle .gnav-trg {
    position: absolute;
    width: 44px;
    height: 44px;
    top: 6px;
    right: 10px;
  }
}
.header_drawer_toggle .gnav-trg span {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /*width: calc(100% - 24px);*/
  width: 30px;
  height: 2px;
  margin: auto;
  top: 0;
}

@media screen and (max-width: 767px) {
  .header_drawer_toggle .gnav-trg span {
    width: 20px;
  }
}
.header_drawer_toggle .gnav-trg::before,
.header_drawer_toggle .gnav-trg::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /*width: calc(100% - 24px);*/
  width: 30px;
  height: 2px;
  margin: auto;
  -webkit-transition: 0.15s ease-out;
  transition: 0.15s ease-out;
}

@media screen and (max-width: 767px) {
  .header_drawer_toggle .gnav-trg::before,
  .header_drawer_toggle .gnav-trg::after {
    width: 20px;
  }
}
.header_drawer_toggle .gnav-trg::before {
  top: calc(50% - 10px);
}

@media screen and (max-width: 767px) {
  .header_drawer_toggle .gnav-trg::before {
    top: calc(50% - 5px);
  }
}
.header_drawer_toggle .gnav-trg::after {
  bottom: calc(50% - 10px);
}

@media screen and (max-width: 767px) {
  .header_drawer_toggle .gnav-trg::after {
    bottom: calc(50% - 5px);
  }
}
.header_drawer_toggle .gnav-trg.is-none::before {
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background-color: #333;
}

.header_drawer_toggle .gnav-trg.is-none::after {
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  background-color: #333;
}

.header_drawer_toggle .gnav-trg.is-none span {
  display: none;
}

/*gnavエリア*/
.gnav {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  height: 100%;
  left: 0;
  top: 0;
  position: fixed;
  width: 100%;
  z-index: 101;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.gnav .gnav__close {
  position: absolute;
  z-index: 20;
  right: 20px;
  top: 30px;
}

.gnav .gnav__close .gnav__close__arrow {
  display: block;
  height: 2rem;
  width: 4rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .gnav .gnav__close .gnav__close__arrow {
    height: 20px;
    width: 40px;
  }
}
.gnav .gnav__close .gnav__close__arrow::before,
.gnav .gnav__close .gnav__close__arrow::after {
  background-color: #fff;
  content: "";
  display: block;
  height: 1px;
  top: 50%;
  left: 50%;
  width: 100%;
}

.gnav .gnav__close .gnav__close__arrow::before {
  -webkit-transform: translate(0, -50%) rotate(35deg);
  transform: translate(0, -50%) rotate(35deg);
}

.gnav .gnav__close .gnav__close__arrow::after {
  -webkit-transform: translate(0, -50%) rotate(-35deg);
  transform: translate(0, -50%) rotate(-35deg);
}

.gnav .gnav__close .gnav__close__text {
  color: #fff;
  display: block;
  text-align: center;
  font-size: 1.4rem;
}

.gnav .gnav__bg {
  position: absolute;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.gav_close_btn {
  position: absolute;
  top: 5%;
  right: 10%;
  cursor: pointer;
  width: 20px;
  height: 20px;
}

.drawerbox {
  width: 80%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .drawerbox {
    width: 80%;
    margin: 0 auto;
  }
}

.gnav .gnav__inr {
  padding-top: 100px;
  padding-bottom: 100px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #2562D2;
  height: 100dvh;
  right: 0;
  position: relative;
  top: 0;
  z-index: 3;
  margin-left: auto;
  overflow-y: auto;
}
@media (max-width: 767px) {
  .gnav .gnav__inr {
    width: 100%;
  }
}
.gnav .gnav__inr .drawer_language_flex {
  border-top: 2px solid #999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  color: #333;
  margin-top: 40px;
  padding-top: 40px;
}
@media (max-width: 767px) {
  .gnav .gnav__inr .drawer_language_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .gnav .gnav__inr .drawer_language_flex .language_ttl {
    border-top: solid 1px #ccc;
    margin-top: 5px;
    padding-top: 2px;
  }
}
.gnav .gnav__inr .drawer_language_flex .language_flex_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: 15px;
}
@media (max-width: 767px) {
  .gnav .gnav__inr .drawer_language_flex .language_flex_list {
    margin-left: 0;
  }
}
.gnav .gnav__inr .drawer_language_flex .language_flex_list li:before {
  content: "/";
}
@media (max-width: 767px) {
  .gnav .gnav__inr .drawer_language_flex .language_flex_list li:first-child:before {
    content: none;
  }
}
.gnav .gnav__inr .drawer_language_flex .language_flex_list li a {
  position: relative;
  padding: 0 3px;
  font-weight: bold;
}
.gnav .gnav__inr .drawer_language_flex .language_flex_list li a:hover {
  color: #e4007f;
}
.gnav .gnav__inr .header-drawer-nav li {
  /*margin-top: 15px;*/
  position: relative;
  /*padding-bottom: 15px;*/
  border-top: solid 2px #fff;
  padding-top: 12.5px;
  padding-bottom: 12.5px;
  padding-left: 1em;
  padding-right: 1em;
}
.gnav .gnav__inr .header-drawer-nav li:first-child {
  margin-top: 0;
}
.gnav .gnav__inr .header-drawer-nav li:last-child {
  padding-bottom: 12.5px;
  border-bottom: solid 2px #fff;
}
.gnav .gnav__inr .header-drawer-nav li a {
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  padding: 10px 0;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children {
  /*border-top: dotted 2px #fff;
      border-bottom: dotted 2px #fff;*/
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 1;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children a {
  pointer-events: none !important;
  display: inline-block;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children:hover {
  background: none;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children.open_acord .header-nav-child::before {
  display: inline-block;
  content: "\f068";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: auto;
  color: #fff;
  position: absolute;
  right: 0;
  width: 100%;
  text-align: right;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children .header-nav-child {
  position: absolute;
  width: 100%;
  top: 20px;
  right: 0;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children .header-nav-child::before {
  display: inline-block;
  content: "+";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: auto;
  color: #fff;
  position: absolute;
  right: 0;
  width: 100%;
  text-align: right;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children > .sub-menu {
  margin: 15px 8px;
  padding: 0;
  display: none;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children > .sub-menu li {
  /*list-style-type: disc;*/
  border: none;
  list-style-position: inside;
  width: 100%;
  /*margin-bottom: 5px;
        margin-top: 10px;
                    padding-bottom: 5px;*/
  /*↓ホバーエフェクト指定*/
  background: none;
  padding: 5px 0;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children > .sub-menu li:last-child {
  border-bottom: none;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children > .sub-menu li:hover {
  /*ホバーエフェクト*/
  background: none;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children > .sub-menu li a {
  pointer-events: auto !important;
  border: none;
  display: inline-block;
  margin-bottom: 0;
  padding: 0;
  font-size: 14px;
}
.gnav .gnav__inr .header-drawer-nav li.menu-item-has-children > .sub-menu li a:before {
  content: "・";
  margin-right: 5px;
}
.gnav .gnav__inr .h_contact_btn {
  margin: 25px auto 0;
  width: 80%;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .gnav .gnav__inr {
    width: 50%;
  }
}
.gnav .gnav__links {
  width: 80%;
}

@media screen and (min-width: 768px) {
  .gnav .gnav__links {
    width: 290px;
  }
}
.gnav .gnav__links > li {
  margin: 40px 0 0;
}

.gnav .gnav__links > li > a {
  color: #fff;
  display: block;
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 1.2;
  position: relative;
}

@media screen and (min-width: 768px) {
  .gnav .gnav__links > li > a {
    font-size: 3.6rem;
  }
}
.gnav .gnav__links > li > a > span {
  display: block;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .gnav .gnav__links > li > a > span {
    font-size: 1.4rem;
  }
}
.gnav .gnav__links > li > a::after {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  bottom: 8px;
  content: "";
  height: 4px;
  right: 0;
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: skew(45deg);
  transform: skew(45deg);
  width: 50px;
}

.gnav .gnav__links > li > a:hover::after {
  right: -10px;
}

.gnav-trg {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  width: 2.8rem;
}

@media screen and (min-width: 768px) {
  .gnav-trg .gnav-trg {
    width: 4rem;
  }
}
.gnav-trg .gnav-trg__border {
  height: 1.4rem;
  position: relative;
  width: 2.8rem;
}

@media screen and (min-width: 768px) {
  .gnav-trg .gnav-trg__border .gnav-trg .gnav-trg__border {
    height: 2rem;
    width: 4rem;
  }
}
.gnav-trg .gnav-trg__border > span {
  background-color: #646464;
  display: block;
  height: 2px;
  left: 50%;
  position: absolute;
  width: 100%;
}

.gnav-trg .gnav-trg__border > span:nth-child(1) {
  top: 0;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.gnav-trg .gnav-trg__border > span:nth-child(2) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.gnav-trg .gnav-trg__border > span:nth-child(3) {
  bottom: 0;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.gnav-trg .gnav-trg__text {
  display: block;
  font-size: 1rem;
  margin-top: 0.5rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .gnav-trg .gnav-trg__text {
    font-size: 1.4rem;
    margin-top: 1.5rem;
  }
}
/* ----------- */
/* header navi */
/* ----------- */
.non_event a {
  pointer-events: none;
}

.header-nav {
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.header-nav li {
  position: relative;
  line-height: 1.8;
  font-size: 14px;
}
.header-nav li a {
  color: #fff;
  font-weight: bold;
  padding-left: 10px;
  padding-right: 10px;
}
.header-nav li.current-menu-item a, .header-nav li.current-menu-parent a {
  color: #E6A012 !important;
}
.header-nav li.menu-item-has-children.cul2menu:hover ul.sub-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.5px 3px;
  width: 420px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.header-nav li.menu-item-has-children.cul2menu:hover ul.sub-menu li {
  width: calc(50% - 1.5px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.header-nav li.menu-item-has-children:hover ul.sub-menu {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  z-index: 50;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: absolute;
  /*background-color: #000;*/
  /*color: #ffffff;*/
  width: 220px;
  padding-top: 15px;
  /*padding: 10px 25px;*/
  top: 20px;
  left: 0;
  /*left: calc(-50% -240px);*/
  -webkit-transform: translate(0%, 0);
          transform: translate(0%, 0);
  /*background-color: #fff;*/
}
.header-nav li.menu-item-has-children:hover ul.sub-menu li {
  width: 100%;
  background-color: #fff;
  line-height: 1.5;
  padding: 10px 20px;
  margin-bottom: 1px;
}
.header-nav li.menu-item-has-children:hover ul.sub-menu li:last-child {
  margin-bottom: 0;
}
.header-nav li.menu-item-has-children:hover ul.sub-menu li:after {
  display: none;
}
.header-nav li.menu-item-has-children:hover ul.sub-menu li:hover {
  background-color: #e2e2e2;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header-nav li.menu-item-has-children:hover ul.sub-menu li:hover a {
  color: #2562D2;
}
.header-nav li.menu-item-has-children:hover ul.sub-menu li a {
  color: #333 !important;
  display: block;
  margin-bottom: 1px;
  pointer-events: auto;
  border: none;
  padding-left: 0;
}
.header-nav li.menu-item-has-children ul {
  display: none;
}

/******************************/
/* #アンカーリンク */
/******************************/
a.anchor {
  /* ヘッダー高さ+少し余白 */
  /*display: block;
  padding-top: 100px;
  margin-top: -100px;*/
  display: block;
  position: relative;
  top: -100px;
  visibility: hidden;
}

/* ------ */
/* テキストリンク（text-link） */
/* ------ */
/* ------ */
/* 表 */
/* ------ */
/* ------ */
/* レイアウト */
/* ------ */
.plan_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.plan_flex .ttlarea {
  width: 15%;
  padding-right: 40px;
  border-right: solid 1px #ccc;
}
.plan_flex .contactarea {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 40px;
}

/**/
.helf_right {
  margin-left: auto;
  width: 50%;
  max-width: 580px;
}

.company_info {
  width: 400px;
  margin: 0 auto;
  text-align: center;
  margin-top: 30px;
  padding: 20px 0;
  border-top: solid 1px #1f9681;
  border-bottom: solid 1px #1f9681;
}
@media (max-width: 1024px) {
  .company_info {
    width: auto;
  }
}

/**/
.num_flex li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 60px;
  border-bottom: dotted 1px #ccc;
  padding-bottom: 30px;
}
@media (max-width: 767px) {
  .num_flex li {
    -webkit-box-align: inherit;
        -ms-flex-align: inherit;
            align-items: inherit;
  }
}
.num_flex li .numarea {
  width: 30%;
  height: auto;
  position: relative;
  z-index: 1;
  text-align: center;
  margin: 0 auto;
  aspect-ratio: 3/2;
  clip-path: polygon(0% 0%, 50% 0%, 100% 100%, 50% 100%);
  background-color: #1f9681;
}
.num_flex li .numarea span.step {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  color: #fff;
  position: absolute;
  top: 30%;
  left: 45%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.num_flex li .numarea span.step_num {
  font-family: "Poppins", sans-serif;
  font-size: 40px;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (max-width: 1024px) {
  .num_flex li .numarea span.step_num {
    font-size: 30px;
  }
}
.num_flex li .txtarea {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 70px;
}
@media (max-width: 767px) {
  .num_flex li .txtarea {
    margin-left: 20px;
  }
  .num_flex li .txtarea h2.ma_b_2em {
    margin-bottom: 15px !important;
  }
}
.num_flex li:last-child {
  margin-bottom: 0;
}
.num_flex li:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.num_flex li:nth-child(even) .numarea {
  width: 30%;
  clip-path: polygon(50% 0%, 100% 0%, 50% 100%, 0% 100%);
  color: #fff;
}
.num_flex li:nth-child(even) .numarea span.step {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  color: #fff;
  position: absolute;
  top: 30%;
  left: 55%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.num_flex li:nth-child(even) .numarea span.step_num {
  font-family: "Poppins", sans-serif;
  font-size: 40px;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (max-width: 1024px) {
  .num_flex li:nth-child(even) .numarea span.step_num {
    font-size: 30px;
  }
}
.num_flex li:nth-child(even) .txtarea {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 0;
  margin-right: 70px;
}
@media (max-width: 767px) {
  .num_flex li:nth-child(even) .txtarea {
    margin-right: 20px;
  }
  .num_flex li:nth-child(even) .txtarea h2.ma_b_2em {
    margin-bottom: 15px !important;
  }
}

/*IMG＿FLEX*/
.page_link_ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  padding: 0 5%;
}
.page_link_ul li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.page_link_ul li a figure {
  position: relative;
  overflow: hidden;
}
.page_link_ul li a figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
  aspect-ratio: 380/260;
}
.page_link_ul li a figure figcaption {
  position: absolute;
  color: #fff;
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.page_link_ul li a figure figcaption .num {
  font-size: 32px;
  font-family: "Poppins", sans-serif;
  margin-bottom: 15px;
}
.page_link_ul li a figure figcaption i {
  display: block;
  margin-top: 15px;
}
.page_link_ul li a:hover img {
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.icon_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.icon_flex i {
  margin-right: 3px;
}

/*料金エリア*/
.price_area span.ttl {
  border-radius: 100px;
  background-color: #e4007f;
  color: #fff;
  padding: 3px 20px;
}
.price_area span.price_txt {
  font-weight: bold;
  font-size: 19px;
  margin-left: 5px;
}
.price_area span.tax {
  font-size: 13px;
}

/*コンテンツパターン*/
.page_box_even li.box {
  padding: 100px 0;
}
@media (max-width: 767px) {
  .page_box_even li.box {
    padding: 50px 0;
  }
}
.page_box_even li.box:first-child {
  padding-top: 0;
}
.page_box_even li.box:nth-child(even) {
  background-color: #f2f0eb;
}
@media (max-width: 767px) {
  .page_box_even li.box:nth-child(even).basic_space1_padding_top {
    padding-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.page_box li.contentsbox {
  padding: 100px 0;
}
@media (max-width: 767px) {
  .page_box li.contentsbox {
    padding: 50px 0;
  }
}
.page_box li.contentsbox:first-child {
  padding-top: 0;
}
.page_box li.contentsbox:nth-child(even) {
  background-color: #f8f2f2;
}
@media (max-width: 767px) {
  .page_box li.contentsbox:nth-child(even).basic_space1_padding_top {
    padding-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.page_box li.contentsbox_b {
  padding: 100px 0;
}
@media (max-width: 767px) {
  .page_box li.contentsbox_b {
    padding: 50px 0;
  }
}
.page_box li.contentsbox_b:first-child {
  padding-top: 0;
}
.page_box li.contentsbox_b:nth-child(odd) {
  padding-top: 80px;
  background-color: #f8f2f2;
}
@media (max-width: 767px) {
  .page_box li.contentsbox_b:nth-child(odd) {
    padding-top: 40px;
  }
  .page_box li.contentsbox_b:nth-child(odd).basic_space1_padding_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/*偶数リバースFLEX*/
.layout02 .even_reverse_flex {
  /*display: flex;*/
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .layout02 .even_reverse_flex {
    display: block;
  }
}
.layout02 .even_reverse_flex li.even_li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 50px;
}
.layout02 .even_reverse_flex li.even_li:first-child {
  margin-top: 0;
}
.layout02 .even_reverse_flex li.even_li:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.layout02 .even_reverse_flex li.even_li:nth-child(even) .imgbox {
  width: 55%;
  margin-right: 0;
  margin-left: 80px;
  position: relative;
}
@media (max-width: 767px) {
  .layout02 .even_reverse_flex li.even_li:nth-child(even) .imgbox {
    width: 100%;
    margin: 0 0 30px;
  }
}
.layout02 .even_reverse_flex li.even_li:nth-child(even) .imgbox .mt_car {
  position: absolute;
  top: 10px;
  right: 10px;
}
.layout02 .even_reverse_flex li.even_li:nth-child(even) .imgbox .mt_car img {
  width: auto !important;
}
@media (max-width: 767px) {
  .layout02 .even_reverse_flex li.even_li:nth-child(even) .imgbox .mt_car img {
    max-height: 60px;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
.layout02 .even_reverse_flex li.even_li:nth-child(even) .imgbox img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
  aspect-ratio: 420/260;
}
.layout02 .even_reverse_flex li.even_li .imgbox {
  width: 55%;
  margin-right: 80px;
}
@media (max-width: 767px) {
  .layout02 .even_reverse_flex li.even_li .imgbox {
    width: 100%;
    margin: 0 0 30px;
  }
}
.layout02 .even_reverse_flex li.even_li .imgbox img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
  aspect-ratio: 420/260;
}
.layout02 .even_reverse_flex li.even_li .txtbox {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.layout02 .even_reverse_flex li.even_li .txtbox .number {
  margin-bottom: 8px;
  color: #1473ba;
  font-size: 16px;
  font-family: "Aoboshi One", serif;
  display: inline-block;
}
.layout02 .even_reverse_flex li.even_li .txtbox h3 {
  font-weight: bold;
  margin-bottom: 30px;
}

/* リスト */
/* --- */
.pattern_list li.pattern_li:nth-child(even) {
  background-color: #ebe9cb;
  position: relative;
}
.pattern_list li.pattern_li:nth-child(even):before {
  content: "";
  background-image: url(../images/common/guide_after_bg01.png);
  background-repeat: repeat-x;
  position: absolute;
  width: 100%;
  height: 21px;
  top: -20px;
}
.pattern_list li.pattern_li:nth-child(even):after {
  content: "";
  background-image: url(../images/common/guide_before_bg01.png);
  background-repeat: repeat-x;
  position: absolute;
  width: 100%;
  height: 24px;
  bottom: -24px;
}

/*フローリスト*/
/* アンカーーメニュー */
/* --- */
.unkmenu {
  max-width: 1000px;
  margin: 0 auto 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}
@media (max-width: 1024px) {
  .unkmenu {
    padding: 0 5%;
  }
}
@media (max-width: 767px) {
  .unkmenu {
    display: block;
  }
}
@media (max-width: 1024px) {
  .unkmenu.cul4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.unkmenu.cul4 li {
  width: calc(25% - 15px);
}
@media (max-width: 1024px) {
  .unkmenu.cul4 li {
    width: calc(50% - 10px);
  }
}
.unkmenu li {
  width: calc(33.3333333333% - 15px);
}
@media (max-width: 767px) {
  .unkmenu li {
    width: 100%;
    margin-bottom: 5px;
  }
  .unkmenu li:last-child {
    margin-bottom: 0;
  }
}
.unkmenu li a {
  position: relative;
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding: 20px 20px 20px;
  background-color: #F89246;
  color: #0C0C0C;
  border-radius: 10px;
}
.unkmenu li a:before {
  content: "\f358";
  font-family: "Font Awesome 6 Free";
  position: absolute;
  margin: 0 auto;
  right: 15px;
  font-weight: bold;
  color: #0C0C0C;
}
.unkmenu li a:hover {
  background-color: #eea56d;
}

/*******************/
/*　FAQ レイアウト　　　　*/
/*******************/
/*******************/
/*　テキスト関連　　　　*/
/*******************/
/*最大2行まで*/
.limit_text_2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.6;
}

.limit_text_1 {
  min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-height: 1.6;
}

/*******************/
/*　SINGLE　　　　*/
/*******************/
.single_price .price_txt {
  font-size: 24px;
  font-weight: 500;
  color: #cf2020;
}
@media (max-width: 767px) {
  .single_price .price_txt {
    font-size: 18px;
  }
}

/*******************/
/*　テーブル　　　　*/
/*******************/
/*******************/
/*　テーブル(DL)　　　　*/
/*******************/
/***************/
/*******************/
/*　アコーディオン　　　　*/
/*******************/
/*******************/
/*　text　　　*/
/*******************/
.text_infoarea {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .text_infoarea {
    padding: 0 30px;
  }
}

/*******************/
/*　リスト　　　*/
/*******************/
/* ------ */
/* SNS ICON */
/* ------ */
ul.links_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: 15px;
}
ul.links_sns li {
  margin-right: 7.2px;
}
ul.links_sns li:last-child {
  margin-right: 0;
}
ul.links_sns li a {
  font-weight: 400;
}
ul.links_sns li a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
ul.links_sns li a::before {
  display: block;
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
}
ul.links_sns li a.text_link_run {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
ul.links_sns li a.text_link_run::before {
  margin-right: 5px;
}
ul.links_sns li a.map_icon::before {
  background-image: url(../images/icon/map_icon.svg);
  width: 26px;
  height: 26px;
}
ul.links_sns li a.line_icon::before {
  background-image: url(../images/icon/sns/line.svg);
  width: 26px;
  height: 26px;
}
ul.links_sns li a.ig_icon::before {
  background-image: url(../images/icon/sns/insta.svg);
  width: 26px;
  height: 26px;
}
ul.links_sns li a.fb_icon::before {
  background-image: url(../images/icon/sns/fb.svg);
  width: 26px;
  height: 26px;
}
ul.links_sns li a.tw_icon::before {
  background-image: url(../images/icon/sns/x_icon.svg);
  width: 26px;
  height: 26px;
}
ul.links_sns li a.youtube_icon::before {
  background-image: url(../images/icon/sns/youtube.svg);
  width: 26px;
  height: 26px;
}

/* ---- */
/* main */
/* ---- */
@media print, screen and (min-width: 1025px) {
  main {
    position: relative;
  }
}
@media print, screen and (max-width: 1024px) {
  #wrapper {
    width: 100%;
    position: relative;
  }
}
/* ---- */
/* 会社概要area */
/* ---- */
/* ---- */
/* 製品案内area */
/* ---- */
/* ---- */
/* 会社案内共通 */
/* ---- */
/* ---- */
/* ギャラリーarea */
/* ---- */
/***************************/
/* ---- */
/* ご利用案内area */
/* ---- */
/* ---- */
/* add_area */
/* ---- */
.add_guide {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  padding: 80px 0;
  background-color: #F6F9FF;
}
@media (max-width: 1024px) {
  .add_guide {
    padding: 50px 0;
  }
}

.add_company {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 1;
  padding: 80px 0;
  background-image: url(../images/common/add_company/bg01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media (max-width: 1024px) {
  .add_company {
    padding: 50px 0;
  }
}

.add_contact {
  position: relative;
  z-index: 1;
  padding: 80px 0;
  background-image: url(../images/common/add_contact/bg01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
}
@media (max-width: 1024px) {
  .add_contact {
    padding: 50px 0;
  }
}
.add_contact a.tel_link {
  color: #fff;
}
.add_contact .layout_c.type0a {
  gap: 0;
}
@media (max-width: 1280px) {
  .add_contact .layout_c.type0a {
    display: block;
  }
}
.add_contact .layout_c.type0a li:first-child {
  border-right: dotted 2px #007E66;
  padding-right: 5em;
  margin-right: 5em;
}
@media (max-width: 1280px) {
  .add_contact .layout_c.type0a li:first-child {
    border-right: none;
    padding-right: 0;
    margin-right: 0;
    border-bottom: dotted 2px #007E66;
    padding-bottom: 2em;
    margin-bottom: 2em;
  }
}
@media (max-width: 1280px) {
  .add_contact .layout_c.type0a li figure {
    text-align: center;
  }
}

/* ------ */
/* footer */
/* ------ */
footer {
  padding: 30px 0 0;
  position: sticky;
  top: 100vh;
  width: 100%;
  color: #fff;
  background-color: #002363;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
footer a {
  color: #fff;
}
footer .f_ttl {
  position: relative;
}
footer .menu li {
  margin-bottom: 10px;
}
footer .menu li:last-child {
  margin-bottom: 0;
}
footer .menu li a {
  font-size: clamp(13px, 0.756rem + 0.24vw, 15px);
  font-weight: 700;
}

.footerUpper .footer_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1024px) {
  .footerUpper .footer_flex {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footerUpper .footer_flex .f_company {
  width: 55%;
}
@media (max-width: 767px) {
  .footerUpper .footer_flex .f_company {
    width: 100%;
    text-align: center;
  }
  .footerUpper .footer_flex .f_company figure.logo01 {
    width: 60%;
  }
}
.footerUpper .footer_flex .f_company .layout_b .imgbox {
  width: 20%;
  margin-right: 15px;
}
@media (max-width: 767px) {
  .footerUpper .footer_flex .f_company .layout_b .imgbox {
    width: 100%;
    margin-right: 0;
    margin-bottom: 25px;
  }
  .footerUpper .footer_flex .f_company .layout_b .imgbox figure {
    text-align: center;
    margin: 0 auto;
  }
  .footerUpper .footer_flex .f_company .layout_b .imgbox figure img {
    width: 60%;
  }
}
.footerUpper .footer_flex .f_company ul.links_sns {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 1.5em;
  margin-left: 0;
}
.footerUpper .footer_flex .footerUpper_nav_area {
  width: 45%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 30px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (max-width: 1024px) {
  .footerUpper .footer_flex .footerUpper_nav_area {
    display: none;
  }
}
.footerUpper .f_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media (min-width: 1024px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}
#footer_add_area .tel_area a::before {
  content: "\f879";
}

#footer_nav .menu .sub-menu {
  padding-left: 0;
}
#footer_nav .menu .sub-menu li a::before {
  content: "-";
}
#footer_nav .menu .sub-menu li a:hover {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

#footer_nav > ul li a,
#footer_nav > ul li {
  color: #ffffff;
}

#footer_nav > ul li a:hover {
  opacity: 0.3;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

@media print, screen and (max-width: 1024px) {
  #footer_nav > ul li a:active {
    opacity: 0.3;
  }
}
/* ------ */
/* SNS list */
/* ------ */
@media print, screen and (min-width: 1025px) {
  #footer_nav > ul li a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}
/* ------ */
/* Mail form */
/* ------ */
.mail_form {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
.mail_form dl.inquiry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 767px) {
  .mail_form dl.inquiry {
    display: block;
  }
}
.mail_form dl.inquiry dt {
  width: 22%;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .mail_form dl.inquiry dt {
    width: 100%;
    margin-bottom: 10px;
  }
}
.mail_form dl.inquiry dt .red {
  color: #ff0000;
}
.mail_form dl.inquiry dd {
  width: calc(78% - 35px);
  margin-left: 35px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .mail_form dl.inquiry dd {
    width: 100%;
    margin-left: 0;
  }
}
.mail_form dl.inquiry dd.box {
  border: solid 1px #1e1e1e;
  background-color: #fff;
}
.mail_form dl.inquiry dd.box select {
  position: relative;
  top: 3px;
  left: 3px;
}
.mail_form dl.inquiry dd.zip_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mail_form dl.inquiry dd.zip_flex input {
  margin-left: 15px;
  width: inherit;
}
.mail_form dl.inquiry dd .pp {
  border: solid 1px #1e1e1e;
  font-size: 12px;
  height: 24em;
  overflow-y: scroll;
  padding: 1em;
  margin-bottom: 1.5em;
}
.mail_form dl.inquiry dd.post_number_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mail_form dl.inquiry dd.post_number_flex div.code01 {
  width: 30%;
  margin-right: 5px;
}
.mail_form dl.inquiry dd.post_number_flex div.code02 {
  width: 50%;
  margin-left: 5px;
}
.mail_form dl.inquiry dd.border_box {
  border: solid 1px #656565;
}
.mail_form .mailform_address_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.mail_form .mailform_address_flex li {
  width: 48%;
}
.mail_form .mailform_address_flex li p {
  margin-bottom: 5px;
}
.mail_form .mailform_address_flex2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 15px;
}
.mail_form .mailform_address_flex2 li select {
  width: auto;
}
.mail_form .mailform_address_flex2 li:first-child:after {
  content: "～";
  display: inline-block;
  margin-left: 15px;
}

.mail_form_confirm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 25px;
}
.mail_form_confirm input[type=button] {
  width: 50%;
  max-width: 320px;
  border-radius: 100px;
  max-height: 67px;
  cursor: pointer;
  border: none;
  font-size: 16px;
  border: solid 1px #f0f0f0;
}
.mail_form_confirm input[type=button]:hover {
  background-color: #f8f6f2;
  border: solid 1px #ccc;
}
.mail_form_confirm .wpcf7-arrow {
  border-radius: 100px;
  width: 50%;
}
.mail_form_confirm .wpcf7-arrow.submit_btn {
  margin: 0;
}
.mail_form_confirm .wpcf7-arrow.submit_btn input[type=submit] {
  cursor: pointer;
}
.mail_form_confirm .wpcf7-arrow.submit_btn input[type=submit]:hover {
  opacity: 0.7;
}

.completed_box {
  max-width: 740px;
  margin: 0 auto;
}
.completed_box p {
  margin-bottom: 1em;
}

/* ---------- */
/* #Copyright */
/* ---------- */
#Copyright {
  margin: 0 0 0 auto;
  text-align: center;
  font-size: 14px;
}

/* -------- */
/* #page_top */
/* -------- */
#page_top {
  /*position: absolute;*/
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 3;
  /*display: none;*/
}

@media (max-width: 1024px) {
  #page_top {
    display: none;
  }
}
/* gutenberg */
/* --- */
.gutenberg {
  /*固定ページ用エディタ編集*/
}
.gutenberg.page_text h2,
.gutenberg.page_text h3,
.gutenberg.page_text h4 {
  font-weight: bold;
}
.gutenberg.page_text h2,
.gutenberg.page_text h3 {
  margin-bottom: 30px;
}

.page-template .single_page strong {
  color: #333 !important;
}

.single_page .gutenberg h2 {
  font-size: 24px;
  margin-bottom: 20px;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
  /*border-top: solid 3px #007e66;*/
  /*border-bottom: solid 3px #007e66;*/
  border-left: solid 8px #2562D2;
  /*border-right: solid 3px #007e66;*/
  background-color: #F6F9FF;
  padding: 10px 20px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto 20px;
}
@media (max-width: 767px) {
  .single_page .gutenberg h2 {
    width: auto;
    font-size: 18px;
  }
}
.single_page .gutenberg h3 {
  font-size: 20px;
  margin-bottom: 30px;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
  border-left: solid 5px #2562D2;
  padding: 5px 10px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto 30px;
}
.single_page .gutenberg h3:before {
  content: "";
  background-color: #2562D2;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: -10px;
  height: 2px;
}
@media (max-width: 767px) {
  .single_page .gutenberg h3 {
    font-size: 18px;
    width: auto;
  }
}
.single_page .gutenberg figure.wp-block-image {
  max-width: 800px;
  margin: 0 auto 20px;
}
.single_page .gutenberg .wp-block-image.is-style-rounded img {
  border-radius: 20px;
}
.single_page .gutenberg strong {
  font-weight: bold;
  color: #e1344c;
}
.single_page .gutenberg p {
  margin: 0 auto;
}
.single_page .gutenberg p.u_line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff6a8), color-stop(0%, #fff6a8));
  background: linear-gradient(#fff6a8 50%, #fff6a8 0%);
}

/* BTN */
/* TEXT-LINK */
.t_link01 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 100%/var(--d, 0) 3px no-repeat;
  background: linear-gradient(currentColor 0 0) 0 100%/var(--d, 0) 3px no-repeat;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.t_link01:hover {
  --d: 100%;
}

.t_link02 {
  position: relative;
  display: inline-block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.t_link02::after {
  position: absolute;
  bottom: 0.3em;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #2ecc71;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.t_link02:hover::after {
  bottom: 0;
  opacity: 1;
}

.t_link03 {
  position: relative;
  display: inline-block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.t_link03::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 0;
  height: 1px;
  background-color: #2ecc71;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.t_link03:hover::after {
  width: 100%;
}

/* ------ */
/* アニメーション */
/* ------ */
/* アニメーション */
/* ------ */
/**
<div class="js-scroll-fall smooth_left">
文字が滑らかに表示される
</div>
**/
.smooth_left {
  clip-path: inset(0 100% 0 0);
  display: inline-block;
  /*font-size: 36px;*/
  /*font-weight: bold;*/
  -webkit-transition: 0.75s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.75s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: clip-path;
  transition-property: clip-path;
  /*line-height: 1;
   height: 40px;
   margin-top: 15px;*/
}
@media (max-width: 767px) {
  .smooth_left {
    -webkit-transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
    transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
  }
}
.smooth_left.delay {
  -webkit-transition: 1s 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1s 1s cubic-bezier(0.37, 0, 0.63, 1);
}

.smooth_left.is-animated {
  clip-path: inset(0);
}

.smooth_right {
  clip-path: inset(0 0 0 100%);
  display: inline-block;
  /*font-size: 36px;*/
  /*font-weight: bold;*/
  -webkit-transition: 0.75s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.75s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: clip-path;
  transition-property: clip-path;
  /*line-height: 1;
   height: 40px;
   margin-top: 15px;*/
}
@media (max-width: 767px) {
  .smooth_right {
    -webkit-transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
    transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
  }
}
.smooth_right.delay {
  -webkit-transition: 1s 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1s 1s cubic-bezier(0.37, 0, 0.63, 1);
}

.smooth_right.is-animated {
  clip-path: inset(0);
}

/*　animation: fadeleft 0.5s;*/
/* animation-fill-mode: forwards; */
/* ------ */
/*******************************
/* SWIPER ZOOM
*******************************/
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}
@-webkit-keyframes fadeleft {
  0% {
    opacity: 0;
    left: -70px;
  }
  85% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
@keyframes fadeleft {
  0% {
    opacity: 0;
    left: -70px;
  }
  85% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
@media (max-width: 767px) {
  @-webkit-keyframes fadeleft {
    0% {
      opacity: 0;
      top: -70px;
    }
    85% {
      opacity: 0.4;
    }
    100% {
      opacity: 1;
      top: 0;
    }
  }
  @keyframes fadeleft {
    0% {
      opacity: 0;
      top: -70px;
    }
    85% {
      opacity: 0.4;
    }
    100% {
      opacity: 1;
      top: 0;
    }
  }
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeup {
  0% {
    opacity: 0;
    -webkit-transform: translateY(60px);
            transform: translateY(60px);
  }
  30% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes fadeup {
  0% {
    opacity: 0;
    -webkit-transform: translateY(60px);
            transform: translateY(60px);
  }
  30% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
/******************************/
/* FLEX */
/******************************/
.flexbox_center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .flexbox_center {
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .flexbox_center li .btn01 a {
    margin-top: 0;
  }
}

.flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.flexbox.space-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.flexbox.cul2 li {
  width: calc((100% - 20px) / 2);
  margin-right: 20px;
  margin-top: 20px;
}
.flexbox.cul2 li:nth-child(1), .flexbox.cul2 li:nth-child(2) {
  margin-top: 0;
}
.flexbox.cul2 li:nth-child(2n) {
  margin-right: 0;
}
.flexbox.cul3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.flexbox.cul3 li {
  width: calc((100% - 40px) / 3);
  margin-right: 20px;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .flexbox.cul3 li {
    width: calc((100% - 20px) / 2);
  }
}
.flexbox.cul3 li:nth-child(1) {
  margin-top: 0;
}
.flexbox.cul3 li:nth-child(2) {
  margin-top: 0;
}
.flexbox.cul3 li:nth-child(3) {
  margin-top: 0;
}
@media (max-width: 767px) {
  .flexbox.cul3 li:nth-child(3) {
    margin-right: 20px;
    margin-top: 40px;
  }
}
.flexbox.cul3 li:nth-child(3n) {
  margin-right: 0;
}
@media (max-width: 767px) {
  .flexbox.cul3 li:nth-child(3n) {
    margin-right: auto;
  }
}
@media (max-width: 767px) {
  .flexbox.cul3 li:nth-child(2n) {
    margin-right: 0;
  }
}
.flexbox.cul4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.flexbox.cul4 li {
  width: calc((100% - 120px) / 4);
  margin-right: 40px;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .flexbox.cul4 li {
    width: calc((100% - 20px) / 2);
    margin-right: 20px;
  }
}
.flexbox.cul4 li:nth-child(1) {
  margin-top: 0;
}
.flexbox.cul4 li:nth-child(2) {
  margin-top: 0;
}
.flexbox.cul4 li:nth-child(3) {
  margin-top: 0;
}
@media (max-width: 767px) {
  .flexbox.cul4 li:nth-child(3) {
    margin-top: 40px;
  }
}
.flexbox.cul4 li:nth-child(4) {
  margin-top: 0;
}
@media (max-width: 767px) {
  .flexbox.cul4 li:nth-child(4) {
    margin-top: 40px;
  }
}
.flexbox.cul4 li:nth-child(4n) {
  margin-right: 0;
}
@media (max-width: 767px) {
  .flexbox.cul4 li:nth-child(2n) {
    margin-right: 0;
  }
}
.flexbox.cul4 li h4 {
  margin-bottom: 0;
  font-size: 14px;
}
@media (max-width: 767px) {
  .flexbox {
    display: block;
  }
  .flexbox .box {
    width: 100%;
  }
}

/******************************/
/* おしらせ */
/******************************/
/******************************/
/* サムネイル一覧 */
/******************************/
/******************************/
/* サムネイルなし一覧 */
/******************************/
.category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.category-list li {
  margin-right: 20px;
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  .category-list li {
    margin-right: 5px;
  }
}

.category-list li:last-child {
  margin-right: 0;
}

/*
.category-list li.active a{
  border: solid 1px #fec73a;
  background-color: #fec73a;
}
*/
.category-list li a {
  font-size: 12px;
  display: block;
  border: solid 1px #333;
  padding: 5px 20px;
  text-align: center;
  border-radius: 50px;
  background-color: #fff;
  color: #333;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  font-weight: bold;
}
@media (max-width: 767px) {
  .category-list li a {
    padding: 5px 10px;
  }
}
.category-list li a:hover {
  border: solid 1px #333;
  background-color: #333;
  color: #fff;
}

/*******************/
/*　メールフォーム　　　　　*/
/*******************/
.mail_form {
  max-width: 900px;
  margin: 0 auto;
}
.mail_form dl {
  background-color: #f3f7f8;
  padding: 20px 30px;
  margin-bottom: 10px;
}
.mail_form dl:last-child {
  margin-bottom: 0;
}
.mail_form dl dt {
  font-weight: normal;
  margin-bottom: 10px;
}
.mail_form dl dt span {
  background-color: #e1344c;
  color: #fff;
  font-size: 12px;
  border-radius: 50px;
  padding: 3px 10px;
  margin-right: 5px;
}
.mail_form dl dt span.nini {
  background-color: #666;
  color: #fff;
}
.mail_form .maiform__privacy {
  margin-top: 40px;
  overflow: auto;
  height: 300px;
}
.mail_form .maiform__privacy p {
  margin-bottom: 1em;
}

.privacy_chk {
  margin-top: 30px;
}

.submit_btn {
  margin: 60px auto 0;
  position: relative;
  max-width: 321px;
}
.submit_btn:before {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-size: 16px;
  position: absolute;
  margin: 0 auto;
  right: 15px;
  bottom: 53%;
  font-weight: bold;
}

/*******************/
/*　メールフォームタグ　　　　　*/
/*******************/
.wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.wpcf7-radio .wpcf7-list-item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 25%;
  margin: 0;
}

select,
textarea,
input[type=text],
input[type=date],
input[type=submit],
input[type=tel],
input[type=email] {
  width: 100%;
}

select,
textarea,
input[type=text],
input[type=date],
input[type=submit],
input[type=tel],
input[type=email] {
  border: solid 1px #ccc;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
select:focus-visible,
textarea:focus-visible,
input[type=text]:focus-visible,
input[type=date]:focus-visible,
input[type=submit]:focus-visible,
input[type=tel]:focus-visible,
input[type=email]:focus-visible {
  outline: none;
}

select,
textarea,
input[type=text],
input[type=date],
input[type=submit],
input[type=tel],
input[type=email] {
  padding: 12px 20px;
  border-radius: 4px;
  font-size: 16px;
  max-width: 100%;
  min-width: 100%;
}

input[type=submit] {
  max-width: 320px;
  border-radius: 100px;
  background-color: #f8f6f2;
  padding: 20.5px;
}

/* ---------- */
/* #アーカイブ */
/* ---------- */
.c_list .contents_wrap {
  max-width: 1000px;
}

/* ---------- */
/* プライバシーポリシー */
/* ---------- */
.privacy-policy dl.privacy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 30px;
}
.privacy-policy dl.privacy dt {
  width: 2em;
}
.privacy-policy dl.privacy dd {
  width: calc(100% - 2em);
}

/* ---------- */
/* 企業用ロゴサイズ */
/* ---------- */
.logo_area img {
  max-width: 90%;
  display: block;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .logo_area img {
    max-width: 75%;
  }
}

/*STICKY*/
.sticky_box {
  display: none;
}
@media screen and (max-width: 480px) {
  .sticky_box.is-none {
    display: none;
  }
  .sticky_box {
    display: block;
    height: auto;
    width: 100%;
    position: sticky;
    bottom: 0;
    left: 0;
    z-index: 3;
  }
  .sticky_box .sticky_ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #f7f7f7;
    padding: 0 5%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .sticky_box .sticky_ul li a {
    display: block;
    padding: 10px 0;
    text-align: center;
  }
}

/*固定バナー*/
.f-icon {
  display: block;
}
@media (max-width: 1024px) {
  .f-icon {
    display: none;
  }
}
.f-icon a {
  position: fixed;
  bottom: 20px;
  right: 30px;
  width: 175px;
  height: 175px;
  background-color: #fff;
  border-radius: 50%;
  z-index: 1120;
}
.f-icon a:hover .f-icon_content-img img {
  -webkit-transform: rotateZ(180deg);
          transform: rotateZ(180deg);
}
.f-icon a .f-icon_content-img {
  position: absolute;
  aspect-ratio: 1/1;
  top: 52.5%;
  left: 52.5%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}
.f-icon a .f-icon_content-img img {
  width: 95%;
  height: 95%;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: rotateZ(0deg);
          transform: rotateZ(0deg);
}
.f-icon a .f-icon_content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100px;
  text-align: center;
}
.f-icon a .f-icon_content p {
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 600;
  color: #109a27;
  text-align: center;
  font-style: italic;
}
.f-icon a .f-icon_content h3 {
  font-size: 20px;
  line-height: 1.45;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-align: center;
  margin-top: 7px;
}
.f-icon a .f-icon_content i {
  margin-left: auto;
  margin-right: auto;
  font-size: 22px;
}

/******************************/
/* #記事　目次　装飾 */
/******************************/
body #toc_container {
  padding: 0;
  width: 100%;
  border: 1px solid #18AE54;
}
body #toc_container .toc_toggle a {
  color: #fff;
}
body #toc_container p.toc_title {
  color: #fff;
  background-color: #18AE54;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body #toc_container p.toc_title + ul.toc_list {
  padding: 0 20px 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body #toc_container p.toc_title + ul.toc_list li {
  border-bottom: solid 2px #18AE54;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
body #toc_container p.toc_title + ul.toc_list li a {
  font-weight: bold;
  color: #18AE54;
}
body #toc_container p.toc_title + ul.toc_list li ul li {
  border: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
body #toc_container p.toc_title + ul.toc_list li ul li a {
  font-weight: normal;
  color: #333;
}
body #toc_container p.toc_title + ul.toc_list li ul li a span {
  color: #18AE54;
}
/*# sourceMappingURL=css_map/style.css.map */
