@charset "UTF-8";
/* ==========================================================================
   settings
========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@200..700&display=swap");
/* mediaquery
==========================================================*/
/* fontsize
==========================================================*/
/* icon
==========================================================*/
/*　dotted ------------------------------------------------

破線の間隔を調整
$color：色、$stripe:線幅、$spacing：破線の間隔, $height:高さ

==========================================================*/
/*　transition ------------------------------------------------

破線の間隔を調整
$speed：速度、$delay：開始時間

==========================================================*/
/* IEhack
==========================================================*/
/*
 * 機能：clamp関数の文字列を返す
 * 引数：$size-at-min-width サイズ(フォントサイズなど)の最小値(pxやremなどの単位は必須)
 * 　　　$size-at-max-width サイズ(フォントサイズなど)の最大値(pxやremなどの単位は必須)
 * 　　　$min-width [省略可]サイズが最小値に到達する画面幅
 * 　　　$max-width [省略可]サイズが最大値に到達する画面幅
 * 使用方法：
 *　　デフォルトの最小画面幅$min-width-defaultと最大画面幅$max-width-defaultを事前に指定しておく
 *　　最小幅と最大幅をデフォルト以外にしたい場合は、引数にそれぞれ単位付きの画面幅を入れる
 */
/* ==========================================================================
   foundation
========================================================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

h1, h2, h3, h4, h5, p, dl, dt, dd, ul, li, span {
  font-feature-settings: "palt" on;
}

/* ==========================================================================
   settings
========================================================================== */
:root {
  /*font*/
  --font-main:"Noto Sans JP", sans-serif;
  --font-main-en: "Montserrat", sans-serif;
  --font-main-num: "Oswald", sans-serif;
  /*color*/
  --color-main:#FEDD15;
  --color-accent01:#3B54AB;
  --color-accent02:#AB3B52;
  --color-black:#000;
  --color-white:#fff;
  --color-nav:#EFEFEF;
  --color-nav-hv:#E4E9F9;
  --color-danso:#00A7E9;
  --color-ltd:#008145;
  --color-term_ins:#B8292F;
  --color-insurance01:#EB8603;
  --color-insurance02:#D86A4D;
  --color-sompojapan:#C23D4D;
  --color-tokiomarine:#2480d6;
  --color-aioinissaydow:#354ac2;
  --color-btn01:#EFA600;
  --line-height:1.7;
  /*width / height */
  --contents-width: 1200px;
  --contents-width-under: 1000px;
  --header-height:80px;
  --mv-height:480px;
  --interview-height:680px;
  /**/
  --header-br:6px;
  /*　animation */
  --hover-tr:.3s ease;
}
@media screen and (max-width: 768px) {
  :root {
    --header-height:50px;
    /**/
    --header-br:4px;
  }
}

sup, sub {
  font-size: 65%;
}

.no_link {
  pointer-events: none !important;
}

.nav_no_link {
  pointer-events: none !important;
  opacity: 0.6;
}

html {
  color: var(--color-text);
  height: -webkit-fill-available;
}

body {
  font-family: var(--font-main);
  font-size: 160%;
  line-height: var(--line-height);
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  background-color: #fff;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

#main {
  display: block;
}

html {
  font-size: 62.5%;
}

.text_link {
  color: var(--color-link);
  text-decoration: underline;
}

.tel_link {
  pointer-events: none;
  cursor: none;
  color: #000;
}

.mv_area {
  aspect-ratio: 16/9;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.mv_area iframe {
  width: 100%;
  height: 100%;
}

a[href^="tel:"] {
  color: #000;
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .tel_link,
  a[href^="tel:"] {
    color: #018BB9;
    pointer-events: inherit;
    cursor: pointer;
    text-decoration: underline;
  }
}
rt {
  font-size: 0.6rem;
  font-weight: 400;
}

/* link
   ========================================================================== */
a {
  color: #000;
  text-decoration: none;
  text-underline-offset: 0.15em;
  word-break: break-all;
}

a:visited {
  text-decoration: none;
}

a:hover {
  color: #000;
  text-decoration: underline;
}

/* image
   ========================================================================== */
img {
  line-height: 1;
  vertical-align: bottom;
  height: auto;
}

table th img,
table td img {
  vertical-align: middle;
}

/* float
   ========================================================================== */
.fr {
  float: right;
}

.fl {
  float: left;
}

/* float
   ========================================================================== */
.pcbr,
.pc-only {
  display: block !important;
}

.tbbr {
  display: none !important;
}

.spbr,
.sp-only {
  display: none !important;
}

.mustbr {
  display: block !important;
}

@media screen and (max-width: 768px) {
  .pcbr,
  .pc-only {
    display: none !important;
  }
  .tbbr {
    display: none !important;
  }
  .spbr,
  .sp-only {
    display: block !important;
  }
}
/* margin
   ========================================================================== */
.mt0 {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

/* width
   ========================================================================== */
.w5 {
  width: 5%;
}

.w10 {
  width: 10%;
}

.w15 {
  width: 15%;
}

.w20 {
  width: 20%;
}

.w25 {
  width: 25%;
}

.w30 {
  width: 30%;
}

.w35 {
  width: 35%;
}

.w40 {
  width: 40%;
}

.w45 {
  width: 45%;
}

.w50 {
  width: 50%;
}

.w55 {
  width: 55%;
}

.w60 {
  width: 60%;
}

.w65 {
  width: 65%;
}

.w70 {
  width: 70%;
}

.w75 {
  width: 75%;
}

.w80 {
  width: 80%;
}

.w85 {
  width: 85%;
}

.w90 {
  width: 90%;
}

.w95 {
  width: 95%;
}

.w100 {
  width: 100%;
}

/* padding
   ========================================================================== */
.pt0 {
  padding-top: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

/* form label
   ========================================================================== */
input,
textarea,
label {
  vertical-align: middle;
}

/* position
   ========================================================================== */
.text_r,
.a_right {
  text-align: right !important;
}

.text_c,
table.text_c th,
table.text_c td,
table.th_c th,
.a_center,
.pc_center {
  text-align: center !important;
}

.text_l,
.a_left {
  text-align: left !important;
}

@media screen and (max-width: 768px) {
  .pc_center {
    text-align: left !important;
  }
}
/* img
   ========================================================================== */
img {
  max-width: 100%;
}

@font-face {
  font-family: "fontello";
  src: url("/assets/css/fonts/fontello.eot?97777879");
  src: url("/assets/css/fonts/fontello.eot?97777879#iefix") format("embedded-opentype"), url("/assets/css/fonts/fontello.woff2?97777879") format("woff2"), url("/assets/css/fonts/fontello.woff?97777879") format("woff"), url("/assets/css/fonts/fontello.ttf?97777879") format("truetype"), url("/assets/css/fonts/fontello.svg?97777879#fontello") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('./fonts/fontello.svg?97777879#fontello') format('svg');
  }
}
*/
[class^=icon-]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: 0.2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-down:before {
  content: "\e800";
} /* '' */
.icon-popup:before {
  content: "\e801";
} /* '' */
.icon-left:before {
  content: "\e802";
} /* '' */
.icon-right:before {
  content: "\e803";
} /* '' */
.icon-up:before {
  content: "\e804";
} /* '' */
.icon-book-open:before {
  content: "\e805";
} /* '' */
.icon-attention:before {
  content: "\e806";
} /* '' */
.icon-ok:before {
  content: "\e807";
} /* '' */
.icon-attention-circled:before {
  content: "\e808";
} /* '' */
.icon-icon_arrow01:before {
  content: "\e814";
} /* '' */
.icon-icon_plus:before {
  content: "\e816";
} /* '' */
.icon-icon_minus:before {
  content: "\e817";
} /* '' */
.icon-right2:before {
  content: "\e815";
} /* '' */
.icon-left2:before {
  content: "\e819";
} /* '' */
.icon-down2:before {
  content: "\e81b";
} /* '' */
.icon-up2:before {
  content: "\e81c";
} /* '' */
.icon-location:before {
  content: "\f031";
} /* '' */
.icon-file-pdf:before {
  content: "\f1c1";
} /* '' */
.icon-file-word:before {
  content: "\f1c2";
} /* '' */
.icon-file-excel:before {
  content: "\f1c3";
} /* '' */
.icon-file-powerpoint:before {
  content: "\f1c4";
} /* '' */
.icon-file-image:before {
  content: "\f1c5";
} /* '' */
/* ==========================================================================
   settings
========================================================================== */
@keyframes scroll-anim {
  100% {
    background-position: -3907px 0;
  }
}
@keyframes wave-text {
  0% {
    transform: translateY(0em);
  }
  30% {
    transform: translateY(0em);
  }
  60% {
    transform: translateY(-0.8em);
  }
  100% {
    transform: translateY(0em);
  }
}
@keyframes bright01 {
  0% {
    opacity: 0;
    width: 20%;
    filter: brightness(100%), saturate(100%);
  }
  20% {
    opacity: 1;
    width: 80%;
    filter: brightness(200%), saturate(0%);
  }
  100% {
    opacity: 0;
    width: 100%;
    filter: brightness(100%), saturate(100%);
  }
}
@keyframes bright02 {
  0% {
    display: block;
    opacity: 0;
    transform: rotate(0deg) translateX(0);
    filter: brightness(100%);
  }
  40% {
    opacity: 1;
    filter: brightness(200%);
  }
  99% {
    opacity: 0;
    transform: rotate(80deg) translateX(-15vw);
    filter: brightness(100%);
  }
  100% {
    display: none;
  }
}
@keyframes bright01_sp {
  0% {
    opacity: 0;
    width: 20%;
    filter: brightness(100%), saturate(100%);
  }
  18% {
    opacity: 1;
    width: 200%;
    filter: brightness(200%), saturate(0%);
  }
  100% {
    opacity: 0;
    width: 230%;
    filter: brightness(100%), saturate(100%);
  }
}
@keyframes bright02_sp {
  0% {
    display: block;
    opacity: 0;
    transform: rotate(0deg) translateX(0);
    filter: brightness(100%);
  }
  40% {
    opacity: 1;
    filter: brightness(200%);
  }
  99% {
    opacity: 0;
    transform: rotate(20deg) translateX(-105vw);
    filter: brightness(100%);
  }
  100% {
    display: none;
  }
}
@keyframes floatup {
  0% {
    -webkit-transform: translate(0, 1%);
    transform: translate(0, 1%);
  }
  50% {
    -webkit-transform: translate(0, 7%);
    transform: translate(0, 7%);
  }
  100% {
    -webkit-transform: translate(0, 1%);
    transform: translate(0, 1%);
  }
}
@keyframes mochimochi {
  30% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1, 0.8);
  }
  60% {
    transform: scale(0.8, 1.1);
  }
  80% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes gradient {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: -1600px 0%;
  }
}
@keyframes shine {
  0% {
    left: -100%;
  }
  50% {
    left: 0%;
  }
  100% {
    left: 200%;
  }
}
@keyframes scale-easeOutElastic {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  16% {
    transform: scale(-0.32);
  }
  28% {
    transform: scale(0.13);
  }
  44% {
    transform: scale(-0.05);
  }
  59% {
    transform: scale(0.02);
  }
  73% {
    transform: scale(-0.01);
  }
  88% {
    transform: scale(0);
  }
  100% {
    opacity: 1;
    transform: scale(0);
  }
}
@keyframes reflection {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
    filter: blur(1px);
  }
  10% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
    filter: blur(1px);
  }
  11% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
    filter: blur(0px);
  }
  30% {
    transform: scale(150) rotate(45deg);
    opacity: 0;
    filter: blur(0.5px);
  }
  100% {
    transform: scale(150) rotate(45deg);
    opacity: 0;
  }
}
@-webkit-keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
@keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
.js-scTrigger.up {
  opacity: 0;
  transform: translate3d(0, 50px, 0);
}

.js-scTrigger.down {
  opacity: 0;
  transform: translate3d(0, -50px, 0);
}

.js-scTrigger.scale {
  opacity: 0;
  transform: scale(0);
}

.js-scTrigger.up.viewed,
.js-scTrigger.down.viewed {
  opacity: 1 !important;
  transform: translateZ(0) !important;
  transition: 0.6s ease-out;
}

.js-scTrigger.scale.viewed {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.js-scTrigger-block > * {
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: transform 1.2s cubic-bezier(0.14, 1, 0.34, 1), opacity 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.js-scTrigger-block.left > * {
  opacity: 0;
  transform: translate3d(-100px, 0, 0);
  transition: transform 1.2s cubic-bezier(0.14, 1, 0.34, 1), opacity 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.js-scTrigger-block.scale > * {
  opacity: 0;
  transform: scale(0);
  transition: transform 1.2s cubic-bezier(0.14, 1, 0.34, 1), opacity 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.js-scTrigger-block.viewed > * {
  opacity: 1;
  transform: translateZ(0);
}

.js-scTrigger-block.scale.viewed > * {
  opacity: 1;
  transform: scale(1);
}

.js-scTrigger-block > *:nth-child(0) {
  transition-delay: 0s;
}
.js-scTrigger-block > *:nth-child(1) {
  transition-delay: 0s !important;
}
.js-scTrigger-block > *:nth-child(2) {
  transition-delay: 0.08s !important;
}
.js-scTrigger-block > *:nth-child(3) {
  transition-delay: 0.16s !important;
}
.js-scTrigger-block > *:nth-child(4) {
  transition-delay: 0.24s !important;
}
.js-scTrigger-block > *:nth-child(5) {
  transition-delay: 0.32s !important;
}
.js-scTrigger-block > *:nth-child(6) {
  transition-delay: 0.4s !important;
}
.js-scTrigger-block > *:nth-child(7) {
  transition-delay: 0.48s !important;
}
.js-scTrigger-block > *:nth-child(8) {
  transition-delay: 0.56s !important;
}
.js-scTrigger-block > *:nth-child(9) {
  transition-delay: 0.64s !important;
}
.js-scTrigger-block > *:nth-child(10) {
  transition-delay: 0.72s !important;
}
.js-scTrigger-block > *:nth-child(11) {
  transition-delay: 0.8s !important;
}
.js-scTrigger-block > *:nth-child(12) {
  transition-delay: 0.88s !important;
}
.js-scTrigger-block > *:nth-child(13) {
  transition-delay: 0.96s !important;
}
.js-scTrigger-block > *:nth-child(14) {
  transition-delay: 1.04s !important;
}
.js-scTrigger-block > *:nth-child(15) {
  transition-delay: 1.12s !important;
}
.js-scTrigger-block > *:nth-child(16) {
  transition-delay: 1.2s !important;
}
.js-scTrigger-block > *:nth-child(17) {
  transition-delay: 1.28s !important;
}
.js-scTrigger-block > *:nth-child(18) {
  transition-delay: 1.36s !important;
}
.js-scTrigger-block > *:nth-child(19) {
  transition-delay: 1.44s !important;
}
.js-scTrigger-block > *:nth-child(20) {
  transition-delay: 1.52s !important;
}
.js-scTrigger-block > *:nth-child(21) {
  transition-delay: 1.6s !important;
}
.js-scTrigger-block > *:nth-child(22) {
  transition-delay: 1.68s !important;
}
.js-scTrigger-block > *:nth-child(23) {
  transition-delay: 1.76s !important;
}
.js-scTrigger-block > *:nth-child(24) {
  transition-delay: 1.84s !important;
}
.js-scTrigger-block > *:nth-child(25) {
  transition-delay: 1.92s !important;
}
.js-scTrigger-block > *:nth-child(26) {
  transition-delay: 2s !important;
}
.js-scTrigger-block > *:nth-child(27) {
  transition-delay: 2.08s !important;
}
.js-scTrigger-block > *:nth-child(28) {
  transition-delay: 2.16s !important;
}
.js-scTrigger-block > *:nth-child(29) {
  transition-delay: 2.24s !important;
}
.js-scTrigger-block > *:nth-child(30) {
  transition-delay: 2.32s !important;
}
.js-scTrigger-block > *:nth-child(31) {
  transition-delay: 2.4s !important;
}
.js-scTrigger-block > *:nth-child(32) {
  transition-delay: 2.48s !important;
}
.js-scTrigger-block > *:nth-child(33) {
  transition-delay: 2.56s !important;
}
.js-scTrigger-block > *:nth-child(34) {
  transition-delay: 2.64s !important;
}
.js-scTrigger-block > *:nth-child(35) {
  transition-delay: 2.72s !important;
}
.js-scTrigger-block > *:nth-child(36) {
  transition-delay: 2.8s !important;
}
.js-scTrigger-block > *:nth-child(37) {
  transition-delay: 2.88s !important;
}
.js-scTrigger-block > *:nth-child(38) {
  transition-delay: 2.96s !important;
}
.js-scTrigger-block > *:nth-child(39) {
  transition-delay: 3.04s !important;
}
.js-scTrigger-block > *:nth-child(40) {
  transition-delay: 3.12s !important;
}
.js-scTrigger-block > *:nth-child(41) {
  transition-delay: 3.2s !important;
}
.js-scTrigger-block > *:nth-child(42) {
  transition-delay: 3.28s !important;
}
.js-scTrigger-block > *:nth-child(43) {
  transition-delay: 3.36s !important;
}
.js-scTrigger-block > *:nth-child(44) {
  transition-delay: 3.44s !important;
}
.js-scTrigger-block > *:nth-child(45) {
  transition-delay: 3.52s !important;
}
.js-scTrigger-block > *:nth-child(46) {
  transition-delay: 3.6s !important;
}
.js-scTrigger-block > *:nth-child(47) {
  transition-delay: 3.68s !important;
}
.js-scTrigger-block > *:nth-child(48) {
  transition-delay: 3.76s !important;
}
.js-scTrigger-block > *:nth-child(49) {
  transition-delay: 3.84s !important;
}
.js-scTrigger-block > *:nth-child(50) {
  transition-delay: 3.92s !important;
}
.js-scTrigger-block > *:nth-child(51) {
  transition-delay: 4s !important;
}

.js-scTrigger-block.no-delay > * {
  transition-delay: 0s !important;
}

#page_tlt_area h1 {
  overflow: hidden;
}
#page_tlt_area h1 span {
  display: block;
  transform: translateY(120%);
}
#page_tlt_area h1 + p {
  opacity: 0;
}
.wf-active #page_tlt_area h1 span {
  transform: translateY(0%);
  transition: transform 1.2s cubic-bezier(0.33, 1, 0.68, 1);
}
.wf-active #page_tlt_area h1 + p {
  opacity: 1;
  transition: opacity 1.2s cubic-bezier(0.33, 1, 0.68, 1);
  transition-delay: 0.5s;
}

@media screen and (min-width: 769px) {
  .animation {
    opacity: 0;
    transform: translate3d(0, 100px, 0);
  }
  .animation.viewed {
    opacity: 1 !important;
    transform: translateZ(0) !important;
    transition-property: transform, opacity;
    transition: transform 1.5s cubic-bezier(0.14, 1, 0.34, 1), opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
@keyframes slideRight {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(10vw);
  }
}
@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes starflash {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes starflash02 {
  0% {
    opacity: 0.8;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.8;
  }
}
@keyframes light01 {
  0% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.3;
  }
}
/* ==========================================================================
   Layout
========================================================================== */
/* ==========================================================================
   settings
========================================================================== */
#pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99;
  transition: 0.4s ease-out;
  opacity: 0;
  transform: translateY(100%);
  pointer-events: none;
}
#pagetop:hover {
  opacity: 0.6 !important;
}
#pagetop.scrolled {
  pointer-events: all;
  transform: translateY(0);
  opacity: 1;
}

#entry_bnr {
  position: fixed;
  bottom: 300px;
  right: 0px;
  width: 172px;
}
#entry_bnr p {
  margin-top: 15px;
}
#entry_bnr a {
  display: block;
  padding: 10px;
  background-color: #c92222;
  color: #fff;
  border-radius: 8px 0 0 8px;
  text-align: center;
  transition: all 0.4s;
}
#entry_bnr a:hover {
  background-color: #faabab;
  color: #c92222;
  text-decoration: none;
}

#floating_bnr {
  position: fixed;
  bottom: 90px;
  right: 0px;
  background-color: #fff;
  border-radius: 8px 0 0 8px;
  box-sizing: border-box;
  padding: 10px 0 10px 10px;
  width: 172px;
  transform: translateX(5px);
  z-index: 99;
}
#floating_bnr ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#floating_bnr ul li {
  overflow: hidden;
  border-radius: 6px;
}
#floating_bnr ul li a {
  transition: 0.3s ease;
}
#floating_bnr ul li a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  #pagetop {
    position: fixed;
    bottom: 100px;
    right: 20px;
    z-index: 99;
    width: 40px;
  }
  #entry_bnr {
    display: none;
  }
  #floating_bnr {
    width: 89%;
    max-width: 355px;
    position: fixed;
    bottom: 0px;
    right: 20px;
    background-color: #fff;
    border-radius: 8px 8px 0 0;
    box-sizing: border-box;
    padding: 10px 10px 0 10px;
    transform: translateX(0);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    z-index: 99;
  }
  #floating_bnr ul {
    display: flex;
    flex-direction: row;
    gap: 10px;
  }
  #floating_bnr ul li {
    overflow: hidden;
    border-radius: 0;
  }
}
/* ==========================================================================
   settings
========================================================================== */
header {
  padding: 0 clamp(20px, -124px + 16vw, 100px);
  position: relative;
}
header > .inner {
  max-width: var(--contents-width);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
}
header > .inner #site_logo {
  max-width: 231px;
  width: 20%;
  min-width: 165px;
}
header > .inner #gnav {
  display: flex;
  gap: 10px;
}
header > .inner #gnav > li {
  padding: 40px 0;
}
header > .inner #gnav > li > a {
  display: flex;
  align-items: center;
  background-color: var(--color-nav);
  border-radius: clamp(4px, -3.2px + 0.8vw, 8px);
  transition: background-color 0.3s ease;
  text-decoration: none;
  font-size: clamp(12px, 3px + 1vw, 17px);
  height: clamp(42px, 16.8px + 2.8vw, 56px);
  padding: 0 clamp(8px, -10px + 2vw, 18px);
}
header > .inner #gnav > li > a:hover {
  background-color: var(--color-nav-hv);
}
header > .inner #gnav > li.second_menu > a {
  position: relative;
}
header > .inner #gnav > li.second_menu > a::after {
  content: "\e800";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4px;
  margin: auto;
  line-height: 1;
  font-size: 10px;
  color: var(--color-accent01);
}
header > .inner #gnav > li.second_menu:hover .megamenu {
  visibility: visible;
  pointer-events: all;
  opacity: 1;
  transform: translateY(0px);
}
header > .inner #gnav .megamenu {
  pointer-events: none;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  padding: 0 clamp(20px, -124px + 16vw, 100px);
  position: absolute;
  top: 90%;
  transform: translateY(20px);
  left: 0;
  transition: all 0.3s ease-in;
  z-index: 999;
  box-sizing: border-box;
  border-top: 1px solid #D6DEFB;
  border-bottom: 1px solid #D6DEFB;
  box-shadow: 0 0 10px rgb(214, 222, 251);
}
header > .inner #gnav .megamenu .inner {
  max-width: var(--contents-width);
  margin: 0 auto;
  gap: 15px;
  padding: 52px 0;
}
header > .inner #gnav .megamenu .original_insurance {
  display: flex;
  gap: 20px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 2px solid var(--color-accent01);
}
header > .inner #gnav .megamenu .original_insurance li {
  flex: 0 0 calc((100% - 40px) / 3);
}
header > .inner #gnav .megamenu .original_insurance li a {
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none;
}
header > .inner #gnav .megamenu .original_insurance li a .img {
  max-width: 150px;
  width: 40%;
}
header > .inner #gnav .megamenu .original_insurance li a span {
  font-size: clamp(15px, 6px + 1vw, 20px);
}
header > .inner #gnav .megamenu .original_insurance li a span::before {
  content: "\e814";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-right: 10px;
}
header > .inner #gnav .megamenu .original_insurance li.danso span::before {
  color: var(--color-danso);
}
header > .inner #gnav .megamenu .original_insurance li.danso a:hover span {
  color: var(--color-danso);
}
header > .inner #gnav .megamenu .original_insurance li.ltd span::before {
  color: var(--color-ltd);
}
header > .inner #gnav .megamenu .original_insurance li.ltd a:hover span {
  color: var(--color-ltd);
}
header > .inner #gnav .megamenu .original_insurance li.term_ins span::before {
  color: var(--color-term_ins);
}
header > .inner #gnav .megamenu .original_insurance li.term_ins a:hover span {
  color: var(--color-term_ins);
}
header > .inner #gnav .megamenu .lists {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 20px;
}
header > .inner #gnav .megamenu .lists li {
  flex: 0 0 calc((100% - 60px) / 4);
}
header > .inner #gnav .megamenu .lists li a {
  text-decoration: none;
  font-size: clamp(12px, 4.8px + 0.8vw, 16px);
}
header > .inner #gnav .megamenu .lists li a:hover {
  color: var(--color-accent01);
}
header > .inner #gnav .megamenu .lists li a::before {
  content: "\e814";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  padding-right: 6px;
  color: var(--color-accent01);
}

@media screen and (max-width: 768px) {
  header > .inner {
    padding: 20px 0;
  }
  header > .inner #gnav {
    display: none;
  }
  header > .inner #hamburger {
    display: block;
  }
}
/* ==========================================================================
   settings
========================================================================== */
footer .footer_nav01 {
  background-color: #F8F8F8;
  padding: 0 clamp(20px, -124px + 16vw, 100px);
}
footer .footer_nav01 .inner {
  max-width: var(--contents-width);
  margin: 0 auto;
  padding: 30px 0;
}
footer .footer_nav01 .inner ul {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
footer .footer_nav01 .inner ul li {
  border-right: 1px dashed #707070;
  padding-right: 15px;
  line-height: 1;
  font-size: clamp(10px, 2.8px + 0.8vw, 14px);
}
footer .footer_nav01 .inner ul li:last-child {
  border-right: none;
}
footer .footer_nav02 {
  background-color: var(--color-accent01);
  padding: 0 clamp(20px, -124px + 16vw, 100px);
}
footer .footer_nav02 .inner {
  max-width: var(--contents-width);
  margin: 0 auto;
  padding: 30px 0;
}
footer .footer_nav02 .inner ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  border-bottom: 1px solid #fff;
  padding-bottom: 30px;
}
footer .footer_nav02 .inner ul li {
  border-right: 1px dashed #fff;
  padding-right: 15px;
  line-height: 1;
  font-size: clamp(8px, -1px + 1vw, 13px);
}
footer .footer_nav02 .inner ul li a {
  color: #fff;
}
footer .footer_nav02 .inner ul li:last-child {
  border-right: none;
}
footer .footer_nav02 .inner #copyright {
  text-align: center;
  padding: 30px 0 0;
  color: #fff;
  line-height: 1;
  font-size: clamp(8px, -1px + 1vw, 13px);
}

@media screen and (max-width: 768px) {
  footer .footer_nav01 {
    background-color: #F8F8F8;
  }
  footer .footer_nav01 .inner {
    max-width: var(--contents-width);
    margin: 0 auto;
    padding: 20px 0;
  }
  footer .footer_nav01 .inner ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  footer .footer_nav01 .inner ul li {
    border-right: none;
    padding-right: 0;
    line-height: 1.4;
    font-size: clamp(13px, 9.4px + 0.4vw, 15px);
  }
  footer .footer_nav01 .inner ul li:last-child {
    border-right: none;
  }
  footer .footer_nav01 .inner ul li a {
    text-decoration: none;
    display: flex;
    gap: 5px;
  }
  footer .footer_nav01 .inner ul li a::before {
    content: "\e803";
    font-family: "fontello", serif;
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    text-align: center;
    font-size: 70%;
    transform: translateY(0.35em);
  }
  footer .footer_nav02 {
    padding: 0;
    background-color: var(--color-accent01);
  }
  footer .footer_nav02 .inner {
    max-width: var(--contents-width);
    margin: 0 clamp(20px, -23.478px + 10.87vw, 60px) 60px;
    padding: 30px 0 120px;
  }
  footer .footer_nav02 .inner ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 15px;
  }
  footer .footer_nav02 .inner ul li {
    flex: 0 0 calc((100% - 20px) / 2);
    border-right: none;
    padding-right: 0;
    line-height: 1.4;
    font-size: clamp(13px, 9.4px + 0.4vw, 15px);
  }
  footer .footer_nav02 .inner ul li:last-child {
    border-right: none;
  }
  footer .footer_nav02 .inner ul li a {
    text-decoration: none;
    display: flex;
    gap: 5px;
  }
  footer .footer_nav02 .inner ul li a::before {
    content: "\e803";
    font-family: "fontello", serif;
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    text-align: center;
    font-size: 70%;
    transform: translateY(0.35em);
  }
  footer .footer_nav02 .inner #copyright {
    text-align: center;
    padding: 30px 0 0;
    color: #fff;
    line-height: 1;
    font-size: clamp(13px, 9.4px + 0.4vw, 15px);
  }
  .window footer .footer_nav02 .inner {
    padding: 30px 0;
  }
}
.img-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9999;
}

.img-modal.is-open {
  display: block;
}

.img-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  border: 0;
  padding: 0;
  margin: 0;
}

.img-modal__panel {
  position: relative;
  max-width: min(92vw, 900px);
  max-height: 86vh;
  margin: 7vh auto 0;
  background: #111;
  border-radius: 12px;
  padding: 12px;
}

.img-modal__img {
  width: 100%;
  height: auto;
  max-height: calc(86vh - 24px);
  object-fit: contain;
  display: block;
}

.img-modal__close {
  position: absolute;
  bottom: -25px;
  right: 10px;
  font-size: 26px;
  background: transparent;
  color: #fff;
  border: 0;
  cursor: pointer;
}

/* ==========================================================================
   settings
========================================================================== */
#loader {
  z-index: 999;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
}
#loader .anime {
  display: none;
}

#floating_bnr, #entry_bnr {
  transform: translateX(100%);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  transition: transform 0.6s ease-out, box-shadow 0.6s ease-out;
}
@media screen and (max-width: 768px) {
  #floating_bnr, #entry_bnr {
    transform: translateY(100%);
  }
}

.fv_content {
  opacity: 0;
  transform: translateY(50px);
}

.loading_comp #loader {
  display: none;
}
.loading_comp #floating_bnr, .loading_comp #entry_bnr {
  transform: translateX(5px);
  transition-delay: 0.6s;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .loading_comp #floating_bnr, .loading_comp #entry_bnr {
    transform: translateY(0%);
  }
}
.loading_comp #entry_bnr {
  box-shadow: none;
}
.loading_comp .fv_content {
  opacity: 1;
  transform: translateY(0);
  transition: 0.6s ease-out;
}

/* component
-------------------------------------------------------------------------- */
/* ==========================================================================
   settings
========================================================================== */
#contents_nav {
  height: 100svh;
  min-height: 100svh;
  top: 0;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 100;
  transition: all 0.3s ease-in;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}
#contents_nav .contents_nav_mask {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  left: 0;
  top: 0;
}
#contents_nav .contents_nav_inner {
  transform: translateX(100%);
  position: absolute;
  height: 100vh;
  height: 100svh;
  width: 85%;
  right: 0;
  transition: all 0.5s ease;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: scroll;
  background-color: var(--color-white);
  z-index: 2;
}
#contents_nav .contents_nav_inner::-webkit-scrollbar {
  width: 12px;
}
#contents_nav .contents_nav_inner::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 6px;
  border-right: 3px solid transparent;
  border-left: 3px solid transparent;
  background-clip: padding-box;
}
#contents_nav .contents_nav_inner::-webkit-scrollbar-track {
  margin-top: 4px;
  margin-bottom: 4px;
}
#contents_nav .contents_nav_inner {
  padding-top: 75px;
  padding-left: clamp(20px, -1.739px + 5.435vw, 40px);
  padding-right: 10px;
}
#contents_nav #slide_nav > li {
  border-bottom: 1px solid #BABABA;
}
#contents_nav #slide_nav > li > a {
  font-size: clamp(14px, 11.826px + 0.543vw, 16px);
  padding: clamp(15px, -1.304px + 4.076vw, 30px) 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  color: #000;
}
#contents_nav #slide_nav > li > a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-size: 200%;
  color: var(--color-accent01);
}
#contents_nav #slide_nav > li button {
  width: 100%;
  font-size: clamp(14px, 11.826px + 0.543vw, 16px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  padding: clamp(25px, 19.565px + 1.359vw, 30px) 0;
  font-family: var(--font-main);
  color: #000;
  text-decoration: none;
  background: none;
  border: none;
  -webkit-appearance: none;
  appearance: none;
}
#contents_nav #slide_nav > li button::after {
  content: "\e816";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-size: 100%;
  color: var(--color-accent01);
  margin-right: 8px;
}
#contents_nav #slide_nav > li .ac_menu {
  background-color: rgba(59, 84, 171, 0.15);
  margin-bottom: clamp(15px, -1.304px + 4.076vw, 30px);
  display: none;
}
#contents_nav #slide_nav > li .ac_menu > p {
  background-color: #C8CFE9;
  padding: 15px;
}
#contents_nav #slide_nav > li .ac_menu > p a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
#contents_nav #slide_nav > li .ac_menu > p a::before {
  content: "\e814";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  color: var(--color-accent01);
  font-size: 18px;
}
#contents_nav #slide_nav > li .ac_menu .original_insurance {
  padding: 15px 15px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#contents_nav #slide_nav > li .ac_menu .original_insurance li a {
  display: flex;
  align-items: center;
  gap: 15px;
  text-decoration: none;
  position: relative;
  color: var(--color-accent01);
}
#contents_nav #slide_nav > li .ac_menu .original_insurance li a::before {
  content: "\e814";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  color: #fff;
  font-size: 18px;
  z-index: 10;
}
#contents_nav #slide_nav > li .ac_menu .original_insurance li a::after {
  content: "";
  background-color: var(--color-accent01);
  position: absolute;
  left: 2px;
  top: 0;
  bottom: 0;
  width: 15px;
  height: 15px;
  margin: auto;
  border-radius: 100%;
}
#contents_nav #slide_nav > li .ac_menu .lists {
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#contents_nav #slide_nav > li .ac_menu .lists li a {
  display: flex;
  align-items: center;
  gap: 15px;
  text-decoration: none;
  position: relative;
  color: #000;
}
#contents_nav #slide_nav > li .ac_menu .lists li a::before {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  color: var(--color-accent01);
  font-size: 18px;
  z-index: 10;
}
#contents_nav #slide_nav > li._open button::after {
  content: "\e817";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
}
#contents_nav #slide_nav > li._open .ac_menu {
  display: block;
}

._open #contents_nav {
  pointer-events: all;
  opacity: 1;
  visibility: visible;
}
._open #contents_nav .contents_nav_inner {
  transform: translateX(0);
  transition-delay: 0.3s;
}

/* ==========================================================================
   settings
========================================================================== */
#hamburger {
  display: none;
  position: fixed;
  top: 10px;
  right: 20px;
  z-index: 9999;
}
#hamburger button {
  transition: all 0.4s;
  background: var(--color-accent01);
  cursor: pointer;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 50px;
  aspect-ratio: 1/1;
  font-size: 10px;
  color: #fff;
  gap: 4px;
}
#hamburger .icon {
  display: block;
  position: relative;
  width: 20px;
  aspect-ratio: 1/1;
}
#hamburger .icon .line {
  background: #fff;
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  width: 100%;
  top: 0;
  bottom: 0;
  margin: auto;
}
#hamburger .icon .line:nth-of-type(1) {
  transform: translateY(-6px);
}
#hamburger .icon .line:nth-of-type(3) {
  transform: translateY(6px);
}

._open #hamburger .line:nth-of-type(1) {
  transform: translateY(0px) rotate(-135deg);
}
._open #hamburger .line:nth-of-type(2) {
  opacity: 0;
}
._open #hamburger .line:nth-of-type(3) {
  transform: translateY(0px) rotate(135deg);
}

/* ==========================================================================
   settings
========================================================================== */
/* breadcrumb */
.breadcrumb {
  padding: 10px 0;
  border-top: 1px solid #EFEFEF;
  border-bottom: 1px solid #EFEFEF;
}
.breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
  max-width: var(--contents-width);
  margin: auto;
  padding: 0 clamp(20px, -124px + 16vw, 100px);
}
.breadcrumb ul li {
  position: relative;
  margin-left: 15px;
  padding-right: 25px;
  font-size: 12px;
}
.breadcrumb ul li:first-child {
  margin-left: 0;
}
.breadcrumb ul li:not(:last-child)::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  font-size: 100%;
  color: var(--color-accent01);
}

.under main {
  padding-bottom: 90px;
}
.under.window main {
  padding-bottom: 0;
}
main div + p, main ul + p, main ol + p, main table + p {
  margin-top: 20px;
}
main {
  /* box style */
}
main .sec_box {
  width: 96%;
  max-width: var(--contents-width-under);
  margin: auto;
  margin-bottom: 60px;
  box-sizing: content-box;
}
main .sec_box p {
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  main .sec_box {
    width: 90%;
  }
}
main .sec_box .sec_inbox {
  margin-bottom: 40px;
}
main .sec_box .sec_inbox:last-child {
  margin-bottom: 0;
}
main .flex_box {
  display: flex;
}
main .flex_box .img_fit {
  width: 100%;
}
main .flex_box.jc_sa {
  justify-content: space-around;
}
main .flex_box.jc_sb {
  justify-content: space-between;
}
main .flex_box.column2 {
  justify-content: space-between;
}
main .flex_box.column2 > div,
main .flex_box.column2 > dl {
  width: calc((100% - 60px) / 2);
}
main .flex_box.column3 > div {
  width: calc((100% - 60px) / 3);
}
@media screen and (max-width: 768px) {
  main .flex_box {
    display: block;
  }
  main .flex_box.column2 > div, main .flex_box.column3 > div {
    width: 100%;
  }
}
main .float_box {
  overflow: hidden;
}
main .float_box .right {
  float: right;
}
main .float_box .left {
  float: left;
}
main .grid_box {
  display: grid;
}
main .grid_box.column2 {
  grid-template-columns: repeat(2, 1fr);
  column-gap: 30px;
  row-gap: 1em;
}
main .grid_box.column3 {
  grid-template-columns: repeat(3, 1fr);
  column-gap: 30px;
  row-gap: 1em;
}
main .notes_box {
  padding: 35px 30px;
  background-color: #F8F8F8;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  main .notes_box {
    padding: 20px;
  }
}
main .txt_notes {
  margin-top: 15px;
  padding-left: 1.5em;
  text-indent: -1.5em;
  font-size: 12px;
  line-height: 1.6;
}
main .txt_notes_bdr {
  width: fit-content;
  margin: auto;
  margin-top: 15px;
  padding: 5px 10px 5px 2em;
  text-indent: -1em;
  border: 1px solid #FF8465;
  font-size: 12px;
  line-height: 1.6;
}
main .notes_right {
  text-align: right;
  font-size: 12px;
  line-height: 1.6;
}
main .txt_idt01 {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
main .link_box {
  max-width: var(--contents-width-under);
  margin: auto;
}
main .bgbox_be {
  padding: clamp(15px, -12px + 3vw, 30px);
  background-color: #F7F5EB;
}
main .bgbox_be p:last-child {
  margin-bottom: 0;
}
main .bgbox_bl {
  padding: 30px;
  background-color: #EFF1F9;
}
main .bg_gray,
main tr.bg_gray td {
  background-color: #F5F5F5;
}
main .box_strong {
  padding: 20px;
  border: 1px solid #777;
  font-weight: 700;
}
main .box_bdr_red {
  padding: 20px;
  border: 1px solid #D40000;
}
main .box_explanation {
  padding: 20px;
  background-color: #F7F5EB;
}
main .box_explanation .exp_tit {
  margin-bottom: 15px;
  font-size: clamp(18px, 14.4px + 0.4vw, 20px);
}
main .box_explanation .exp_tit::before {
  content: "●";
  display: inline-block;
  margin-right: 5px;
  color: var(--color-accent01);
}
main {
  /* link style */
}
main a[target=_blank]:not(:has(img))::after,
main .link_blank::after {
  content: "\e801";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 6px;
  color: var(--color-accent01);
  text-decoration: none;
  text-indent: initial;
  font-size: 100% !important;
}
main .pdf_link::after {
  content: "\f1c1";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 6px;
  color: var(--color-accent01);
  text-decoration: none;
  text-indent: initial;
}
main .gmap_link {
  display: inline-block;
  margin-bottom: 0 !important;
}
main .gmap_link a {
  position: relative;
  display: block;
  padding: 2px 10px 2px 25px;
  background-color: #EBEDF7;
  border-radius: 4px;
  color: var(--color-accent01) !important;
  font-size: 14px;
  text-decoration: none !important;
}
main .gmap_link a::after {
  content: "\f031";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 10px;
  font-size: 100%;
  color: var(--color-accent01);
}
@media screen and (max-width: 768px) {
  main .gmap_link {
    display: block;
    max-width: 200px;
    margin-top: 10px;
  }
  main .gmap_link a {
    padding: 5px 10px 5px 25px;
    text-align: center;
  }
}
main .link_txt,
main .link_blank {
  text-decoration: underline;
  color: #018BB9;
}
main .link_txt:hover,
main .link_blank:hover {
  text-decoration: none;
}
main a[target=_blank].link_txt_pdf {
  text-decoration: underline;
  color: #018BB9;
}
main a[target=_blank].link_txt_pdf::after {
  content: "\f1c1";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 6px;
  color: var(--color-accent01);
  text-decoration: none;
  text-indent: initial;
}
main a[target=_blank].link_txt_pdf:hover {
  text-decoration: none;
}
main a[target=_blank].link_btn_pdf {
  display: block;
  padding: 10px 15px;
  background-color: #fff;
  color: #018BB9;
  border: 1px solid #c7cdee;
  border-radius: 4px;
  transition: all 0.4s;
}
main a[target=_blank].link_btn_pdf::after {
  content: "\f1c1";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 6px;
  color: var(--color-accent01);
  text-decoration: none;
  text-indent: initial;
}
main a[target=_blank].link_btn_pdf:hover {
  background-color: #EBEDF7;
  text-decoration: none;
}
main .btn_link01 {
  display: flex;
  justify-content: center;
  margin: 40px auto;
}
main .btn_link01 a {
  display: block;
  width: 56%;
  max-width: 400px;
  padding: 15px;
  background-color: var(--color-btn01);
  border-radius: 50px;
  color: #fff;
  text-align: center;
  font-size: clamp(18px, 10.8px + 0.8vw, 22px);
  transition: opacity 0.3s;
  text-decoration: none;
}
main .btn_link01 a:hover {
  opacity: 0.6;
}
main .btn_link01 a::after {
  color: #fff !important;
}
main .btn_link02 {
  display: flex;
  justify-content: center;
  margin: 25px auto;
}
main .btn_link02 a {
  display: block;
  width: 70%;
  padding: 15px;
  background-color: #F23434;
  border-radius: 50px;
  color: #fff;
  text-align: center;
  font-size: clamp(18px, 10.8px + 0.8vw, 22px);
  transition: opacity 0.3s;
  text-decoration: none;
}
main .btn_link02 a:hover {
  opacity: 0.6;
}
main .btn_link02 a::after {
  color: #fff !important;
}
@media screen and (max-width: 768px) {
  main .btn_link02 a {
    width: 100%;
  }
}
main .btn_link03 {
  display: flex;
  justify-content: center;
  margin: 25px auto;
}
main .btn_link03 a {
  display: block;
  width: fit-content;
  padding: 10px 30px;
  background-color: #5A9C4A;
  border-radius: 50px;
  color: #fff;
  text-align: center;
  font-size: clamp(16px, 12.4px + 0.4vw, 18px);
  transition: opacity 0.3s;
  text-decoration: none;
}
main .btn_link03 a:hover {
  opacity: 0.6;
}
main .btn_link03 a::after {
  color: #fff !important;
}
@media screen and (max-width: 768px) {
  main .btn_link03 a {
    width: 100%;
  }
}
main .btn_link04 {
  display: flex;
  justify-content: center;
  margin: 25px auto;
}
main .btn_link04 a {
  position: relative;
  display: block;
  width: fit-content;
  padding: 10px 60px 10px 50px;
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  border-radius: 50px;
  color: var(--color-accent01);
  text-align: center;
  transition: opacity 0.3s;
  text-decoration: none;
}
main .btn_link04 a:hover {
  opacity: 0.6;
}
main .btn_link04 a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-size: 180%;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translateY(-50%);
  vertical-align: middle;
}
main .btn_link04 a[href$=".pdf"]::after {
  content: "\f1c1";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 6px;
  color: var(--color-accent01);
  text-decoration: none;
  text-indent: initial;
  font-size: 130%;
}
@media screen and (max-width: 768px) {
  main .btn_link04 a {
    width: 100%;
  }
}
main .btn_link05 {
  display: flex;
  justify-content: center;
  margin: auto;
}
main .btn_link05 a {
  display: block;
  width: 70%;
  padding: 15px;
  background-color: #354ac2;
  border-radius: 50px;
  color: #fff;
  text-align: center;
  font-size: clamp(18px, 10.8px + 0.8vw, 22px);
  transition: opacity 0.3s;
  text-decoration: none;
}
main .btn_link05 a:hover {
  opacity: 0.6;
}
main .btn_link05 a::after {
  color: #fff !important;
}
@media screen and (max-width: 768px) {
  main .btn_link05 a {
    width: 100%;
  }
}
main .btn_link06 {
  display: flex;
  justify-content: center;
  margin: auto;
}
main .btn_link06 a {
  display: block;
  width: 70%;
  padding: 15px;
  background-color: #2480d6;
  border-radius: 50px;
  color: #fff;
  text-align: center;
  font-size: clamp(18px, 10.8px + 0.8vw, 22px);
  transition: opacity 0.3s;
  text-decoration: none;
}
main .btn_link06 a:hover {
  opacity: 0.6;
}
main .btn_link06 a::after {
  color: #fff !important;
}
@media screen and (max-width: 768px) {
  main .btn_link06 a {
    width: 100%;
  }
}
main .btn_link07 {
  display: flex;
  justify-content: center;
  margin: auto;
}
main .btn_link07 a {
  display: block;
  width: 70%;
  padding: 15px;
  background-color: #C23D4D;
  border-radius: 50px;
  color: #fff;
  text-align: center;
  font-size: clamp(18px, 10.8px + 0.8vw, 22px);
  transition: opacity 0.3s;
  text-decoration: none;
}
main .btn_link07 a:hover {
  opacity: 0.6;
}
main .btn_link07 a::after {
  color: #fff !important;
}
@media screen and (max-width: 768px) {
  main .btn_link07 a {
    width: 100%;
  }
}
main .link_procedures a {
  display: block;
  padding: 5px 20px;
  width: fit-content;
  background-color: var(--color-btn01);
  color: #fff;
  border-radius: 50px;
  font-size: clamp(16px, 12.4px + 0.4vw, 18px);
  text-decoration: none;
}
main .grid_link {
  display: grid;
  grid-template-columns: 2fr 1fr; /* 左：右 = 2:1 */
  grid-template-rows: 1fr 1fr; /* 上下に2分割 */
  width: 100%;
}
main .grid_link h3 {
  grid-column: 1;
  grid-row: 1;
}
main .grid_link .text {
  grid-column: 1;
  grid-row: 2;
  border-top: none;
  border-bottom: none;
}
main .grid_link .link {
  display: flex;
  align-items: center;
  grid-column: 2;
  grid-row: 1/3;
}
main .two_link {
  display: flex;
  justify-content: center;
  margin: 40px auto;
}
main .two_link li {
  width: 40%;
  margin: 10px 20px;
  text-align: center;
}
main .two_link li a {
  display: block;
  padding: 10px 20px;
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  border-radius: 50px;
  transition: all 0.6s;
}
main .two_link li a:hover {
  background-color: #c3cef8;
  text-decoration: none;
}
main {
  /* heading style */
}
main .title_bar {
  position: relative;
  margin-bottom: 100px;
  padding: 70px 0;
  background: #F8F8F8 url(/assets/img/common/title_bg.png) right bottom no-repeat;
  text-align: center;
}
main .title_bar .copy {
  display: inline-block;
  padding: 5px 10px;
  background-color: #EBEDF7;
  color: var(--color-accent01);
}
main .title_bar h1 {
  font-size: clamp(22px, -3.2px + 2.8vw, 36px);
  color: var(--color-accent01);
  font-weight: 500;
}
main .title_bar::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100px;
  height: 3px;
  background-color: var(--color-accent01);
}
@media screen and (max-width: 768px) {
  main .title_bar {
    margin-bottom: clamp(50px, -4.348px + 13.587vw, 100px);
    padding: clamp(35px, -3.043px + 9.511vw, 70px) clamp(15px, -1.304px + 4.076vw, 30px);
  }
  main .title_bar h1 {
    font-size: clamp(22px, 6.783px + 3.804vw, 36px);
  }
}
main .title_bar_min {
  position: relative;
  margin-bottom: 70px;
  padding: 40px 0;
  background: #F8F8F8 url(/assets/img/common/title_bg.png) right bottom no-repeat;
  background-size: contain;
}
main .title_bar_min h1 {
  font-size: clamp(20px, -1.6px + 2.4vw, 32px);
  color: var(--color-accent01);
  font-weight: 500;
  text-align: center;
}
main .title_bar_min::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100px;
  height: 3px;
  background-color: var(--color-accent01);
}
@media screen and (max-width: 768px) {
  main .title_bar_min {
    margin-bottom: clamp(35px, -3.043px + 9.511vw, 70px);
    padding: clamp(20px, -1.739px + 5.435vw, 40px) 0;
  }
  main .title_bar_min h1 {
    font-size: clamp(20px, 6.957px + 3.261vw, 32px);
  }
}
main .title_bar_logo {
  margin-bottom: 30px;
  padding: 20px 40px;
}
main .title_bar_logo .logo img {
  max-width: 231px;
}
main .headline01 {
  text-align: center;
  font-size: clamp(24px, 2.4px + 2.4vw, 36px);
  font-weight: 300;
  position: relative;
  padding-bottom: 22px;
}
main .headline01::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: calc(50% + 3px);
  width: clamp(50px, 14px + 4vw, 70px);
  height: 5px;
  background-color: var(--color-accent01);
}
main .headline01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% + 3px);
  width: clamp(50px, 14px + 4vw, 70px);
  height: 5px;
  background-color: var(--color-accent02);
}
@media screen and (max-width: 768px) {
  main .headline01 {
    font-size: clamp(20px, 2.609px + 4.348vw, 36px);
    padding-bottom: 16px;
  }
}
main .headline02 {
  font-size: clamp(24px, 2.4px + 2.4vw, 36px);
  font-weight: 300;
  position: relative;
  padding-left: 18px;
  color: var(--color-accent01);
}
main .headline02::before {
  content: "";
  position: absolute;
  top: 0.35em;
  left: 0;
  width: 5px;
  height: clamp(15px, -12px + 3vw, 30px);
  background-color: var(--color-accent01);
}
@media screen and (max-width: 768px) {
  main .headline02 {
    font-size: clamp(20px, 2.609px + 4.348vw, 36px);
  }
  main .headline02::before {
    height: clamp(20px, 2.609px + 4.348vw, 36px);
  }
}
main .tit_type01 {
  margin-bottom: 30px;
  padding: 10px 15px 12px;
  background-color: var(--color-accent01);
  color: #fff;
  font-size: clamp(18px, 3.6px + 1.6vw, 26px);
  text-align: center;
  border-radius: 4px;
}
main .tit_type01 .small {
  font-size: clamp(16px, 8.8px + 0.8vw, 20px);
}
main .news_title h2,
main .tit_type02 {
  position: relative;
  margin-bottom: 20px;
  padding: 10px 0;
  border-top: 3px solid #EFF1F9;
  font-size: clamp(20px, 5.6px + 1.6vw, 28px);
  font-weight: 500;
}
main .news_title h2::before, main .news_title h2::after,
main .tit_type02::before,
main .tit_type02::after {
  content: "";
  display: block;
  position: absolute;
  height: 3px;
}
main .news_title h2::before,
main .tit_type02::before {
  top: -3px;
  left: 0;
  width: 40px;
  background-color: #fff;
  z-index: 0;
}
main .news_title h2::after,
main .tit_type02::after {
  content: "";
  display: block;
  position: absolute;
  top: -3px;
  left: 0;
  width: 30px;
  background-color: var(--color-accent01);
  z-index: 1;
}
main .tit_type03 {
  margin-top: 30px;
  margin-bottom: 15px;
  color: var(--color-accent01);
  font-size: clamp(18px, 10.8px + 0.8vw, 22px);
}
main .tit_type04 {
  position: relative;
  margin-bottom: 30px;
  padding: 8px 25px;
  background-color: #F8F8F8;
  font-size: clamp(18px, 7.2px + 1.2vw, 24px);
}
main .tit_type04::before {
  content: "";
  display: block;
  width: 5px;
  height: 30px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: var(--color-accent01);
}
main .tit_type05 {
  margin-top: 25px;
  margin-bottom: 10px;
  color: var(--color-accent01);
  font-weight: 700;
}
main .tit_type06 {
  margin-bottom: 15px;
  padding-bottom: 15px;
  color: var(--color-accent01);
  border-bottom: 2px solid var(--color-accent01);
  font-size: clamp(18px, 7.2px + 1.2vw, 24px);
  text-align: center;
}
main .tit_point {
  display: flex;
  align-items: center;
  margin: 10px 0;
  color: #DF607F;
  font-size: clamp(18px, 12.6px + 0.6vw, 21px);
}
main .tit_point span {
  display: block;
  padding: 10px 20px;
}
main .tit_point span:first-child {
  background-color: #fff;
  color: #DF607F;
  border: 2px solid #DF607F;
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
}
@media screen and (max-width: 768px) {
  main .tit_point {
    flex-direction: column;
  }
  main .tit_point span {
    padding: 5px 15px;
  }
  main .tit_point span:last-child {
    width: 100%;
    padding: 0;
    text-align: left;
  }
}
main .tit_attention {
  position: relative;
  padding-left: 35px;
  color: #D40000;
  font-size: clamp(18px, 14.4px + 0.4vw, 20px);
  font-weight: 700;
}
main .tit_attention::before {
  content: "\e806";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  display: block;
  position: absolute;
  left: 0;
  top: 6px;
  margin-right: 12px;
  font-size: 120%;
  line-height: 1;
  color: #e6a903;
}
main {
  /* text style */
}
main .txt_red {
  color: #D40000;
}
main .txt_blue {
  color: #3f59cf;
}
main .txt_green {
  color: #378162;
}
main .txt_em {
  color: #D40000;
  font-weight: 700;
}
main .txt_orange {
  color: #c58702;
}
main .txt_gray {
  color: #777777;
}
main .txt_small {
  font-size: 12px;
}
main .txt_normal {
  font-size: clamp(14px, 10.4px + 0.4vw, 16px) !important;
}
main .txt_medium {
  font-size: clamp(18px, 14.4px + 0.4vw, 20px) !important;
}
main .txt_large {
  font-size: clamp(20px, 12.8px + 0.8vw, 24px) !important;
}
main .txt_big {
  font-size: clamp(24px, 16.8px + 0.8vw, 28px) !important;
}
main .txt_w_normal {
  font-weight: normal;
}
main .txt_w_bold {
  font-weight: 700;
}
main .read_txt {
  color: var(--color-accent01);
  font-size: clamp(20px, 12.8px + 0.8vw, 24px);
  font-family: "YakuHanMP", "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  main .read_txt {
    font-size: clamp(18px, 15.826px + 0.543vw, 20px);
  }
}
main {
  /* indent style */
}
main .indent_s {
  padding-left: 0.8em;
  text-indent: -0.8em;
}
main .indent_10 {
  padding-left: 1.3em;
  text-indent: -1.3em;
}
main .indent_20 {
  padding-left: 2em;
  text-indent: -2em;
}
main .indent_25 {
  padding-left: 2.5em;
  text-indent: -2.5em;
}
main .indent_30 {
  padding-left: 3em;
  text-indent: -3em;
}
main {
  /* list style */
}
main .link_list {
  display: flex;
  justify-content: center;
  width: 100%;
}
main .link_list li {
  width: 350px;
  margin: 0 15px;
}
main .link_list li a {
  position: relative;
  display: block;
  padding: 15px 10px;
  background-color: #EFEFEF;
  border-radius: 50px;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.4s;
}
main .link_list li a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(2px, -12.4px + 1.6vw, 10px);
  font-size: 200%;
  color: var(--color-accent01);
}
main .link_list li a:hover {
  text-decoration: none;
  opacity: 0.6;
}
main .link_list li a[target=_blank]:not(:has(img))::after {
  content: "\e801";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 12px;
  color: var(--color-accent01);
  text-decoration: none;
  text-indent: initial;
  font-size: 120%;
}
@media screen and (max-width: 768px) {
  main .link_list {
    display: block;
  }
  main .link_list li {
    width: 90%;
    margin: 10px auto;
  }
}
main .page_link {
  display: flex;
  justify-content: center;
  align-items: center;
}
main .page_link li {
  margin: 0 15px;
}
main .page_link li a {
  position: relative;
}
main .page_link li a::after {
  content: "\e800";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 6px;
  color: var(--color-accent01);
  text-decoration: none;
  text-indent: initial;
}
@media screen and (max-width: 768px) {
  main .page_link {
    flex-wrap: wrap;
  }
  main .page_link li {
    width: calc((100% - 40px) / 3);
    margin: 0 auto 10px;
    text-align: center;
  }
  main .page_link li a::after {
    display: block;
    margin: auto;
  }
  main .page_link::after {
    content: "";
    display: block;
    width: calc((100% - 40px) / 3);
    margin: 0 auto 10px;
    height: 0;
  }
}
main .list_disc {
  margin-left: 10px;
}
main .list_disc > li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 18px;
  box-sizing: border-box;
}
main .list_disc > li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color-accent01);
}
main .list_disc > li span {
  font-size: 12px;
}
main .list_disc > li:last-child {
  margin-bottom: 0;
}
main .list_disc > li img {
  display: inline-block;
  margin-top: 10px;
}
main .list_disc > li .notes {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
main .list_disc.column2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
main .list_disc.column2 li {
  width: calc((100% - 20px) / 2);
}
main .list_disc.column2 li:nth-last-child(-n+2) {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  main .list_disc > li {
    margin-bottom: 8px;
  }
  main .list_disc.column2 {
    flex-direction: column;
  }
  main .list_disc.column2 li {
    width: 100%;
  }
  main .list_disc.column2 li:nth-last-child(-n+2) {
    margin-bottom: 12px;
  }
  main .list_disc.column2 li:last-child {
    margin-bottom: 0;
  }
}
main .list_disc02 > li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 18px;
  line-height: 1.3;
  box-sizing: border-box;
}
main .list_disc02 > li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1px solid var(--color-accent01);
}
main .list_disc02 > li span {
  font-size: 12px;
}
main .list_disc02.column2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
main .list_disc02.column2 li {
  width: calc((100% - 20px) / 2);
}
main .list_disc02.column2 li:nth-last-child(-n+2) {
  margin-bottom: 0;
}
main .list_disc_big > li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 25px;
  box-sizing: border-box;
  font-size: 17px;
}
main .list_disc_big > li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid var(--color-accent01);
}
main .list_disc_big > li span {
  font-size: 12px;
}
main .list_disc_big > li:last-child {
  margin-bottom: 0;
}
main .list_disc_def {
  margin-left: 25px;
}
main .list_disc_def li {
  list-style: disc;
}
main .list_disc_def li span {
  font-size: 12px;
}
main .list_disc_def li:last-child {
  margin-bottom: 0;
}
main .list_disc_def li::marker {
  color: #000;
}
main .list_brackets {
  list-style: none;
  counter-reset: number;
}
main .list_brackets > li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 40px;
}
main .list_brackets > li::before {
  counter-increment: number;
  content: "（" counter(number) "）";
  position: absolute;
  left: 0;
}
main .list_brackets ul, main .list_brackets ol {
  margin-bottom: 25px;
}
main .list_brk {
  list-style: none;
}
main .list_brk > li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 40px;
}
main .list_brk > li::before {
  position: absolute;
  left: 0;
  content: "（" counter(list-item) "）";
}
main .list_check li {
  position: relative;
  padding-left: 30px;
}
main .list_check li::before {
  content: "\e807";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 120%;
  line-height: 1;
  color: #ec8907;
}
main .list_check.center {
  width: fit-content;
  margin: 0 auto 30px;
}
main .list_check.center li {
  margin: 10px 0;
  font-size: clamp(18px, 14.4px + 0.4vw, 20px);
}
main .list_round {
  list-style: none;
  counter-reset: number;
}
main .list_round > li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 1.5em;
}
main .list_round > li::before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: 5px;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  border-radius: 50%;
  font-size: 14px;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  main .list_round > li::before {
    width: 14px;
    height: 14px;
    font-size: 13px;
  }
}
main .list_num {
  margin-left: 25px;
  list-style: decimal;
}
main .list_num li {
  margin-top: 8px;
}
main .list_note > li {
  padding-left: 1.5em;
  text-indent: -1.5em;
  font-size: 12px;
}
main .list_note > li li {
  padding-left: initial;
  text-indent: initial;
}
main .list_note02 > li {
  padding-left: 2em;
  text-indent: -2em;
  font-size: 12px;
}
main .list_note02 > li li {
  padding-left: initial;
  text-indent: initial;
}
main .list_note03 > li {
  padding-left: 3em;
  text-indent: -3em;
  font-size: 12px;
}
main .list_note03 > li li {
  padding-left: initial;
  text-indent: initial;
}
main .list_note04 > li {
  padding-left: 4em;
  text-indent: -4em;
  font-size: 12px;
}
main .list_note04 > li li {
  padding-left: initial;
  text-indent: initial;
}
@media screen and (max-width: 768px) {
  main .list_note04 > li {
    padding-left: 2em;
    text-indent: -2em;
  }
}
main .list_in_note {
  margin-left: 20px;
}
main .list_in_note > li {
  list-style: disc;
}
main .list_in_note > li::before {
  display: none;
}
main .list_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
main .list_flex li {
  width: 48%;
  text-align: center;
}
main .list_indent li {
  padding-left: 1.3em;
  text-indent: -1.3em;
}
main .list_indent02 li {
  padding-left: 2em;
  text-indent: -2em;
}
main .list_indent03 li {
  padding-left: 3em;
  text-indent: -3em;
}
main {
  /* table style */
}
main table th p, main table td p {
  margin-bottom: 0 !important;
}
main table td {
  background-color: #fff;
}
main table td.subhead {
  background-color: #e0efff;
  vertical-align: middle;
}
main table a {
  text-decoration: underline;
  color: #018BB9;
}
main table a:hover {
  text-decoration: none;
}
main table.w100 {
  width: 100% !important;
}
main table .nowrap,
main table .nowrap_pc {
  white-space: nowrap;
}
main table.middle th, main table.middle td {
  vertical-align: middle;
}
main table .bg_base,
main table .bg_base td {
  background-color: #D5DBED !important;
}
main table .bg_blue,
main table .bg_blue th,
main table .bg_blue td {
  background-color: #b6cee7;
}
main table .bg_orange {
  background-color: #f1cebd;
}
main table .bg_green {
  background-color: #c6eebb;
}
main table .bg_gray,
main table .bg_blue th,
main table .bg_blue td {
  background-color: #b6cee7;
}
main table .no_border td {
  border-top: 0;
}
main table .border_top {
  border-top: 1px solid #BABABA;
}
@media screen and (max-width: 768px) {
  main table th, main table td {
    padding: 10px !important;
    font-size: clamp(14px, 10.4px + 0.4vw, 16px);
    box-sizing: border-box;
  }
  main table th.sp_half, main table td.sp_half {
    width: 50%;
  }
  main table th.nowrap_pc, main table td.nowrap_pc {
    white-space: initial;
  }
}
main .tbl_type01 {
  width: 100%;
  border-bottom: 1px solid #BABABA;
}
main .tbl_type01 th, main .tbl_type01 td {
  padding: 14px 30px;
  border-top: 1px solid #BABABA;
}
main .tbl_type01 th {
  background-color: #F5F5F5;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  main .tbl_type01 th, main .tbl_type01 td {
    display: block;
    padding: 15px;
    font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  }
}
main .tbl_type_min {
  width: 100%;
  border-bottom: 1px solid #BABABA;
}
main .tbl_type_min th, main .tbl_type_min td {
  padding: 15px;
  border-top: 1px solid #BABABA;
}
main .tbl_type_min th {
  background-color: #F5F5F5;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  main .tbl_type_min th, main .tbl_type_min td {
    display: block;
    width: 100%;
    padding: 15px;
    font-size: clamp(14px, 10.4px + 0.4vw, 16px);
    box-sizing: border-box;
  }
}
main .tbl_type02 {
  width: 100%;
  border-bottom: 1px solid #BABABA;
}
main .tbl_type02 th, main .tbl_type02 td {
  padding: 15px;
  border-top: 1px solid #BABABA;
}
main .tbl_type02 th {
  background-color: #F5F5F5;
  border-right: 1px solid #BABABA;
  text-align: center;
  white-space: nowrap;
}
main .tbl_type03 {
  width: 100%;
  border: 1px solid #BABABA;
}
main .tbl_type03 th, main .tbl_type03 td {
  padding: 14px 25px 14px 30px;
  border: 1px solid #BABABA;
  text-align: center;
  vertical-align: middle;
}
main .tbl_type03 th {
  background-color: #F5F5F5;
}
main .tbl_type03 th.procedure {
  background-color: #F3EBDC;
}
main .tbl_type04 {
  width: 100%;
  border: 1px solid #BABABA;
}
main .tbl_type04 th, main .tbl_type04 td {
  padding: 14px 25px;
  border: 1px solid #BABABA;
  text-align: left;
  vertical-align: middle;
}
main .tbl_type04 th {
  position: relative;
  background-color: #F5F5F5;
}
@media screen and (max-width: 768px) {
  main .tbl_type04 {
    border: 0;
    border-top: 1px solid #BABABA;
  }
  main .tbl_type04 th, main .tbl_type04 td {
    display: block;
    padding: 15px;
    font-size: clamp(14px, 10.4px + 0.4vw, 16px);
    border-top: 0;
  }
}
main .tbl_type05 {
  width: 100%;
  border: 1px solid #BABABA;
}
main .tbl_type05 th, main .tbl_type05 td {
  padding: 14px 25px;
  border: 1px solid #BABABA;
  text-align: left;
  vertical-align: middle;
}
main .tbl_type05 th {
  position: relative;
  background-color: #F5F5F5;
}
main .tbl_type06 {
  width: fit-content;
  border: 1px solid #BABABA;
}
main .tbl_type06 th, main .tbl_type06 td {
  padding: 14px 25px;
  border: 1px solid #BABABA;
  vertical-align: middle;
}
main .tbl_type06 th {
  position: relative;
  background-color: #F5F5F5;
  text-align: left;
}
main .tbl_type06 td {
  text-align: center;
}
main .tbl_type06 thead th {
  background-color: #D5DBED !important;
  text-align: center;
}
main .tbl_type07 {
  width: 100%;
  border-bottom: 1px solid #BABABA;
}
main .tbl_type07 th, main .tbl_type07 td {
  padding: 14px 30px;
  border-top: 1px solid #BABABA;
}
main .tbl_type07 th {
  background-color: #D5DBED;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}
main .tbl_type07 .subhead {
  background-color: #F5F5F5;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  main .tbl_type07 th, main .tbl_type07 td {
    display: block;
    padding: 15px;
    font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  }
  main .tbl_type07 .blank {
    display: none;
  }
}
main .tbl_type08 {
  width: 100%;
  border: 1px solid #BABABA;
}
main .tbl_type08 th, main .tbl_type08 td {
  padding: 14px 25px;
  border: 1px solid #BABABA;
  text-align: left;
  vertical-align: middle;
}
main .tbl_type08 th {
  position: relative;
  background-color: #F5F5F5;
  text-align: center;
}
main .tbl_nobdr {
  width: fit-content;
  margin: auto;
  background-color: transparent;
}
main .tbl_nobdr th, main .tbl_nobdr td {
  padding: 5px;
  background-color: transparent;
}
main .tbl_nobdr th {
  text-align: center;
}
main {
  /* dl style */
}
main .dl_type01 {
  margin-bottom: 30px;
  border: 1px solid var(--color-accent01);
}
main .dl_type01 dt {
  padding: 10px;
  background-color: #EFF1F9;
  color: var(--color-accent01);
  border-bottom: 1px solid var(--color-accent01);
  font-size: clamp(20px, 16.4px + 0.4vw, 22px);
  font-weight: 700;
  text-align: center;
}
main .dl_type01 dd {
  padding: 25px;
}
main .dl_type_side {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
  border: 1px solid var(--color-accent01);
}
main .dl_type_side dt, main .dl_type_side dd {
  padding: 20px;
  box-sizing: border-box;
}
main .dl_type_side dt {
  display: flex;
  align-items: center;
  width: 30%;
  background-color: #EFF1F9;
  color: var(--color-accent01);
  border-right: 1px solid var(--color-accent01);
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
main .dl_type_side dd {
  width: 70%;
}
@media screen and (max-width: 768px) {
  main .dl_type_side {
    display: block;
  }
  main .dl_type_side dt, main .dl_type_side dd {
    width: 100%;
  }
  main .dl_type_side dt {
    display: block;
    border-right: 0;
  }
}
main .dl_type_ss {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
  border: 1px solid #777;
}
main .dl_type_ss dt, main .dl_type_ss dd {
  padding: 10px 20px;
  background-color: transparent;
  box-sizing: border-box;
}
main .dl_type_ss dt {
  display: flex;
  align-items: center;
  width: 30%;
  color: var(--color-accent01);
  border-right: 1px solid var(--color-accent01);
  font-weight: 500;
  text-align: center;
}
main .dl_type_ss dd {
  width: 70%;
}
@media screen and (max-width: 768px) {
  main .dl_type_ss {
    display: block;
  }
  main .dl_type_ss dt, main .dl_type_ss dd {
    width: 100%;
  }
  main .dl_type_ss dt {
    display: block;
    border-right: 0;
  }
}
main .dl_side {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
main .dl_side dt, main .dl_side dd {
  padding: 5px;
  box-sizing: border-box;
}
main .dl_side dt {
  min-width: 160px;
}
main .dl_side dd {
  width: calc(100% - 160px);
}
main .dl_side_s {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
main .dl_side_s dt, main .dl_side_s dd {
  padding: 5px;
  box-sizing: border-box;
}
main .dl_side_s dt {
  min-width: 110px;
}
main .dl_side_s dd {
  width: calc(100% - 120px);
}
main .dl_num {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
main .dl_num dt, main .dl_num dd {
  box-sizing: border-box;
}
main .dl_num dt {
  min-width: 8em;
  padding: 5px 10px 5px 0;
  border-right: 1px solid #BABABA;
}
main .dl_num dd {
  width: calc(100% - 8em);
  padding: 5px 10px 5px 20px;
}
main .bdr_top {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid #BABABA;
}
@media screen and (max-width: 768px) {
  main {
    font-size: clamp(14px, 11.826px + 0.543vw, 16px);
  }
  main::before {
    height: clamp(20px, 2.609px + 4.348vw, 36px);
  }
  main .table_box {
    overflow-x: auto;
    display: block;
  }
  main .table_box table th {
    white-space: nowrap;
  }
  main .table_box table td {
    min-width: 200px;
  }
  main .table_box table.minimal td {
    min-width: 100px;
  }
}

/* project
-------------------------------------------------------------------------- */
/* ==========================================================================
   settings
========================================================================== */
.top main section {
  padding: 0 clamp(20px, -124px + 16vw, 100px);
}
.top main section .inner {
  max-width: var(--contents-width);
  margin: 0 auto;
  position: relative;
}
.top #main_visual {
  padding: 0 clamp(50px, -40px + 10vw, 100px) 92px;
}
.top #main_visual a {
  transition: all 0.3s ease;
}
.top #main_visual a:hover {
  opacity: 0.6;
}
.top #main_visual .button-prev {
  width: clamp(13px, -10.4px + 2.6vw, 26px);
  height: clamp(26px, -20.8px + 5.2vw, 52px);
  position: absolute;
  top: 0;
  bottom: 0;
  right: calc(100% + 20px);
  margin: auto;
  cursor: pointer;
  transition: transform 0.3s ease;
}
.top #main_visual .button-prev:hover {
  transform: translateX(-10px);
}
.top #main_visual .button-next {
  width: clamp(13px, -10.4px + 2.6vw, 26px);
  height: clamp(26px, -20.8px + 5.2vw, 52px);
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(100% + 20px);
  margin: auto;
  cursor: pointer;
  transition: transform 0.3s ease;
}
.top #main_visual .button-next:hover {
  transform: translateX(10px);
}
.top #main_visual .pagination {
  position: absolute;
  top: calc(100% + 15px);
  display: flex;
  justify-content: center;
}
.top #main_visual .pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: none;
  border: 2px solid #787878;
  box-sizing: border-box;
}
.top #main_visual .pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  border: none;
}
.top #original_insurance .grid {
  display: grid;
  gap: clamp(12.5px, -10px + 2.5vw, 25px);
  margin-top: 35px;
}
.top #original_insurance .grid h3 {
  font-size: clamp(18px, 0px + 2vw, 28px);
  display: inline-block;
  position: relative;
}
.top #original_insurance .grid h3::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.4em;
  background-color: #000;
  opacity: 0.4;
}
.top #original_insurance .grid img {
  max-width: 350px;
  width: 100%;
}
.top #original_insurance .grid a {
  transition: 0.3s ease;
}
.top #original_insurance .grid a:hover {
  opacity: 0.6;
}
.top #original_insurance .grid .insurance01 {
  grid-column: span 2/span 2;
  padding: clamp(12.5px, -10px + 2.5vw, 25px);
  border-radius: clamp(10px, -8px + 2vw, 20px);
  gap: clamp(10px, -8px + 2vw, 20px);
  box-sizing: border-box;
  background-color: #FFF5DF;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.top #original_insurance .grid .insurance01 h3 {
  color: var(--color-insurance01);
}
.top #original_insurance .grid .insurance01 h3::before {
  background-color: var(--color-insurance01);
}
.top #original_insurance .grid .insurance01 .flex {
  display: flex;
  gap: clamp(12.5px, -10px + 2.5vw, 25px);
}
.top #original_insurance .grid .insurance01 .flex > p {
  background-color: #fff;
  border-radius: 10px;
}
.top #original_insurance .grid .insurance02 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: clamp(10px, -8px + 2vw, 20px);
  grid-column-start: 3;
  padding: clamp(12.5px, -10px + 2.5vw, 25px);
  border-radius: clamp(10px, -8px + 2vw, 20px);
  box-sizing: border-box;
  background-color: #FEF2EF;
}
.top #original_insurance .grid .insurance02 h3 {
  color: var(--color-insurance02);
}
.top #original_insurance .grid .insurance02 h3::before {
  background-color: var(--color-insurance02);
}
.top #original_insurance .grid .insurance02 img {
  display: block;
  padding: 0;
  margin: 0 auto;
  box-sizing: border-box;
}
.top #original_insurance .grid .insurance02 .term_ins {
  background-color: #fff;
  border-radius: 10px;
}
.top #insurance {
  padding-top: 84px;
}
.top #insurance .list {
  margin-top: 35px;
  display: flex;
  gap: clamp(12.5px, -10px + 2.5vw, 25px);
}
.top #insurance .list li {
  flex: 0 0 calc((100% - clamp(12.5px, -10px + 2.5vw, 25px) * 3) / 4);
}
.top #insurance .list li a {
  transition: 0.3s ease;
}
.top #insurance .list li a:hover {
  opacity: 0.6;
}
.top #procedure {
  margin-top: 72px;
  background-color: #F8F8F8;
}
.top #procedure .inner {
  padding: 60px 0;
}
.top #procedure .flex {
  display: flex;
  justify-content: space-between;
}
.top #procedure .left_wrap .flex {
  margin-top: clamp(22px, -17.6px + 4.4vw, 44px);
  gap: clamp(18px, -3.6px + 2.4vw, 30px);
}
.top #procedure .left_wrap .flex .btn a {
  background-color: var(--color-accent01);
  color: #fff;
  display: flex;
  align-items: center;
  border-radius: clamp(26px, 15.2px + 1.2vw, 32px);
  height: clamp(52px, 30.4px + 2.4vw, 64px);
  padding: 0 clamp(70px, 34px + 4vw, 90px);
  font-size: clamp(15px, 6px + 1vw, 20px);
  text-decoration: none;
  position: relative;
  transition: opacity 0.3s ease;
  white-space: nowrap;
}
.top #procedure .left_wrap .flex .btn a:hover {
  opacity: 0.6;
}
.top #procedure .left_wrap .flex .btn a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(2px, -12.4px + 1.6vw, 10px);
  font-size: 200%;
}
.top #procedure .left_wrap .flex ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.top #procedure .left_wrap .flex ul a {
  font-size: clamp(13px, 7.6px + 0.6vw, 16px);
  text-decoration: none;
  transition: color 0.3s ease;
}
.top #procedure .left_wrap .flex ul a:hover {
  color: var(--color-accent01);
}
.top #procedure .left_wrap .flex ul a::before {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-right: 8px;
}
.top #procedure .right_wrap {
  width: 42%;
  text-align: right;
  border-left: 1px solid #C7C7C7;
  max-width: 500px;
  box-sizing: border-box;
  padding-left: clamp(22px, -17.6px + 4.4vw, 44px);
}
.top #procedure .right_wrap a {
  transition: opacity 0.3s ease;
}
.top #procedure .right_wrap a:hover {
  opacity: 0.6;
}
.top #news .inner {
  padding-top: 72px;
  max-width: 850px;
  display: flex;
  justify-content: space-between;
  gap: clamp(34px, -27.2px + 6.8vw, 68px);
}
.top #news .inner .tit_wrap {
  width: 180px;
}
.top #news .inner .tit_wrap .news_more {
  margin-top: 20px;
}
.top #news .inner .tit_wrap .news_more a {
  position: relative;
  display: block;
  width: fit-content;
  padding: 5px 35px 5px 15px;
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  border-radius: 50px;
  color: var(--color-accent01);
  font-size: clamp(14px, 12.2px + 0.2vw, 15px);
  text-align: center;
  transition: opacity 0.3s;
  text-decoration: none;
}
.top #news .inner .tit_wrap .news_more a:hover {
  opacity: 0.6;
}
.top #news .inner .tit_wrap .news_more a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-size: 180%;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translateY(-50%);
  vertical-align: middle;
}
.top #news .inner h2 {
  flex-shrink: 0;
}
.top #news .inner .news_area {
  width: calc(100% - 250px);
}
.top #news .inner .news_area ul li {
  border-bottom: 1px solid #BABABA;
  padding: 15px 0;
  display: flex;
  gap: clamp(16px, -12.8px + 3.2vw, 32px);
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  position: relative;
  padding-left: 20px;
}
.top #news .inner .news_area ul li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background-color: var(--color-accent01);
  position: absolute;
  left: 0;
  transform: translateY(0.65em);
}
.top #news .inner .news_area ul li:last-child {
  border-bottom: none;
}
.top #news .inner .news_area ul li a {
  color: #000;
}
.top #bnrs .inner {
  padding: 92px 0;
}
.top #bnrs .inner .list {
  display: flex;
  gap: clamp(12.5px, -10px + 2.5vw, 25px);
  justify-content: center;
}
.top #bnrs .inner .list li {
  flex: 0 0 calc((100% - clamp(12.5px, -10px + 2.5vw, 25px) * 2) / 3);
}
.top #bnrs .inner .list li a {
  transition: 0.3s ease;
}
.top #bnrs .inner .list li a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .top main section {
    padding: 0 clamp(20px, -23.478px + 10.87vw, 60px);
  }
  .top #main_visual {
    padding: 0 clamp(20px, -23.478px + 10.87vw, 60px) clamp(46px, -4px + 12.5vw, 92px);
  }
  .top #main_visual .button-prev {
    width: clamp(10px, -0.87px + 2.717vw, 20px);
    height: clamp(26px, 10.783px + 3.804vw, 40px);
    right: calc(100% + clamp(6px, -7.043px + 3.261vw, 18px));
  }
  .top #main_visual .button-prev:hover {
    transform: translateX(0);
  }
  .top #main_visual .button-next {
    width: clamp(10px, -0.87px + 2.717vw, 20px);
    height: clamp(26px, 10.783px + 3.804vw, 40px);
    left: calc(100% + clamp(6px, -7.043px + 3.261vw, 18px));
  }
  .top #main_visual .button-next:hover {
    transform: translateX(0);
  }
  .top #original_insurance .grid {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, -1.739px + 5.435vw, 40px);
    margin-top: 30px;
  }
  .top #original_insurance .grid h3 {
    font-size: clamp(18px, 7.13px + 2.717vw, 28px);
  }
  .top #original_insurance .grid img {
    max-width: inherit;
    width: 100%;
  }
  .top #original_insurance .grid a {
    transition: 0.3s ease;
  }
  .top #original_insurance .grid a:hover {
    opacity: 0.6;
  }
  .top #original_insurance .grid .insurance01 {
    gap: clamp(15px, -1.304px + 4.076vw, 30px);
  }
  .top #original_insurance .grid .insurance01 .flex {
    display: flex;
    flex-direction: column;
    gap: clamp(12.5px, -1.087px + 3.397vw, 25px);
  }
  .top #original_insurance .grid .insurance02 {
    gap: clamp(15px, -1.304px + 4.076vw, 30px);
  }
  .top #original_insurance .grid .insurance02 img {
    display: block;
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .top #insurance {
    padding-top: clamp(42px, -3.652px + 11.413vw, 84px);
  }
  .top #insurance .list {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: clamp(12.5px, -1.087px + 3.397vw, 25px);
  }
  .top #insurance .list li {
    flex: 0 0 calc((100% - clamp(12.5px, -1.087px + 3.397vw, 25px) * 3) / 4);
  }
  .top #insurance .list li a img {
    width: 100%;
    max-width: inherit;
  }
  .top #insurance .list li a {
    transition: 0.3s ease;
  }
  .top #insurance .list li a:hover {
    opacity: 0.6;
  }
  .top #procedure {
    margin-top: clamp(36px, -3.13px + 9.783vw, 72px);
    background-color: #F8F8F8;
  }
  .top #procedure .inner {
    padding: clamp(30px, -2.609px + 8.152vw, 60px) 0;
  }
  .top #procedure .flex {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }
  .top #procedure .left_wrap .flex {
    margin-top: clamp(22px, -1.913px + 5.978vw, 44px);
    gap: clamp(22px, -1.913px + 5.978vw, 44px);
  }
  .top #procedure .left_wrap .flex .btn a {
    justify-content: center;
    border-radius: clamp(26px, 19.478px + 1.63vw, 32px);
    height: clamp(52px, 38.957px + 3.261vw, 64px);
    padding: 0 clamp(70px, 37.391px + 8.152vw, 100px);
    font-size: clamp(15px, 9.565px + 1.359vw, 20px);
  }
  .top #procedure .left_wrap .flex .btn a::after {
    right: clamp(2px, -6.696px + 2.174vw, 10px);
  }
  .top #procedure .left_wrap .flex ul a {
    font-size: clamp(14px, 11.826px + 0.543vw, 16px);
  }
  .top #procedure .right_wrap {
    width: 100%;
    text-align: center;
    border-top: 1px solid #C7C7C7;
    border-left: none;
    max-width: inherit;
    box-sizing: border-box;
    padding-left: 0;
    padding-top: clamp(22px, -1.913px + 5.978vw, 44px);
    margin-top: clamp(22px, -1.913px + 5.978vw, 44px);
  }
  .top #procedure .right_wrap a {
    transition: opacity 0.3s ease;
  }
  .top #procedure .right_wrap a:hover {
    opacity: 0.6;
  }
  .top #news .inner {
    padding-top: clamp(36px, -3.13px + 9.783vw, 72px);
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  .top #news .inner h2 {
    flex-shrink: 0;
  }
  .top #news .inner .tit_wrap {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .top #news .inner .tit_wrap .headline02 {
    width: fit-content;
  }
  .top #news .inner .tit_wrap .news_more {
    width: fit-content;
    margin-top: 0;
  }
  .top #news .inner .tit_wrap .news_more a {
    padding: 3px 35px 3px 10px;
    font-size: clamp(13px, 11.913px + 0.272vw, 14px);
  }
  .top #news .inner .news_area {
    width: 100%;
  }
  .top #news .inner .news_area ul {
    border-top: 1px solid #BABABA;
  }
  .top #news .inner .news_area ul li {
    border-bottom: 1px solid #BABABA;
    padding: 15px 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: clamp(14px, 11.826px + 0.543vw, 16px);
    padding-left: 15px;
  }
  .top #news .inner .news_area ul li:last-child {
    border-bottom: 1px solid #BABABA;
  }
  .top #news .inner .news_area ul li a {
    color: #000;
  }
  .top #bnrs .inner {
    padding: clamp(36px, -3.13px + 9.783vw, 72px) 0;
  }
  .top #bnrs .inner .list {
    display: flex;
    flex-direction: column;
    gap: clamp(12.5px, -1.087px + 3.397vw, 25px);
    justify-content: center;
  }
  .top #bnrs .inner .list li {
    flex: 0 0 calc((100% - clamp(12.5px, -1.087px + 3.397vw, 25px) * 2) / 3);
  }
  .top #bnrs .inner .list li a {
    transition: 0.3s ease;
  }
  .top #bnrs .inner .list li a:hover {
    opacity: 0.6;
  }
}
/* ==========================================================================
   settings
========================================================================== */
.under .sec_inner {
  max-width: var(--contents-width);
  margin: auto;
}

/* company style -------------------------------------- */
.company .dl_name {
  overflow: hidden;
}
.company .dl_name dt, .company .dl_name dd {
  float: left;
}
.company .dl_name dt {
  clear: both;
  width: 160px;
}
.ninsho_sengen_flex {
  display: flex;
  justify-content: space-between;
}
.ninsho_sengen_flex dl {
  width: calc(100% - 380px);
}
.ninsho_sengen_flex dl dt {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ccc;
  font-size: clamp(17px, 15.2px + 0.2vw, 18px);
  font-weight: 700;
}
.ninsho_sengen_flex .img {
  width: 350px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .ninsho_sengen_flex {
    display: block;
  }
  .ninsho_sengen_flex dl, .ninsho_sengen_flex .img {
    width: 100%;
  }
  .ninsho_sengen_flex .img {
    margin-top: 15px;
  }
  .ninsho_sengen_flex:last-child {
    margin-top: 40px;
  }
}

/* news style -------------------------------------- */
.news #news_list dl {
  display: flex;
  justify-content: space-between;
  padding: 20px 0;
  border-bottom: 1px solid #ccc;
}
.news #news_list dl dt {
  width: 100px;
}
.news #news_list dl dd {
  width: calc(100% - 140px);
}
.news #news_list dl dd a {
  text-decoration: underline;
  color: #018BB9;
}
.news #news_list dl dd a:hover {
  text-decoration: none;
}
.news #news_list,
.news .news_inner,
.news .pagenav {
  max-width: var(--contents-width-under);
  margin: auto;
  margin-bottom: 60px;
  padding: 0 clamp(20px, -52px + 8vw, 60px);
  box-sizing: content-box;
}
.news #news_main h3 {
  margin-top: 30px;
  margin-bottom: 15px;
  color: var(--color-accent01);
  font-size: clamp(18px, 10.8px + 0.8vw, 22px);
}
.news #news_main h4 {
  margin-top: 20px;
  margin-bottom: 15px;
  font-size: clamp(17px, 11.6px + 0.6vw, 20px);
}
.news #news_main ul {
  margin-left: 30px;
}
.news #news_main ul li {
  list-style: disc;
}
.news #news_main ol {
  margin-left: 30px;
}
.news #news_main table {
  width: 100%;
  margin-top: 20px;
}
.news #news_main table th, .news #news_main table td {
  padding: 10px 15px;
  border: 1px solid #BABABA;
}
.news #news_main table th {
  background-color: #F5F5F5;
}
.news .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
}
.news .pagination .prev, .news .pagination .next {
  display: inline-block;
  padding: 5px 15px;
  color: var(--color-accent01);
  border: 2px solid var(--color-accent01);
  border-radius: 10px;
}
.news .pagination .pager_number {
  margin: 0 10px;
}

/* /service/sitemap.html */
.sitemap_wrap {
  display: flex;
  justify-content: space-between;
}
.sitemap_wrap .sitemap_left {
  width: 51%;
}
.sitemap_wrap .sitemap_right {
  width: 45%;
}
.sitemap_wrap .map_list li {
  margin-bottom: 10px;
}
.sitemap_wrap .map_list .top {
  position: relative;
  margin: 20px 0;
  padding-left: 25px;
}
.sitemap_wrap .map_list .top a {
  color: var(--color-accent01);
  font-weight: 700;
  font-size: clamp(17px, 15.2px + 0.2vw, 18px);
}
.sitemap_wrap .map_list .top::before {
  content: "\e803";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-size: 180%;
  line-height: 1;
  position: absolute;
  top: 10px;
  left: 0;
  vertical-align: middle;
  color: var(--color-accent01);
  font-size: 100%;
}
.sitemap_wrap .map_list .joint {
  position: relative;
  padding-left: 25px;
}
.sitemap_wrap .map_list .joint::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color-accent01);
}
.sitemap_wrap .map_list .sub_list {
  margin-top: 10px;
}
.sitemap_wrap .map_list .sub_list > li {
  position: relative;
  padding-left: 20px;
}
.sitemap_wrap .map_list .sub_list > li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid var(--color-accent01);
  border-radius: 50px;
}
.sitemap_wrap .map_list .sub_list2 {
  margin-top: 10px;
  padding-left: 25px;
}
.sitemap_wrap .map_list .sub_list2 li {
  list-style: disc;
}
@media screen and (max-width: 768px) {
  .sitemap_wrap {
    display: block;
  }
  .sitemap_wrap .sitemap_left,
  .sitemap_wrap .sitemap_right {
    width: 100%;
  }
}

/* ==========================================================================
   settings
========================================================================== */
.service {
  /* start --------------------------------------------------------------------------*/
  /* index.html */
}
.service .idx_page .sec_box {
  max-width: var(--contents-width);
  margin: 0 auto 50px;
}
.service .idx_page .sec_box h2 {
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 3px solid #ccc;
  font-size: clamp(18px, 0px + 2vw, 28px);
}
.service .idx_page .sec_box h2.tit01 {
  color: #EB8603;
  border-color: #FCEDD9;
}
.service .idx_page .sec_box h2.tit02 {
  color: #D66244;
  border-color: #F7DFD9;
}
.service .idx_page .sec_box h2.tit03 {
  color: #3B54AB;
  border-color: #C3CBE6;
}
.service .idx_page .sec_box.item_column {
  display: flex;
  justify-content: space-between;
}
.service .idx_page .sec_box.item_column > div {
  width: calc((100% - 26px) / 2);
}
.service .bnr_list {
  display: grid;
  grid-template-columns: repeat(auto-fit, 280px);
  gap: 26px;
  justify-content: start;
}
.service .bnr_list li {
  text-align: center;
}
.service .bnr_list_c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
}
.service .bnr_list_c li {
  margin: 0 15px;
}
.service .bnr_list_c li:hover {
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .service .idx_page .sec_box {
    max-width: var(--contents-width);
    margin: 0 auto 50px;
  }
  .service .idx_page .sec_box .item04 {
    margin: 0 auto 50px;
  }
  .service .idx_page .sec_box h2 {
    margin-bottom: clamp(15px, -1.304px + 4.076vw, 30px);
    padding-bottom: 10px;
    text-align: center;
    font-size: clamp(18px, 0px + 2vw, 28px);
  }
  .service .idx_page .sec_box h2.tit01 {
    color: #EB8603;
    border-color: #FCEDD9;
  }
  .service .idx_page .sec_box h2.tit02 {
    color: #D66244;
    border-color: #F7DFD9;
  }
  .service .idx_page .sec_box h2.tit03 {
    color: #3B54AB;
    border-color: #C3CBE6;
  }
  .service .idx_page .sec_box.item_column {
    flex-direction: column;
  }
  .service .idx_page .sec_box.item_column > div {
    width: 100%;
  }
  .service .bnr_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 13px;
  }
  .service .bnr_list_c li {
    width: calc((100% - 26px) / 2);
    margin: 0 auto 15px;
  }
}
.service {
  /* // index end ------------*/
}
.service .main_title {
  margin-bottom: clamp(40px, -32px + 8vw, 80px);
  padding: 50px 0;
}
.service .main_title .inner {
  display: flex;
  justify-content: space-between;
  max-width: var(--contents-width);
  margin: auto;
}
.service .main_title .inner h1 span {
  display: block;
  font-weight: 500;
}
.service .main_title .inner h1 .sub {
  padding: 5px 20px;
  background-color: #fff;
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
}
.service .main_title .inner h1 .title {
  padding: 10px 20px;
  color: #fff;
  font-size: clamp(22px, -10.4px + 3.6vw, 40px);
}
.service .main_title .inner h1 .title .repletion {
  display: block;
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  text-align: left;
}
.service .main_title .inner .main_img {
  max-width: 560px;
  margin: 0;
}
.service .main_title .inner .main_img img {
  width: 100%;
}
.service .main_title .inner .marker_txt {
  position: relative;
  display: inline-block;
  margin-top: 20px;
  font-size: clamp(17px, 15.2px + 0.2vw, 18px);
  font-weight: 500;
  line-height: 1;
  z-index: 5;
}
.service .main_title .inner .marker_txt::after {
  content: "";
  width: 100%;
  height: 15px;
  display: inline-block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  margin: auto;
  background-color: #fded56;
  z-index: -1;
}
.service .main_title .inner .marker_txt strong {
  font-size: clamp(30px, 19.2px + 1.2vw, 36px);
}
.service .main_title .inner .marker_txt.txt_red {
  margin-top: 10px;
}
.service .main_title .inner .best_tit {
  position: relative;
  width: fit-content;
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 6px 16px;
  background-color: #fff;
  border: 2px solid #333333;
  border-radius: 4px;
  font-weight: 700;
}
.service .main_title .inner .best_tit::before {
  content: "";
  position: absolute;
  width: 13px;
  height: 12px;
  background: #fff;
  bottom: -10px;
  left: 20px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: 1;
}
.service .main_title .inner .best_tit::after {
  content: "";
  position: absolute;
  width: 13px;
  height: 12px;
  background: #333;
  bottom: -13px;
  left: 20px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: 0;
}
.service .main_title .inner ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 5px;
  font-size: 16px;
}
.service .main_title .inner ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.service .main_title.danso {
  background-color: #EDF9FE;
}
.service .main_title.danso h1 .sub {
  color: #00A7E9;
}
.service .main_title.danso h1 .title {
  background-color: #00A7E9;
}
.service .main_title.danso ul li::before {
  background-color: #00A7E9;
}
.service .main_title.danso .best_tit {
  border-color: #00A7E9;
}
.service .main_title.danso .best_tit::after {
  background-color: #00A7E9;
}
.service .main_title.danso h1 .title,
.service .main_title.danso ul li::before,
.service .main_title.danso .best_tit::after {
  background-color: #00A7E9;
}
.service .main_title.ltd {
  background-color: #ECF5F1;
}
.service .main_title.ltd h1 .sub,
.service .main_title.ltd .best_tit {
  color: #008145;
}
.service .main_title.ltd .best_tit {
  border-color: #008145;
}
.service .main_title.ltd h1 .title,
.service .main_title.ltd ul li::before,
.service .main_title.ltd .best_tit::after {
  background-color: #008145;
}
.service .main_title.term_ins {
  background-color: #F9EFEF;
}
.service .main_title.term_ins h1 .sub,
.service .main_title.term_ins .best_tit {
  color: #B7282E;
}
.service .main_title.term_ins .best_tit {
  border-color: #B7282E;
}
.service .main_title.term_ins h1 .title,
.service .main_title.term_ins ul li::before,
.service .main_title.term_ins .best_tit::after {
  background-color: #B7282E;
}
.service .main_title.term_ins .supplement {
  margin: 10px 0 0;
  font-weight: normal;
}
.service .main_title:not(.index) {
  padding: 20px 0;
}
.service .main_title:not(.index) .inner {
  align-items: center;
  max-width: var(--contents-width-under);
}
.service .main_title:not(.index) .main_img {
  max-width: 360px;
}
@media print, screen and (min-width: 769px) {
  .service .main_title .wrap_box {
    display: grid;
    grid-template-columns: 520px 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: "card1 card2" "card3 card2";
    gap: 0 100px;
    justify-content: space-between;
  }
  .service .main_title h1 {
    grid-area: card1;
    grid-column: 1;
  }
  .service .main_title .main_img {
    grid-area: card2;
    grid-column: 2;
    width: 100%;
    margin-left: auto;
  }
  .service .main_title .txt_box {
    grid-area: card3;
    grid-column: 1;
  }
}
.service .main_title {
  /* main_title SP style ----------------*/
}
@media screen and (max-width: 768px) {
  .service .main_title {
    padding: 0 !important;
  }
  .service .main_title .inner {
    display: block;
  }
  .service .main_title .inner .wrap_box {
    width: 100%;
  }
  .service .main_title .inner .wrap_box h1 {
    margin-bottom: 0;
  }
  .service .main_title .main_img {
    width: 100% !important;
    max-width: 100% !important;
  }
  .service .main_title .main_img img {
    max-height: 150px;
    object-fit: cover;
    object-position: 0 0;
  }
  .service .main_title .best_tit {
    margin-top: 5px !important;
  }
  .service .main_title .marker_txt,
  .service .main_title .best_tit,
  .service .main_title ul {
    margin: 10px 20px;
  }
  .service .main_title.term_ins .supplement {
    margin: 10px 20px;
    font-weight: normal;
  }
  .service .main_title p:not([class]) {
    padding: 0 20px 20px;
  }
  .service .main_title .txt_box > *:last-child {
    padding-bottom: 20px;
  }
  .service .main_title.danso .main_img img {
    object-position: 0 80%;
  }
}
.service .title_box,
.service .title_box_sp {
  position: relative;
  max-width: var(--contents-width-under);
  min-height: 200px;
  margin: 40px auto 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(26px, 8px + 2vw, 36px);
  text-align: center;
}
.service .title_box .copy,
.service .title_box_sp .copy {
  font-size: clamp(18px, 7.2px + 1.2vw, 24px);
}
.service .title_box::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100px;
  height: 3px;
  background-color: var(--color-accent01);
}
.service .title_box h1 {
  text-align: center;
}
.service .title_box.style01 {
  background: #94D3F3 url(/service/img/bg_icon01.png) 32px bottom no-repeat;
  color: #318EDE;
}
.service .title_box.style01::after {
  background-color: #318EDE;
}
.service .title_box.style02 {
  background: #F6A7AD url(/service/img/bg_icon02.png) 32px bottom no-repeat;
  color: #C13B45;
}
.service .title_box.style02::after {
  background-color: #C13B45;
}
.service .title_box.style03 {
  background: #A3DEA1 url(/service/img/bg_icon03.png) 32px bottom no-repeat;
  color: #2D8D2A;
}
.service .title_box.style03::after {
  background-color: #2D8D2A;
}
.service .title_box.style04 {
  background: #A3D8D4 url(/service/img/bg_icon04.png) 32px bottom no-repeat;
  color: #35948D;
}
.service .title_box.style04::after {
  background-color: #35948D;
}
.service .title_box.style05 {
  background: #A3D8D4 url(/service/img/bg_icon05.png) 32px bottom no-repeat;
  color: #35948D;
}
.service .title_box.style05::after {
  background-color: #35948D;
}
.service .title_box.style06 {
  background: #FFC47D url(/service/img/bg_icon06.png) 32px bottom no-repeat;
  color: #E27613;
}
.service .title_box.style06::after {
  background-color: #E27613;
}
.service .title_box.style07 {
  background: #FFCBE0 url(/service/img/bg_icon07.png) 32px bottom no-repeat;
  color: #D55D99;
}
.service .title_box.style07::after {
  background-color: #D55D99;
}
.service .title_box.style08 {
  background: #D2CCF2 url(/service/img/bg_icon08.png) 32px bottom no-repeat;
  color: #6759AF;
}
.service .title_box.style08::after {
  background-color: #6759AF;
}
.service .title_box.style09 {
  background: #B7CAF9 url(/service/img/bg_icon09.png) 32px bottom no-repeat;
  color: #4C6091;
}
.service .title_box.style09::after {
  background-color: #4C6091;
}
.service .title_box.style10 {
  background: #FFDD8D url(/service/img/bg_icon10.png) 0 84% no-repeat;
  color: #BC8709;
}
.service .title_box.style10::after {
  background-color: #BC8709;
}
.service .title_box.style11 {
  background: #FFDD8D url(/service/img/bg_icon11.png) 32px bottom no-repeat;
  color: #BC8709;
}
.service .title_box.style11::after {
  background-color: #BC8709;
}
.service .title_box.style12 {
  background: #A3D8D4 url(/service/img/bg_icon12.png) 32px bottom no-repeat;
  color: #35948D;
}
.service .title_box.style12::after {
  background-color: #35948D;
}
.service .title_box.style13 {
  background: #A3D8D4 url(/service/img/bg_icon13.png) 65px bottom no-repeat;
  color: #35948D;
}
.service .title_box.style13::after {
  background-color: #35948D;
}
.service .title_box.aflac_tit {
  min-height: 160px;
  border: 1px solid #ccc;
}
.service .title_box.aflac_tit::after {
  display: none;
}
@media screen and (max-width: 768px) {
  .service .title_box {
    min-height: 120px;
    margin: clamp(20px, -1.739px + 5.435vw, 40px) auto clamp(35px, -3.043px + 9.511vw, 70px);
    padding: 20px 10px;
    box-sizing: border-box;
  }
  .service .title_box h1 {
    line-height: 1.3;
  }
  .service .title_box.style01 {
    background: #94D3F3 url(/service/img/bg_icon01.png) 24px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.style02 {
    background: #F6A7AD url(/service/img/bg_icon02.png) 24px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.style03 {
    background: #A3DEA1 url(/service/img/bg_icon03.png) 14px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.style04 {
    background: #A3D8D4 url(/service/img/bg_icon04.png) 24px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.style06 {
    background: #FFC47D url(/service/img/bg_icon06.png) 32px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.style08 {
    background: #D2CCF2 url(/service/img/bg_icon08.png) 32px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.style09 {
    background: #B7CAF9 url(/service/img/bg_icon09.png) 32px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.style10 {
    background: #FFC47D url(/service/img/bg_icon10.png) 32px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.style11 {
    background: #FFDD8D url(/service/img/bg_icon11.png) 32px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.style12 {
    background: #A3D8D4 url(/service/img/bg_icon12.png) 32px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.style13 {
    background: #A3D8D4 url(/service/img/bg_icon13.png) 24px bottom no-repeat;
    background-size: 100px auto;
  }
  .service .title_box.aflac_tit {
    min-height: 140px;
    border: 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
}
.service .title_box_sp.venue {
  background: #6EB858 url(/service/img/venue_bg.png) 30px bottom no-repeat;
  color: #fff;
  box-sizing: border-box;
}
.service .title_box_sp.useful {
  background: #FFF7DE;
  color: #000;
  box-sizing: border-box;
}
.service .title_box_sp.useful .inner {
  display: flex;
  justify-content: center;
  align-items: center;
}
.service .title_box_sp.useful .inner h1 {
  line-height: 1;
}
.service .title_box_sp.useful .inner p {
  margin-right: 30px;
}
.service .title_box_sp.useful .inner img {
  max-width: 72px;
}
@media screen and (max-width: 768px) {
  .service .title_box_sp.venue {
    padding-top: 20px;
    align-items: flex-start;
    background: #6EB858 url(/service/img/venue_bg.png) center bottom no-repeat;
    background-size: 182px auto;
  }
  .service .title_box_sp.useful {
    padding-top: 20px;
  }
}
.service .pamphlet_box {
  max-width: var(--contents-width-under);
  margin: 0 auto 60px;
  padding: 30px 50px;
  background-color: #F7F5EB;
  box-sizing: border-box;
}
.service .pamphlet_box h2 {
  margin-bottom: 15px;
  color: var(--color-accent01);
  text-align: center;
}
.service .pamphlet_box .pamphlet_list {
  display: flex;
  justify-content: space-between;
}
.service .pamphlet_box .pamphlet_list li {
  width: calc((100% - 40px) / 2);
}
.service .pamphlet_box .pamphlet_list li a {
  display: flex;
  align-items: center;
  padding: 18px;
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  border-radius: 10px;
  color: var(--color-accent01);
  font-weight: 500;
}
.service .pamphlet_box .pamphlet_list li a > p:first-child {
  margin-right: 15px;
}
.service .pamphlet_box .pamphlet_list li a > p:last-child::after {
  content: "\f1c1";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 6px;
  color: #D40000;
  text-decoration: none;
  text-indent: initial;
}
@media screen and (max-width: 768px) {
  .service .pamphlet_box .pamphlet_list {
    display: block;
  }
  .service .pamphlet_box .pamphlet_list li {
    width: 100%;
    margin: 10px auto;
  }
}
.service .pamphlet_box .pamphlet_btn a {
  display: flex;
  align-items: center;
  width: fit-content;
  margin: auto;
  padding: 18px;
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  border-radius: 10px;
  color: var(--color-accent01);
  font-weight: 500;
  transition: all 0.2s;
}
.service .pamphlet_box .pamphlet_btn a > p {
  margin: 0;
}
.service .pamphlet_box .pamphlet_btn a > p:first-child {
  margin-right: 15px;
}
.service .pamphlet_box .pamphlet_btn a > p:last-child::after {
  content: "\f1c1";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 6px;
  color: #D40000;
  text-decoration: none;
  text-indent: initial;
}
.service .pamphlet_box .pamphlet_btn a:hover {
  background-color: #D5DBED;
  text-decoration: none;
}
.service .pamphlet_box .pamphlet_btn.window a > p:last-child::after {
  content: "\e801";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 6px;
  color: var(--color-accent01);
  text-decoration: none;
  text-indent: initial;
}
.service .pamphlet_box .small_link {
  text-align: center;
}
.service .pamphlet_box .small_link a {
  font-size: 12px;
}
.service .pamphlet_box .list_small_link {
  width: fit-content;
  margin: 20px auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.service .pamphlet_box .list_small_link li {
  list-style: disc;
  margin-top: 5px;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .service .pamphlet_box {
    padding: clamp(15px, -1.304px + 4.076vw, 30px) clamp(25px, -2.174px + 6.793vw, 50px);
  }
  .service .pamphlet_box .pamphlet_btn a > p:first-child {
    max-width: 140px;
  }
  .service .pamphlet_box .pamphlet_btn a > p:first-child img {
    max-width: 100%;
  }
}
.service .application_box {
  margin: 40px 0;
  padding: 30px 50px;
  background-color: #F7F5EB;
}
.service .application_box h3:first-child {
  margin-top: 0;
}
.service .application_box .btn_box {
  width: 70%;
  margin: auto;
}
.service .application_box .btn_wrap {
  display: flex;
  justify-content: space-between;
}
.service .application_box .btn_wrap div {
  width: 48%;
}
@media screen and (max-width: 768px) {
  .service .application_box .btn_wrap {
    display: block;
  }
  .service .application_box .btn_wrap div {
    width: 100%;
  }
}
.service .application_box .download_btn {
  margin-bottom: 5px;
}
.service .application_box .download_btn a {
  position: relative;
  display: block;
  margin: auto;
  padding: 15px;
  background-color: var(--color-accent01);
  border-radius: 50px;
  color: #fff;
  text-align: center;
  font-size: clamp(18px, 10.8px + 0.8vw, 22px);
  transition: all 0.4s;
  text-decoration: none;
}
.service .application_box .download_btn a::after {
  content: "\f1c1";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  height: 1em;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  line-height: 1;
  transition: all 0.4s;
  color: #fff;
}
.service .application_box .download_btn a:hover {
  text-decoration: none;
  opacity: 0.6;
}
.service .application_box .download_btn a:hover::after {
  transform: translateX(0.25em);
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .service .application_box {
    padding: clamp(15px, 9.565px + 1.359vw, 20px);
  }
  .service .application_box .btn_box {
    width: 100%;
    margin: auto;
  }
  .service .application_box .download_btn a {
    font-size: clamp(16px, 13.826px + 0.543vw, 18px);
  }
  .service .application_box .download_btn a::after {
    right: 20px;
  }
}
.service .features_box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.service .features_box dl {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: calc((100% - 80px) / 3);
  padding: 15px 10px;
  border: 2px solid #669900;
  border-radius: 20px;
  box-sizing: border-box;
}
.service .features_box dl dt {
  color: #669900;
  font-size: clamp(18px, 3.6px + 1.6vw, 26px);
  font-weight: 700;
  text-align: center;
}
.service .features_box dl dd {
  text-align: center;
}
.service .features_box dl.reverse {
  flex-direction: column-reverse;
}
.service .features_box div.maintxt {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: calc((100% - 80px) / 3);
  padding: 15px 10px;
  border: 2px solid #669900;
  border-radius: 20px;
  box-sizing: border-box;
  color: #669900;
  font-size: clamp(18px, 3.6px + 1.6vw, 26px);
  font-weight: 700;
  text-align: center;
}
.service .features_box div.maintxt p {
  margin-bottom: 0;
}
.service .features_box.column2 dl {
  width: calc((100% - 50px) / 2);
}
@media screen and (max-width: 768px) {
  .service .features_box {
    flex-direction: column;
  }
  .service .features_box dl, .service .features_box div.maintxt {
    width: 100%;
    margin-top: 20px;
  }
  .service .features_box dl:first-child, .service .features_box div.maintxt:first-child {
    margin-top: 0;
  }
  .service .features_box.column2 dl {
    width: 100%;
  }
}
.service .best_point {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: -20px;
  padding: 0 20px;
  /*background-color: #FFF9DE;*/
  box-sizing: border-box;
}
.service .best_point h2 {
  position: relative;
  width: 70%;
  margin-bottom: 20px;
  padding: 0 0 8px;
  border-bottom: 2px solid #EFA11A;
  background-color: #fff;
  color: #EFA11A;
  font-size: clamp(18px, 3.6px + 1.6vw, 26px);
  text-align: center;
}
.service .best_point h2::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 15px;
  height: 15px;
  box-sizing: border-box;
  background-color: #fff; /* 背景色と同じ色を指定 */
  rotate: 135deg;
  translate: -50%;
  z-index: 1;
}
.service .best_point h2::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  z-index: 0;
  width: 15px;
  height: 15px;
  box-sizing: border-box;
  border: 2px solid;
  border-color: #EFA11A #EFA11A transparent transparent;
  background-color: #ffffff;
  rotate: 135deg;
  translate: -50%;
}
.service .best_point ul li {
  font-size: 18px;
}
.service .best_point ul li::before {
  top: 11px;
  background-color: #EFA11A;
}
@media screen and (max-width: 768px) {
  .service .best_point {
    margin-top: -10px;
    margin-bottom: 30px;
  }
  .service .best_point h2 {
    font-size: clamp(18px, 9.304px + 2.174vw, 26px);
  }
  .service .best_point ul li {
    font-size: clamp(16px, 13.826px + 0.543vw, 18px);
  }
}
.service .link_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin: auto;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
}
.service .link_box:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.service .link_box h3 {
  margin: 0 !important;
}
.service .link_box h3:not([class]) {
  color: #DF607F;
  font-size: 17px;
}
.service .link_box p {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .service .link_box {
    flex-direction: column;
    width: 100%;
    margin: auto;
    margin-bottom: 20px;
  }
  .service .link_box:last-child {
    margin-bottom: 0;
  }
  .service .link_box h3 {
    margin-bottom: 15px !important;
    font-size: clamp(16px, 14.913px + 0.272vw, 17px);
    text-align: center;
  }
  .service .link_box p {
    margin: 0;
  }
}
.service {
  /**
  .link_wrap {
      display: flex;
      justify-content: space-between;
      .link_box {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          width: calc((100% - 60px) / 3);
          text-align: center;
          h3 {
              margin-bottom: 15px;
              font-size: 17px;
              text-align: center;
              flex-grow:1;
          }
          p {
              margin-top: auto;
          }
      }
  }*/
}
.service .link_wrap {
  padding: 30px;
  background-color: #DEF1EF;
  border-radius: 10px;
}
.service .link_wrap .link_box h3 {
  color: #35948D;
}
.service .link_wrap .link_box h3 .icon {
  display: inline-block;
  width: 40px;
  margin-right: 10px;
  text-align: center;
}
.service .link_wrap .link_box .btn_link04 {
  min-width: 420px;
}
.service .link_wrap .link_box .btn_link04 a {
  width: 100%;
  padding: 10px 50px 10px 30px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .service .link_wrap {
    padding: 20px 15px;
  }
  .service .link_wrap .link_box > div {
    width: 100%;
  }
  .service .link_wrap .link_box .btn_link04 {
    min-width: 100%;
  }
  .service .link_wrap .link_box .btn_link04 a {
    padding: 10px 25px 10px 10px;
  }
}
.service .link_wrap02 {
  padding: 30px;
  background-color: #F7F5EB;
  border-radius: 10px;
}
.service .link_wrap02 .link_box h3 {
  color: var(--color-accent01);
}
.service .link_wrap02 .link_box h3 .icon {
  display: inline-block;
  width: 40px;
  margin-right: 10px;
  text-align: center;
}
.service .link_wrap02 .link_box .btn_link04 {
  min-width: 320px;
}
.service .link_wrap02 .link_box .btn_link04 a {
  width: 100%;
  padding: 10px 50px 10px 30px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .service .link_wrap02 {
    padding: 20px 15px;
  }
  .service .link_wrap02 .link_box > div {
    width: 100%;
  }
  .service .link_wrap02 .link_box .btn_link04 {
    min-width: 100%;
  }
  .service .link_wrap02 .link_box .btn_link04 a {
    padding: 10px 25px 10px 10px;
  }
}
.service .fb_area {
  padding: 24px;
  background-color: #FFEFF0;
  box-sizing: border-box;
}
.service .fb_area .tit {
  position: relative;
  padding-bottom: 10px;
  font-weight: 700;
  text-align: center;
}
.service .fb_area .tit::after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.service .fb_area .tit + p {
  margin-bottom: 0;
}
.service .fb_area > p.txt_small {
  margin-bottom: 0;
}
.service .fb_area .sec_inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.service .fb_area .sec_inner div {
  padding: 0 25px;
  border-right: 2px solid #fff;
}
.service .fb_area .sec_inner div:last-child {
  border-right: 0;
}
.service .fb_area .sec_inner div.box1 a, .service .fb_area .sec_inner div.box2 a, .service .fb_area .sec_inner div.box3 a, .service .fb_area .sec_inner div.box4 a {
  position: relative;
  display: block;
  color: #fff;
  border-radius: 50px;
  font-weight: 500;
  text-align: center;
  transition: all 0.2s;
}
.service .fb_area .sec_inner div.box1 a::after, .service .fb_area .sec_inner div.box2 a::after, .service .fb_area .sec_inner div.box3 a::after, .service .fb_area .sec_inner div.box4 a::after {
  transition: all 0.2s;
}
.service .fb_area .sec_inner div.box1 .tit::after {
  background-color: #EFA600;
}
.service .fb_area .sec_inner div.box1 a {
  padding: 10px 40px 10px 20px;
  background-color: #EFA600;
  box-shadow: 0 3px 0 0 #FAD7A3;
}
.service .fb_area .sec_inner div.box1 a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4px;
  font-size: 200%;
  color: #fff;
}
.service .fb_area .sec_inner div.box1 a:hover {
  background-color: #fff;
  color: #EFA600;
  text-decoration: none;
}
.service .fb_area .sec_inner div.box1 a:hover::after {
  color: #EFA600;
}
.service .fb_area .sec_inner div.box2 .tit::after {
  background-color: #5A9C4A;
}
.service .fb_area .sec_inner div.box2 a {
  padding: 10px 40px 10px 20px;
  background-color: #5A9C4A;
  box-shadow: 0 3px 0 0 #CAD4BB;
}
.service .fb_area .sec_inner div.box2 a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4px;
  font-size: 200%;
  color: #fff;
}
.service .fb_area .sec_inner div.box2 a:hover {
  background-color: #fff;
  color: #5A9C4A;
  text-decoration: none;
}
.service .fb_area .sec_inner div.box2 a:hover::after {
  color: #5A9C4A;
}
.service .fb_area .sec_inner div.box3 .tit::after {
  background-color: var(--color-accent01);
}
.service .fb_area .sec_inner div .link_btn {
  display: flex;
}
.service .fb_area .sec_inner div .link_btn li {
  min-width: 160px;
  margin-left: 10px;
}
.service .fb_area .sec_inner div .link_btn li a {
  padding: 10px 40px 10px 20px;
  background-color: #fff;
  color: var(--color-accent01);
  border: 2px solid var(--color-accent01);
  box-shadow: 0 3px 0 0 #D6D6D6;
}
.service .fb_area .sec_inner div .link_btn li a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4px;
  font-size: 200%;
  color: var(--color-accent01);
}
.service .fb_area .sec_inner div .link_btn li a:hover {
  background-color: var(--color-accent01);
  color: #fff;
  text-decoration: none;
}
.service .fb_area .sec_inner div .link_btn li a:hover::after {
  color: #fff;
}
.service .fb_area .sec_inner div .link_btn li:first-child {
  margin-left: 0;
}
.service .fb_area .sec_inner div.box4 .tit::after {
  background-color: #19a9e2;
}
.service .fb_area .sec_inner div.box4 .btn a {
  position: relative;
  display: block;
  padding: 10px 35px 10px 15px;
  background-color: #19a9e2;
  color: #fff;
  border-radius: 50px;
  font-weight: 500;
  box-shadow: 0 3px 0 0 #c9e5f0;
  text-align: center;
  transition: all 0.2s;
}
.service .fb_area .sec_inner div.box4 .btn a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4px;
  font-size: 200%;
  color: #fff;
}
.service .fb_area .sec_inner div.box4 .btn a:hover {
  background-color: #fff;
  color: #19a9e2;
  text-decoration: none;
}
.service .fb_area .sec_inner div.box4 .btn a:hover::after {
  color: #19a9e2;
}
.service .fb_area .sec_inner div .link_txt a {
  padding: 0;
  background-color: initial;
  color: #018BB9;
  text-align: left;
}
.service .fb_area .area_big .tit {
  padding-bottom: 0;
  font-size: clamp(18px, 15.826px + 0.543vw, 20px);
  text-align: center;
}
.service .fb_area .area_big dl {
  width: calc((100% - 30px) / 2);
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
  box-sizing: border-box;
}
.service .fb_area .area_big dl dt {
  font-size: clamp(18px, 16.913px + 0.272vw, 19px);
  font-weight: 700;
}
.service .fb_area .area_big .dl_wide {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 30px;
}
.service .fb_area .area_big .dl_wide dt, .service .fb_area .area_big .dl_wide dd {
  width: calc((100% - 60px) / 2);
}
.service .fb_area .area_big .dl_wide dt {
  text-align: center;
}
.service .fb_area .area_big .dl_wide .icon {
  margin-right: 10px;
}
.service .fb_area .estimation_btn a {
  position: relative;
  display: block;
  color: #fff;
  border-radius: 50px;
  font-weight: 500;
  text-align: center;
  transition: all 0.2s;
  padding: 10px 40px 10px 20px;
  background-color: #EFA600;
  box-shadow: 0 3px 0 0 #FAD7A3;
}
.service .fb_area .estimation_btn a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4px;
  font-size: 200%;
  color: #fff;
}
.service .fb_area .estimation_btn a:hover {
  background-color: #fff;
  color: #EFA600;
  text-decoration: none;
}
.service .fb_area .estimation_btn a:hover::after {
  color: #EFA600;
}
@media screen and (max-width: 768px) {
  .service .fb_area .sec_inner {
    display: block;
  }
  .service .fb_area .sec_inner div {
    margin-bottom: 30px;
    padding: 0 30px;
    border-right: 0;
  }
  .service .fb_area .sec_inner div:last-child {
    margin-bottom: 0;
    border-bottom: 0;
  }
  .service .fb_area .sec_inner div .tit {
    position: relative;
    margin-bottom: 15px;
    padding-bottom: 10px;
    font-weight: 700;
    text-align: center;
  }
  .service .fb_area .sec_inner div .tit::after {
    content: "";
    display: block;
    width: 30px;
    height: 2px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .service .fb_area .sec_inner div .link_btn {
    display: block;
  }
  .service .fb_area .sec_inner div .link_btn li {
    min-width: 220px;
    margin-left: 0;
    margin-bottom: 15px;
  }
  .service .fb_area .sec_inner div .link_btn li a {
    position: relative;
    display: block;
    padding: 10px 40px 10px 20px;
    background-color: #fff;
    color: var(--color-accent01);
    border: 2px solid var(--color-accent01);
    border-radius: 50px;
    font-weight: 500;
    box-shadow: 0 3px 0 0 #D6D6D6;
    text-align: center;
    transition: all 0.2s;
  }
  .service .fb_area .sec_inner div .link_btn li:first-child {
    margin-left: 0;
  }
  .service .fb_area .area_big .tit {
    padding-bottom: 0;
    font-size: clamp(18px, 15.826px + 0.543vw, 20px);
    text-align: center;
  }
  .service .fb_area .area_big dl {
    width: 100%;
    margin-top: 30px;
    padding: 20px;
  }
  .service .fb_area .area_big .dl_wide {
    display: block;
  }
  .service .fb_area .area_big .dl_wide dt, .service .fb_area .area_big .dl_wide dd {
    width: 100%;
  }
  .service .fb_area .area_big .dl_wide dt {
    text-align: center;
  }
  .service .fb_area .area_big .dl_wide dd {
    margin-top: 20px;
  }
}
.service .terms {
  padding: 20px 30px;
  border: 3px solid #ddd;
}
.service .terms dt {
  margin-bottom: 10px;
  color: var(--color-accent01);
  font-size: 18px;
  font-weight: 500;
}
.service .terms dt::before {
  content: "\e806";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-right: 12px;
  font-size: 120%;
  line-height: 1;
  color: #e6a903;
}
.service {
  /* /service/campaign/ */
}
.service .campaign_list .cp_box {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #BABABA;
}
.service .campaign_list .cp_box:last-child {
  border-bottom: 0;
}
.service .campaign_list .cp_detail {
  display: flex;
  justify-content: space-between;
}
.service .campaign_list .cp_detail .cp_bnr {
  max-width: 340px;
}
.service .campaign_list .cp_detail .cp_txt {
  width: calc(100% - 380px);
}
.service .campaign_list .cp_detail .cp_period {
  display: inline-block;
  padding: 5px 10px;
  background-color: #FFF0E9;
}
@media screen and (max-width: 768px) {
  .service .campaign_list .cp_detail {
    display: block;
  }
  .service .campaign_list .cp_detail .cp_txt {
    width: 100%;
  }
  .service .campaign_list .cp_period {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
}
.service .cp_link {
  margin-top: 0 !important;
  margin-bottom: 15px !important;
  text-align: center;
}
.service .cp_link a {
  position: relative;
  display: inline-block;
  min-width: 220px;
  padding: 5px 20px;
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  color: var(--color-accent01);
  border-radius: 50px;
  text-align: center;
  transition: all 0.4s;
}
.service .cp_link a:hover {
  text-decoration: none;
}
.service .cp_link a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  font-size: 150%;
  color: var(--color-accent01);
}
.service .cp_main {
  margin: 40px auto;
  text-align: center;
}
.service .coubic_consul {
  width: 100%;
}
.service .coubic_consul iframe {
  width: 100%;
  height: 840px;
}
.service .flow_area .flow_box {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
  padding: 30px;
  background-color: #EFF1F9;
  border-radius: 20px;
}
.service .flow_area .flow_box::before {
  content: "";
  width: 14px;
  height: 14px;
  display: inline-block;
  border-top: 4px solid var(--color-accent01);
  border-right: 4px solid var(--color-accent01);
  position: absolute;
  bottom: -24px;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.service .flow_area .flow_box:last-child::before, .service .flow_area .flow_box.support::before {
  display: none;
}
.service .flow_area .flow_box .txt_box {
  width: calc(100% - 240px);
}
.service .flow_area .flow_box .txt_box h3 {
  position: relative;
  margin-bottom: 20px;
  padding-top: 40px;
  border-bottom: 2px solid var(--color-accent01);
}
.service .flow_area .flow_box .txt_box h3 span {
  display: block;
  padding: 3px 5px;
}
.service .flow_area .flow_box .txt_box h3 span.en {
  position: absolute;
  left: -30px;
  top: 0;
  min-width: 120px;
  padding: 5px 30px;
  background-color: var(--color-accent01);
  border-radius: 0 25px 25px 0;
  color: #fff;
}
.service .flow_area .flow_box .txt_box h3 span.tit {
  color: var(--color-accent01);
  font-size: clamp(20px, 12.8px + 0.8vw, 24px);
}
.service .flow_area .flow_box .txt_box p:last-child {
  margin-bottom: 0;
}
.service .flow_area .flow_box.support {
  background-color: #F9F1EF;
}
.service .flow_area .flow_box.support .txt_box h3 {
  border-color: #EB8C39;
}
.service .flow_area .flow_box.support .txt_box h3 span.en {
  background-color: #EB8C39;
}
.service .flow_area .flow_box.support .txt_box h3 span.tit {
  color: #EB8C39;
}
.service .flow_area .flow_box .img {
  width: 200px;
  margin: 0;
}
.service .flow_area .step_box,
.service .flow_area .end_box {
  position: relative;
  margin-bottom: 40px;
  padding: 30px;
  border-radius: 20px;
}
.service .flow_area .step_box h3,
.service .flow_area .end_box h3 {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 2px solid;
  font-size: clamp(20px, 12.8px + 0.8vw, 24px);
  text-align: center;
}
.service .flow_area .step_box p,
.service .flow_area .end_box p {
  margin-bottom: 0;
}
.service .flow_area .step_box {
  background-color: #EFF1F9;
}
.service .flow_area .step_box::before {
  content: "";
  width: 14px;
  height: 14px;
  display: inline-block;
  border-top: 4px solid var(--color-accent01);
  border-right: 4px solid var(--color-accent01);
  position: absolute;
  bottom: -24px;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.service .flow_area .step_box h3 {
  color: var(--color-accent01);
  border-color: var(--color-accent01);
}
.service .flow_area .end_box {
  background-color: #F9F1EF;
}
.service .flow_area .end_box h3 {
  color: #EB8C39;
  border-color: #EB8C39;
}
@media screen and (max-width: 768px) {
  .service .flow_area .flow_box {
    flex-direction: column;
  }
  .service .flow_area .flow_box .txt_box {
    width: 100%;
  }
  .service .flow_area .flow_box .txt_box h3 {
    position: relative;
    margin-bottom: 20px;
    padding-top: 40px;
    border-bottom: 2px solid var(--color-accent01);
  }
  .service .flow_area .flow_box .txt_box h3 span {
    display: block;
    padding: 3px 5px;
  }
  .service .flow_area .flow_box .txt_box h3 span.en {
    position: absolute;
    left: -30px;
    top: 0;
    min-width: 120px;
    padding: 5px 30px;
    background-color: var(--color-accent01);
    border-radius: 0 25px 25px 0;
    color: #fff;
  }
  .service .flow_area .flow_box .txt_box h3 span.tit {
    color: var(--color-accent01);
    font-size: clamp(20px, 12.8px + 0.8vw, 24px);
  }
  .service .flow_area .flow_box.support {
    background-color: #F9F1EF;
  }
  .service .flow_area .flow_box.support .txt_box h3 {
    border-color: #EB8C39;
  }
  .service .flow_area .flow_box.support .txt_box h3 span.en {
    background-color: #EB8C39;
  }
  .service .flow_area .flow_box.support .txt_box h3 span.tit {
    color: #EB8C39;
  }
  .service .flow_area .flow_box .img {
    margin: 20px auto 0;
  }
}
.service .onepoint_advice .point_box {
  margin-top: 30px;
}
.service .onepoint_advice .point_box:first-child {
  margin-top: 0;
}
.service .corpo_inq {
  width: fit-content;
  margin: auto;
  padding: 20px 30px;
  border: 2px solid var(--color-accent01);
  border-radius: 20px;
}
.service .corpo_inq h2 {
  margin-bottom: 20px;
  padding-bottom: 15px;
  color: var(--color-accent01);
  border-bottom: 1px solid var(--color-accent01);
  font-size: clamp(18px, 14.4px + 0.4vw, 20px);
  text-align: center;
}
.service .corpo_inq .corpo_inq_inner {
  display: flex;
  justify-content: center;
}
.service .corpo_inq .corpo_inq_inner > p {
  margin: 15px 20px 0;
}
.service .corpo_inq .corpo_inq_inner .tel {
  text-align: center;
}
.service .corpo_inq .corpo_inq_inner .mail a {
  position: relative;
  display: block;
  padding: 10px 40px 10px 20px;
  background-color: #fff;
  color: var(--color-accent01);
  border: 2px solid var(--color-accent01);
  border-radius: 50px;
  font-weight: 500;
  box-shadow: 0 3px 0 0 #D6D6D6;
  text-align: center;
  transition: all 0.2s;
}
.service .corpo_inq .corpo_inq_inner .mail a:hover {
  background-color: var(--color-accent01);
  color: #fff;
  text-decoration: none;
}
.service .corpo_inq .corpo_inq_inner .mail a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4px;
  font-size: 200%;
  color: var(--color-accent01);
}
@media screen and (max-width: 768px) {
  .service .corpo_inq h2 {
    margin-bottom: 10px;
  }
  .service .corpo_inq .corpo_inq_inner {
    flex-direction: column;
  }
}
.service .closer a {
  display: block;
  padding: 10px 30px;
  background-color: #fff;
  color: var(--color-accent01);
  text-align: center;
}
.service {
  /* /service/pet_ins/ */
}
.service .info_wrap {
  margin-bottom: 80px;
}
.service .info_box {
  margin-bottom: 40px;
  color: var(--color-accent01);
  font-size: clamp(20px, 12.8px + 0.8vw, 24px);
  text-align: center;
}
.service .info_box p {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  font-size: clamp(20px, 12.8px + 0.8vw, 24px);
}
.service .info_box p::before, .service .info_box p::after {
  display: inline-block;
  width: 1px;
  height: 28px;
  content: "";
  background-color: #000;
}
.service .info_box p::before {
  margin-right: 1em;
  transform: rotate(-30deg);
}
.service .info_box p::after {
  margin-left: 1em;
  transform: rotate(30deg);
}
.service .info_box h2 {
  display: inline-block;
  position: relative;
  padding: 0 20px;
  font-size: clamp(24px, 16.8px + 0.8vw, 28px);
}
.service .info_box h2::after {
  content: "";
  width: 100%;
  height: 20px;
  display: inline-block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-color: #fded56;
  z-index: -1;
}
.service .info_box h2 strong {
  font-size: clamp(28px, 17.2px + 1.2vw, 34px);
}
@media screen and (max-width: 768px) {
  .service .info_box h2 {
    display: inline-block;
    position: relative;
    padding: 0 20px;
    font-size: clamp(24px, 16.8px + 0.8vw, 28px);
  }
  .service .info_box h2 span {
    display: inline-block;
    position: relative;
  }
  .service .info_box h2 span::after {
    content: "";
    width: 100%;
    height: 20px;
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #fded56;
    z-index: -1;
  }
  .service .info_box h2::after {
    display: none;
  }
  .service .info_box h2 strong {
    font-size: clamp(28px, 17.2px + 1.2vw, 34px);
  }
}
.service .big_link_btn {
  display: flex;
  justify-content: space-between;
}
.service .big_link_btn li {
  width: 50%;
  box-sizing: border-box;
}
.service .big_link_btn li a {
  position: relative;
  display: block;
  padding: 20px;
  color: #fff;
  font-size: clamp(20px, 15.652px + 1.087vw, 24px);
  text-align: center;
  transition: all 0.2s;
}
.service .big_link_btn li a strong {
  font-size: clamp(24px, 19.652px + 1.087vw, 28px);
}
.service .big_link_btn li a span {
  display: block;
  font-size: clamp(18px, 18px + 0vw, 18px);
}
.service .big_link_btn li a:hover {
  text-decoration: none;
  opacity: 0.6;
}
.service .big_link_btn li a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0px;
  font-size: 200%;
  color: #fff;
}
.service .big_link_btn li.new a {
  background-color: #f18407;
  border-radius: 20px 0 0 20px;
}
.service .big_link_btn li.change a {
  background-color: #5A9C4A;
  border-radius: 0 20px 20px 0;
}
@media screen and (max-width: 768px) {
  .service .big_link_btn {
    display: block;
  }
  .service .big_link_btn li {
    width: 100%;
    margin-top: 15px;
  }
  .service .big_link_btn li a {
    padding-right: 30px;
    border-radius: 10px !important;
  }
}
.service .md_link_btn,
.service .estimate_links {
  display: flex;
  justify-content: center;
}
.service .md_link_btn li,
.service .estimate_links li {
  min-width: 300px;
  margin: 15px;
}
.service .md_link_btn li a,
.service .estimate_links li a {
  display: block;
  position: relative;
  padding: 15px 20px;
  border-radius: 50px;
  font-size: clamp(16px, 12.4px + 0.4vw, 18px);
  text-align: center;
  transition: all 0.4s;
  text-decoration: none;
}
.service .md_link_btn li a span,
.service .estimate_links li a span {
  font-size: 12px;
}
.service .md_link_btn li a::after,
.service .estimate_links li a::after {
  position: absolute;
  height: 1em;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  line-height: 1;
  transition: all 0.4s;
}
.service .md_link_btn li a:hover,
.service .estimate_links li a:hover {
  text-decoration: none;
  opacity: 0.6;
}
.service .md_link_btn li a:hover::after,
.service .estimate_links li a:hover::after {
  transform: translateX(0.25em);
  text-decoration: none;
}
.service .md_link_btn li.request a,
.service .estimate_links li.request a {
  background-color: #5A9C4A;
  border: 2px solid #5A9C4A;
  color: #fff;
}
.service .md_link_btn li.request a::after,
.service .estimate_links li.request a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-size: 150%;
}
.service .md_link_btn li.procedures a,
.service .estimate_links li.procedures a {
  background-color: var(--color-btn01);
  border: 2px solid var(--color-btn01);
  color: #fff;
}
.service .md_link_btn li.procedures a::after,
.service .estimate_links li.procedures a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-size: 150%;
}
.service .md_link_btn li.download_pdf a,
.service .estimate_links li.download_pdf a {
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  color: var(--color-accent01);
}
.service .md_link_btn li.download_pdf a span,
.service .estimate_links li.download_pdf a span {
  font-size: 12px;
}
.service .md_link_btn li.download_pdf a::after,
.service .estimate_links li.download_pdf a::after {
  content: "\f1c1";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
}
.service .md_link_btn li.download_word a,
.service .estimate_links li.download_word a {
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  color: var(--color-accent01);
}
.service .md_link_btn li.download_word a span,
.service .estimate_links li.download_word a span {
  font-size: 12px;
}
.service .md_link_btn li.download_word a::after,
.service .estimate_links li.download_word a::after {
  content: "\f1c2";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
}
.service .md_link_btn li.btn_style01 a,
.service .estimate_links li.btn_style01 a {
  background-color: var(--color-accent01);
  border: 2px solid var(--color-accent01);
  color: #fff;
}
.service .md_link_btn li.btn_style01 a::after,
.service .estimate_links li.btn_style01 a::after {
  color: #fff;
}
.service .md_link_btn li.btn_style02 a,
.service .estimate_links li.btn_style02 a {
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  color: var(--color-accent01);
}
.service .md_link_btn li.btn_style03 a,
.service .estimate_links li.btn_style03 a {
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  color: var(--color-accent01);
}
.service .md_link_btn li.btn_style03 a::after,
.service .estimate_links li.btn_style03 a::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-size: 150%;
}
@media screen and (max-width: 768px) {
  .service .md_link_btn,
  .service .estimate_links {
    display: block;
  }
  .service .md_link_btn li,
  .service .estimate_links li {
    width: 100%;
    min-width: auto;
    margin: 15px auto !important;
  }
  .service .md_link_btn li a,
  .service .estimate_links li a {
    padding: 15px 10px;
  }
}
.service .estimate_links li {
  margin: 0 15px;
  text-align: center;
}
.service .estimate_links li p {
  margin-bottom: 0;
}
.service .estimate_links li .tit {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 10px;
  font-weight: 700;
}
.service .estimate_links li .tit::after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.service .estimate_links li a {
  color: #fff;
}
.service .estimate_links li a::after {
  color: #fff;
}
.service .estimate_links .bg_b a,
.service .estimate_links .bg_b .tit::after {
  background-color: #217ace;
}
.service .estimate_links .bg_o a,
.service .estimate_links .bg_o .tit::after {
  background-color: var(--color-btn01);
}
.service {
  /* /service/aflac/ */
}
.service .aflac_box {
  padding: 30px;
  background-color: #EFF1F9;
}
.service .aflac_box .flex_box {
  justify-content: space-between;
}
.service .aflac_box .flex_box > div {
  width: calc(100% - 200px);
}
.service .aflac_box .flex_box h3 {
  margin-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-accent01);
}
@media screen and (max-width: 768px) {
  .service .aflac_box .flex_box {
    display: block;
  }
  .service .aflac_box .flex_box > div {
    width: 100%;
  }
  .service .aflac_box .flex_box .img {
    text-align: center;
  }
}
.service .info_sharing {
  width: fit-content;
  margin: 20px auto;
  padding: 20px;
  background-color: #fff;
}
.service .info_sharing dt {
  margin-bottom: 10px;
  padding-bottom: 8px;
  color: var(--color-accent01);
  border-bottom: 1px solid var(--color-accent01);
  font-weight: 500;
  text-align: center;
}
.service .info_sharing dt::before {
  content: "\e806";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-right: 12px;
  font-size: 120%;
  line-height: 1;
  color: #e6a903;
}
.service .pdf_btn {
  margin: 15px auto;
}
.service .pdf_btn.max {
  max-width: 300px;
}
.service .pdf_btn a {
  display: block;
  position: relative;
  padding: 15px 20px;
  border-radius: 50px;
  font-size: clamp(16px, 12.4px + 0.4vw, 18px);
  text-align: center;
  transition: all 0.4s;
  text-decoration: none;
  background-color: #fff;
  border: 2px solid var(--color-accent01);
  color: var(--color-accent01);
}
.service .pdf_btn a span {
  font-size: 12px;
}
.service .pdf_btn a::after {
  content: "\f1c1";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  height: 1em;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  line-height: 1;
  transition: all 0.4s;
}
.service .pdf_btn a:hover {
  text-decoration: none;
  opacity: 0.6;
}
.service .pdf_btn a:hover::after {
  transform: translateX(0.25em);
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .service .pdf_btn.max {
    max-width: 100%;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #ccc;
  }
}
.service .column2_box {
  display: flex;
  justify-content: space-between;
}
.service .column2_box .column_in {
  width: 48%;
}
.service .column2_box .md_link_btn {
  display: block;
}
.service .column2_box .md_link_btn li {
  max-width: 70%;
  margin: 15px auto;
}
@media screen and (max-width: 768px) {
  .service .column2_box {
    display: block;
  }
  .service .column2_box .column_in {
    width: 100%;
  }
  .service .column2_box .column_in:first-child {
    margin-bottom: 50px;
  }
  .service .column2_box .md_link_btn li {
    width: 90%;
    max-width: 90%;
  }
}
.service {
  /* /service/group/ltd/ */
}
.service #manga_area_ltd {
  max-width: 690px;
  margin: auto;
  text-align: center;
}
.service #manga_area_ltd .manga_btn {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: -20px;
}
.service #manga_area_ltd .manga_btn li {
  margin: 0 15px;
}
.service #manga_area_ltd .manga_btn li a {
  display: block;
  padding: 10px 40px;
  background-color: #fff;
  color: var(--color-accent01);
  border: 2px solid var(--color-accent01);
  border-radius: 50px;
}
.service #manga_area_ltd .manga_btn li a:hover {
  background-color: #D5DBED;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .service #manga_area_ltd .manga_btn {
    margin-top: 10px;
  }
}
.service .examples_box {
  display: flex;
  justify-content: space-between;
  max-width: 690px;
  margin: auto;
}
.service .examples_box .txt {
  width: calc(100% - 230px);
}
.service .examples_box .img {
  max-width: 208px;
}
@media screen and (max-width: 768px) {
  .service .examples_box {
    flex-direction: column;
  }
  .service .examples_box .txt,
  .service .examples_box .img {
    max-width: 100%;
    width: 100%;
  }
  .service .examples_box .img {
    margin-bottom: 0;
    text-align: center;
  }
}
.service .calculation_box {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 25px 30px;
  border: 2px solid var(--color-accent01);
}
.service .calculation_box dt, .service .calculation_box dd {
  width: 50%;
}
.service .calculation_box dt {
  position: relative;
  color: var(--color-accent01);
  font-size: clamp(18px, 14.4px + 0.4vw, 20px);
  font-weight: 500;
}
.service .calculation_box dt::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4px;
  font-size: 200%;
  color: var(--color-accent01);
}
.service .calculation_box dd {
  text-align: center;
}
.service .calculation_box .btn {
  display: inline-block;
  margin: 0 auto;
}
.service .calculation_box .btn a {
  display: inline-block;
  padding: 10px 50px;
  background-color: #ef7300;
  color: #fff;
  border-radius: 50px;
  font-size: clamp(18px, 14.4px + 0.4vw, 20px);
  text-align: center;
}
.service .calculation_box .btn a:hover {
  opacity: 0.6;
  text-decoration: none;
}
.service .calculation_box .btn a[target=_blank]:not(:has(img))::after {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .service .calculation_box {
    display: block;
    padding: 15px 20px;
  }
  .service .calculation_box dt, .service .calculation_box dd {
    width: 100%;
  }
  .service .calculation_box dt {
    padding-bottom: 40px;
    text-align: center;
  }
  .service .calculation_box dt::after {
    top: auto;
    bottom: 0;
    transform: none;
    right: 0;
    left: 0;
    margin: auto;
    font-size: 200%;
    color: var(--color-accent01);
    rotate: 90deg;
  }
}
.service {
  /* /service/group/ltd/check.html */
}
.service .check .submit {
  position: relative;
  margin-bottom: 50px;
  padding: 20px;
  text-align: center;
}
.service .check .submit::before {
  content: "";
  width: 14px;
  height: 14px;
  display: inline-block;
  border-top: 4px solid var(--color-accent01);
  border-right: 4px solid var(--color-accent01);
  position: absolute;
  bottom: -24px;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.service .check .check_result {
  padding: clamp(10px, -8px + 2vw, 20px);
  background-color: #F7F5EB;
}
.service .check .check_result table th, .service .check .check_result table td {
  padding: 10px 5px !important;
}
@media screen and (max-width: 768px) {
  .service .check .check_result {
    overflow-x: auto;
    display: block;
  }
  .service .check .check_result table th, .service .check .check_result table td {
    white-space: nowrap;
  }
}
.service .check .cr_point {
  padding: 2px;
  font-weight: bold;
  color: #CD1E2D;
}
.service .check input.cr_point, .service .check input.cr_point2 {
  width: 54px;
  text-align: right;
}
.service .check .cr_point2 {
  padding: 2px;
  font-weight: bold;
  color: #6633CC;
}
.service .check .inputarea1 {
  width: 100px;
  padding: 3px;
  color: #444444;
}
.service {
  /* /service/group/term_ins/dividend.html */
}
.service .dividend_structure {
  display: flex;
  justify-content: space-around;
}
.service .dividend_structure .achievement_img {
  width: fit-content;
}
.service .dividend_structure .dividend_img {
  width: 258px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .service .dividend_structure {
    display: block;
  }
  .service .dividend_structure .achievement_img, .service .dividend_structure .dividend_img {
    width: 100%;
  }
}
.service {
  /* /service/group/tentai/ */
}
.service .risk_wrap {
  display: flex;
  justify-content: space-between;
}
.service .risk_wrap .risk_graph {
  width: 230px;
  text-align: center;
}
.service .risk_wrap .risk_text {
  width: calc(100% - 290px);
}
@media screen and (max-width: 768px) {
  .service .risk_wrap {
    display: block;
  }
  .service .risk_wrap .risk_graph,
  .service .risk_wrap .risk_text {
    width: 100%;
  }
}
.service {
  /* /service/ninchi/ */
}
.service .attention_box h2 {
  background-color: #F39F4B;
}
.service .attention_box h2::before {
  content: "\e808";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-right: 12px;
  font-size: 140%;
  line-height: 1;
  color: #fff;
  vertical-align: middle;
}
.service .attention_box .inner_box {
  padding: 30px;
  background-color: #FDF4EA;
}
.service .choice_wrap {
  display: flex;
  justify-content: space-between;
}
.service .choice_wrap div {
  display: flex;
  flex-direction: column;
  width: 48%;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
}
.service .choice_wrap div h3 {
  margin-bottom: 20px;
  text-align: center;
}
.service .choice_wrap div ul {
  margin-bottom: 30px;
}
.service .choice_wrap div .btn {
  margin-top: auto;
  margin-bottom: initial;
  text-align: center;
}
.service .choice_wrap div .btn a {
  display: inline-block;
  padding: 15px 30px;
  color: #fff;
  border-radius: 50px;
  font-size: clamp(18px, 14.4px + 0.4vw, 20px);
  transition: all 0.4s;
}
.service .choice_wrap div .btn a::after {
  content: "\e801";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 6px;
  color: var(--color-accent01);
  text-decoration: none;
  text-indent: initial;
  color: #fff;
  transition: all 0.4s;
}
.service .choice_wrap div .btn a:hover {
  text-decoration: none;
  opacity: 0.6;
}
.service .choice_wrap div .btn a:hover::after {
  transform: translateX(0.25em);
}
.service .choice_wrap div .btn_orange {
  display: flex;
  justify-content: center;
  margin: 20px auto 0;
}
.service .choice_wrap div .btn_orange a {
  display: block;
  width: fit-content;
  padding: 10px 30px;
  background-color: var(--color-btn01);
  border-radius: 50px;
  color: #fff;
  text-align: center;
  font-size: clamp(16px, 12.4px + 0.4vw, 18px);
  transition: opacity 0.3s;
  text-decoration: none;
}
.service .choice_wrap div .btn_orange a:hover {
  opacity: 0.6;
}
.service .choice_wrap div .btn_orange a::after {
  color: #fff !important;
}
.service .choice_wrap .sompojapan_box a {
  background-color: #C23D4D;
}
.service .choice_wrap .tokiomarine_box a {
  background-color: #2480d6;
}
@media screen and (max-width: 768px) {
  .service .choice_wrap {
    display: block;
  }
  .service .choice_wrap div {
    width: 100%;
  }
  .service .choice_wrap div:first-child {
    margin-bottom: 40px;
  }
}
.service .shop_info {
  width: fit-content;
}
.service .shop_info th, .service .shop_info td {
  padding: 10px 25px;
  text-align: left;
  vertical-align: middle;
}
.service .shop_info th p, .service .shop_info td p {
  margin-bottom: 0;
}
.service .shop_info th {
  position: relative;
  padding-left: 0 !important;
}
.service .shop_info th::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1px;
  height: 25px;
  display: inline-block;
  background-color: #333;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .service .shop_info {
    width: 100%;
  }
}
.service .deadline {
  width: fit-content;
  margin: 20px auto 10px;
  padding: 5px 20px;
  background-color: #D40000;
  color: #fff;
  border-radius: 4px;
  font-size: clamp(18px, 14.4px + 0.4vw, 20px);
}
.service {
  /* net_continue */
}
.service .select_wrap {
  display: flex;
  justify-content: space-between;
  padding: 20px;
  background-color: #F7F5EB;
}
.service .select_wrap dl {
  width: calc((100% - 60px) / 3);
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
  box-sizing: border-box;
}
.service .select_wrap dl dt {
  margin-bottom: 15px;
}
.service .select_wrap dl a {
  display: block;
  padding: 10px;
  text-align: center;
  color: #fff;
  border-radius: 50px;
  font-size: clamp(16px, 12.4px + 0.4vw, 18px);
  font-weight: 500;
  transition: all 0.4s;
}
.service .select_wrap dl a:hover {
  text-decoration: none;
  opacity: 0.6;
}
.service .select_wrap dl.sompojapan a {
  background-color: var(--color-sompojapan);
}
.service .select_wrap dl.tokiomarine a {
  background-color: var(--color-tokiomarine);
}
.service .select_wrap dl.aioinissaydow a {
  background-color: #354ac2;
}
.service .select_wrap.column2 dl {
  width: calc((100% - 60px) / 2);
}
@media screen and (max-width: 768px) {
  .service .select_wrap {
    display: block;
  }
  .service .select_wrap dl {
    width: 100%;
    margin-top: 15px;
  }
  .service .select_wrap dl:first-child {
    margin-top: 0;
  }
}
.service .select_pamphlet {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
.service .select_pamphlet > div {
  width: calc((100% - 60px) / 3);
  box-sizing: border-box;
  border-right: 1px solid #D4D4D4;
}
.service .select_pamphlet > div:last-child {
  border-right: 0;
}
.service .select_pamphlet .company_tit {
  font-size: clamp(18px, 14.4px + 0.4vw, 20px);
  text-align: center;
}
.service .select_pamphlet .company_tit.sompo span {
  color: var(--color-sompojapan);
}
.service .select_pamphlet .company_tit.tokio span {
  color: var(--color-tokiomarine);
}
.service .select_pamphlet .company_tit.aioi span {
  color: var(--color-aioinissaydow);
}
.service .select_pamphlet .flex_box {
  justify-content: space-between;
  margin-top: 20px;
  margin-bottom: 20px;
}
.service .select_pamphlet .flex_box:last-child {
  border-bottom: 0;
}
.service .select_pamphlet .flex_box p {
  margin-bottom: 0;
}
.service .select_pamphlet .flex_box .logo {
  width: 100px;
}
.service .select_pamphlet .flex_box .logo img {
  width: 100%;
}
.service .select_pamphlet .flex_box .link {
  width: calc(100% - 115px);
}
.service .select_pamphlet .flex_box .link a {
  position: relative;
  padding-left: 15px;
  font-size: 14px;
}
.service .select_pamphlet .flex_box .link a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  position: absolute;
  left: 0;
  top: 7px;
  background-color: #000;
  border-radius: 50px;
}
@media screen and (max-width: 768px) {
  .service .select_pamphlet {
    display: block;
    margin-top: 0;
  }
  .service .select_pamphlet > div {
    width: 100%;
    padding-top: 15px;
    border-right: 0;
    border-bottom: 1px solid #D4D4D4;
  }
  .service .select_pamphlet > div:last-child {
    border-bottom: 0;
  }
  .service .select_pamphlet .flex_box {
    display: flex;
  }
}
.service .faqList_control {
  text-align: right;
}
.service .faqList_control li {
  display: inline-block;
  margin-left: 10px;
}
.service .faqList_control li a {
  display: block;
  padding: 3px 10px;
  border-radius: 4px;
}
.service .faqList_control li a:hover {
  text-decoration: none;
}
.service .faqList_control li.open a {
  background-color: var(--color-accent01);
  color: #fff;
}
.service .faqList_control li.close a {
  background-color: #e0e0e0;
}
.service #caseList {
  margin-bottom: 20px;
}
.service #caseList li {
  margin: 5px 0;
}
.service #caseList li .question {
  position: relative;
  padding: 5px 40px 5px 10px;
  background-color: #D5DBED;
  color: var(--color-accent01);
  border: 1px solid #BABABA;
  font-size: clamp(18px, 14.4px + 0.4vw, 20px);
}
.service #caseList li .question::before, .service #caseList li .question::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  background-color: var(--color-accent01);
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.4s;
}
.service #caseList li .question::after {
  transform: translateY(-50%) rotate(90deg);
  transition: transform 0.4s;
}
.service #caseList li .answer {
  padding: 20px;
  border: 1px solid #BABABA;
  border-top: 0;
}
.service #caseList li .answer p {
  margin-bottom: 0;
}
.service #caseList li.simpleFAQShowing .question::before {
  opacity: 0;
}
.service #caseList li.simpleFAQShowing .question::after {
  transform: translateY(-50%) rotate(180deg);
}
@media screen and (max-width: 768px) {
  .service #caseList li .question {
    font-size: clamp(16px, 13.826px + 0.543vw, 18px);
  }
  .service #caseList li .question::before, .service #caseList li .question::after {
    width: 16px;
    right: 10px;
  }
}
.service {
  /* /service/useful/ */
}
.service .usefulSrc_in {
  display: none;
  padding: 40px 30px 35px;
  background-color: #FFF8E2;
  border: 2px solid #EFA11A;
  border-radius: 0 0 20px 20px;
}
.service .usefulSrc_in.is-on {
  display: block;
}
.service .usefulSrc-ttl {
  color: #EFA11A;
  font-weight: bold;
  font-size: clamp(20px, 16.4px + 0.4vw, 22px);
}
.service .useful-ttl {
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;
  text-align: center;
  font-weight: bold;
  font-size: clamp(28px, 20.8px + 0.8vw, 32px);
  line-height: 1.6;
}
.service .useful-ttl span {
  display: block;
  width: fit-content;
  margin: 0 auto 10px;
  padding: 5px 10px;
  background-color: #EFA11A;
  color: #fff;
  font-size: clamp(19px, 17.2px + 0.2vw, 20px);
}
.service .tab_wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 36px;
}
.service .tab_wrap li {
  width: calc((100% - 40px) / 2);
  padding-left: 20px;
  border: 2px solid #EFA11A;
  border-bottom: 0;
  border-radius: 20px 20px 0 0;
  box-sizing: border-box;
}
.service .tab_wrap li a {
  display: block;
  padding: 20px 10px;
  color: #D58700;
  font-size: clamp(20px, 16.4px + 0.4vw, 22px);
  text-align: center;
}
.service .tab_wrap li a:hover {
  text-decoration: none;
}
.service .tab_wrap li.is-ver1 {
  background: url(/service/useful/img/icn_car.png) 20% 60% no-repeat;
}
.service .tab_wrap li.is-ver2 {
  background: url(/service/useful/img/icon_life.png) 8% bottom no-repeat;
}
.service .tab_wrap li.is-on, .service .tab_wrap li:hover {
  background-color: #EFA11A;
}
.service .tab_wrap li.is-on a, .service .tab_wrap li:hover a {
  color: #fff;
}
.service .tab_wrap li.is-on {
  position: relative;
}
.service .tab_wrap li.is-on::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -22px;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 11px solid transparent;
  border-left: 11px solid transparent;
  border-top: 20px solid #EFA11A;
  border-bottom: 0;
}
.service .usefulSrc_ttl {
  display: flex;
  justify-content: space-between;
}
.service .usefulSrc_tab {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 23px 20px;
}
.service .usefulSrc_tab li {
  width: 100%;
}
@media print, screen and (max-width: 1000px) {
  .service .usefulSrc_tab {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
  }
}
.service .usefulSrc_tab li input {
  display: none;
}
.service .usefulSrc_tab li a,
.service .usefulSrc_tab li input + label {
  width: 100%;
  height: 36px;
  border: 2px solid #A7A7A7;
  background: #fff;
  border-radius: 4px;
  font-size: 14px;
  color: #A7A7A7;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: none;
  box-sizing: border-box;
  line-height: 1.2;
  text-align: center;
}
.service .usefulSrc_tab li a:hover,
.service .usefulSrc_tab li.is-on a,
.service .usefulSrc_tab li input + label:hover,
.service .usefulSrc_tab li.is-on input + label {
  border: 2px solid #F8CE4C;
  color: #000;
}
.service .useful_lst {
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.service .useful_lst > li {
  display: flex;
  position: relative;
  width: calc((100% - 40px) / 2);
  margin-top: 40px;
  box-sizing: border-box;
}
.service .useful_lst > li a {
  display: block;
  padding: 55px 40px 30px;
  border: 2px solid #33914F;
  border-radius: 10px;
}
.service .useful_lst > li a:hover {
  background-color: #F0F7F5;
  text-decoration: none;
}
.service .useful_lst .useful_tp .useful_img img {
  width: 400px;
  height: 200px;
  object-fit: cover;
}
.service .useful_lst .useful_tp .cate_cup_wrap {
  position: absolute;
  top: 0;
  left: 40px;
  text-align: center;
}
.service .useful_lst .useful_tp .cate_cup_wrap .cate_cup {
  display: inline-block;
  min-width: 90px;
  margin-right: 6px;
  padding: 6px 5px 10px;
  background-color: #33914F;
  color: #fff;
  border-radius: 0 0 6px 6px;
  font-weight: 700;
  box-sizing: border-box;
}
.service .useful_lst .tag_lst li {
  display: inline-block;
}
.service .usefulSrc-re,
.service .usefulSrc-btn,
.service .useful-btn {
  max-width: 320px;
  margin: 30px auto;
}
.service .usefulSrc-re a,
.service .usefulSrc-btn a,
.service .useful-btn a {
  position: relative;
  display: block;
  padding: 10px;
  background-color: #EFA11A;
  color: #fff;
  border-radius: 50px;
  box-shadow: 0 3px 0 0 #FADCA1;
  font-weight: 500;
  text-align: center;
  font-size: clamp(19px, 17.2px + 0.2vw, 20px);
  transition: all 0.2s;
}
.service .usefulSrc-re a::after,
.service .usefulSrc-btn a::after,
.service .useful-btn a::after {
  transition: all 0.2s;
}
.service .usefulSrc-re a:hover,
.service .usefulSrc-btn a:hover,
.service .useful-btn a:hover {
  text-decoration: none;
}
.service .usefulSrc-btn {
  margin-bottom: 0;
}
.service .usefulSrc-btn a::before {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-size: 180%;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  vertical-align: middle;
}
.service .usefulSrc-re {
  margin: 0;
  max-width: 100%;
}
.service .usefulSrc-re a {
  padding: 5px 10px;
  font-size: 16px;
}
.service #column .useful-btn a::before,
.service #movie .useful-btn a::before {
  content: "\e816";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-size: 110%;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  vertical-align: middle;
}
.service #column {
  margin-top: 80px;
}
.service #column .useful-ttl span {
  background-color: #33914F;
}
.service #column .useful-btn a {
  background-color: #33914F;
  box-shadow: 0 3px 0 0 #a8cfb4;
}
.service #movie {
  margin-top: 80px;
}
.service #movie .useful_lst > li a {
  border: 2px solid #1D6DBE;
}
.service #movie .useful_lst > li a:hover {
  background-color: #e8f1fa;
}
.service #movie .useful_lst .useful_tp .cate_cup_wrap .cate_cup {
  background-color: #1D6DBE;
}
.service #movie .useful-ttl span {
  background-color: #1D6DBE;
}
.service #movie .useful-btn a {
  background-color: #1D6DBE;
  box-shadow: 0 3px 0 0 #adcceb;
}
@media screen and (max-width: 768px) {
  .service .usefulSrc_in {
    padding: clamp(15px, -1.304px + 4.076vw, 30px) clamp(15px, -1.304px + 4.076vw, 30px) 35px;
  }
  .service .tab_wrap li {
    width: calc((100% - 20px) / 2);
    padding: 0;
  }
  .service .tab_wrap li a {
    padding: 35px 10px 10px;
    font-size: clamp(16px, 13.826px + 0.543vw, 18px);
    line-height: 1.2;
  }
  .service .tab_wrap li.is-ver1 {
    background: url(/service/useful/img/icn_car.png) center 10px no-repeat;
    background-size: auto 20px;
  }
  .service .tab_wrap li.is-ver2 {
    background: url(/service/useful/img/icon_life.png) center 2px no-repeat;
    background-size: auto 35px;
  }
  .service .tab_wrap li.is-on, .service .tab_wrap li:hover {
    background-color: #EFA11A;
  }
  .service .tab_wrap li.is-on a, .service .tab_wrap li:hover a {
    color: #fff;
  }
  .service .usefulSrc_ttl {
    display: block;
  }
  .service .usefulSrc_ttl .usefulSrc-ttl {
    margin-bottom: 5px;
    font-size: clamp(16px, 13.826px + 0.543vw, 18px);
  }
  .service .usefulSrc_ttl .usefulSrc-re {
    margin-bottom: 20px;
    text-align: right;
  }
  .service .usefulSrc_ttl .usefulSrc-re a {
    display: inline-block;
    max-width: fit-content;
    font-size: clamp(13px, 11.913px + 0.272vw, 14px);
  }
  .service .usefulSrc_tab {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
  .service .usefulSrc_tab li {
    width: auto;
    margin: 0;
  }
  .service .useful-ttl {
    font-size: clamp(20px, 11.304px + 2.174vw, 28px);
  }
  .service .useful-ttl span {
    font-size: clamp(18px, 13.652px + 1.087vw, 22px);
  }
  .service .useful_lst {
    display: block;
  }
  .service .useful_lst > li {
    width: 100%;
  }
  .service .useful_lst > li a {
    padding: 40px clamp(15px, -1.304px + 4.076vw, 30px) clamp(15px, -1.304px + 4.076vw, 30px);
  }
  .service .useful_lst .useful_tp .cate_cup_wrap {
    left: clamp(15px, -1.304px + 4.076vw, 30px);
  }
  .service .useful_lst .useful_tp .cate_cup_wrap .cate_cup {
    min-width: fit-content;
    padding: 3px 10px 6px;
    font-size: clamp(12px, 9.826px + 0.543vw, 14px);
  }
  .service .usefulSrc-re a,
  .service .usefulSrc-btn a,
  .service .useful-btn a {
    font-size: clamp(16px, 13.826px + 0.543vw, 18px);
  }
}
.service .clmDtl_wrap {
  max-width: var(--contents-width);
  margin: auto;
}
.service {
  /* /service/certification.html */
}
.service #login_box {
  margin-top: 30px;
}
.service #login_box dl {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  max-width: 350px;
  margin: auto;
}
.service #login_box dl dt, .service #login_box dl dd {
  padding: 10px 0;
}
.service #login_box dl dt {
  width: 120px;
  margin-right: 20px;
  color: var(--color-accent01);
  font-weight: 500;
}
.service #login_box dl dd {
  width: 200px;
}
.service #login_box dl input {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 100%;
}
.service #login_box .login_btn {
  text-align: center;
}
.service #login_box .login_btn input {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  margin: 20px auto;
  padding: 0.9em 2em;
  background-color: #fff;
  border: none;
  border: solid 2px var(--color-accent01);
  border-radius: 50px;
  color: var(--color-accent01);
  font-weight: 600;
  font-size: 1em;
  transition: 0.6s;
  cursor: pointer;
}
.service #login_box .login_btn input:hover {
  background-color: var(--color-accent01);
  color: #fff;
}
@media screen and (max-width: 768px) {
  .service #login_box dl {
    width: 100%;
  }
  .service #login_box dl dt {
    width: fit-content;
  }
}
.service {
  /* end --------------------------------------------------------------------------*/
}

/* ==========================================================================
   settings
========================================================================== */
.useful_detail {
  --useful-accent: #33914f;
  --useful-base: #efa11a;
}
.useful_detail.column {
  --useful-accent: #33914f;
}
.useful_detail.movie {
  --useful-accent: #1d6dbe;
}
.useful_detail {
  padding: 0 clamp(20px, 5.6px + 1.6vw, 28px);
}
.useful_detail .useful_wrap {
  max-width: 1000px;
  margin: 0 auto;
}
.useful_detail .useful_wrap,
.useful_detail .useful_wrap a {
  color: #444444;
}
.useful_detail .useful-mv {
  margin: 0 0 clamp(30px, 12px + 2vw, 40px);
}
.useful_detail .usefulSrc_wrap {
  margin: 0 0 clamp(40px, 13px + 3vw, 55px);
}
.useful_detail .useful_in {
  margin: 0 0 clamp(80px, 26px + 6vw, 110px);
}
.useful_detail .useful-ttl {
  text-align: center;
  margin: 0 0 clamp(18px, 5.4px + 1.4vw, 25px);
  font-weight: 700;
  font-size: clamp(18px, 10.8px + 0.8vw, 22px);
  line-height: 1.6;
}
.useful_detail .useful-ttl span {
  color: var(--useful-accent);
  font-size: clamp(12px, 8.4px + 0.4vw, 14px);
  display: block;
}
.useful_detail .tab_wrap {
  margin: 0 0 clamp(30px, 3px + 3vw, 45px);
  display: flex;
  justify-content: space-between;
  gap: clamp(12px, -2.4px + 1.6vw, 20px);
}
.useful_detail .tab_wrap li {
  width: 335px;
}
.useful_detail .tab_wrap li a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  font-weight: 700;
  text-decoration: none;
  position: relative;
  background: #faf8f0;
  box-sizing: border-box;
  border-radius: 6px;
  height: 86px;
  color: #444444;
  border: 2px solid #faf8f0;
}
.useful_detail .tab_wrap li a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 20px;
  z-index: 9;
  margin: -12.5px 0 0 0;
  width: 25px;
  height: 25px;
  background: url(../images/useful/icn_plus.png) no-repeat center;
}
.useful_detail .tab_wrap li.is-on a:before {
  background: url(../images/useful/icn_minus.png) no-repeat center;
}
.useful_detail .tab_wrap li.is-ver1 a {
  background: #faf8f0 url(../images/useful/icn_car.png) no-repeat center right 19px;
}
.useful_detail .tab_wrap li.is-ver1 a:hover, .useful_detail .tab_wrap li.is-ver1.is-on a {
  background: #f0f7f5 url(../images/useful/icn_car.png) no-repeat center right 19px;
  border: 2px solid var(--useful-accent);
}
.useful_detail .tab_wrap li.is-ver2 a {
  background: #faf8f0 url(../images/useful/icn_family.png) no-repeat center right 10px;
}
.useful_detail .tab_wrap li.is-ver2 a:hover, .useful_detail .tab_wrap li.is-ver2.is-on a {
  background: #f0f7f5 url(../images/useful/icn_family.png) no-repeat center right 10px;
  border: 2px solid var(--useful-accent);
}
.useful_detail .usefulSrc_in {
  background: #f0f7f5;
  border-radius: 6px;
  position: relative;
  padding: clamp(20px, 2px + 2vw, 30px);
  display: none;
}
.useful_detail .usefulSrc_in.is-on {
  display: block;
}
.useful_detail .usefulSrc_in.tab2.is-on:before {
  left: auto;
  right: 150px;
}
.useful_detail .usefulSrc_ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 clamp(20px, 2px + 2vw, 30px);
  gap: clamp(10px, -0.8px + 1.2vw, 16px);
}
.useful_detail .usefulSrc-ttl {
  font-weight: 700;
  font-size: clamp(16px, 8.8px + 0.8vw, 20px);
}
.useful_detail .usefulSrc-re a {
  font-size: clamp(13px, 11.2px + 0.2vw, 14px);
  font-weight: 700;
  color: var(--useful-accent);
  text-decoration: underline;
  position: relative;
  padding: 0 0 0 25px;
}
.useful_detail .usefulSrc-re a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 9;
  width: 17px;
  height: 17px;
  margin: -8.5px 0 0 0;
  background: url(../images/useful/icn_re.png) no-repeat center;
}
.useful_detail .usefulSrc-re a:hover {
  text-decoration: none;
}
.useful_detail .usefulSrc_tab {
  display: flex;
  flex-wrap: wrap;
  margin: -10px 0 clamp(14px, 3.2px + 1.2vw, 20px);
}
.useful_detail .usefulSrc_tab li {
  width: 96px;
  margin: 10px 10px 0 0;
}
.useful_detail .usefulSrc_tab li:nth-child(6n) {
  margin: 10px 0 0 0;
}
.useful_detail .usefulSrc_tab li input {
  display: none;
}
.useful_detail .usefulSrc_tab li a,
.useful_detail .usefulSrc_tab li input + label {
  width: 100%;
  height: 36px;
  border: 2px solid #a7a7a7;
  background: #fff;
  border-radius: 4px;
  font-size: clamp(12px, 8.4px + 0.4vw, 14px);
  color: #a7a7a7;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  box-sizing: border-box;
  line-height: 1.2;
  text-align: center;
}
.useful_detail .usefulSrc_tab li a:hover, .useful_detail .usefulSrc_tab li.is-on a,
.useful_detail .usefulSrc_tab li input + label:hover, .useful_detail .usefulSrc_tab li.is-on input + label {
  border: 2px solid var(--useful-accent);
  color: var(--useful-accent);
}
.useful_detail .usefulSrc_tab li a.is-ver2,
.useful_detail .usefulSrc_tab li input + label.is-ver2 {
  font-size: 11px;
}
.useful_detail .usefulSrc-btn {
  margin: 0 auto;
  width: 220px;
}
.useful_detail .usefulSrc-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  font-weight: 700;
  text-decoration: none;
  position: relative;
  background: var(--useful-accent);
  box-sizing: border-box;
  border-radius: 6px;
  width: 100%;
  height: 55px;
  color: #fff;
}
.useful_detail .usefulSrc-btn a:hover {
  opacity: 0.7;
}
.useful_detail .useful_lst {
  margin: -20px 0 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: clamp(16px, 1.6px + 1.6vw, 24px);
}
.useful_detail .useful_lst > li {
  width: calc(50% - clamp(16px, 1.6px + 1.6vw, 24px) * 2 / 3);
  margin: 20px 0 0 0;
}
.useful_detail .useful_lst > li a {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 10px;
  border: 2px solid var(--useful-accent);
  box-sizing: border-box;
  padding: clamp(20px, 5.6px + 1.6vw, 28px);
  color: #434343;
  text-decoration: none;
}
.useful_detail .useful_lst > li a:hover {
  background: #f0f7f5;
}
.useful_detail .useful_tp {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 0 15px;
  gap: clamp(10px, 2.8px + 0.8vw, 14px);
}
.useful_detail .useful_img {
  width: 100%;
  aspect-ratio: 396/200;
  overflow: hidden;
  position: relative;
}
.useful_detail .useful_img.is-play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 9;
  margin: -23.5px 0 0 -23.5px;
  width: 47px;
  height: 47px;
  background: url(../images/useful/icn_play.png) no-repeat center;
}
.useful_detail .useful_img img {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
.useful_detail .cate_cup {
  width: 100px;
  border: 2px solid var(--useful-accent);
  border-radius: 4px;
  font-weight: 700;
  font-size: clamp(12px, 8.4px + 0.4vw, 14px);
  color: var(--useful-accent);
  text-align: center;
  margin-top: 8px;
  padding: 7px 5px;
  box-sizing: border-box;
}
.useful_detail .cate_cup:nth-child(1) {
  margin-top: 0;
}
.useful_detail .useful_lst .useful_tp .cate_cup_wrap .cate_cup {
  background-color: var(--useful-accent);
  margin-top: 0;
}
.useful_detail .article_ttl {
  font-weight: 700;
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  line-height: 1.625;
}
.useful_detail .tag_lst {
  margin: 10px 0 0 0;
  display: flex;
  flex-wrap: wrap;
}
.useful_detail .tag_lst li {
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  margin: 0 5px 0 0;
  line-height: 1.625;
}
.useful_detail .useful-btn {
  margin: clamp(30px, 12px + 2vw, 40px) auto 0;
  width: 220px;
}
.useful_detail .useful-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  font-weight: 700;
  text-decoration: none;
  position: relative;
  background: var(--useful-accent);
  box-sizing: border-box;
  border-radius: 6px;
  width: 100%;
  height: 55px;
  color: #fff;
}
.useful_detail .useful-btn a:hover {
  opacity: 0.7;
}
.useful_detail .clmDtl_wrap {
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  line-height: 1.8;
}
.useful_detail .clmArticle_main img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 640px;
  margin: 0 auto;
  padding: clamp(18px, 5.4px + 1.4vw, 25px) 0;
}
.useful_detail .column_wrap {
  margin-bottom: clamp(80px, 8px + 8vw, 120px);
}
.useful_detail .clmArticle-ttl {
  text-align: left;
  font-size: clamp(18px, 7.2px + 1.2vw, 24px);
  font-weight: 700;
  margin-bottom: clamp(12px, 6.6px + 0.6vw, 15px);
  padding-bottom: clamp(12px, 6.6px + 0.6vw, 15px);
  line-height: 1.6;
  border-bottom: 2px solid var(--useful-accent);
}
.useful_detail .clmArticle_info {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  gap: clamp(10px, -0.8px + 1.2vw, 16px);
}
.useful_detail .clmArticle_day p {
  line-height: 1;
  margin-left: 40px;
}
.useful_detail .clmArticle_category {
  display: flex;
}
.useful_detail .clmArticle_category .cate_cup {
  margin-bottom: 0;
  margin-top: 0;
  margin-right: 10px;
}
.useful_detail .clmArticleVideo_wrap {
  margin-top: clamp(20px, 2px + 2vw, 30px);
  display: flex;
  justify-content: center;
}
.useful_detail .clmArticle_video {
  width: 100%;
}
.useful_detail .clmArticle_video video {
  width: 100%;
}
.useful_detail .clmArticle_thumb {
  display: flex;
  margin: clamp(20px, 2px + 2vw, 30px) 0;
  gap: clamp(12px, -20.4px + 3.6vw, 30px);
}
.useful_detail .clmArticle_thumb li {
  width: calc((100% - clamp(12px, -20.4px + 3.6vw, 30px) * 2) / 3);
  margin-right: 0;
}
.useful_detail .clmArticle_thumb li img {
  width: 100%;
  height: auto;
}
.useful_detail .clmArticle_tag {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: clamp(14px, 3.2px + 1.2vw, 20px);
  gap: clamp(8px, -10px + 2vw, 18px);
}
.useful_detail .clmArticle_tag li {
  margin-right: 0;
  display: inline-block;
}
.useful_detail .clmArticle_tag li a {
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  line-height: 1.6;
  text-decoration: none;
  pointer-events: none;
}
.useful_detail .clmArticle_leadBox {
  display: flex;
  flex-direction: row-reverse;
  gap: clamp(16px, -9.2px + 2.8vw, 30px);
}
.useful_detail .clmArticle_leadBox .clmArticle_img {
  margin-left: 0;
  width: calc(50% - clamp(16px, -9.2px + 2.8vw, 30px) / 2);
}
.useful_detail .clmArticle_leadBox .clmArticle_img img {
  width: 100%;
  height: auto;
}
.useful_detail .clmArticle_lead {
  width: 50%;
}
.useful_detail .clmArticle_lead.ver2 {
  width: auto;
}
.useful_detail .clmArticle_leadBox.ver2 {
  display: block;
}
.useful_detail .clmArticle_leadBox.ver2 p {
  width: 100%;
}
.useful_detail .clmArticle_summary {
  margin: clamp(20px, 2px + 2vw, 30px) 0;
  padding: clamp(20px, 2px + 2vw, 30px);
  background: #f0f7f5;
}
.useful_detail .clmArticle_summary dt {
  font-weight: 700;
  font-size: clamp(16px, 12.4px + 0.4vw, 18px);
  display: flex;
  align-items: center;
}
.useful_detail .clmArticle_summary dt span {
  font-size: clamp(12px, 8.4px + 0.4vw, 14px);
  margin-left: 25px;
  display: inline-block;
  line-height: 1;
  font-weight: 700;
  color: var(--useful-accent);
}
.useful_detail .clmArticle_summary dd {
  margin-top: clamp(14px, 3.2px + 1.2vw, 20px);
}
.useful_detail .clmArticle_summary ul {
  margin-top: 1em;
}
.useful_detail .clmArticle_summary li {
  font-size: clamp(12px, 8.4px + 0.4vw, 14px);
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px dotted #888;
  position: relative;
}
.useful_detail .clmArticle_summary li span {
  position: absolute;
  left: 0;
}
.useful_detail .clmArticle_summary li:last-child {
  margin-bottom: 0;
}
.useful_detail .manga_img {
  margin-bottom: clamp(40px, 4px + 4vw, 60px);
  text-align: center;
  display: block;
}
.useful_detail .manga_img:last-of-type {
  margin-bottom: 0;
}
.useful_detail .clmAuthor_wrap {
  margin-top: clamp(20px, 2px + 2vw, 30px);
  margin-bottom: clamp(20px, 2px + 2vw, 30px);
  padding: clamp(16px, 8.8px + 0.8vw, 20px) clamp(20px, 2px + 2vw, 30px) clamp(20px, 2px + 2vw, 30px) clamp(16px, 8.8px + 0.8vw, 20px);
  border: 1px solid #b9b9b9;
}
.useful_detail .clmAuthor-ttl {
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  font-weight: 700;
  color: var(--useful-accent);
}
.useful_detail .clmAuthor_name p {
  font-size: clamp(14px, 10.4px + 0.4vw, 16px);
  font-weight: 700;
  margin-top: clamp(12px, 6.6px + 0.6vw, 15px);
}
.useful_detail .clmAuthor_profile p {
  line-height: 1.8;
  margin-top: 10px;
  font-size: clamp(12px, 8.4px + 0.4vw, 14px);
}
.useful_detail .clmArticle_note {
  color: var(--useful-accent);
  font-weight: 700;
  margin-bottom: clamp(30px, -6px + 4vw, 50px);
  font-size: clamp(12px, 8.4px + 0.4vw, 14px);
}
.useful_detail .clmArticle_main {
  margin-bottom: clamp(20px, 2px + 2vw, 30px);
  padding: clamp(18px, 5.4px + 1.4vw, 25px) 0;
}
.useful_detail .clmArticle_main.ver2 {
  padding: 0 0 clamp(18px, 5.4px + 1.4vw, 25px) 0;
  border-top: 0;
}
.useful_detail .clmArticle_main p {
  line-height: 2;
}
.useful_detail .clmArticle_main h2 {
  font-weight: 700;
  color: var(--useful-accent);
  font-size: clamp(16px, 12.4px + 0.4vw, 18px);
  margin-bottom: clamp(14px, 3.2px + 1.2vw, 20px);
  margin-top: clamp(22px, 7.6px + 1.6vw, 30px);
  padding-top: clamp(22px, 7.6px + 1.6vw, 30px);
  border-top: 1px solid #b9b9b9;
}
.useful_detail .clmArticle_main h2:first-child {
  margin-top: 0;
}
.useful_detail .clmArticle_main h3 {
  margin-top: clamp(22px, 7.6px + 1.6vw, 30px);
}
.useful_detail .clmArticle_main table {
  margin: clamp(20px, 2px + 2vw, 30px) 0;
}
.useful_detail .clmArticle_main table td {
  padding: clamp(10px, 6.4px + 0.4vw, 12px) clamp(12px, 6.6px + 0.6vw, 15px);
  background: #f0f7f5;
  border: 1px solid #fff;
}
.useful_detail .btn_wrap {
  justify-content: center;
  display: flex;
  margin-top: clamp(40px, 13px + 3vw, 55px);
  gap: clamp(10px, -11.6px + 2.4vw, 22px);
  flex-wrap: wrap;
}
.useful_detail .btn_wrap .useful-btn {
  margin: 0;
  width: 276px;
}
.useful_detail .useful_in.is-ver2 {
  margin-top: clamp(90px, 18px + 8vw, 130px);
}
.useful_detail .useful-ttl.is-ver2 {
  text-align: left;
  font-size: clamp(16px, 12.4px + 0.4vw, 18px);
  color: var(--useful-accent);
  line-height: 1;
  border-bottom: 2px solid var(--useful-accent);
  padding: 0 0 clamp(16px, 8.8px + 0.8vw, 20px);
}
.useful_detail .useful-btn.ver2 a {
  border: 2px solid var(--useful-base);
  background: var(--useful-base) url(../images/useful/icn_arw_wh.png) no-repeat center right 19px;
}
.useful_detail .useful-btn.ver2.is-back a {
  color: var(--useful-base);
  background: #fff url(../images/useful/icn_arw_gr.png) no-repeat center right 19px;
}
.useful_detail .useful-btn.ver2 a:hover {
  color: var(--useful-base);
  opacity: 1;
  background: #fff url(../images/useful/icn_arw_gr.png) no-repeat center right 19px;
}
.useful_detail .useful-btn.ver2.is-back a:hover {
  color: #fff;
  opacity: 1;
  background: var(--useful-base) url(../images/useful/icn_arw_wh.png) no-repeat center right 19px;
}
@media screen and (max-width: 768px) {
  .useful_detail {
    padding: 0 clamp(20px, 11.304px + 2.174vw, 28px);
  }
  .useful_detail .useful-mv {
    margin: 0 0 clamp(24px, 15.304px + 2.174vw, 32px);
  }
  .useful_detail .usefulSrc_wrap {
    margin: 0 0 clamp(30px, 19.13px + 2.717vw, 40px);
  }
  .useful_detail .useful_in {
    margin: 0 0 clamp(60px, 38.261px + 5.435vw, 80px);
  }
  .useful_detail .useful-ttl {
    margin: 0 0 clamp(16px, 9.478px + 1.63vw, 22px);
    font-size: clamp(16px, 13.826px + 0.543vw, 18px);
  }
  .useful_detail .useful-ttl span {
    font-size: clamp(12px, 10.913px + 0.272vw, 13px);
  }
  .useful_detail .tab_wrap {
    flex-direction: column;
    gap: clamp(10px, 5.652px + 1.087vw, 14px);
  }
  .useful_detail .tab_wrap li {
    width: 100%;
  }
  .useful_detail .tab_wrap li a {
    height: clamp(64px, 50.957px + 3.261vw, 76px);
  }
  .useful_detail .tab_wrap li a:before {
    left: clamp(14px, 9.652px + 1.087vw, 18px);
  }
  .useful_detail .tab_wrap li.is-ver1 a, .useful_detail .tab_wrap li.is-ver1 a:hover, .useful_detail .tab_wrap li.is-ver1.is-on a {
    background-position: center right clamp(12px, 7.652px + 1.087vw, 16px);
  }
  .useful_detail .tab_wrap li.is-ver2 a, .useful_detail .tab_wrap li.is-ver2 a:hover, .useful_detail .tab_wrap li.is-ver2.is-on a {
    background-position: center right clamp(10px, 5.652px + 1.087vw, 14px);
  }
  .useful_detail .usefulSrc_in {
    padding: clamp(18px, 13.652px + 1.087vw, 22px);
  }
  .useful_detail .usefulSrc_in.is-on:before, .useful_detail .usefulSrc_in.tab2.is-on:before {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
  .useful_detail .usefulSrc_ttl {
    flex-direction: column;
    align-items: flex-start;
    margin: 0 0 clamp(16px, 11.652px + 1.087vw, 20px);
    gap: clamp(10px, 7.826px + 0.543vw, 12px);
  }
  .useful_detail .usefulSrc-ttl {
    font-size: clamp(15px, 13.913px + 0.272vw, 16px);
  }
  .useful_detail .usefulSrc_tab {
    margin: -10px 0 clamp(12px, 7.652px + 1.087vw, 16px);
  }
  .useful_detail .usefulSrc_tab li {
    width: calc((100% - 10px) / 2);
  }
  .useful_detail .usefulSrc_tab li:nth-child(6n) {
    margin: 10px 10px 0 0;
  }
  .useful_detail .usefulSrc_tab li:nth-child(2n) {
    margin-right: 0;
  }
  .useful_detail .usefulSrc_tab li a,
  .useful_detail .usefulSrc_tab li input + label {
    height: clamp(34px, 31.826px + 0.543vw, 36px);
    font-size: clamp(12px, 10.913px + 0.272vw, 13px);
  }
  .useful_detail .usefulSrc-btn,
  .useful_detail .useful-btn {
    width: 100%;
    max-width: 360px;
  }
  .useful_detail .useful_lst {
    gap: clamp(12px, 7.652px + 1.087vw, 16px);
  }
  .useful_detail .useful_lst > li {
    width: 100%;
  }
  .useful_detail .useful_lst > li a {
    padding: clamp(18px, 13.652px + 1.087vw, 22px);
  }
  .useful_detail .useful_tp {
    flex-wrap: nowrap;
    gap: clamp(12px, 9.826px + 0.543vw, 14px);
  }
  .useful_detail .useful_img img {
    position: static;
    transform: none;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .useful_detail .tag_lst li {
    font-size: clamp(13px, 11.913px + 0.272vw, 14px);
  }
  .useful_detail .clmDtl_wrap {
    font-size: clamp(14px, 12.913px + 0.272vw, 15px);
  }
  .useful_detail .clmArticle-ttl {
    font-size: clamp(17px, 13.739px + 0.815vw, 20px);
  }
  .useful_detail .clmArticle_leadBox {
    flex-direction: column;
    gap: clamp(14px, 9.652px + 1.087vw, 18px);
  }
  .useful_detail .clmArticle_leadBox .clmArticle_img {
    width: 100%;
  }
  .useful_detail .clmArticle_lead {
    width: 100%;
  }
  .useful_detail .clmArticle_thumb {
    flex-wrap: wrap;
  }
  .useful_detail .clmArticle_thumb li:nth-child(2n) {
    margin-right: 0;
  }
  .useful_detail .btn_wrap {
    margin-top: clamp(30px, 19.13px + 2.717vw, 40px);
  }
  .useful_detail .btn_wrap .useful-btn {
    width: 100%;
    max-width: 360px;
  }
}

/* ==========================================================================
   settings
========================================================================== */
.faq {
  /* start --------------------------------------------------------------------------*/
  /* faq */
}
.faq .faq_list {
  margin-bottom: 80px;
}
.faq .faq_list li {
  border-bottom: 1px solid #D5DBED;
  transition: all 0.2s;
}
.faq .faq_list li a {
  position: relative;
  display: block;
  padding: 14px 0 14px 35px;
  transition: all 0.2s;
}
.faq .faq_list li a::before {
  position: absolute;
  top: 16px;
  left: 0;
  display: block;
  content: "Q.";
  color: var(--color-accent01);
  font-family: var(--font-main-en);
  font-size: 22px;
  line-height: 1;
}
.faq .faq_list li a:hover {
  background-color: #EFF1F9;
  text-decoration: none;
}
.faq .faq_container {
  margin-top: 40px;
}
.faq .faq_container .q_box {
  margin-bottom: 50px;
}
.faq .faq_container .q_tit {
  position: relative;
  margin-bottom: 20px;
  padding: 10px 15px 10px 50px;
  background-color: #D5DBED;
  color: var(--color-accent01);
  border-radius: 4px;
  font-size: 18px;
}
.faq .faq_container .q_tit::before {
  position: absolute;
  top: 16px;
  left: 10px;
  display: block;
  content: "Q.";
  color: var(--color-accent01);
  font-family: var(--font-main-en);
  font-size: 22px;
  line-height: 1;
}
.faq {
  /* end --------------------------------------------------------------------------*/
}

.joint_tab {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
  border-bottom: 1px solid #BABABA;
}
.joint_tab li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((100% - 10px) / 2);
  background-color: #D5DBED;
  color: var(--color-accent01);
  font-size: clamp(18px, 10.8px + 0.8vw, 22px);
  border: 1px solid #BABABA;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  text-align: center;
}
.joint_tab li.on {
  position: relative;
  background-color: #fff;
}
.joint_tab li.on::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -1px;
  background-color: #fff;
  z-index: 5;
}
.joint_tab li a {
  display: block;
  width: 100%;
  padding: 10px;
  color: var(--color-accent01);
  text-align: center;
}
.joint_tab li a:hover {
  text-decoration: none;
}

/* ==========================================================================
   settings
========================================================================== */
.form .form_box {
  margin-top: 60px;
}
.form .form_box .tit_type04 {
  margin-bottom: 10px;
}
.form .form_tbl {
  width: 100%;
  border-bottom: 1px solid #BABABA;
}
.form .form_tbl p {
  margin: 0;
}
.form .form_tbl th, .form .form_tbl td {
  padding: 25px 12px;
  border-top: 1px solid #BABABA;
}
.form .form_tbl th p, .form .form_tbl td p {
  margin-bottom: 0;
}
.form .form_tbl tr:first-child th, .form .form_tbl tr:first-child td {
  border-top: 0;
}
.form .form_tbl th {
  position: relative;
  width: 25%;
  color: var(--color-accent01);
  text-align: left;
  vertical-align: middle;
  box-sizing: border-box;
}
.form .flex_dl {
  display: flex;
  align-items: center;
  margin-top: 15px;
}
.form .flex_dl:first-child {
  margin-top: 0;
}
.form .flex_dl dt {
  width: 5em;
}
.form .flex_dl dd {
  width: calc(100% - 5em);
}
.form .tit_link {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.form .modal_btn {
  display: inline-block;
}
.form .modal_btn a {
  display: block;
  padding: 2px 10px;
  background-color: #fff;
  color: var(--color-accent01);
  border: 1px solid var(--color-accent01);
  border-radius: 50px;
  font-size: 16px;
  font-weight: normal;
}
.form .modal_btn a:hover {
  background-color: #BBC6EC;
  text-decoration: none;
}
.form .modal_btn a::after {
  content: "\e801";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  margin-left: 6px;
  margin-right: 3px;
  color: var(--color-accent01);
  text-decoration: none;
  text-indent: initial;
}
.form .error_txt {
  color: #D40000;
  font-weight: 700;
}
.form .error_txt p {
  margin-top: 10px;
  padding: 10px;
  background-color: #FCF5B6;
}
.form .required {
  display: block;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  width: fit-content;
  height: fit-content;
  margin: auto;
  padding: 2px 5px;
  background-color: #D40000;
  color: #fff;
  border-radius: 4px;
  font-size: 12px;
}
.form input[type=text] {
  padding: 5px 10px;
  margin: 10px 0;
  border: 1px solid #BFBFBF;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 1em;
  line-height: 1.5;
}
.form input[type=button] {
  padding: 5px 10px;
  color: var(--color-accent01);
  border: 1px solid var(--color-accent01);
  border-radius: 4px;
  font-size: 1em;
  line-height: 1.5;
  cursor: pointer;
}
.form input[type=radio] {
  appearance: none;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  border: 1px solid #BFBFBF;
  border-radius: 50%;
  outline: none;
  cursor: pointer;
}
.form input[type=radio]:checked {
  background-color: var(--color-accent01);
}
.form input[type=radio]:disabled,
.form input[type=text]:disabled {
  background-color: rgb(210, 209, 198) !important;
}
.form .select_wrap {
  display: inline-block;
  padding: 0;
  background-color: transparent;
}
.form select {
  min-width: 110px;
  padding: 8px 10px;
  border: 1px solid #BFBFBF;
  border-radius: 4px;
  font-size: 1em;
  line-height: 1.5;
  box-sizing: border-box;
  /*-webkit-appearance: none;
  appearance: none; */
}
.form textarea {
  padding: 10px;
  border: 1px solid #BFBFBF;
  border-radius: 4px;
  font-size: 1em;
  line-height: 1.7;
}
.form .num_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.form .num_wrap ol {
  overflow: hidden;
}
.form .num_wrap ol li {
  float: left;
  width: fit-content;
  margin-right: 15px;
}
.form .num_wrap ol li:nth-child(2n+1) {
  clear: both;
}
.form .num_wrap ol li::before {
  left: 0;
  top: 10px;
}
.form .num_wrap ol li input[type=text] {
  margin: 5px 0;
}
.form .inputarea4 {
  width: 80%;
}
.form .inputarea8 {
  width: 80px;
}
.form .submit {
  position: relative;
  width: 60%;
  max-width: 320px;
  margin: 40px auto 0;
  text-align: center;
}
.form .submit::after {
  content: "\e815";
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  font-size: 220%;
  color: #fff;
}
.form .submit_btn {
  display: block;
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 50px;
  background-color: #EFA600;
  color: #fff;
  box-shadow: 0 5px 0 0 #FAE2AD;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  border: 2px solid transparent;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}
.form .submit_btn:hover {
  background-color: #EF7F00;
}
.form .submit_btn:focus {
  outline: 0;
  background-color: #EF7F00;
}
.form {
  /* SP layout ------------------------------*/
}
@media screen and (max-width: 768px) {
  .form .form_box {
    margin-top: 60px;
  }
  .form .form_box .tit_type04 {
    margin-bottom: 10px;
  }
  .form .form_tbl {
    width: 100%;
    border-bottom: 0;
  }
  .form .form_tbl p {
    margin: 0;
  }
  .form .form_tbl th, .form .form_tbl td {
    display: block;
    padding: 10px 0;
    border-top: 0;
    box-sizing: border-box;
  }
  .form .form_tbl th p, .form .form_tbl td p {
    margin-bottom: 0;
  }
  .form .form_tbl tr:first-child th, .form .form_tbl tr:first-child td {
    border-top: 0;
  }
  .form .form_tbl th {
    width: 100%;
    padding-top: 20px;
  }
  .form .form_tbl td {
    padding-top: 0;
    padding-bottom: 20px;
    border-bottom: 1px solid #BABABA;
  }
  .form .form_tbl .blank {
    display: none;
  }
  .form .form_tbl .blank + td {
    margin-top: 20px;
  }
  .form .flex_dl {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 15px;
  }
  .form .flex_dl:first-child {
    margin-top: 0;
  }
  .form .flex_dl dt {
    width: 5em;
  }
  .form .flex_dl dd {
    width: calc(100% - 5em);
  }
  .form .num_wrap {
    align-items: flex-start;
    flex-direction: column;
  }
  .form .num_wrap ol {
    overflow: hidden;
    margin-top: 15px;
  }
  .form .num_wrap ol li {
    float: none;
    width: fit-content;
    margin-right: 15px;
  }
  .form .num_wrap ol li:nth-child(2n+1) {
    clear: both;
  }
  .form .num_wrap ol li input {
    margin: 0;
  }
  .form .num_wrap ol li::before {
    top: 6px;
  }
  .form .tit_link {
    display: block;
    justify-content: space-between;
    align-items: center;
  }
  .form .tit_link .modal_btn {
    margin-top: 10px;
  }
  .form .select_wrap {
    margin-bottom: 10px;
  }
  .form textarea {
    width: 100%;
    box-sizing: border-box;
  }
}

/* 背景全体 */
.modal {
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(128, 128, 128, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  animation: fadeInBg 0.25s ease;
}

/* モーダルボックス */
.modal-content {
  max-width: 90%;
  max-height: 90%;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  opacity: 0;
  transform: scale(0.95);
  animation: fadeInContent 0.3s ease forwards;
}

/* モーダル内の画像 */
.modal-content img {
  width: 100%;
  height: auto;
  display: block;
}

/* スピナー */
.spinner {
  border: 5px solid #ddd;
  border-top: 5px solid #666;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 0.8s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* アニメーション定義 */
@keyframes fadeInBg {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeInContent {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* ==========================================================================
   lib
========================================================================== */
@keyframes modal-video {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-video-inner {
  from {
    transform: translate(0, 100px);
  }
  to {
    transform: translate(0, 0);
  }
}
.modal-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000000;
  cursor: pointer;
  opacity: 1;
  animation-timing-function: ease-out;
  animation-duration: 0.3s;
  animation-name: modal-video;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  backdrop-filter: blur(5px);
}

.modal-video-close {
  opacity: 0;
}
.modal-video-close .modal-video-movie-wrap {
  -webkit-transform: translate(0, 100px);
  -moz-transform: translate(0, 100px);
  -ms-transform: translate(0, 100px);
  -o-transform: translate(0, 100px);
  transform: translate(0, 100px);
}

.modal-video-body {
  max-width: var(--contents-width-large);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 10px;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
}

.modal-video-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
@media (orientation: landscape) {
  .modal-video-inner {
    padding: 10px 60px;
    box-sizing: border-box;
  }
}

.modal-video-movie-wrap {
  width: 100%;
  height: 0;
  position: relative;
  padding-bottom: 56.25%;
  background-color: #333;
  animation-timing-function: ease-out;
  animation-duration: 0.3s;
  animation-name: modal-video-inner;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -ms-transition: -ms-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal-video-movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modal-video-close-btn {
  position: absolute;
  z-index: 2;
  top: -45px;
  right: 0;
  display: inline-block;
  width: 35px;
  height: 35px;
  overflow: hidden;
  border: none;
  background: transparent;
}
@media (orientation: landscape) {
  .modal-video-close-btn {
    top: 0;
    right: -45px;
  }
}
.modal-video-close-btn:before {
  transform: rotate(45deg);
}
.modal-video-close-btn:after {
  transform: rotate(-45deg);
}
.modal-video-close-btn:before, .modal-video-close-btn:after {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  top: 50%;
  left: 0;
  margin-top: -1px;
  background: #fff;
  border-radius: 5px;
  margin-top: -6px;
}

/**
 * Swiper 9.3.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 15, 2023
 */
/* FONT_START */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #013586;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

.swiper,
swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide,
swiper-slide {
  flex-shrink: 0;
  width: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 15px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 15px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 8px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  /*ADD_HOST*/
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  -ms-touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */
.swiper .swiper-notification,
swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev,
.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

/* ==========================================================================
   print
========================================================================== *//*# sourceMappingURL=style.css.map */