@charset "UTF-8";
/* CSS Document */
body, button, input, select, option, textarea {
  font-family: 'Noto Sans JP', sans-serif;
}

/*
Noto Sans Japanese
Regular 400
Medium 500
SemiBold 600
Bold 700
*/

/*----------------------------------------------------
  Structure Module
----------------------------------------------------*/
html {
  /* overflow-y: scroll; */
}

body {
  margin: 0;
  padding: 0;
  color: #333333;
  /* text-align: center; */
  line-height: 1.65;
  letter-spacing: 1px;
  word-break: break-all;
  -ms-word-break: break-all;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;

  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;

  font-feature-settings: "palt" 1;
}

/*----------------------------------------------------
  Headings Module
----------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}

/*----------------------------------------------------
  Phrasing Module
----------------------------------------------------*/
p {
  margin: 0;
  padding: 0;
}

cite, dfn, address, i, em {
  font-style: normal;
}

strong, em, b {
  font-weight: 600;
}

u {
  text-decoration: none;
}

abbr {
  border: 0 none;
}

mark {
  background-color: transparent;
}

q {
  quotes: none;
}

button {
  text-align: left;
  cursor: pointer;
}

input:focus, button:focus, select:focus, textarea:focus {
  outline: none;
}

/*----------------------------------------------------
  Hypertext Module
----------------------------------------------------*/
a {
  outline: none;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(152, 152, 152, .3);
}

a:link,
a:visited {
  color: #ff0000;
}

a:hover {
  text-decoration: underline;
}

a:active,
a:focus {
  background-color: transparent;
}

/*----------------------------------------------------
  Image Module
----------------------------------------------------*/
img {
  border: 0;
  vertical-align: bottom;
}

/*----------------------------------------------------
  Embedded Module
----------------------------------------------------*/
object, embed {
  outline: none;
}

/*----------------------------------------------------
  List Module
----------------------------------------------------*/
ul, ol, dl, dt, dd, li {
  margin: 0;
  padding: 0;
}

ul li {
  list-style: none;
}

ol li {
  list-style: none;
}

/*----------------------------------------------------
  Table Module
----------------------------------------------------*/
table {
  border-collapse: separate;
  border-spacing: 0;
}

th, td {
  font-weight: normal;
  vertical-align: top;
  text-align: left;
}

/*----------------------------------------------------
  Forms Module
----------------------------------------------------*/
form, button, input, select, option, textarea {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

textarea {
  width: 350px;
}

input {
  border: 0 none;
  border-radius: 0px;
}

button {
  background: none;
  border: 0 none;
  overflow: visible;
}

/*----------------------------------------------------
  HTML5 Reset
----------------------------------------------------*/
article, aside, figure, figcaption, dialog, details,
footer, header, menu, main, nav, section, summary {
  display: block;
}

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, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}


/*==================================================

  Optimization

====================================================*/
/*  html
--------------------------*/
html {
  font-size: 62.5%; /* 10px */
  background-color: #f2f6fe
}

/*  Body
--------------------------*/
body,
body *,
body *::before,
body *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  letter-spacing: 0px;
  /* font-size: 100%;
  font-size: 1rem;  */
  /* 10px */
}


button, input, select, option, textarea {
  border: 0 none;
  letter-spacing: 0px;
  border-radius: 0px;
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
}
button:disabled, input:disabled, select:disabled, option:disabled, textarea:disabled {
  background-color: transparent;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: none;
  vertical-align: bottom;
}

img {
  -webkit-touch-callout: none;
  vertical-align: top;
  max-width: 100%;
  height: auto;
  /* width: 100%; */
}

a:hover {
  text-decoration: none;
}

i {
}

h1, h2, h3, h4 {
  font-size: 100%;
  font-weight: 400;
}

table {
  border-collapse: collapse;
}

/*==================================================

  BaseColor

====================================================*/
/* テキスト
--------------------------*/
body {
  color: #4D4D4D;
  width: 100%;
}

button, input, select, option, textarea {
  color: #000;
}

input:-moz-placeholder {
  color: #bbbbbb;
}
input::-webkit-input-placeholder {
  color: #bbbbbb;
}

textarea:-moz-placeholder {
  color: #bbbbbb;
}
textarea::-webkit-input-placeholder {
  color: #bbbbbb;
}

/* リンク
--------------------------*/
a:link,
a:visited {
  color: #4D4D4D;
}

/*==================================================

  Animation

====================================================*/

@keyframes anim_opct0-1 {
  0% {opacity: 0;}
  100% {opacity: 1;}
}


/*==================================================

  layout[ALL]

====================================================*/
.pc {
  display: inline;
}
.sp {
  display: none;
}


.event_disable {
  pointer-events: none;
  user-select: none;
}
.opct_0 {
  opacity: 0;
}
a:hover {
  transition: all 300ms ease 0s;
}
.fadein {
  opacity: 0;
  transform: translateY(5%);
}
.fadein.view {
  opacity: 1;
  transform: translateY(0);
  transition: all 1200ms ease 500ms;
}

a:hover, button:hover {
  animation: animation .4s 1 linear;
}
@keyframes animation {
  50% {
   opacity: .6;
  }
  100% {
   opacity: .8;
  }
}

/*  Html
--------------------------*/
html {
  font-size: 1px;
}
body {
  width: 100%;
  font-size: 16rem;
  background: url(../images/bg01.webp) repeat-y center top;
}
#wrapperTop, #wrapper {
  position: static;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;  background: url(../images/base01_pc.webp) no-repeat center top;
  background-size: 100% auto;
  background-color: #FFF;
}
#wrapperTop { background-image: url(../images/baseTop_pc.webp); }

:where(:focus-visible,:target) {
    scroll-margin-block: 140rem;
}

@media screen and (max-width: 1200px) {
  html {
    font-size: calc(1 / 1200 * 100vw);
  }
  #wrapperTop, #wrapper {
    width: 100%;
  }
}


@media screen and (max-width: 767px) {
  img {
    width: 100%;
  }
  .pc {
    display: none;
  }
  .sp {
    display: inline;
  }
  html {
    font-size: calc(1 / 767 * 100vw);
  }
  body {
    font-size: 32rem;
  }
  #wrapperTop, #wrapper {
    background: url(../images/base01_sp.webp) no-repeat center top;
    background-size: 100% auto;
    background-color: #fff;
  }
  #wrapperTop { background-image: url(../images/baseTop_sp.webp); }
}


/*  Header
--------------------------*/
header {
  height: auto;
  position: fixed;
  z-index: 3000;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  max-width: 1200px;;
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 15rem;
  background-color: #fff;
  border-radius: 29rem;
  box-shadow: 2rem 2rem 4rem 0rem rgba(0, 0, 0, 0.6);
}
header .header-logo {
  width: 400rem;
  height: 58rem;
  display: flex;
  align-items: center;
}
header .header-logo a {
  display: block;
  height: 58rem;
}
header .header-logo img {
  height: 58rem;
}
header nav ul {
  display: flex;
  color: #4d4d4d;
}
header nav ul li {
  line-height: 18rem;
  padding: 0 20rem;
  border-right: 1rem solid #4d4d4d;
  letter-spacing: 0.075em;
}
header nav ul li:last-child {
  border-right: none;
}
header a.header-contact {
  margin-right: 10.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200rem;
  height: 37rem;
  background-color: #6abc6e;
  color: #fff;
  border-radius: 18.5rem;
  text-align: center;
}
header a.header-contact i {
  font-size: 24rem;
  line-height: 37rem;
  display: inline-block;
  padding-right: 10rem;
}
header a.header-contact span {
  font-size: 18rem;
  line-height: 37rem;
  letter-spacing: 0.075em;
  display: inline-block;
}

.header-menu-button {
  display: none;
  width: 50rem;
  height: 70rem;
  color: #4d4d4d;
  border: 0;
  background-color: transparent;
  font-size: 50rem;
  line-height: 1;
  cursor: pointer;
}

.header-menu-button i {
  font-size: 50rem;
}

.header-menu-panel {
  display: none;
  position: fixed;
  top: calc(15rem + 58rem);
  z-index: 2000;
  padding: 0;
  width: 100%;
  background-color: #7ecef4;
  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
  transition: transform 0.28s ease, opacity 0.28s ease, visibility 0.28s ease;
  text-align: center;
}

body.menu-open .header-menu-panel {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.header-menu-panel ul {
  display: flex;
  flex-direction: column;
  gap: 12rem;
  margin-bottom: 40rem;
  width: 720rem;
  margin: 28rem auto 0;
}

.header-menu-panel ul li a {
  display: block;
  font-size: 36rem;
  color: #0071bc;
  background-color: #eff6fb;
  line-height: 96rem;
}

.header-menu-panel .header-menu-title {
  display: block;
  font-size: 32rem;
  color: #4d4d4d;
  margin: 140rem auto 0;
}
.header-menu-panel .header-menu-title2 {
  display: block;
  font-size: 32rem;
  color: #4d4d4d;
  margin: 80rem auto 0;
}

.header-menu-panel .header-menu-contact {
  display: block;
  width: 720rem;
  margin: 15rem auto 0;
}
.header-menu-panel .header-menu-tel {
  display: block;
  width: 720rem;
  margin: 15rem auto 38rem;
}

@media screen and (max-width: 767px) {
  header {
    max-width: 747rem;
    margin: 0;
  }
  .header-inner {
    width: 100%;
    margin: 10rem;
    background-color: #fff;
    border-radius: 35rem;
    box-shadow: 4rem 4rem 8rem 0rem rgba(0, 0, 0, 0.6);
    height: 70rem;
  }
  header .header-logo {
    width: calc(400rem * 70 / 58);
    height: 70rem;
  }

  header .header-logo a {
    display: block;
    height: 70rem;
  }
  header .header-logo img {
    height: 70rem;
    width: auto;
  }

  .header-menu-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 10rem;
    right: 30rem;
  }
  header nav ul,
  header a.header-contact {
    display: none;
  }
  .header-menu-panel {
    display: block;
    width: 100%;
    top: 0;
  }
  header snav {
    gap: 10rem;
    margin-right: 15rem;
  }
}

/*  Footer
--------------------------*/
.footer-before {
  width: 100%;
  height: 150rem;
  max-width: 1200rem;
  margin: 0 auto;
  background-image: url(../images/footer-before_pc.webp);
  background-size: contain;

  display: flex;
  align-items: center;
  justify-content: center;
}
footer {
  width: 100%;
  max-width: 1200rem;
  background-color: #f7f0e6;
  margin: 0 auto;
  padding-bottom: 40rem;
  color: #4d4d4d;
  text-align: center;
}
.footer-logo {
  width: 400rem;
  margin: 0 auto;
}
.footer-logo .footer-logo-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50rem;
}
.footer-logo .footer-logo-flex img {
  height: 50rem;
}
.footer-nav01,
.footer-nav02 {
  display: flex;
  justify-content: center;
  margin-top: 0rem;
}
.footer-nav01 li,
.footer-nav02 li {
  display: inline-block;
  padding: 0 20rem;
  font-size: 18rem;
  line-height: 20rem;
  letter-spacing: 0.075em;
  color: #4d4d4d;
  border-right: 1rem solid #4d4d4d;
}
.footer-nav02 li {
  font-size: 14rem;
  line-height: 16rem;
}
.footer-nav01 li:last-child,
.footer-nav02 li:last-child {
  border-right: none;
}

h3.footer-contact-title {
  font-size: 18rem;
  line-height: 20rem;
  letter-spacing: 0.075em;
  color: #4d4d4d;
  margin-top: 60rem;
}
.footer-contacts {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 830rem;
  margin: 20rem auto 60rem;
}
.footer-contact {
  width: 395rem;
}
.footer-copy {
  font-size: 12rem;
  line-height: 22rem;
  margin: 20rem auto 0;
}
.footer-copy span {

}

@media screen and (max-width: 767px) {
  .footer-before {
    height: calc(240rem * 767 / 780);
    background-image: url(../images/footer-before_sp.webp);
    background-size: contain;
  }
  footer {
    padding: 0 auto 60rem;
  }
  .footer-logo {
    width: 720rem;
  }
  .footer-logo .footer-logo-flex {
    height: 100rem;
  }
  .footer-logo .footer-logo-flex img {
    height: 100rem;
  }

  .footer-nav01 li,
  .footer-nav02 li {
    font-size: 26rem;
    line-height: 28rem;
  }

  h3.footer-contact-title {
    font-size: 32rem;
    line-height: 44rem;
    margin-top: 120rem;
  }

  .footer-contacts {
    width: 720rem;
    flex-direction: column;
    gap: 36rem;
    margin: 20rem auto 60rem;
  }
  .footer-contact {
    width: 100%;
  }
  .footer-copy {
    font-size: 22rem;
    line-height: 36rem;
    margin: 40rem auto 0;
  }
}

/*  Main
--------------------------*/
main {
  position: relative;
  width: 100%;
  padding-top: 88rem;
}
.main-content {
  max-width: 830rem;
  margin: 70rem auto 80rem;
}
.main-content h2.main-content-header {
  font-size: 32rem;
  line-height: 48rem;
  color: #0071bc;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 30rem;
}
.main-content h2.main-content-header span {
  font-size: 21rem;
  line-height: 48rem;
  display: block;
}
.main-content .main-content-nav {
  font-size: 16rem;
  line-height: 53rem;
  color: #43558f;
}
.main-content .main-content-nav a {
  color: #43558f;
}

.main-content .main-content-inner {
  padding: 30rem 0;
  border-top: 1rem #99c6e4 solid;
  margin: 0 auto;
}
.main-content .main-content-inner p {
  font-size: 16rem;
  line-height: 28rem;
  color: #333;
  text-align: left;
  margin: 0 auto 30rem;
}
.main-content .main-content-inner p:last-child {
  margin-bottom: 0;
}
.main-content .main-content-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 280rem;
  line-height: 32rem;
  padding: 14rem 28rem;
  margin: 30rem auto;
  border-radius: 10rem;
  border: 1rem solid #8e99bc;
  color: #8e99bc;
}
.main-content .main-content-btn:hover {
  background-color: #8e99bc;
  color: #fff;
}

@media screen and (max-width: 767px) {
  main {
    padding-top: 90rem;
  }
  .main-content {
    width: 720rem;

  }
  .main-content h2.main-content-header {
    font-size: 42rem;
    line-height: 64rem;
    margin: 0 auto 30rem;
  }
  .main-content h2.main-content-header span {
    font-size: 32rem;
    line-height: 64rem;
  }
  .main-content .main-content-nav {
    font-size: 28rem;
    line-height: 40rem;
  }
  .main-content .main-content-nav a {
    font-size: 28rem;
    line-height: 70rem;
  }
  .main-content .main-content-inner {
    padding: 60rem 0;
  }
  .main-content .main-content-inner p {
    font-size: 32rem;
    line-height: 56rem;
    text-align: left;
    margin: 0 auto 60rem;
  }


}

/*  Top
--------------------------*/
.main-visual {
  width: 100%;
  position: relative;
}
.main-visual h2 {
  font-size: 24rem;
  font-weight: 700;
  line-height: 32rem;
  letter-spacing: 0.075em;
  color: #0071bc;
  margin-left: 185rem;
  margin-top: 20rem;
}
.main-visual h2 span {
  font-size: 16rem;
  margin-top: 8rem;
  margin-left: 8rem;
}
.main-visual p {
  font-size: 16rem;
  line-height: 28rem;
  color: #4d4d4d;
  width: 600rem;
  margin-top: 10rem;
  margin-left: 185rem;
}
.main-visual p.option {
  font-size: 12rem;
  line-height: 20rem;
}
.main-visual .chiba {
  position: absolute;
  width: 210rem;
  right: 185rem;
  top: 500rem;
}

.btn-survay01 {
  width: 100%;
  margin: 50rem auto;
  text-align: center;
}
a.btn-survey01btn {
  display: block;
  width: 580rem;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .main-visual h2 {
    font-size: 48rem;
    line-height: 64rem;
    margin-left: 23.5rem;
  }
  .main-visual h2 span {
    font-size: 24rem;
    margin-top: 12rem;
    margin-left: 12rem;
  }
  .main-visual p {
    font-size: 32rem;
    line-height: 56rem;
    width: 720rem;
    margin-top: 40rem;
    margin-left: 23.5rem;
  }
  .main-visual .chiba {
    position: static;
    width: 560rem;
    margin: 60rem auto 0;
  }
  a.btn-survey01btn {
    width: 720rem;
  }
}

.top-contents {
  width: 100%;

}
.top-contents .top-content01 {
  width: 100%;
  height: 350rem;
  position: relative;
  background-image: url(../images/top-content01bg_pc.webp);
  background-size: cover;
}
.top-content01 .top-content01img01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 290rem;
}
.top-content01 .top-content01img02 {
  position: absolute;
  top: 0;
  right: 0;
  width: 460rem;
}
.top-content01 h2 {
  position: absolute;
  top: 40rem;
  left: 290rem;
  font-size: 24rem;
  font-weight: 700;
  line-height: 32rem;
  letter-spacing: 0.075em;
  color: #43558f;
  text-align: left;
}
.top-content01 p {
  position: absolute;
  top: 120rem;
  left: 290rem;
  font-size: 16rem;
  line-height: 28rem;
  color: #4d4d4d;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .btn-survey01btn {
    width: 760rem;
  }
  .top-contents .top-content01 {
    height: 1570rem;
    background-image: url(../images/top-content01bg_sp.webp);
    background-size: cover;
  }
  .top-content01 .top-content01img01 {
    position: absolute;
    top: 0;
    left: 0;
    width: 280rem;
  }
  .top-content01 .top-content01img02 {
    position: absolute;
    bottom: 0;
    width: 100%;
  }
  .top-content01 .top-content01img02 img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  .top-content01 h2 {
    position: absolute;
    top: 100rem;
    left: 285rem;
    font-size: 42rem;
    font-weight: 700;
    line-height: 64rem;
    text-align: left;
  }
  .top-content01 p {
    position: absolute;
    top: 364rem;
    left: 23.5rem;
    width: 720rem;
    font-size: 32rem;
    line-height: 56rem;
    text-align: left;
  }
  .main-visual p.option {
    font-size: 24rem;
    line-height: 40rem;
  }
}


.top-contents .top-content02 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40rem;
  row-gap: 80rem;
  background-color: #d8f4ec;
  position: relative;
  padding-bottom: 40rem;
}
.top-content02 h2 {
  width: 100%;
}
.top-contents .more {
  position: absolute;
  top: 200rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 24rem;
  line-height: 32rem;
  font-weight: 700;
  color: #0071bc;
}
.top-content02 .top-content02-01{
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  gap: 40rem;
  width: 1100rem;
  height: 620rem;
  border-radius: 10rem;
  background-color: #fff;
  border: #0071bc 1rem solid;

}
.top-content02 .top-content02-01 .top-content02-01left{
  width: 310rem;
  margin-top: 20rem;
  margin-left: 30rem;
}
.top-content02 .top-content02-01 .top-content02-01left h3 {
  width: 225rem;
}
.top-content02 .top-content02-01 .top-content02-01left p {
  font-size: 16rem;
  line-height: 28rem;
  color: #4d4d4d;
  margin-top: 10rem;
}
.top-content02 .top-content02-01 .top-content02-01left .box {
  width: 100%;
  height: 240rem;
  background-color: #e8f4d9;
  margin-top: 30rem;
  border-radius: 5rem;
}
.top-content02 .top-content02-01 .top-content02-01right{
  width: 700rem;
  margin-top: 20rem;
}

.top-content02 .top-content02-02, 
.top-content02 .top-content02-03,
.top-content02 .top-content02-04 {
  position: relative;
  width: 530rem;
  height: 257rem;
  border-radius: 10rem;
  background-color: #fff;
  border: #0071bc 1rem solid;
}
.top-content02 .top-content02-04 {
  height: 400rem;
}
.top-content02 .top-content02-02 h3 {
  width: 290rem;
  margin: 8rem auto 0;
}
.top-content02 .top-content02-03 h3,
.top-content02 .top-content02-04 h3 {
  width: 240rem;
  margin: 8rem auto 0;
}
.top-content02 .top-content02-02 p,
.top-content02 .top-content02-03 p,
.top-content02 .top-content02-04 p {
  font-size: 16rem;
  line-height: 28rem;
  color: #4d4d4d;
  margin: 10rem auto 0;
  width: 472rem;
}

.top-content02 .top-content02merit {
  position: absolute;
  top: -60rem;
  left: 0rem;
  width: 110rem;
}

.top-content02 .top-content02ex ul.top-content02ex-menu {
  display: flex;
  gap: 8rem;
  justify-content: center;
  width: 100%;
}
.top-content02ex-content02,
.top-content02ex-content03 {
  display: none;
}
.top-content02ex-content {
  margin-top: 4rem;
  border-bottom: #99c6e4 1rem solid;
}

@media screen and (max-width: 767px) {
  .top-contents .top-content02 {
    gap: 20rem;
    row-gap: 200rem;
  }
  .top-content02 .more {
    top: 300rem;
    font-size: 36rem;
    line-height: 64rem;
    letter-spacing: 0.075em;
  }
  .top-content02 .top-content02-01 {
    width: 740rem;
    height: 3667rem;
    display: block;
    border-radius: 20rem;
    border: #0071bc 2rem solid;
  }
  .top-content02 .top-content02-01 .top-content02-01left {
    width: 660rem;
    margin: 50rem auto 0;
  }

  .top-content02 .top-content02-01 .top-content02-01left h3 {
    width: 450rem;
    margin: 0 auto;
  }
  .top-content02 .top-content02-01 .top-content02-01left p {
    font-size: 32rem;
    line-height: 56rem;
    margin-top: 40rem;
  }
  .top-content02 .top-content02-01 .top-content02-01left .box {
    width: 660rem;
    height: 482rem;
    margin-top: 40rem;
    border-radius: 10rem;
    text-align: center;
  }
  .top-content02 .top-content02-01 .top-content02-01left .box img {
    width: 610rem;
  }

  .top-content02 .top-content02-01 .top-content02-01right {
    width: 660rem;
    margin: 100rem auto 0;
  }

  .top-content02 .top-content02ex ul.top-content02ex-menu {
    width: 660rem;
    gap: 12rem;
  }
  .top-content02ex-content {
    margin-top: 14rem;
    border-bottom: #99c6e4 2rem solid;
  }

  .top-content02 .top-content02-02 {
    width: 740rem;
    height: auto;
    height: 706rem;
    border-radius: 20rem;
    border: #0071bc 2rem solid;
  }
  .top-content02 .top-content02-03,
  .top-content02 .top-content02-04 {
    width: 740rem;
    height: auto;
    height: 756rem;
    border-radius: 20rem;
    border: #0071bc 2rem solid;
  }
  .top-content02 .top-content02-04 {
    height: 900rem;
  }
  .top-content02 .top-content02-02 h3 {
    width: 580rem;
    margin: 60rem auto 0;
  }
  .top-content02 .top-content02-03 h3,
  .top-content02 .top-content02-04 h3 {
    width: 480rem;
    margin: 60rem auto 0;
  }
  .top-content02 .top-content02-02 p,
  .top-content02 .top-content02-03 p,
  .top-content02 .top-content02-04 p {
    font-size: 32rem;
    line-height: 56rem;
    margin: 40rem auto 0;
    width: 660rem;
  }


  .top-content02 .top-content02merit {
    top: -120rem;
    left: 0rem;
    width: 220rem;
  }
}

.top-content03 {
  position: relative;
}
.btn-survey02 {
  position: absolute;
  top: 172rem;
  left: 50%;
  transform: translateX(-50%);
}
.survey02-list {
  list-style: none;
  padding-left: 0;
  display: flex;
  justify-content: center;
  gap: 66rem;
  margin: 40rem auto;
}
.survey02-list li {
  position: relative;
  padding-left: 1.5em;
  color: #0071bc;
  font-size: 24rem;
  font-weight: 700;
  line-height: 32rem;
}
.survey02-list li::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 28rem;
  line-height: 32rem;
  content: "\f058"; 
  
  position: absolute;
  left: 0;
  top: 0;
  color: #009245;
}

.top-content03-h2,
#faq h2 {
  font-size: 24rem;
  font-weight: 700;
  line-height: 32rem;
  color: #0071bc;
  text-align: center;
  width: 830rem;
  margin: 40rem auto;
  background-image: url(../images/top-content03-h2_pc.webp);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 830rem 32rem;
}

.top-content03op {
  width: 830rem;
  margin: 20rem auto 80rem;
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  gap: 0;
}
.top-content03op-image {
  width: 233rem;
}
.top-content03op-list {
  width: 550rem;
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  gap: 0rem;
}
.top-content03op-list li {
  font-size: 18rem;
  line-height: 25rem;
  display: flex;
  align-items: center;
  color: #4d4d4d;
  border-bottom: #0071bc 1rem dotted;
  height: 80rem;
}
.top-content03op-list li:last-child {
  border-bottom: none;
}

.top-content03-flow {
  width: 1100rem;
  margin: 40rem auto 0;
}
.top-content03-flow-list {
  width: 1100rem;
  height: 230rem;
  display: flex;
  justify-content: space-between;
  background-image: url(../images/top-content03flow-bg_pc.webp);
  background-size: contain;
}
.top-content03-flow-list .top-content03-flow-list1,
.top-content03-flow-list .top-content03-flow-list3 {
  width: 353rem;
  height: 230rem;
  text-align: center;
}
.top-content03-flow-list .top-content03-flow-list2 {
  width: 353rem;
  height: 230rem;
  text-align: center;
}
.top-content03-flow-list h3 {
  font-size: 24rem;
  line-height: 32rem;
  margin: 30rem auto 20rem;
  color: #0071bc;
  font-weight: 700;

  display: flex;
  justify-content: center;
  align-items: center;
}

.top-content03-flow-list1 a {
  display: block;
  margin: 0 auto;
  width: 280rem;
}
.top-content03-flow-list h3 span.free,
.top-content03-flow-list h3 span.charge {
  font-size: 16rem;
  width: 60rem;
  display: inline-block;
  margin-left: 8rem;
  border-radius: 6rem;
  color: #fff;
  background-color: #8cc63f;
}
.top-content03-flow-list h3 span.charge {
  background-color: #f15a24;
}
.top-content03-flow-list p {
  font-size: 16rem;
  line-height: 28rem;
  color: #4d4d4d;
  margin: 0 auto;
}

.top-content03exp {
  width: 1100rem;
  margin: 80rem auto 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.top-content03exp-01,
.top-content03exp-02 {
  width: 530rem;
  height: 520rem;
  background-color: #eff6fb;
  border-radius: 6rem;
}
.top-content03exp h3 {
  width: 260rem;
  margin: -27rem auto 0;
}
.top-content03exp p {
  font-size: 16rem;
  line-height: 28rem;
  color: #4d4d4d;
  width: 480rem;
  margin: 20rem auto 0;
}
.top-content03exp h4 {
  width: 320rem;
  height: 34rem;
  border-radius: 17rem;
  font-size: 18rem;
  line-height: 34rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #8cc63f;
  margin: 10rem auto 20rem;
}
.top-content03exp-02 h4 {
  background-color: #f15a24;
}

.top-content03exp-list {
  list-style: none;
  padding-left: 0;
  width: 460rem;
  margin: 20rem auto;
}
.top-content03exp-list li {
  position: relative;
  padding-left: 2.5em;
  font-size: 18rem;
  line-height: 50rem;
}
.top-content03exp-list li::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 28rem;
  line-height: 50rem;
  content: "\f002"; 
  
  position: absolute;
  left: 0;
  top: 0;
  color: #f7931e;
}
.top-content03exp-02 .top-content03exp-list li::before {
  content: "\f0ad";
}

.top-content03exp-02 .top-content03exp-02btn {
  display: block;
  width: 225rem;
  height: 40rem;
  background-image: url(../images/top-content03flow-05-btn.webp);
  background-size: contain;
  margin: 20rem auto;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 40rem;
}

@media screen and (max-width: 767px) {
  .btn-survey02 {
    top: 320rem;
  }
  .survey02-list {
    gap: 48rem;
    width: 620rem;
    margin: 0 auto;
    flex-direction: column;
  }
  .survey02-list li {
    font-size: 42rem;
    line-height: 64rem;
  }
  .survey02-list li::before {
    font-size: 52rem;
    line-height: 64rem;
  }

  .top-content03-h2,
  #faq h2 {
    width: 100%;
    font-size: 42rem;
    line-height: 64rem;
    background-image: url(../images/top-content03-h2_sp.webp);
    background-size: 780rem 64rem;
  }

  .top-content03op {
    width: 100%;
    margin: 60rem auto 100rem;
    flex-direction: column;
    gap: 20rem;
  }
  .top-content03op-image {
    width: 466rem;
    margin: 0 auto;
  }
  .top-content03op-list {
    width: 660rem;
    gap: 0;
    margin: 0 auto;
  }
  .top-content03op-list li {
    font-size: 34rem;
    line-height: 50rem;
    height: auto;
    padding: 40rem 0;
    border-bottom: #0071bc 2rem dotted;
  }

  .top-content03-flow {
    width: 660rem;
    margin: 0 auto;
  }

  .top-content03-flow-list {
    width: 660rem;
    height: 1606rem;
    margin: 0 auto;
    height: auto;
    flex-direction: column;
    background-image: url(../images/top-content03flow-bg_sp.webp);
    background-size: contain;
    justify-content: space-between;
  }

  .top-content03-flow-list .top-content03-flow-list1,
  .top-content03-flow-list .top-content03-flow-list2,
  .top-content03-flow-list .top-content03-flow-list3 {
    width: 100%;
    height: 510rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .top-content03-flow-list .top-content03-flow-list1 {
    justify-content: start;
  }

  .top-content03-flow-list h3 {
    font-size: 48rem;
    line-height: 64rem;
    margin: 60rem auto 40rem;
    color: #0071bc;
    font-weight: 700;

    display: flex;
    justify-content: center;
    align-items: center;
  }

  .top-content03-flow-list1 a {
    display: block;
    margin: 0 auto;
    width: 560rem;
  }
  .top-content03-flow-list h3 span.free,
  .top-content03-flow-list h3 span.charge {
    font-size: 32rem;
    width: 120rem;
    display: inline-block;
    margin-left: 16rem;
    border-radius: 12rem;
    color: #fff;
    background-color: #8cc63f;
  }
  .top-content03-flow-list h3 span.charge {
    background-color: #f15a24;
  }
  .top-content03-flow-list p {
    font-size: 32rem;
    line-height: 56rem;
    color: #4d4d4d;
    margin: 0 auto;
  }

  .top-content03exp {
    width: 660rem;
    margin: 200rem auto 0;
    display: flex;
    flex-direction: column;
    gap: 160rem;
  }
  .top-content03exp-01,
  .top-content03exp-02 {
    width: 660rem;
    height: auto;
    border-radius: 12rem;
    padding-bottom: 20rem;
  }
  .top-content03exp h3 {
    width: 520rem;
    margin: -54rem auto 0;
  }
  .top-content03exp p {
    font-size: 31rem;
    line-height: 56rem;
    width: 600rem;
    margin: 20rem auto 0;
  }
  .top-content03exp h4 {
    width: 600rem;
    height: 64rem;
    border-radius: 32rem;
    font-size: 32rem;
    line-height: 64rem;
    margin: 20rem auto 30rem;
  }

  .top-content03exp-list {
    width: 560rem;
    margin: 60rem auto 60rem;
  }
  .top-content03exp-list li {
    padding-left: 2em;
    font-size: 32rem;
    line-height: 48rem;
    height: auto;
    margin-bottom: 60rem;
  }
  .top-content03exp-list li::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 42rem;
    line-height: 48rem;
    content: "\f002"; 
    
    position: absolute;
    left: 0;
    top: 0;
    color: #f7931e;
  }
  .top-content03exp-02 .top-content03exp-02btn {
    width: 450rem;
    height: 80rem;
    margin: 40rem auto 60rem;
    color: #fff;
    line-height: 80rem;
  }
}

#faq {
  width: 100%;
  background-color: #fff;
  padding-top: 80rem;
  padding-bottom: 40rem;
}

.faq-accordion {
  width: 830rem;
  margin: 0 auto;
}
.faq-accordion-content {
  display: none;
}
.faq-accordion-header {
  background-color: #eff6fb;
  color: #0071bc;
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
  margin-top: 10rem;
  border-radius: 6rem;
}
.faq-accordion-header.active {
  border-radius: 6rem 6rem 0 0;
}
.faq-accordion-header::before {
  position:absolute;
  content:'';
  top: 16rem;
  right: 30rem;
  bottom:0;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 28rem;
  line-height: 28rem;
  content: "\f055"; 
}
.faq-accordion-header.active::before {
  content: "\f056"; 
}
.faq-accordion-header-inner {
  position: relative;
  width: 730rem;
  margin: 0 75rem 0 25rem;
  padding: 16rem 0;
  font-size: 18rem;
  line-height: 28rem;
}
.faq-accordion-content {
  background-color: #eff6fb;
  border-radius: 0 0 6rem 6rem;
}
.faq-accordion-content-inner {
  position: relative;
  width: 780rem;
  border-top: 1px solid #0071bc;
  margin: 0 auto;
  font-size: 16rem;
  line-height: 28rem;
  padding: 16rem 0;
  color: #333;
}

@media screen and (max-width: 767px) {
  #faq {
    padding-top: 100rem;
    padding-bottom: 60rem;
  }
  .faq-accordion {
    width: 660rem;
    margin: 0 auto;
  }
  .faq-accordion-header {
    margin-top: 20rem;
    border-radius: 12rem;
  }
  .faq-accordion-header.active {
    border-radius: 12rem 12rem 0 0;
  }
  .faq-accordion-header::before {
    display: flex;
    align-items: center;
    top: 0rem;
    right: 30rem;
    font-size: 42rem;
    line-height: 48rem;
  }
  .faq-accordion-header-inner {
    position: relative;
    width: 540rem;
    margin: 0 90rem 0 30rem;
    padding: 32rem 0;
    font-size: 28rem;
    line-height: 44rem;
  }
  .faq-accordion-content {
    background-color: #eff6fb;
    border-radius: 0 0 12rem 12rem;
  }
  .faq-accordion-content-inner {
    position: relative;
    width: 600rem;
    border-top: 1px solid #0071bc;
    margin: 0 auto;
    font-size: 28rem;
    line-height: 48rem;
    padding: 32rem 0;
    color: #333;
  }
}

/*  modal
--------------------------*/
#modal-ledsim {
  max-width: 700rem!important;
  background-color: #fff;
  border-radius: 10rem;
  padding: 0;
  text-align: left;
}
.modal-ledsim-title {
  font-size: 22rem;
  font-weight: 700;
  height: 80rem;
  color: #FFF;
  text-align: center;
  margin-bottom: 20rem;
  border-radius: 10rem 10rem 0 0;
  background-color: #8cc63f;
}
.modal-ledsim-title img {
  width: 280rem;
}
.modal-ledsim-lead {
  font-size: 14rem;
  line-height: 22rem;
  color: #4d4d4d;
  text-align: center;
  margin-bottom: 20rem;
}
.modal-ledsim-form {
  width: 100%;
}
.modal-ledsim-item {
  display: flex;
  align-items: center;
  gap: 20rem;
  padding: 18rem 0;
  max-width: 400rem;
  margin: 0 auto;
}
.modal-ledsim-item2 {
  flex-direction: column;
}
.modal-ledsim-item3 {
  font-size: 16rem;
  line-height: 28rem;
  color: #0099bd;
  font-weight: 600;
  text-align: center;
}
.modal-ledsim-label {
  width: 200rem;
  flex-shrink: 0;
  font-size: 16rem;
  line-height: 28rem;
  color: #4d4d4d;
  font-weight: 600;
}
.modal-ledsim-item2 .modal-ledsim-label {
  width: 100%;
  text-align: center;
  color: #0099bd;
}
.modal-ledsim-radio-group {
  display: flex;
  gap: 12rem;
}
.modal-ledsim-radio-label {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
  justify-content: center;
}
.modal-ledsim-radio-label img {
  display: block;
  width: 100%
}
.modal-ledsim-radio-label span {
  display: block;
}
.modal-ledsim-radio {
  display: none;
}
.modal-ledsim-radio-btn {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100rem;
  height: 78rem;
  font-size: 15rem;
  color: #666;
  border: 1rem solid #43558f;
  border-radius: 6rem;
  transition: background-color 200ms ease, color 200ms ease;
}
.modal-ledsim-radio:checked + .modal-ledsim-radio-btn {
  background-color: #d3efd1;
  color: #666;
}
.modal-ledsim-input-wrap {
  display: flex;
  align-items: center;
  gap: 10rem;
}
.modal-ledsim-input {
  width: 120rem;
  height: 40rem;
  font-size: 16rem;
  padding: 0 12rem;
  border: 1rem solid #b0cfe8;
  border-radius: 6rem;
  background-color: #fff;
  color: #333;
  text-align: right;
}
.modal-ledsim-unit {
  font-size: 14rem;
  color: #4d4d4d;
  white-space: nowrap;
}
.modal-ledsim-submit {
  text-align: center;
  margin-top: 30rem;
}
.modal-ledsim-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 280rem;
  height: 80rem;
}
.modal-ledsim-result-arrow {
  width: 280rem;
  margin: 0 auto 10rem;
}
.modal-ledsim-result-inner {
  position: relative;
  width: 330rem;
  height: 250rem;
  margin: 0 auto 40rem;
  background-image: url(/chiba/images/modal-img04.webp);
  background-size: cover;
}
.modal-ledsim-result-value {
  position: absolute;
  font-size: 24rem;
  line-height: 21rem;
  color: #666;
}
.modal-ledsim-result-value01 {
  top: 110rem;
  right: 200rem;
}
.modal-ledsim-result-value02 {
  top: 110rem;
  right: 40rem;
}
.modal-ledsim-result-value03 {
  top: 160rem;
  right: 40rem;
}
.modal-ledsim-result-value04 {
  top: 200rem;
  right: 40rem;
}
.modal-ledsim-cancel {
  width: 144rem;
  height: 34rem;
  background-color: #808080;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  margin: 0 auto 40rem;
}

@media screen and (max-width: 767px) {
  #modal-ledsim {
    width: 720rem;
    padding: 0;
  }
  .modal-ledsim-title {
    line-height: 160rem;
    height: 160rem;
    margin-bottom: 40rem;
  }
  .modal-ledsim-title img {
    width: 560rem;

  }
  .modal-ledsim-lead {
    font-size: 32rem;
    line-height: 44rem;
    margin-bottom: 50rem;
  }
  .modal-ledsim-item {
    gap: 14rem;
    padding: 30rem 0;
    max-width: 600rem;
    margin: 0 auto;
  }
  .modal-ledsim-item3 {
    font-size: 32rem;
    line-height: 44rem;
  }
  .modal-ledsim-label {
    font-size: 32rem;
    line-height: 44rem;
    width: 260rem;
  }
  .modal-ledsim-radio-group {
    gap: 16rem;
  }
  .modal-ledsim-radio-btn {
    width: 200rem;
    height: 166rem;
    font-size: 28rem;
    border-radius: 12rem;
  }
  .modal-ledsim-input {
    width: 200rem;
    height: 72rem;
    font-size: 30rem;
    padding: 0 20rem;
    border-radius: 10rem;
  }
  .modal-ledsim-unit {
    font-size: 26rem;
  }
  .modal-ledsim-submit {
    margin-top: 50rem;
  }
  .modal-ledsim-btn {
    width: 560rem;
    height: 160rem;
  }
  .modal-ledsim-result-arrow {
    width: 560rem;
    margin: 0 auto 20rem;
  }
  .modal-ledsim-result-inner {
    width: 660rem;
    height: 500rem;
    margin: 0 auto 80rem;
  }
  .modal-ledsim-result-value {
    position: absolute;
    font-size: 48rem;
    line-height: 48rem;
    color: #666;
  }
  .modal-ledsim-result-value01 {
    top: 220rem;
    right: 400rem;
  }
  .modal-ledsim-result-value02 {
    top: 220rem;
    right: 80rem;
  }
  .modal-ledsim-result-value03 {
    top: 320rem;
    right: 80rem;
  }
  .modal-ledsim-result-value04 {
    top: 400rem;
    right: 80rem;
  }
  .modal-ledsim-cancel {
    width: 288rem;
    height: 68rem;
    margin: 0 auto 80rem;
  }
}

/*  Form
--------------------------*/

.form-content {
  max-width: 830rem;
  margin: 70rem auto 80rem;
}
.form-content h2.form-content-header {
  font-size: 32rem;
  line-height: 48rem;
  color: #0071bc;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 30rem;
}
.form-content h2.form-content-header span {
  font-size: 21rem;
  line-height: 48rem;
  display: block;
}
.form-step {
  width: 480rem;
  margin: 20rem auto;
}
.form-content-header-p {
  font-size: 18rem;
  line-height: 32rem;
  text-align: center;
  color: #333;
}
.form-content-header-p2 {
  padding-bottom: 300rem;
}

.form-content-nav {
  font-size: 16rem;
  line-height: 53rem;
  color: #43558f;
}
.form-content-nav a {
  color: #43558f;
}
.form-content-inner {
  padding: 30rem 0;
  margin: 0 auto;
}


/* フォーム共通パーツ */
.form-main {
  width: 100%;
}
.form-item {
  display: flex;
  align-items: flex-start;
  border-bottom: 1rem solid #99c6e4;
  padding: 32rem 0;
  gap: 20rem;
}
.form-item:first-child {
  border-top: 1rem solid #99c6e4;
}
.form-item dt.form-item-label {
  width: 380rem;
  flex-shrink: 0;
  font-size: 18rem;
  line-height: 44rem;
  color: #43558f;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 6rem;
}
.form-required {
  display: inline-block;
  font-size: 12rem;
  text-align: center;
  line-height: 23rem;
  width: 44rem;
  background-color: #f4777c;
  color: #fff;
  border-radius: 11.5rem;
  flex-shrink: 0;
  margin-top: 13rem;
}
.form-item dt.form-item-label .line2 {
  line-height: 22rem;
}
.form-item dt.form-item-label .line2 span {
  font-size: 13rem;
  line-height: 22rem;
}
.form-item dd.form-item-input {
  flex: 1;
}
.form-input-text {
  display: block;
  width: 100%;
  height: 44rem;
  font-size: 16rem;
  line-height: 1;
  padding: 0 12rem;
  border: 1rem solid #b0cfe8;
  border-radius: 6rem;
  background-color: #fff;
  color: #333;
}
.form-input-text:focus {
  border-color: #0071bc;
}
.form-address-fields {
  display: flex;
  flex-direction: column;
  gap: 10rem;
}
.form-dept-fields {
  display: flex;
  gap: 12rem;
}
.form-dept-fields .form-input-text {
  width: 50%;
}
.form-tel {
  display: flex;
  gap: 12rem;
  align-items: center;
}
.form-select-wrap {
  position: relative;
  display: inline-block;
  width: 100%;
}
.form-select-wrap::after {
  content: '\f078';
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 12rem;
  color: #4d4d4d;
  position: absolute;
  right: 12rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.form-select {
  height: 44rem;
  font-size: 16rem;
  padding: 0 36rem 0 12rem;
  border: 1rem solid #b0cfe8;
  border-radius: 6rem;
  background-color: #fff;
  color: #333;
  width: 100%;
}
.form-select:focus {
  border-color: #43558f;
}
.form-select-tel {
  width: 100%;
  flex-shrink: 0;
}
.form-zip {
  display: flex;
  gap: 12rem;
  align-items: center;
}
.form-input-zip {
  width: 200rem;
}
.form-zip-btn {
  height: 44rem;
  padding: 0 20rem;
  width: 140rem;
  text-align: center;
  font-size: 18rem;
  line-height: 44rem;
  background-color: #e6e6e6;
  color: #666;
  border-radius: 6rem;
  cursor: pointer;
  border: none;
  white-space: nowrap;
}
.form-agree {
  padding: 30rem 0;
  text-align: center;
}
.form-agree-label {
  display: inline-flex;
  align-items: center;
  gap: 10rem;
  cursor: pointer;
  font-size: 16rem;
  line-height: 44rem;
}
.form-checkbox {
  width: 20rem;
  height: 20rem;
  border: 2rem solid #b0cfe8;
  border-radius: 4rem;
  cursor: pointer;
  flex-shrink: 0;
  appearance: auto;
  -webkit-appearance: auto;
}
.form-submit {
  text-align: center;
  margin-top: 10rem;
}
.form-submit-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 380rem;
  height: 60rem;
  font-size: 21rem;
  font-weight: 700;
  color: #fff!important;
  background-color: #43558f;
  border-radius: 10rem;
  cursor: pointer;
  border: none;
  transition: background-color 300ms ease;
  margin-top: 60rem;
}
.form-submit-btn:hover {
  background-color: #005a96;
}
.form-item .lh28 {
  line-height: 28rem;
}

@media screen and (max-width: 767px) {
  .form-content {
    width: 720rem;
  }
  .form-content h2.form-content-header {
    font-size: 42rem;
    line-height: 64rem;
    margin: 0 auto 30rem;
  }
  .form-content h2.form-content-header span {
    font-size: 32rem;
    line-height: 64rem;
  }
  .form-step {
    width: 660rem;
    margin: 40rem auto;
  }
  .form-content-header-p {
    font-size: 28rem;
    line-height: 44rem;
  }
  .form-content-nav {
    font-size: 28rem;
    line-height: 40rem;
  }
  .form-content-nav a {
    font-size: 28rem;
    line-height: 70rem;
  }
  .form-content-inner {
    padding: 60rem 0;
  }

  .form-item {
    flex-direction: column;
    gap: 10rem;
    padding: 30rem 0;
  }
  .form-item dt.form-item-label {
    width: 100%;
    font-size: 32rem;
    line-height: 56rem;
  }
  .form-item dt.form-item-label .line2 {
    line-height: 44rem;
  }
  .form-item dt.form-item-label .line2 span {
    font-size: 20rem;
    line-height: 28rem;
  }
  .form-item dd.form-item-input {
    width: 100%;
  }


  .form-required {
    width: 88rem;
    font-size: 24rem;
    line-height: 48rem;
    border-radius: 24rem;
    margin-top: 6rem;
  }
  .form-input-text {
    height: 80rem;
    font-size: 28rem;
    padding: 0 20rem;
    border-radius: 10rem;
  }
  .form-address-fields {
    gap: 16rem;
  }
  .form-tel {
    gap: 16rem;
  }
  .form-select {
    height: 80rem;
    font-size: 28rem;
    padding: 0 60rem 0 20rem;
    border-radius: 10rem;
  }
  .form-select-tel {
    width: 100%;
  }
  .form-zip {
    gap: 16rem;
  }
  .form-input-zip {
    width: 320rem;
  }
  .form-zip-btn {
    height: 80rem;
    width: 280rem;
    padding: 0 30rem;
    font-size: 28rem;
    line-height: 80rem;
    border-radius: 10rem;
  }
  .form-agree {
    padding: 50rem 0;
  }
  .form-agree-label {
    font-size: 30rem;
    line-height: 44rem;
    gap: 16rem;
  }
  .form-checkbox {
    width: 40rem;
    height: 40rem;
    border-radius: 8rem;
  }
  .form-submit-btn {
    width: 660rem;
    height: 120rem;
    font-size: 42rem;
    border-radius: 20rem;
  }
  .form-item .lh28 {
    line-height: 44rem;
  }
}

/* 確認画面
--------------------------*/

.form-confirm {
  padding: 1rem;
  display: flex;
  gap:1rem;
  border-top: 1rem solid #99c6e4;
}
.form-confirm:last-child {
  border-bottom: 1rem solid #99c6e4;
}
.form-confirm-label {
  width: 318rem;
  font-size: 14rem;
  line-height: 28rem;
  padding: 11rem;
  color: #43558f;
  background-color: #ecf5fa;
}

.form-confirm-lead {
  font-size: 16rem;
  line-height: 28rem;
  color: #4d4d4d;
  text-align: center;
  margin: 0 auto 20rem;
}
.form-confirm-value {
  width: 509rem;
  font-size: 16rem;
  line-height: 28rem;
  color: #333;
  padding: 11rem;
  background-color: #FFF;
}
.form-confirm-dept {
  display: flex;
  gap: 12rem;
}
.form-confirm-dept span {
  flex: 1;
}
.form-confirm-address {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
.form-confirm-address-line {
  display: block;
}
.form-confirm-actions {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30rem;
  margin-top: 40rem;
  padding-bottom: 10rem;
}
.form-back-btn {
  left: 0;
  top: 80rem;
  position: absolute;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 16rem;
  color: #8e99bc;
}
.form-confirm .lh28 {
  line-height: 28rem;
}

@media screen and (max-width: 767px) {

  .form-confirm {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    border-top: 2rem solid #99c6e4;
  }
  .form-confirm:last-child {
    border-bottom: 2rem solid #99c6e4;
  }
  .form-confirm-label {
    width: 100%;
    font-size: 28rem;
    line-height: 44rem;
    padding: 22rem;
    color: #43558f;
    background-color: #ecf5fa;
  }

  .form-confirm-lead {
    font-size: 28rem;
    line-height: 48rem;
    margin-bottom: 40rem;
  }
  .form-confirm-value {
    font-size: 28rem;
    line-height: 48rem;
    padding: 22rem;
    width: 100%;
  }
  .form-confirm-dept {
    gap: 20rem;
  }
  .form-confirm-address {
    gap: 12rem;
  }
  .form-confirm-actions {
    flex-direction: column-reverse;
    gap: 24rem;
    margin-top: 60rem;
  }
  .form-back-btn {
    left: 0;
    top: 240rem;
    font-size: 28rem;
  }
  .form-confirm .lh28 {
    line-height: 44rem;
  }
}

.form-input-text:disabled {
  background-color: #f0f0f0;
  color: #888;
  cursor: not-allowed;
}
.form-date-wrap {
  display: inline-block;
}
.form-input-date {
  height: 44rem;
  font-size: 16rem;
  padding: 0 12rem;
  border: 1rem solid #b0cfe8;
  border-radius: 6rem;
  background-color: #fff;
  color: #333;
  width: 100%;
}
.form-input-date:focus {
  border-color: #43558f;
}
.form-checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10rem 30rem;
  padding: 6rem 0;
}
.form-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 8rem;
  cursor: pointer;
  font-size: 16rem;
  line-height: 44rem;
}
.form-checkbox-label .form-checkbox {
  width: 18rem;
  height: 18rem;
  border: 2rem solid #b0cfe8;
  border-radius: 3rem;
  flex-shrink: 0;
  appearance: auto;
  -webkit-appearance: auto;
}
.form-number-wrap {
  display: flex;
  align-items: center;
  gap: 8rem;
}
.form-input-number {
  width: 160rem;
}
.form-unit {
  font-size: 16rem;
  color: #4d4d4d;
  white-space: nowrap;
}
.form-file-input {
  display: none;
}
.form-file-label {
  display: inline-flex;
  align-items: center;
  gap: 12rem;
  cursor: pointer;
}
.form-file-btn {
  display: inline-flex;
  align-items: center;
  height: 36rem;
  padding: 0 16rem;
  font-size: 14rem;
  color: #43558f;
  border: 1rem solid #43558f;
  border-radius: 6rem;
  white-space: nowrap;
  transition: background-color 300ms ease, color 300ms ease;
}
.form-file-label:hover .form-file-btn {
  background-color: #43558f;
  color: #fff;
}
.form-file-name {
  font-size: 14rem;
  color: #888;
  word-break: break-all;
}
.form-textarea {
  display: block;
  width: 100%;
  font-size: 16rem;
  line-height: 1.6;
  padding: 10rem 12rem;
  border: 1rem solid #b0cfe8;
  border-radius: 6rem;
  background-color: #fff;
  color: #333;
  resize: vertical;
}
.form-textarea:focus {
  border-color: #0071bc;
}

/* 入力チェック（contact-input.js / application.js） */
.form-input-text.error,
.form-textarea.error,
.form-select.error {
  border-color: #f00 !important;
  box-shadow: 0 0 5px rgba(255, 40, 100, 0.5);
}
.error-message {
  color: #f00;
  font-size: 14rem;
  line-height: 1.5;
  margin-top: 8rem;
}
.form-input-text.warning,
.form-textarea.warning,
.form-select.warning {
  border-color: #ff9800 !important;
  box-shadow: 0 0 5px rgba(255, 152, 0, 0.5);
}
.warning-message {
  color: #ff9800;
  font-size: 14rem;
  line-height: 1.5;
  margin-top: 8rem;
}
.agree-consent-wrapper.check-disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.form-submit-btn.submit-disabled {
  pointer-events: auto !important;
  opacity: 0.3;
  cursor: not-allowed !important;
}

.form-tel-link {
  display:block;
  margin: 0 auto;
  max-width: 340rem;;
}

@media screen and (max-width: 767px) {
  .form-input-date {
    height: 80rem;
    font-size: 28rem;
    padding: 0 20rem;
    border-radius: 10rem;
    width: 100%;
  }
  .form-checkbox-group {
    gap: 16rem 40rem;
    padding: 10rem 0;
  }
  .form-checkbox-label {
    font-size: 28rem;
    line-height: 56rem;
    gap: 14rem;
  }
  .form-checkbox-label .form-checkbox {
    width: 36rem;
    height: 36rem;
    border-radius: 6rem;
  }
  .form-input-number {
    width: 240rem;
    height: 80rem;
    font-size: 28rem;
    border-radius: 10rem;
  }
  .form-unit {
    font-size: 28rem;
  }
  .form-file-label {
    gap: 20rem;
    flex-wrap: wrap;
  }
  .form-file-btn {
    height: 70rem;
    padding: 0 30rem;
    font-size: 26rem;
    border-radius: 10rem;
  }
  .form-file-name {
    font-size: 26rem;
  }
  .form-textarea {
    font-size: 28rem;
    padding: 16rem 20rem;
    border-radius: 10rem;
  }
  .form-tel-link {
    max-width: 600rem;
  }
}

.form-confirm-inquiry {
  white-space: pre-wrap;
}

/* form-complete
--------------------------*/


@media screen and (max-width: 767px) {
  .form-complete {
    padding: 60rem 0 40rem;
  }
  .form-complete-title {
    font-size: 38rem;
    line-height: 56rem;
    margin-bottom: 50rem;
  }
  .form-complete-body {
    font-size: 28rem;
    line-height: 50rem;
    margin-bottom: 40rem;
  }
  .form-complete-note {
    font-size: 24rem;
    line-height: 40rem;
  }
  .form-top-btn {
    width: 500rem;
    height: 100rem;
    font-size: 30rem;
    border-radius: 50rem;
    margin-top: 60rem;
  }
}

/*  NEWS
--------------------------*/

.topnews {
  width: 830rem;
  margin: 40rem auto 60rem;
  position: relative;
}
.topnews h3 {
  font-size: 18rem;
  line-height: 24rem;
  text-align: center;
  color: #4d4d4d;
}
.topnews-more {
  position: absolute;
  top: 0;
  right: 0;
  color: #0071bc!important;
  font-size: 14rem;
  line-height: 20rem;
  text-align: right;
  cursor: pointer;
}
.topnews-content {
  display: block;
  color: #0071bc!important;
  font-size: 18rem;
  line-height: 24rem;
  padding: 18rem;
  margin-top: 10rem;
  background-color: #FFF;
  border-radius: 6rem;
}
@media screen and (max-width: 767px) {
  .topnews {
    width: 660rem;
    margin: 40rem auto 60rem;
  }
  .topnews h3 {
    font-size: 36rem;
    line-height: 44rem;
  }
  .topnews-more {
    font-size: 24rem;
    line-height: 44rem;
  }
  .topnews-content {
    font-size: 28rem;
    line-height: 44rem;
    padding: 36rem;
    margin-top: 20rem;
    border-radius: 12rem;
  }
}

.news-title {
  font-size: 24rem;
  line-height: 32rem;
  margin-bottom: 40rem;
}
.news-date {
  font-size: 16rem;
  line-height: 24rem;
}
.news-eyecatch {
  width: 100%;
  margin-bottom: 40rem;;
}
@media screen and (max-width: 767px) {
  .news-title {
    font-size: 44rem;
    line-height: 56rem;
    margin-bottom: 60rem;
  }
  .news-date {
    font-size: 28rem;
    line-height: 44rem;
  }
  .news-eyecatch {
    width: 100%;
    margin-bottom: 60rem;
  }
}

.news-body a {
  color: #0070c9!important;
  text-decoration: underline;
}
.news-body a:hover { opacity: 0.8; }

.news-body a[target="blank"]::after {
  content: "\f08e";
  font-family: "FontAwesome";
  font-weight: normal;
  display: inline-block;
  margin-left: 0.35em;
  font-size: 0.9em;
  vertical-align: middle;
}


.news-archive {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 30rem;
}
.news-archive-item {
  display: block;
  position: relative;
  width: 400rem;
  background-color: #FFF;
  padding: 30rem;
  border-radius: 6rem;
  border: 1rem solid #d1e5f3;
  cursor: pointer;
}
.news-arcihve-eyecatch {
  margin-bottom: 20rem;
}
.news-arcihve-eyecatch img {
  width: 340rem;
  height: 210rem;
  border-radius: 6rem;
  box-shadow: 0 0 3rem 0 rgba(0, 0, 0, 0.2);
  object-fit: cover;
}
.news-arcihve-date {
  font-size: 14rem;
  line-height: 20rem;
  margin-bottom: 5rem;
}
.news-arcihve-title {
  font-size: 18rem;
  line-height: 28rem;
  margin-bottom: 40rem;
}
.news-archive-more {
  position: absolute;
  color: #43558f;
  text-align: right;
  bottom: 20rem;
  right: 20rem;
  font-size: 16rem;
  line-height: 20rem;
}
@media screen and (max-width: 767px) {
  .news-archive {
    gap: 20rem;
  }
  .news-archive-item {
    width: 100%;
    padding: 40rem;
    border-radius: 12rem;
    border: 2rem solid #d1e5f3;
  }
  .news-arcihve-eyecatch {
    margin-bottom: 40rem;
  }
  .news-arcihve-eyecatch img {
    width: 100%;
    aspect-ratio: 340/210;
    height: auto;
    border-radius: 6rem;
    
    box-shadow: 0 0 6rem 0 rgba(0, 0, 0, 0.2);
    object-fit: cover;
  }
  .news-arcihve-date {
    font-size: 28rem;
    line-height: 40rem;
    margin-bottom: 10rem;
  }
  .news-arcihve-title {
    font-size: 36rem;
    line-height: 44rem;
    margin-bottom: 80rem;
  }
  .news-archive-more {
    position: absolute;
    color: #43558f;
    text-align: right;
    bottom: 40rem;
    right: 40rem;
    font-size: 28rem;
    line-height: 40rem;
  }
}


/*  Print
--------------------------*/


/* 
margin padding
*/
.mt-0 {
  margin-top: 0rem !important;
}
.mb-0 {
  margin-bottom: 0rem !important;
}
.mr-0 {
  margin-right: 0rem !important;
}
.ml-0 {
  margin-left: 0rem !important;
}
.mt-10 {
  margin-top: 10rem !important;
}
.mb-10 {
  margin-bottom: 10rem !important;
}
.mr-10 {
  margin-right: 10rem !important;
}
.ml-10 {
  margin-left: 10rem !important;
}
.mt-20 {
  margin-top: 20rem !important;
}
.mb-20 {
  margin-bottom: 20rem !important;
}
.mr-20 {
  margin-right: 20rem !important;
}
.ml-20 {
  margin-left: 20rem !important;
}
.mt-30 {
  margin-top: 30rem !important;
}
.mb-30 {
  margin-bottom: 30rem !important;
}
.mr-30 {
  margin-right: 30rem !important;
}
.ml-30 {
  margin-left: 30rem !important;
}
.mt-40 {
  margin-top: 40rem !important;
}
.mb-40 {
  margin-bottom: 40rem !important;
}
.mr-40 {
  margin-right: 40rem !important;
}
.ml-40 {
  margin-left: 40rem !important;
}
.mt-50 {
  margin-top: 50rem !important;
}
.mb-50 {
  margin-bottom: 50rem !important;
}
.mr-50 {
  margin-right: 50rem !important;
}
.ml-50 {
  margin-left: 50rem !important;
}
.mt-60 {
  margin-top: 60rem !important;
}
.mb-60 {
  margin-bottom: 60rem !important;
}
.mr-60 {
  margin-right: 60rem !important;
}
.ml-60 {
  margin-left: 60rem !important;
}
.mt-70 {
  margin-top: 70rem !important;
}
.mb-70 {
  margin-bottom: 70rem !important;
}
.mr-70 {
  margin-right: 70rem !important;
}
.ml-70 {
  margin-left: 70rem !important;
}
.mt-80 {
  margin-top: 80rem !important;
}
.mb-80 {
  margin-bottom: 80rem !important;
}
.mr-80 {
  margin-right: 80rem !important;
}
.ml-80 {
  margin-left: 80rem !important;
}
.mt-90 {
  margin-top: 90rem !important;
}
.mb-90 {
  margin-bottom: 90rem !important;
}
.mr-90 {
  margin-right: 90rem !important;
}
.ml-90 {
  margin-left: 90rem !important;
}
.mt-100 {
  margin-top: 100rem !important;
}
.mb-100 {
  margin-bottom: 100rem !important;
}
.mr-100 {
  margin-right: 100rem !important;
}
.ml-100 {
  margin-left: 100rem !important;
}
.pt-10 {
  padding-top: 10rem !important;
}
.pb-10 {
  padding-bottom: 10rem !important;
}
.pr-10 {
  padding-right: 10rem !important;
}
.pl-10 {
  padding-left: 10rem !important;
}
.pt-20 {
  padding-top: 20rem !important;
}
.pb-20 {
  padding-bottom: 20rem !important;
}
.pr-20 {
  padding-right: 20rem !important;
}
.pl-20 {
  padding-left: 20rem !important;
}
.pt-30 {
  padding-top: 30rem !important;
}
.pb-30 {
  padding-bottom: 30rem !important;
}
.pr-30 {
  padding-right: 30rem !important;
}
.pl-30 {
  padding-left: 30rem !important;
}
.pt-40 {
  padding-top: 40rem !important;
}
.pb-40 {
  padding-bottom: 40rem !important;
}
.pr-40 {
  padding-right: 40rem !important;
}
.pl-40 {
  padding-left: 40rem !important;
}
.pt-50 {
  padding-top: 50rem !important;
}
.pb-50 {
  padding-bottom: 50rem !important;
}
.pr-50 {
  padding-right: 50rem !important;
}
.pl-50 {
  padding-left: 50rem !important;
}
.pt-60 {
  padding-top: 60rem !important;
}
.pb-60 {
  padding-bottom: 60rem !important;
}
.pr-60 {
  padding-right: 60rem !important;
}
.pl-60 {
  padding-left: 60rem !important;
}
.pt-70 {
  padding-top: 70rem !important;
}
.pb-70 {
  padding-bottom: 70rem !important;
}
.pr-70 {
  padding-right: 70rem !important;
}
.pl-70 {
  padding-left: 70rem !important;
}
.pt-80 {
  padding-top: 80rem !important;
}
.pb-80 {
  padding-bottom: 80rem !important;
}
.pr-80 {
  padding-right: 80rem !important;
}
.pl-80 {
  padding-left: 80rem !important;
}
.pt-90 {
  padding-top: 90rem !important;
}
.pb-90 {
  padding-bottom: 90rem !important;
}
.pr-90 {
  padding-right: 90rem !important;
}
.pl-90 {
  padding-left: 90rem !important;
}
.pt-100 {
  padding-top: 100rem !important;
}
.pb-100 {
  padding-bottom: 100rem !important;
}
.pr-100 {
  padding-right: 100rem !important;
}
.pl-100 {
  padding-left: 100rem !important;
}
.pd-10 {
  padding: 10rem !important;
}
.pd-20 {
  padding: 20rem !important;
}
.pd-30 {
  padding: 30rem !important;
}
/*フォント系*/
.f-12 {
  font-size: 12rem !important;
}
.f-14 {
  font-size: 14rem !important;
}
.f-20 {
  font-size: 20rem !important;
}
.f-25 {
  font-size: 25rem !important;
}
.f-26 {
  font-size: 26rem !important;
}
.f-30 {
  font-size: 30rem !important;
}
.f-35 {
  font-size: 35rem !important;
}
.f-38 {
  font-size: 38rem !important;
}
.f-40 {
  font-size: 40rem !important;
}
.f-46 {
  font-size: 46rem !important;
}
.f-50 {
  font-size: 50rem !important;
}
.line-h-15 {
  line-height: 1.5 !important;
}
.f-b {
  font-weight: bold !important;
}
.wd-50 {
  width: 50% !important;
}
.wd-80 {
  width: 80% !important;
}
.wd-100 {
  width: 100% !important;
}
.mb-05em {
  margin-bottom: .5em !important;
}
.mb-1em {
  margin-bottom: 1em !important;
}
.mb-15em {
  margin-bottom: 1.5em !important;
}
.mb-2em {
  margin-bottom: 2em !important;
}
.mb-25em {
  margin-bottom: 2.5em !important;
}
.mb-3em {
  margin-bottom: 3em !important
}

@media only screen and (max-width: 767rem) {
  .mwd-50 {
    width: 50% !important;
  }
  .mwd-80 {
    width: 80% !important;
  }
  .mwd-100 {
    width: 100% !important;
  }
}