@charset "UTF-8";
/* ------------------------------
 common - width: all
------------------------------ */
/**
* YUI 3.5.0 - reset.css (http://developer.yahoo.com/yui/3/cssreset/)
* http://cssreset.com
* Copyright 2012 Yahoo! Inc. All rights reserved.
* http://yuilibrary.com/license/
*/
/*
TODO will need to remove settings on HTML since we can't namespace it.
TODO with the prefix, should I group by selector or property for weight savings?
*/
html {
  color: #111;
  background: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-feature-settings: "palt";
  font-size: 100%; }

/*
TODO remove settings on BODY since we can't namespace it.
*/
/*
TODO test putting a class on HEAD.
- Fails on FF.
*/
main,
article,
section {
  display: block; }

* {
  box-sizing: border-box; }

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

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

fieldset,
img {
  border: 0; }

/*
TODO think about hanlding inheritence differently, maybe letting IE6 fail a bit...
*/
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal; }

ol,
ul {
  list-style: none; }

caption,
th {
  text-align: left; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal; }

q:before,
q:after {
  content: ''; }

abbr,
acronym {
  border: 0;
  font-variant: normal; }

/* to preserve line-height and selector appearance */
sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit; }

/*to enable resizing for IE*/
/*because legend doesn't inherit in IE */
legend {
  color: #000; }

/* YUI CSS Detection Stamp */
#yui3-css-stamp.cssreset {
  display: none; }

.cf:after {
  content: "";
  clear: both;
  display: block; }

.ajtxt {
  text-align: justify;
  text-justify: inter-ideograph; }

a:hover {
  opacity: 0.6;
  transition: .4s; }

.op {
  display: block !important; }

.os {
  display: none !important; }

* {
  letter-spacing: 0.05em; }

.roboto {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: normal; }

.js-effect01 {
  opacity: 0;
  transform: translateY(50px);
  transition-delay: .3s;
  transition-duration: 1.5s; }
  .js-effect01.effected {
    opacity: 1;
    transform: translateY(0); }

.js-effect02 {
  opacity: 0;
  transform: translateY(-50px);
  transition-duration: 1.5s; }
  .js-effect02.effected {
    opacity: 1;
    transform: translateY(0); }

.js-effect03 {
  opacity: 0;
  transform: translateY(50px);
  transition-duration: 1.5s; }
  .js-effect03.effected {
    opacity: 1;
    transform: translateY(0); }

/* ------------------------------
 common - width all
------------------------------ */
html,
body {
  font-size: calc(1vw / 20); }

/* ------------------------------
 common - width < $width-1
------------------------------ */
@media screen and (max-width: 768px) {
  html,
  body {
    font-size: calc(1vw / 3.7);
    min-width: 375px;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%; }

  .op {
    display: none !important; }

  .os {
    display: block !important; }

  * {
    letter-spacing: 1rem; } }
@media (min-width: 768px) and (max-width: 1280px) {
  html, body {
    font-size: calc(1vw / 16); } }
/* ------------------------------
 Form MV (Common Component)
------------------------------ */
.p-form-mv {
  width: 100%;
  margin-top: 160rem;
  background-image: url(../img/form-mv-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 1920 / 432;
  display: grid;
  place-items: center; }
  .p-form-mv__h2 {
    color: #fff;
    text-align: center;
    margin-bottom: 70rem; }
    .p-form-mv__h2 span {
      font-size: 20rem; }
    .p-form-mv__h2 h2 {
      font-size: 46rem;
      font-weight: 800; }

/* mq: form-mv */
@media screen and (max-width: 768px) {
  .p-form-mv {
    margin-top: 70rem;
    aspect-ratio: 1920 / 640;
    background-image: none;
    background-color: #0058a3; }
    .p-form-mv__h2 {
      margin-bottom: 0; }
      .p-form-mv__h2 span {
        font-size: 12rem; }
      .p-form-mv__h2 h2 {
        font-size: 22rem; } }
/* ------------------------------
 width: all
------------------------------ */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10000; }
  header.scrolled .wrapper {
    background-color: #fff; }
    header.scrolled .wrapper .column-link {
      display: block; }
  header .wrapper {
    height: 160rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 40rem 0 40rem;
    transition-duration: 0.5s; }
    header .wrapper .logo-area {
      display: flex;
      align-items: center;
      gap: 24rem; }
    header .wrapper .logo {
      width: 224rem;
      display: block; }
      header .wrapper .logo img {
        width: 100%;
        display: block; }
    header .wrapper .column-link {
      display: none;
      color: #111;
      font-size: 16rem;
      font-weight: 500;
      text-decoration: none;
      transition: opacity 0.3s;
      white-space: nowrap; }
      header .wrapper .column-link:hover {
        opacity: 0.7; }
    header .wrapper .btnlist {
      width: 310rem;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      justify-content: space-between; }
      header .wrapper .btnlist li {
        width: 310rem; }
        header .wrapper .btnlist li a {
          width: 100%;
          display: block;
          text-decoration: none;
          font-size: 20rem;
          line-height: 100%;
          color: #51a100;
          border: 1rem solid #51a100;
          padding: 19rem 0;
          border-radius: 50rem;
          text-align: center;
          background-color: #fff; }
        header .wrapper .btnlist li.btn01.hidden {
          display: none; }
        header .wrapper .btnlist li.btn02 a {
          background-color: #51a100;
          color: #fff; }

main section {
  position: relative;
  z-index: 10; }
  main section.s01 .wrapper {
    position: relative;
    text-align: right; }
    main section.s01 .wrapper .illustbox {
      width: 72%;
      min-width: 1200rem;
      min-width: 0;
      display: inline-block;
      vertical-align: top;
      position: relative;
      opacity: 0;
      transform: translateY(-52vw); }
      main section.s01 .wrapper .illustbox.effected {
        animation: move 1.5s ease-out;
        animation-fill-mode: both; }
@keyframes move {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: translateY(0); } }
      main section.s01 .wrapper .illustbox .bg {
        width: 100%;
        display: block; }
      main section.s01 .wrapper .illustbox .map {
        width: 100%;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
        opacity: 0;
        transform: translateY(-150rem); }
        main section.s01 .wrapper .illustbox .map.effected {
          animation: move 1.5s ease-out;
          animation-fill-mode: both; }
      main section.s01 .wrapper .illustbox .illust {
        width: 100%;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 3;
        opacity: 0;
        transform: translateY(-5vw); }
        main section.s01 .wrapper .illustbox .illust.effected {
          animation: move 1.2s ease-out;
          animation-fill-mode: both; }
        main section.s01 .wrapper .illustbox .illust img {
          width: 100%;
          display: block;
          position: absolute;
          top: 0;
          left: 0; }
          main section.s01 .wrapper .illustbox .illust img.effected {
            animation: 3s fuwafuwa infinite; }
          main section.s01 .wrapper .illustbox .illust img.illust00 {
            position: static; }
@keyframes fuwafuwa {
  0%,
              100% {
    transform: translateY(0); }
  50% {
    transform: translateY(-15rem); } }
    main section.s01 .wrapper .txtbox {
      width: 920rem;
      max-width: 56%;
      position: absolute;
      top: 50%;
      left: 0;
      margin-top: -275rem;
      text-align: left;
      z-index: 10; }
      main section.s01 .wrapper .txtbox .t01 {
        text-align: center;
        font-size: 36rem;
        font-weight: bold;
        text-shadow: #fff 2rem 0rem, #fff -2rem 0rem, #fff 0rem -2rem, #fff 0rem 2rem, #fff 2rem 2rem, #fff -2rem 2rem, #fff 2rem -2rem, #fff -2rem -2rem, #fff 1rem 2rem, #fff -1rem 2rem, #fff 1rem -2rem, #fff -1rem -2rem, #fff 2rem 1rem, #fff -2rem 1rem, #fff 2rem -1rem, #fff -2rem -1rem; }
      main section.s01 .wrapper .txtbox h1,
      main section.s01 .wrapper .txtbox h2 {
        text-align: center;
        font-size: 110rem;
        font-weight: bold;
        letter-spacing: 0;
        line-height: 125%;
        text-shadow: #fff 2rem 0rem, #fff -2rem 0rem, #fff 0rem -2rem, #fff 0rem 2rem, #fff 2rem 2rem, #fff -2rem 2rem, #fff 2rem -2rem, #fff -2rem -2rem, #fff 1rem 2rem, #fff -1rem 2rem, #fff 1rem -2rem, #fff -1rem -2rem, #fff 2rem 1rem, #fff -2rem 1rem, #fff 2rem -1rem, #fff -2rem -1rem; }
        main section.s01 .wrapper .txtbox h1 .t01,
        main section.s01 .wrapper .txtbox h2 .t01 {
          display: block;
          line-height: 1;
          margin-bottom: 5rem; }
      main section.s01 .wrapper .txtbox .t02 {
        text-align: center;
        font-size: 20rem;
        font-weight: bold;
        line-height: 240%;
        margin-top: 25rem;
        text-shadow: #fff 2rem 0rem, #fff -2rem 0rem, #fff 0rem -2rem, #fff 0rem 2rem, #fff 2rem 2rem, #fff -2rem 2rem, #fff 2rem -2rem, #fff -2rem -2rem, #fff 1rem 2rem, #fff -1rem 2rem, #fff 1rem -2rem, #fff -1rem -2rem, #fff 2rem 1rem, #fff -2rem 1rem, #fff 2rem -1rem, #fff -2rem -1rem; }
      main section.s01 .wrapper .txtbox .btnlist02 {
        width: 450rem;
        margin: 60rem auto 0; }
        main section.s01 .wrapper .txtbox .btnlist02 li {
          margin-top: 20rem; }
          main section.s01 .wrapper .txtbox .btnlist02 li.btn01.hidden {
            display: none; }
          main section.s01 .wrapper .txtbox .btnlist02 li.btn02 a {
            color: #fff;
            background-color: #51a100;
            background-image: url(../img/icon_btn02.png);
            box-shadow: 5rem 5rem 20rem rgba(0, 0, 0, 0.15); }
          main section.s01 .wrapper .txtbox .btnlist02 li a {
            width: 100%;
            display: block;
            text-decoration: none;
            border: 2rem solid #51a100;
            border-radius: 50rem;
            font-size: 20rem;
            line-height: 100%;
            padding: 28rem 40rem;
            color: #51a100;
            background-color: #fff;
            background-image: url(../img/icon_btn01.png);
            background-size: 53rem auto;
            background-position: right 25rem center;
            background-repeat: no-repeat;
            transition-duration: 0.5s; }
            main section.s01 .wrapper .txtbox .btnlist02 li a:hover {
              transform: translateY(-5rem); }
  main section.s02 {
    padding: 70rem 40rem 20rem; }
    main section.s02 .wrapper h2 {
      text-align: center;
      font-size: 46rem;
      font-weight: bold;
      line-height: 160%; }
    main section.s02 .wrapper .t01 {
      text-align: center;
      font-size: 20rem;
      line-height: 200%;
      margin-top: 40rem; }
    main section.s02 .wrapper .photo01 {
      width: 1042rem;
      display: block;
      margin: 60rem auto 0; }
  main section.s03 {
    padding: 400rem 40rem;
    background-image: url(../img/s0301.png);
    background-size: 100% 100%;
    z-index: 5;
    margin-top: -300rem; }
    main section.s03 .wrapper {
      max-width: 1150rem;
      margin: 0 auto; }
      main section.s03 .wrapper .en {
        text-align: center;
        font-size: 20rem;
        color: #fff;
        letter-spacing: 3rem; }
      main section.s03 .wrapper h2,
      main section.s03 .wrapper h3 {
        text-align: center;
        font-size: 46rem;
        font-weight: bold;
        line-height: 160%;
        color: #fff; }
      main section.s03 .wrapper .list01 {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        gap: 60rem 60rem;
        flex-wrap: wrap;
        margin-top: 50rem; }
        main section.s03 .wrapper .list01 li {
          width: calc(50% - 30rem);
          opacity: 0;
          transform: translateY(30rem);
          transition-duration: 1s; }
          main section.s03 .wrapper .list01 li.effected {
            opacity: 1;
            transform: translateY(0); }
          main section.s03 .wrapper .list01 li:nth-child(even) {
            transform: translateY(90rem); }
            main section.s03 .wrapper .list01 li:nth-child(even).effected {
              opacity: 1;
              transform: translateY(60rem); }
          main section.s03 .wrapper .list01 li.li01 .box img {
            width: 353rem;
            margin-top: -90rem;
            margin-bottom: 10rem; }
          main section.s03 .wrapper .list01 li.li02 .box img {
            width: 382rem;
            margin-top: -65rem;
            margin-bottom: 50rem; }
          main section.s03 .wrapper .list01 li.li03 .box img {
            width: 253rem;
            margin-top: -72rem;
            margin-bottom: 70rem; }
          main section.s03 .wrapper .list01 li.li04 .box img {
            width: 350rem;
            margin-top: -90rem;
            padding-bottom: 25rem; }
          main section.s03 .wrapper .list01 li .t01 {
            font-size: 16rem;
            color: #fff; }
          main section.s03 .wrapper .list01 li .num {
            font-size: 60rem;
            color: #fff;
            line-height: 100%;
            letter-spacing: 0; }
          main section.s03 .wrapper .list01 li .box {
            height: 410rem;
            background-color: #fff;
            border-radius: 20rem;
            padding: 20rem 30rem 0;
            margin-top: 25rem;
            box-shadow: 5rem 5rem 20rem rgba(0, 0, 0, 0.15); }
            main section.s03 .wrapper .list01 li .box img {
              display: block;
              margin: 0 auto; }
            main section.s03 .wrapper .list01 li .box .t02,
            main section.s03 .wrapper .list01 li .box h3.t02 {
              text-align: center;
              font-size: 24rem;
              line-height: 155%;
              font-weight: bold;
              margin: 0;
              padding: 0;
              color: #111; }
              main section.s03 .wrapper .list01 li .box .t02 span,
              main section.s03 .wrapper .list01 li .box h3.t02 span {
                font-size: 32rem;
                color: #0058a3;
                padding-left: 5rem;
                line-height: 160%; }
  main section.s04 {
    padding: 250rem 40rem 400rem;
    background-image: url(../img/s0401.png);
    background-size: 30rem auto;
    background-position: center center;
    margin-top: -300rem;
    z-index: 4; }
    main section.s04 .wrapper {
      max-width: 1280rem;
      margin: 0 auto; }
      main section.s04 .wrapper .en {
        text-align: center;
        font-size: 20rem;
        color: #0058a3;
        letter-spacing: 3rem; }
      main section.s04 .wrapper h2,
      main section.s04 .wrapper h4 {
        text-align: center;
        font-size: 46rem;
        font-weight: bold;
        line-height: 160%; }
      main section.s04 .wrapper .t01 {
        text-align: center;
        font-size: 18rem;
        line-height: 180%;
        margin-top: 40rem; }
      main section.s04 .wrapper .tokuchobox {
        border-radius: 20rem;
        overflow: hidden;
        box-shadow: 5rem 5rem 20rem rgba(0, 0, 0, 0.15);
        margin-top: 60rem; }
        main section.s04 .wrapper .tokuchobox + .tokuchobox {
          margin-top: 50rem; }
        main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list02 {
          width: 1080rem;
          margin: 0 auto; }
          main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list02 li {
            background-image: url(../img/icon_check01.png);
            background-size: 39.5rem auto;
            background-repeat: no-repeat;
            background-position: top 6rem left 0;
            font-size: 28rem;
            line-height: 180%;
            font-weight: bold;
            padding-left: 60rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list02 li + li {
              margin-top: 10rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list02 li span {
              font-size: 18rem;
              display: inline-block;
              line-height: 1.65; }
        main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          justify-content: space-between;
          margin-top: 50rem; }
          main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li {
            width: calc(32%);
            background-color: #f5f5f5;
            border-radius: 15rem;
            padding: 40rem 20rem 40rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li.li01 img {
              height: 90rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li.li02 img {
              height: 86rem;
              margin-bottom: 24rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li.li03 img {
              height: 90rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li .t02 {
              text-align: center;
              font-size: 20rem;
              font-weight: bold; }
            main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li img {
              display: block;
              margin: 25rem auto 0; }
            main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li .t03 {
              text-align: center;
              font-size: 16rem;
              line-height: 190%;
              margin-top: 20rem; }
        main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .t02 {
          text-align: center;
          font-size: 28rem;
          font-weight: bold; }
        main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .chart {
          width: 100%;
          display: block;
          margin-top: 10rem; }
        main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 {
          margin-top: 45rem;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          justify-content: space-between; }
          main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 li {
            width: calc(50% - 10rem);
            background-color: #f5f5f5;
            border-radius: 15rem;
            padding: 40rem 20rem 40rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 li .t03 {
              text-align: center;
              font-weight: bold;
              font-size: 24rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 li img {
              width: 352rem;
              display: block;
              margin: 20rem auto 0; }
            main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 li .t04 {
              text-align: center;
              font-size: 17rem;
              line-height: 190%;
              font-weight: bold;
              margin-top: 20rem; }
        main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .photo02 {
          width: 634rem;
          display: block;
          margin: 0 auto; }
        main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .t05 {
          text-align: center;
          font-size: 28rem;
          font-weight: bold;
          margin-top: 30rem; }
        main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          justify-content: space-between;
          margin-top: 30rem; }
          main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li {
            width: calc(32%);
            background-color: #f5f5f5;
            border-radius: 15rem;
            padding: 40rem 20rem 40rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li.li01 img {
              height: 100rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li.li02 img {
              height: 81rem;
              margin-bottom: 39rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li.li03 img {
              height: 94rem;
              margin-bottom: 26rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li .t02 {
              text-align: center;
              font-size: 20rem;
              font-weight: bold; }
            main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li img {
              display: block;
              margin: 25rem auto 0; }
            main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li .t03 {
              text-align: center;
              font-size: 16rem;
              line-height: 190%;
              margin-top: 20rem; }
        main section.s04 .wrapper .tokuchobox .tokucho_ttl,
        main section.s04 .wrapper .tokuchobox h3.tokucho_ttl {
          background-color: #0058a3;
          font-size: 40rem;
          line-height: 64rem;
          padding: 35rem 0;
          font-weight: bold;
          color: #fff;
          text-align: center;
          margin: 0; }
          main section.s04 .wrapper .tokuchobox .tokucho_ttl span,
          main section.s04 .wrapper .tokuchobox h3.tokucho_ttl span {
            font-size: 64rem;
            line-height: 100%;
            display: inline-block;
            vertical-align: top;
            letter-spacing: 0;
            margin-right: 15rem; }
        main section.s04 .wrapper .tokuchobox .inner {
          padding: 50rem 65rem 50rem;
          background-color: #fff; }
  main section.s05 {
    padding: 310rem 40rem 330rem;
    background-image: url(../img/s0501.png);
    background-size: 100% 100%;
    margin-top: -250rem; }
    main section.s05 .wrapper {
      max-width: 1280rem;
      margin: 0 auto; }
      main section.s05 .wrapper .en {
        text-align: center;
        font-size: 20rem;
        color: #fff;
        letter-spacing: 3rem; }
      main section.s05 .wrapper h5 {
        text-align: center;
        font-size: 46rem;
        font-weight: bold;
        line-height: 160%;
        color: #fff; }
      main section.s05 .wrapper .voicebox {
        background-color: #fff;
        border-radius: 15rem;
        overflow: hidden;
        margin: 50rem auto 0;
        box-shadow: 5rem 5rem 20rem rgba(0, 0, 0, 0.15);
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between; }
        main section.s05 .wrapper .voicebox .photo {
          width: 460rem;
          display: block;
          order: 2; }
          main section.s05 .wrapper .voicebox .photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 50% 50%; }
        main section.s05 .wrapper .voicebox .txtbox {
          width: calc(100% - 460rem);
          padding: 40rem 60rem; }
          main section.s05 .wrapper .voicebox .txtbox .t01 {
            font-size: 20rem;
            color: #111111;
            font-weight: bold;
            padding-bottom: 15rem;
            border-bottom: 1rem solid #ddd; }
          main section.s05 .wrapper .voicebox .txtbox dl {
            margin-top: 30rem; }
            main section.s05 .wrapper .voicebox .txtbox dl dt {
              font-size: 16rem;
              line-height: 180%;
              font-weight: bold; }
            main section.s05 .wrapper .voicebox .txtbox dl dd {
              font-size: 16rem;
              font-weight: 400;
              line-height: 180%; }
  main section.s06 {
    background-color: #f7f7f7;
    padding: 0 40rem 120rem; }
    main section.s06 .wrapper {
      max-width: 1280rem;
      margin: 0 auto; }
      main section.s06 .wrapper .en {
        text-align: center;
        font-size: 20rem;
        color: #0058a3;
        letter-spacing: 3rem; }
      main section.s06 .wrapper h2,
      main section.s06 .wrapper h6 {
        text-align: center;
        font-size: 46rem;
        font-weight: bold;
        line-height: 160%; }
      main section.s06 .wrapper .dl01 {
        background-color: #0058a3;
        border-radius: 20rem;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 25rem 40rem;
        margin-top: 40rem; }
        main section.s06 .wrapper .dl01 dt {
          width: 210rem;
          font-size: 30rem;
          font-weight: bold;
          color: #fff; }
        main section.s06 .wrapper .dl01 dd {
          width: calc(100% - 210rem); }
          main section.s06 .wrapper .dl01 dd ul li {
            display: inline-block;
            vertical-align: top;
            font-size: 24rem;
            line-height: 100%;
            margin: 12rem 30rem 12rem 0;
            color: #fff; }
      main section.s06 .wrapper .list06 {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-wrap: wrap;
        gap: 35rem 30rem;
        margin-top: 40rem; }
        main section.s06 .wrapper .list06 .li01 {
          width: calc((100% - 60rem) / 3);
          background-color: #fff;
          border-radius: 10rem;
          box-shadow: 3rem 3rem 20rem rgba(0, 0, 0, 0.1);
          position: relative;
          padding: 30rem;
          opacity: 0;
          transform: translateY(30rem);
          transition-duration: 1s; }
          main section.s06 .wrapper .list06 .li01.effected {
            opacity: 1;
            transform: translateY(0); }
          main section.s06 .wrapper .list06 .li01 .num {
            width: 56rem;
            height: 67rem;
            background-image: url(../img/icon_label.png);
            background-size: contain;
            background-position: center center;
            background-repeat: no-repeat;
            text-align: center;
            font-size: 24rem;
            color: #fff;
            padding-top: 14rem;
            letter-spacing: 0;
            padding-right: 4rem;
            position: absolute;
            top: -12rem;
            right: 15rem; }
          main section.s06 .wrapper .list06 .li01 dl {
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            justify-content: space-between;
            align-items: center; }
            main section.s06 .wrapper .list06 .li01 dl dt {
              width: 122rem; }
              main section.s06 .wrapper .list06 .li01 dl dt img {
                width: 100%;
                display: block; }
            main section.s06 .wrapper .list06 .li01 dl dd {
              width: calc(100% - 122rem);
              padding-left: 25rem;
              font-size: 24rem;
              font-weight: bold; }
              main section.s06 .wrapper .list06 .li01 dl dd h3 {
                font-size: 24rem;
                font-weight: bold;
                margin: 0;
                padding: 0; }
          main section.s06 .wrapper .list06 .li01 ul {
            margin-top: 20rem;
            border-top: 1rem solid #ddd;
            padding-top: 15rem; }
            main section.s06 .wrapper .list06 .li01 ul li {
              font-size: 16rem;
              line-height: 140%;
              margin-top: 7rem;
              padding-left: 16rem;
              position: relative; }
              main section.s06 .wrapper .list06 .li01 ul li::before {
                content: "・";
                color: #0058a3;
                display: block;
                width: 20rem;
                position: absolute;
                top: 0;
                left: 0; }
  main section.s07 {
    background-color: #ecf6fe;
    padding: 120rem 40rem; }
    main section.s07 .wrapper {
      max-width: 1280rem;
      margin: 0 auto; }
      main section.s07 .wrapper .en {
        text-align: center;
        font-size: 20rem;
        color: #0058a3;
        letter-spacing: 3rem; }
      main section.s07 .wrapper h2,
      main section.s07 .wrapper h6 {
        text-align: center;
        font-size: 46rem;
        font-weight: bold;
        line-height: 160%; }
      main section.s07 .wrapper .t01 {
        text-align: center;
        font-size: 18rem;
        line-height: 180%;
        margin-top: 40rem; }
      main section.s07 .wrapper .photo03 {
        width: 1031rem;
        display: block;
        margin: 60rem auto 0; }
  main section.s08 {
    background-image: url(../img/s0401.png);
    background-size: 30rem auto;
    background-position: center center;
    padding: 120rem 40rem; }
    main section.s08 .wrapper {
      max-width: 1280rem;
      margin: 0 auto; }
      main section.s08 .wrapper .box01 {
        background-color: #0058a3;
        border-radius: 20rem;
        padding: 70rem 80rem; }
        main section.s08 .wrapper .box01 .en {
          text-align: center;
          font-size: 20rem;
          color: #fff;
          letter-spacing: 3rem; }
        main section.s08 .wrapper .box01 h2,
        main section.s08 .wrapper .box01 h6 {
          text-align: center;
          font-size: 46rem;
          font-weight: bold;
          line-height: 160%;
          color: #fff; }
        main section.s08 .wrapper .box01 dl {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-top: 40rem; }
          main section.s08 .wrapper .box01 dl dt {
            width: 428rem; }
            main section.s08 .wrapper .box01 dl dt img {
              width: 100%;
              display: block; }
          main section.s08 .wrapper .box01 dl dd {
            width: calc(100% - 428rem);
            padding-left: 80rem;
            font-size: 18rem;
            line-height: 200%;
            color: #fff;
            font-weight: 400; }
      main section.s08 .wrapper .box02 {
        margin-top: 120rem; }
        main section.s08 .wrapper .box02 .en {
          text-align: center;
          font-size: 20rem;
          color: #0058a3;
          letter-spacing: 3rem; }
        main section.s08 .wrapper .box02 h2,
        main section.s08 .wrapper .box02 h6 {
          text-align: center;
          font-size: 46rem;
          font-weight: bold;
          line-height: 160%; }
        main section.s08 .wrapper .box02 .t01 {
          text-align: center;
          font-size: 18rem;
          line-height: 180%;
          margin-top: 40rem; }
        main section.s08 .wrapper .box02 .t03 {
          margin-top: 70rem;
          width: 500rem;
          background-color: #0058a3;
          text-align: center;
          font-size: 16rem;
          line-height: 100%;
          color: #fff;
          font-weight: bold;
          border-radius: 50rem;
          padding: 11rem 0; }
        main section.s08 .wrapper .box02 ul {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          justify-content: space-between;
          margin-top: 40rem; }
          main section.s08 .wrapper .box02 ul li {
            width: calc((100% - 80rem) / 5);
            position: relative;
            background-color: #fff;
            border-radius: 1000rem;
            box-shadow: 0rem 10rem 20rem rgba(0, 0, 0, 0.1); }
            main section.s08 .wrapper .box02 ul li:last-child::before {
              display: none; }
            main section.s08 .wrapper .box02 ul li::before {
              content: "";
              width: 40rem;
              height: 25rem;
              display: block;
              position: absolute;
              top: 50%;
              right: -30rem;
              z-index: -1;
              margin-top: -12.5rem;
              background-color: #eee; }
            main section.s08 .wrapper .box02 ul li .num {
              font-size: 28rem;
              line-height: 100%;
              background-color: #0058a3;
              width: 60rem;
              height: 60rem;
              padding-top: 16rem;
              padding-left: 2rem;
              border-radius: 50rem;
              position: absolute;
              top: 0;
              left: 0;
              text-align: center;
              color: #fff; }
            main section.s08 .wrapper .box02 ul li .base {
              width: 100%;
              display: block; }
            main section.s08 .wrapper .box02 ul li .txtbox {
              position: absolute;
              top: 0;
              right: 0;
              bottom: 0;
              left: 0;
              width: 100%;
              height: 100%;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              justify-content: space-between;
              align-items: center; }
              main section.s08 .wrapper .box02 ul li .txtbox .t02 {
                width: 100%;
                text-align: center;
                font-size: 20rem;
                line-height: 150%;
                font-weight: bold; }
  main section.s09 {
    padding: 120rem 40rem 100rem; }
    main section.s09 .wrapper {
      max-width: 1280rem;
      margin: 0 auto; }
      main section.s09 .wrapper .en {
        text-align: center;
        font-size: 20rem;
        color: #0058a3;
        letter-spacing: 3rem; }
      main section.s09 .wrapper h2,
      main section.s09 .wrapper h6 {
        text-align: center;
        font-size: 46rem;
        font-weight: bold;
        line-height: 160%;
        margin-bottom: 60rem; }
      main section.s09 .wrapper .faq_box .faq_dl {
        border-radius: 10rem;
        overflow: hidden;
        margin-top: 20rem; }
        main section.s09 .wrapper .faq_box .faq_dl:first-child dd {
          display: block; }
        main section.s09 .wrapper .faq_box .faq_dl.active dt .icon img.icon_open {
          display: none; }
        main section.s09 .wrapper .faq_box .faq_dl.active dt .icon img.icon_close {
          display: block; }
        main section.s09 .wrapper .faq_box .faq_dl.active dd {
          max-height: 1000rem;
          transition: 700ms max-height ease; }
        main section.s09 .wrapper .faq_box .faq_dl dt {
          cursor: pointer;
          background-color: #ecf6fe;
          position: relative;
          padding: 36rem 120rem 36rem 125rem; }
          main section.s09 .wrapper .faq_box .faq_dl dt .icon_q {
            width: 60rem;
            height: 60rem;
            background-color: #0058a3;
            border-radius: 50rem;
            padding-top: 15rem;
            font-size: 30rem;
            line-height: 100%;
            color: #fff;
            letter-spacing: 0;
            text-align: center;
            position: absolute;
            top: 25rem;
            left: 40rem; }
          main section.s09 .wrapper .faq_box .faq_dl dt .icon {
            width: 32rem;
            height: 32rem;
            display: block;
            position: absolute;
            top: 50%;
            margin-top: -16rem;
            right: 60rem; }
            main section.s09 .wrapper .faq_box .faq_dl dt .icon img {
              width: 100%;
              position: absolute;
              top: 0;
              right: 0; }
              main section.s09 .wrapper .faq_box .faq_dl dt .icon img.icon_open {
                display: block; }
              main section.s09 .wrapper .faq_box .faq_dl dt .icon img.icon_close {
                display: none; }
          main section.s09 .wrapper .faq_box .faq_dl dt .txt,
          main section.s09 .wrapper .faq_box .faq_dl dt h3.txt {
            font-size: 20rem;
            line-height: 180%;
            font-weight: bold;
            margin: 0;
            padding: 0; }
        main section.s09 .wrapper .faq_box .faq_dl dd {
          cursor: pointer;
          background-color: #ecf6fe;
          position: relative;
          max-height: 0;
          transition: 350ms max-height ease; }
          main section.s09 .wrapper .faq_box .faq_dl dd .txtbox {
            padding: 10rem 120rem 36rem 125rem;
            position: relative; }
            main section.s09 .wrapper .faq_box .faq_dl dd .txtbox .icon_a {
              width: 60rem;
              height: 60rem;
              background-color: #fff;
              border-radius: 50rem;
              padding-top: 15rem;
              font-size: 30rem;
              line-height: 100%;
              color: #0058a3;
              letter-spacing: 0;
              text-align: center;
              position: absolute;
              top: -1rem;
              left: 40rem; }
            main section.s09 .wrapper .faq_box .faq_dl dd .txtbox .txt {
              font-size: 20rem;
              line-height: 36rem; }
  main section.s10 {
    padding: 350rem 40rem 140rem;
    background-image: url(../img/s1001.png);
    background-size: 100% 100%;
    overflow: hidden; }
    main section.s10 .wrapper {
      max-width: 1280rem;
      margin: 0 auto;
      position: relative; }
      main section.s10 .wrapper .photo04 {
        width: 398rem;
        display: block;
        position: absolute;
        top: -250rem;
        right: -150rem; }
      main section.s10 .wrapper h6 {
        text-align: center;
        font-weight: bold;
        font-size: 56rem;
        color: #fff; }
      main section.s10 .wrapper .t01 {
        text-align: center;
        color: #fff;
        font-size: 18rem;
        margin-top: 50rem; }
      main section.s10 .wrapper dl {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        margin-top: 90rem;
        gap: 20px; }
        main section.s10 .wrapper dl dt {
          width: 350rem; }
          main section.s10 .wrapper dl dt .t02 {
            font-size: 16rem;
            color: #fff; }
          main section.s10 .wrapper dl dt .tel {
            margin-top: 6rem; }
            main section.s10 .wrapper dl dt .tel a {
              display: inline-block;
              vertical-align: top;
              font-size: 40rem;
              color: #fff;
              line-height: 100%;
              text-decoration: none;
              font-weight: bold; }
              main section.s10 .wrapper dl dt .tel a img {
                width: 30rem;
                display: inline-block;
                vertical-align: top;
                margin: 8rem 10rem 0 0; }
        main section.s10 .wrapper dl dd {
          width: fit-content; }
          main section.s10 .wrapper dl dd .btnlist02 {
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            justify-content: space-between; }
            main section.s10 .wrapper dl dd .btnlist02 li {
              width: 355px; }
              main section.s10 .wrapper dl dd .btnlist02 li.btn01.hidden {
                display: none; }
              main section.s10 .wrapper dl dd .btnlist02 li.btn02 a {
                color: #fff;
                background-color: #51a100;
                background-image: url(../img/icon_btn02.png);
                box-shadow: 5rem 5rem 20rem rgba(0, 0, 0, 0.15); }
              main section.s10 .wrapper dl dd .btnlist02 li a {
                width: 100%;
                display: block;
                text-decoration: none;
                border: 2rem solid #51a100;
                border-radius: 50rem;
                font-size: 20rem;
                line-height: 100%;
                padding: 28rem 40rem;
                color: #51a100;
                background-color: #fff;
                background-image: url(../img/icon_btn01.png);
                background-size: 53rem auto;
                background-position: right 25rem center;
                background-repeat: no-repeat;
                transition-duration: 0.5s; }
                main section.s10 .wrapper dl dd .btnlist02 li a:hover {
                  transform: translateY(-5rem); }

footer {
  background-image: url(../img/bg_footer.png);
  background-size: cover;
  background-position: top 0 center;
  padding: 120rem 0 0; }
  footer .wrapper {
    width: 1280rem;
    max-width: calc(100% - 80rem);
    margin: 0 auto;
    padding-bottom: 120rem; }
    footer .wrapper .t01 {
      text-align: center;
      font-size: 56rem;
      color: #fff;
      letter-spacing: 7rem; }
    footer .wrapper .t02 {
      text-align: center;
      font-size: 18rem;
      margin-top: 40rem;
      color: #fff; }
    footer .wrapper .logo {
      width: 440rem;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      justify-content: space-between;
      margin: 60rem auto 0;
      text-decoration: none;
      align-items: center; }
      footer .wrapper .logo img {
        width: 151rem;
        display: block; }
      footer .wrapper .logo p {
        width: 289rem;
        color: #fff;
        padding-left: 35rem;
        font-size: 24rem;
        line-height: 170%; }
    footer .wrapper .box01 {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      justify-content: space-between;
      margin-top: 50rem;
      align-items: flex-start; }
      footer .wrapper .box01 .box0101 {
        width: 50%;
        padding-left: 30rem;
        border-left: 1rem solid #aaa;
        padding-right: 20rem; }
        footer .wrapper .box01 .box0101 .t03 {
          font-size: 22rem;
          color: #fff;
          font-weight: bold; }
        footer .wrapper .box01 .box0101 dl {
          margin-top: 35rem;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          justify-content: space-between; }
          footer .wrapper .box01 .box0101 dl dt {
            width: 180rem;
            color: #fff;
            font-size: 18rem;
            font-weight: 400; }
          footer .wrapper .box01 .box0101 dl dd {
            width: calc(100% - 180rem);
            color: #fff;
            font-size: 18rem;
            font-weight: 400; }
      footer .wrapper .box01 .box0102 {
        width: 50%;
        padding-left: 30rem;
        border-left: 1rem solid #aaa; }
        footer .wrapper .box01 .box0102 .t03 {
          font-size: 22rem;
          color: #fff;
          font-weight: bold; }
        footer .wrapper .box01 .box0102 ul {
          margin-top: 35rem; }
          footer .wrapper .box01 .box0102 ul li {
            font-size: 16rem;
            color: #fff;
            font-weight: 400;
            line-height: 170%;
            margin-top: 10rem; }
  footer .infobox {
    padding: 30rem 0;
    background-color: #fff; }
    footer .infobox .info_dl {
      max-width: 1280rem;
      margin: 0 auto;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background-color: #fff; }
      footer .infobox .info_dl dt {
        width: 50%; }
        footer .infobox .info_dl dt ul {
          font-size: 0;
          letter-spacing: 0; }
          footer .infobox .info_dl dt ul li {
            display: inline-block;
            vertical-align: top;
            margin-right: 30rem; }
            footer .infobox .info_dl dt ul li a {
              display: block;
              text-decoration: none;
              color: #111111;
              font-size: 14rem; }
      footer .infobox .info_dl dd {
        width: 50%;
        text-align: right;
        font-size: 12rem;
        color: #a1a1a1; }

/* ------------------------------
 width < 2000px
------------------------------ */
@media screen and (max-width: 2000px) {
  main section.s01 .wrapper .illustbox {
    min-width: 0; }
  main section.s01 .wrapper .txtbox {
    width: 46%;
    margin-top: -275rem; }
    main section.s01 .wrapper .txtbox .t01 {
      font-size: 36rem; }
    main section.s01 .wrapper .txtbox h1,
    main section.s01 .wrapper .txtbox h2 {
      font-size: 110rem; }
      main section.s01 .wrapper .txtbox h1 .t01,
      main section.s01 .wrapper .txtbox h2 .t01 {
        display: block;
        line-height: 1;
        margin-bottom: 5rem; }
    main section.s01 .wrapper .txtbox .t02 {
      font-size: 20rem; } }
/* ------------------------------
 width < 1600px
------------------------------ */
@media screen and (max-width: 1600px) {
  main section.s01 .wrapper .illustbox {
    min-width: 0; }
  main section.s01 .wrapper .txtbox {
    width: 46%;
    margin-top: -180rem; }
    main section.s01 .wrapper .txtbox .t01 {
      font-size: 30rem; }
    main section.s01 .wrapper .txtbox h1,
    main section.s01 .wrapper .txtbox h2 {
      font-size: 90rem; }
      main section.s01 .wrapper .txtbox h1 .t01,
      main section.s01 .wrapper .txtbox h2 .t01 {
        display: block;
        line-height: 1;
        margin-bottom: 5rem; }
    main section.s01 .wrapper .txtbox .t02 {
      font-size: 15rem; } }
/* ------------------------------
 width < $width-1
------------------------------ */
@media screen and (max-width: 768px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 375px;
    z-index: 10000; }
    header .wrapper {
      background-color: #fff;
      height: 70rem;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 10rem;
      transition-duration: 0.5s; }
      header .wrapper .logo-area {
        display: flex;
        align-items: center;
        gap: 12rem; }
      header .wrapper .logo {
        width: 100rem;
        display: block; }
        header .wrapper .logo img {
          width: 100%;
          display: block; }
      header .wrapper .column-link {
        font-size: 12rem; }
      header .wrapper .btnlist {
        width: 234rem;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: flex-end; }
        header .wrapper .btnlist li {
          width: 113rem; }
          header .wrapper .btnlist li a {
            width: 100%;
            display: block;
            text-decoration: none;
            font-size: 14rem;
            line-height: 100%;
            color: #51a100;
            border: 1rem solid #51a100;
            padding: 8rem 0;
            border-radius: 50rem;
            text-align: center;
            background-color: #fff; }
          header .wrapper .btnlist li.btn02 a {
            background-color: #51a100;
            color: #fff; }

  main {
    margin-top: 50rem; }
    main section {
      position: relative;
      z-index: 10; }
      main section.s01 .wrapper {
        position: relative;
        text-align: right; }
        main section.s01 .wrapper .illustbox {
          width: 70%;
          min-width: 70%;
          width: 120%;
          min-width: 120%;
          margin-left: -20%;
          display: inline-block;
          vertical-align: top;
          position: relative;
          opacity: 0;
          transform: translateY(-52vw);
          position: absolute;
          top: 0;
          right: 0;
          position: static; }
          main section.s01 .wrapper .illustbox.effected {
            animation: move 1.5s ease-out;
            animation-fill-mode: both; }
  @keyframes move {
    0% {
      opacity: 0; }
    100% {
      opacity: 1;
      transform: translateY(0); } }
          main section.s01 .wrapper .illustbox .bg {
            width: 100%;
            display: block; }
          main section.s01 .wrapper .illustbox .map {
            width: 100%;
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            z-index: 2;
            opacity: 0;
            transform: translateY(-150rem); }
            main section.s01 .wrapper .illustbox .map.effected {
              animation: move 1.5s ease-out;
              animation-fill-mode: both; }
          main section.s01 .wrapper .illustbox .illust {
            width: 100%;
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            z-index: 3;
            opacity: 0;
            transform: translateY(-5vw); }
            main section.s01 .wrapper .illustbox .illust.effected {
              animation: move 1.2s ease-out;
              animation-fill-mode: both; }
            main section.s01 .wrapper .illustbox .illust img {
              width: 100%;
              display: block;
              position: absolute;
              top: 0;
              left: 0; }
              main section.s01 .wrapper .illustbox .illust img.effected {
                animation: 3s fuwafuwa infinite; }
              main section.s01 .wrapper .illustbox .illust img.illust00 {
                position: static; }
  @keyframes fuwafuwa {
    0%,
                100% {
      transform: translateY(0); }
    50% {
      transform: translateY(-8rem); } }
        main section.s01 .wrapper .txtbox {
          width: 100%;
          min-width: 100%;
          max-width: 100%;
          position: static;
          margin-top: 35rem;
          text-align: left;
          z-index: 10; }
          main section.s01 .wrapper .txtbox .t01 {
            width: 100%;
            text-align: center;
            font-size: 12rem;
            font-weight: bold;
            text-shadow: #fff 2rem 0rem, #fff -2rem 0rem, #fff 0rem -2rem, #fff 0rem 2rem, #fff 2rem 2rem, #fff -2rem 2rem, #fff 2rem -2rem, #fff -2rem -2rem, #fff 1rem 2rem, #fff -1rem 2rem, #fff 1rem -2rem, #fff -1rem -2rem, #fff 2rem 1rem, #fff -2rem 1rem, #fff 2rem -1rem, #fff -2rem -1rem; }
          main section.s01 .wrapper .txtbox h1,
          main section.s01 .wrapper .txtbox h2 {
            width: 100%;
            text-align: center;
            font-size: 34rem;
            font-weight: bold;
            letter-spacing: 0;
            line-height: 125%;
            margin-top: 5rem;
            text-shadow: #fff 2rem 0rem, #fff -2rem 0rem, #fff 0rem -2rem, #fff 0rem 2rem, #fff 2rem 2rem, #fff -2rem 2rem, #fff 2rem -2rem, #fff -2rem -2rem, #fff 1rem 2rem, #fff -1rem 2rem, #fff 1rem -2rem, #fff -1rem -2rem, #fff 2rem 1rem, #fff -2rem 1rem, #fff 2rem -1rem, #fff -2rem -1rem; }
            main section.s01 .wrapper .txtbox h1 .t01,
            main section.s01 .wrapper .txtbox h2 .t01 {
              display: block;
              line-height: 1;
              margin-bottom: 5rem; }
          main section.s01 .wrapper .txtbox .t02 {
            text-align: center;
            font-size: 14rem;
            font-weight: 500;
            line-height: 200%;
            margin-top: 20rem;
            padding: 0 20rem;
            text-shadow: #fff 2rem 0rem, #fff -2rem 0rem, #fff 0rem -2rem, #fff 0rem 2rem, #fff 2rem 2rem, #fff -2rem 2rem, #fff 2rem -2rem, #fff -2rem -2rem, #fff 1rem 2rem, #fff -1rem 2rem, #fff 1rem -2rem, #fff -1rem -2rem, #fff 2rem 1rem, #fff -2rem 1rem, #fff 2rem -1rem, #fff -2rem -1rem; }
          main section.s01 .wrapper .txtbox .btnlist02 {
            width: 300rem;
            margin: 30rem auto 0; }
            main section.s01 .wrapper .txtbox .btnlist02 li {
              margin-top: 10rem; }
              main section.s01 .wrapper .txtbox .btnlist02 li.btn02 a {
                color: #fff;
                background-color: #51a100;
                background-image: url(../img/icon_btn02.png);
                box-shadow: 3rem 3rem 10rem rgba(0, 0, 0, 0.15); }
              main section.s01 .wrapper .txtbox .btnlist02 li a {
                width: 100%;
                display: block;
                text-decoration: none;
                border: 1rem solid #51a100;
                border-radius: 50rem;
                font-size: 16rem;
                line-height: 100%;
                padding: 18rem 30rem;
                color: #51a100;
                background-color: #fff;
                background-image: url(../img/icon_btn01.png);
                background-size: 26.5rem auto;
                background-position: right 25rem center;
                background-repeat: no-repeat;
                transition-duration: 0.5s; }
                main section.s01 .wrapper .txtbox .btnlist02 li a:hover {
                  transform: translateY(-5rem); }
      main section.s02 {
        padding: 80rem 20rem; }
        main section.s02 .wrapper h2 {
          text-align: center;
          font-size: 22rem;
          font-weight: bold;
          line-height: 160%; }
        main section.s02 .wrapper .t01 {
          text-align: center;
          font-size: 14rem;
          line-height: 200%;
          margin-top: 25rem; }
        main section.s02 .wrapper .photo01 {
          width: 100%;
          display: block;
          margin: 30rem auto 0; }
      main section.s03 {
        padding: 200rem 20rem 100rem;
        background-image: url(../img/s0301_sp.png);
        background-size: cover;
        background-position-x: left;
        z-index: 5;
        margin-top: -240rem; }
        main section.s03 .wrapper {
          max-width: 1150rem;
          margin: 0 auto; }
          main section.s03 .wrapper .en {
            font-size: 13rem;
            letter-spacing: 2rem; }
          main section.s03 .wrapper h2,
          main section.s03 .wrapper h3 {
            font-size: 22rem; }
          main section.s03 .wrapper .list01 {
            display: block;
            margin-top: 40rem; }
            main section.s03 .wrapper .list01 li {
              width: 100%;
              opacity: 0;
              transform: translateY(20rem) !important;
              transition-duration: 1s; }
              main section.s03 .wrapper .list01 li + li {
                margin-top: 30rem; }
              main section.s03 .wrapper .list01 li.effected {
                opacity: 1;
                transform: translateY(0) !important; }
              main section.s03 .wrapper .list01 li.li01 .box img {
                width: 282.4rem;
                margin-top: -72rem; }
              main section.s03 .wrapper .list01 li.li02 .box img {
                width: 305.6rem;
                margin-top: -52rem; }
              main section.s03 .wrapper .list01 li.li03 .box img {
                width: 224rem;
                margin-top: -57rem; }
              main section.s03 .wrapper .list01 li.li04 .box img {
                width: 280rem;
                margin-top: -72rem; }
              main section.s03 .wrapper .list01 li .t01 {
                font-size: 12rem;
                color: #fff; }
              main section.s03 .wrapper .list01 li .num {
                font-size: 40rem;
                color: #fff;
                line-height: 100%;
                letter-spacing: 0;
                padding-left: 3rem; }
              main section.s03 .wrapper .list01 li .box {
                height: auto;
                background-color: #fff;
                border-radius: 10rem;
                padding: 20rem 20rem 30rem;
                margin-top: 10rem;
                box-shadow: 5rem 5rem 20rem rgba(0, 0, 0, 0.15); }
                main section.s03 .wrapper .list01 li .box img {
                  display: block;
                  margin-bottom: 20rem !important; }
                main section.s03 .wrapper .list01 li .box .t02,
                main section.s03 .wrapper .list01 li .box h3.t02 {
                  text-align: center;
                  font-size: 16rem;
                  line-height: 155%;
                  font-weight: bold;
                  margin: 0;
                  padding: 0;
                  color: #111; }
                  main section.s03 .wrapper .list01 li .box .t02 span,
                  main section.s03 .wrapper .list01 li .box h3.t02 span {
                    font-size: 18rem;
                    color: #0058a3;
                    padding-left: 5rem;
                    line-height: 160%; }
      main section.s04 {
        padding: 180rem 20rem 150rem;
        background-image: url(../img/s0401.png);
        background-size: 15rem auto;
        background-position: center center;
        margin-top: -210rem;
        z-index: 4; }
        main section.s04 .wrapper {
          max-width: 1280rem;
          margin: 0 auto; }
          main section.s04 .wrapper .en {
            font-size: 13rem;
            letter-spacing: 2rem; }
          main section.s04 .wrapper h2,
          main section.s04 .wrapper h4 {
            font-size: 22rem; }
          main section.s04 .wrapper .t01 {
            text-align: center;
            font-size: 14rem;
            line-height: 180%;
            margin-top: 25rem; }
          main section.s04 .wrapper .tokuchobox {
            border-radius: 10rem;
            overflow: hidden;
            box-shadow: 5rem 5rem 20rem rgba(0, 0, 0, 0.15);
            margin-top: 35rem; }
            main section.s04 .wrapper .tokuchobox + .tokuchobox {
              margin-top: 25rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list02 {
              width: 100%;
              margin: 0 auto; }
              main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list02 li {
                background-image: url(../img/icon_check01.png);
                background-size: 20rem auto;
                background-repeat: no-repeat;
                background-position: top 4rem left 0;
                font-size: 16rem;
                line-height: 170%;
                font-weight: 500;
                padding-left: 27rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list02 li + li {
                  margin-top: 5rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list02 li span {
                  font-size: 12rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 {
              display: block;
              margin-top: 25rem; }
              main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li {
                width: 100%;
                background-color: #f5f5f5;
                border-radius: 10rem;
                padding: 30rem 20rem 25rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li + li {
                  margin-top: 20rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li.li01 img {
                  height: 90rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li.li02 img {
                  height: 86rem;
                  margin-bottom: 24rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li.li03 img {
                  height: 90rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li .t02 {
                  text-align: center;
                  font-size: 18rem;
                  font-weight: bold; }
                main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li img {
                  display: block;
                  margin: 25rem auto 20rem !important; }
                main section.s04 .wrapper .tokuchobox.tokuchobox01 .inner .list03 li .t03 {
                  text-align: center;
                  font-size: 14rem;
                  line-height: 190%;
                  margin-top: 20rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .t02 {
              text-align: center;
              font-size: 18rem;
              font-weight: bold; }
            main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .chart {
              width: 100%;
              display: block;
              margin-top: 10rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 {
              margin-top: 30rem;
              display: block; }
              main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 li {
                width: 100%;
                background-color: #f5f5f5;
                border-radius: 10rem;
                padding: 25rem 20rem 25rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 li + li {
                  margin-top: 20rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 li .t03 {
                  text-align: center;
                  font-weight: bold;
                  font-size: 18rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 li img {
                  width: 352rem;
                  max-width: 100%;
                  display: block;
                  margin: 15rem auto 0; }
                main section.s04 .wrapper .tokuchobox.tokuchobox02 .inner .list03 li .t04 {
                  text-align: center;
                  font-size: 14rem;
                  line-height: 190%;
                  font-weight: 500;
                  margin-top: 15rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .photo02 {
              max-width: 90%;
              display: block;
              margin: 0 auto; }
            main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .t05 {
              text-align: center;
              font-size: 18rem;
              font-weight: bold;
              margin-top: 30rem; }
            main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 {
              display: block;
              margin-top: 25rem; }
              main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li {
                width: 100%;
                background-color: #f5f5f5;
                border-radius: 10rem;
                padding: 30rem 20rem 25rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li + li {
                  margin-top: 20rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li.li01 img {
                  height: 100rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li.li02 img {
                  height: 81rem;
                  margin-bottom: 39rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li.li03 img {
                  height: 94rem;
                  margin-bottom: 26rem; }
                main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li .t02 {
                  text-align: center;
                  font-size: 18rem;
                  font-weight: bold; }
                main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li img {
                  display: block;
                  margin: 25rem auto 20rem !important; }
                main section.s04 .wrapper .tokuchobox.tokuchobox03 .inner .list03 li .t03 {
                  text-align: center;
                  font-size: 14rem;
                  line-height: 190%;
                  margin-top: 20rem; }
            main section.s04 .wrapper .tokuchobox .tokucho_ttl,
            main section.s04 .wrapper .tokuchobox h3.tokucho_ttl {
              background-color: #0058a3;
              font-size: 20rem;
              line-height: 32rem;
              padding: 15rem 0;
              font-weight: bold;
              color: #fff;
              text-align: center;
              margin: 0; }
              main section.s04 .wrapper .tokuchobox .tokucho_ttl span,
              main section.s04 .wrapper .tokuchobox h3.tokucho_ttl span {
                font-size: 32rem;
                line-height: 100%;
                display: inline-block;
                vertical-align: top;
                letter-spacing: 0;
                margin-right: 8rem; }
            main section.s04 .wrapper .tokuchobox .inner {
              padding: 30rem 20rem;
              background-color: #fff; }
      main section.s05 {
        padding: 110rem 20rem 150rem;
        background-image: url(../img/s0501_sp.png);
        background-size: cover;
        background-position-x: center;
        margin-top: -150rem; }
        main section.s05 .wrapper {
          max-width: 1280rem;
          margin: 0 auto; }
          main section.s05 .wrapper .en {
            font-size: 13rem;
            letter-spacing: 2rem; }
          main section.s05 .wrapper h5 {
            font-size: 22rem; }
          main section.s05 .wrapper .voicebox {
            background-color: #fff;
            border-radius: 10rem;
            overflow: hidden;
            margin: 30rem auto 0;
            box-shadow: 5rem 5rem 20rem rgba(0, 0, 0, 0.15);
            display: block; }
            main section.s05 .wrapper .voicebox .photo {
              width: 100%;
              height: 250px;
              display: block;
              order: 2; }
              main section.s05 .wrapper .voicebox .photo img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: 50% 30%; }
            main section.s05 .wrapper .voicebox .txtbox {
              width: 100%;
              padding: 20rem 20rem; }
              main section.s05 .wrapper .voicebox .txtbox .t01 {
                font-size: 18rem;
                color: #111111;
                font-weight: bold;
                padding-bottom: 10rem;
                border-bottom: 1rem solid #ddd; }
              main section.s05 .wrapper .voicebox .txtbox dl {
                margin-top: 15rem; }
                main section.s05 .wrapper .voicebox .txtbox dl dt {
                  font-size: 16rem;
                  line-height: 180%;
                  font-weight: bold; }
                main section.s05 .wrapper .voicebox .txtbox dl dd {
                  font-size: 14rem;
                  font-weight: 400;
                  line-height: 180%; }
      main section.s06 {
        background-color: #f7f7f7;
        padding: 30rem 20rem 50rem;
        margin-top: -80rem; }
        main section.s06 .wrapper {
          max-width: 1280rem;
          margin: 0 auto; }
          main section.s06 .wrapper .en {
            font-size: 13rem;
            letter-spacing: 2rem; }
          main section.s06 .wrapper h2,
          main section.s06 .wrapper h6 {
            font-size: 22rem; }
          main section.s06 .wrapper .dl01 {
            background-color: #0058a3;
            border-radius: 10rem;
            display: block;
            padding: 20rem 20rem;
            margin-top: 25rem; }
            main section.s06 .wrapper .dl01 dt {
              width: 100%;
              font-size: 18rem;
              font-weight: bold;
              color: #fff;
              text-align: center; }
            main section.s06 .wrapper .dl01 dd {
              width: 100%;
              margin-top: 10rem; }
              main section.s06 .wrapper .dl01 dd ul li {
                display: inline-block;
                vertical-align: top;
                font-size: 14rem;
                line-height: 100%;
                margin: 7rem 15rem 7rem 0;
                color: #fff; }
          main section.s06 .wrapper .list06 {
            display: block;
            margin-top: 30rem; }
            main section.s06 .wrapper .list06 .li01 {
              width: 100%;
              background-color: #fff;
              border-radius: 10rem;
              box-shadow: 3rem 3rem 20rem rgba(0, 0, 0, 0.1);
              position: relative;
              padding: 20rem;
              opacity: 0;
              transform: translateY(30rem);
              transition-duration: 1s; }
              main section.s06 .wrapper .list06 .li01 + .li01 {
                margin-top: 20rem; }
              main section.s06 .wrapper .list06 .li01.effected {
                opacity: 1;
                transform: translateY(0); }
              main section.s06 .wrapper .list06 .li01 .num {
                width: 56rem;
                height: 67rem;
                background-image: url(../img/icon_label.png);
                background-size: contain;
                background-position: center center;
                background-repeat: no-repeat;
                text-align: center;
                font-size: 24rem;
                color: #fff;
                padding-top: 14rem;
                letter-spacing: 0;
                padding-right: 4rem;
                position: absolute;
                top: -12rem;
                right: 15rem; }
              main section.s06 .wrapper .list06 .li01 dl {
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                justify-content: space-between;
                align-items: center; }
                main section.s06 .wrapper .list06 .li01 dl dt {
                  width: 81.3rem; }
                  main section.s06 .wrapper .list06 .li01 dl dt img {
                    width: 100%;
                    display: block; }
                main section.s06 .wrapper .list06 .li01 dl dd {
                  width: calc(100% - 81.3rem);
                  padding-left: 25rem;
                  font-size: 18rem;
                  font-weight: bold; }
                  main section.s06 .wrapper .list06 .li01 dl dd h3 {
                    font-size: 18rem;
                    font-weight: bold;
                    margin: 0;
                    padding: 0; }
              main section.s06 .wrapper .list06 .li01 ul {
                margin-top: 15rem;
                border-top: 1rem solid #ddd;
                padding-top: 10rem; }
                main section.s06 .wrapper .list06 .li01 ul li {
                  font-size: 14rem;
                  line-height: 140%;
                  margin-top: 5rem;
                  padding-left: 16rem;
                  position: relative; }
                  main section.s06 .wrapper .list06 .li01 ul li::before {
                    content: "・";
                    display: block;
                    width: 20rem;
                    position: absolute;
                    top: 0;
                    left: 0; }
      main section.s07 {
        background-color: #ecf6fe;
        padding: 50rem 20rem; }
        main section.s07 .wrapper {
          max-width: 1280rem;
          margin: 0 auto; }
          main section.s07 .wrapper .en {
            font-size: 13rem;
            letter-spacing: 2rem; }
          main section.s07 .wrapper h2,
          main section.s07 .wrapper h6 {
            font-size: 22rem; }
          main section.s07 .wrapper .t01 {
            text-align: center;
            font-size: 14rem;
            line-height: 180%;
            margin-top: 25rem; }
          main section.s07 .wrapper .photo03 {
            width: 100%;
            display: block;
            margin: 30rem auto 0; }
      main section.s08 {
        background-image: url(../img/s0401.png);
        background-size: 15rem auto;
        background-position: center center;
        padding: 50rem 20rem; }
        main section.s08 .wrapper {
          max-width: 1280rem;
          margin: 0 auto; }
          main section.s08 .wrapper .box01 {
            background-color: #0058a3;
            border-radius: 10rem;
            padding: 30rem 20rem; }
            main section.s08 .wrapper .box01 .en {
              font-size: 13rem;
              letter-spacing: 2rem; }
            main section.s08 .wrapper .box01 h2,
            main section.s08 .wrapper .box01 h6 {
              font-size: 22rem; }
            main section.s08 .wrapper .box01 dl {
              display: block;
              margin-top: 30rem; }
              main section.s08 .wrapper .box01 dl dt {
                width: 80%;
                margin: 0 auto; }
                main section.s08 .wrapper .box01 dl dt img {
                  width: 100%;
                  display: block; }
              main section.s08 .wrapper .box01 dl dd {
                width: 100%;
                padding-left: 0;
                font-size: 14rem;
                line-height: 200%;
                color: #fff;
                font-weight: 400;
                margin-top: 20rem; }
          main section.s08 .wrapper .box02 {
            margin-top: 40rem; }
            main section.s08 .wrapper .box02 .en {
              font-size: 13rem;
              letter-spacing: 2rem; }
            main section.s08 .wrapper .box02 h2,
            main section.s08 .wrapper .box02 h6 {
              font-size: 22rem; }
            main section.s08 .wrapper .box02 .t01 {
              text-align: center;
              font-size: 14rem;
              line-height: 180%;
              margin-top: 25rem; }
            main section.s08 .wrapper .box02 .t03 {
              margin-top: 30rem;
              width: 100%;
              background-color: #0058a3;
              text-align: center;
              font-size: 14rem;
              line-height: 100%;
              color: #fff;
              font-weight: bold;
              border-radius: 50rem;
              padding: 11rem 0; }
            main section.s08 .wrapper .box02 ul {
              display: block;
              margin-top: 25rem; }
              main section.s08 .wrapper .box02 ul li {
                width: 100%;
                margin-top: 20rem;
                position: relative;
                background-color: #fff;
                border-radius: 10rem;
                box-shadow: 0rem 10rem 20rem rgba(0, 0, 0, 0.1);
                padding: 20rem 0; }
                main section.s08 .wrapper .box02 ul li:last-child::before {
                  display: none; }
                main section.s08 .wrapper .box02 ul li::before {
                  content: "";
                  width: 10rem;
                  height: 40rem;
                  display: block;
                  position: absolute;
                  top: auto;
                  bottom: -30rem;
                  right: 0;
                  left: 0;
                  margin: 0 auto;
                  z-index: -1;
                  background-color: #eee; }
                main section.s08 .wrapper .box02 ul li .num {
                  font-size: 24rem;
                  line-height: 100%;
                  background-color: #0058a3;
                  width: 50rem;
                  height: 50rem;
                  padding-top: 13rem;
                  padding-left: 2rem;
                  border-radius: 50rem;
                  position: absolute;
                  top: -5rem;
                  left: -5rem;
                  text-align: center;
                  color: #fff; }
                main section.s08 .wrapper .box02 ul li .base {
                  display: none; }
                main section.s08 .wrapper .box02 ul li .txtbox {
                  position: static;
                  display: block; }
                  main section.s08 .wrapper .box02 ul li .txtbox .t02 {
                    width: 100%;
                    text-align: center;
                    font-size: 16rem;
                    line-height: 150%;
                    font-weight: bold; }
      main section.s09 {
        padding: 50rem 20rem 50rem; }
        main section.s09 .wrapper {
          max-width: 1280rem;
          margin: 0 auto; }
          main section.s09 .wrapper .en {
            font-size: 13rem;
            letter-spacing: 2rem; }
          main section.s09 .wrapper h2,
          main section.s09 .wrapper h6 {
            font-size: 22rem;
            margin-bottom: 30rem; }
          main section.s09 .wrapper .faq_box .faq_dl {
            border-radius: 10rem;
            overflow: hidden;
            margin-top: 20rem; }
            main section.s09 .wrapper .faq_box .faq_dl:first-child dd {
              display: block; }
            main section.s09 .wrapper .faq_box .faq_dl.active dt .icon img.icon_open {
              display: none; }
            main section.s09 .wrapper .faq_box .faq_dl.active dt .icon img.icon_close {
              display: block; }
            main section.s09 .wrapper .faq_box .faq_dl dt {
              cursor: pointer;
              background-color: #ecf6fe;
              position: relative;
              padding: 21rem 52rem 21rem 70rem; }
              main section.s09 .wrapper .faq_box .faq_dl dt .icon_q {
                width: 40rem;
                height: 40rem;
                background-color: #0058a3;
                border-radius: 50rem;
                padding-top: 8rem;
                font-size: 24rem;
                line-height: 100%;
                color: #fff;
                letter-spacing: 0;
                text-align: center;
                position: absolute;
                top: 15rem;
                left: 15rem; }
              main section.s09 .wrapper .faq_box .faq_dl dt .icon {
                width: 16rem;
                height: 16rem;
                display: block;
                position: absolute;
                top: 50%;
                margin-top: -8rem;
                right: 15rem; }
                main section.s09 .wrapper .faq_box .faq_dl dt .icon img {
                  width: 100%;
                  position: absolute;
                  top: 0;
                  right: 0; }
                  main section.s09 .wrapper .faq_box .faq_dl dt .icon img.icon_open {
                    display: block; }
                  main section.s09 .wrapper .faq_box .faq_dl dt .icon img.icon_close {
                    display: none; }
              main section.s09 .wrapper .faq_box .faq_dl dt .txt,
              main section.s09 .wrapper .faq_box .faq_dl dt h3.txt {
                font-size: 16rem;
                line-height: 180%;
                font-weight: bold;
                margin: 0;
                padding: 0; }
            main section.s09 .wrapper .faq_box .faq_dl dd {
              cursor: pointer;
              background-color: #ecf6fe;
              position: relative;
              max-height: 0;
              transition: 350ms max-height ease; }
              main section.s09 .wrapper .faq_box .faq_dl dd .txtbox {
                padding: 9rem 52rem 21rem 70rem;
                position: relative; }
                main section.s09 .wrapper .faq_box .faq_dl dd .txtbox .icon_a {
                  width: 40rem;
                  height: 40rem;
                  border-radius: 50rem;
                  padding-top: 8rem;
                  font-size: 24rem;
                  line-height: 100%;
                  letter-spacing: 0;
                  text-align: center;
                  position: absolute;
                  top: -1;
                  left: 15rem; }
                main section.s09 .wrapper .faq_box .faq_dl dd .txtbox .txt {
                  font-size: 14rem;
                  line-height: 180%; }
      main section.s10 {
        padding: 100rem 20rem 50rem;
        background-image: url(../img/s1001_sp.png);
        background-size: cover;
        overflow: hidden; }
        main section.s10 .wrapper {
          max-width: 1280rem;
          margin: 0 auto;
          position: relative; }
          main section.s10 .wrapper .photo04 {
            width: 150rem;
            position: static;
            margin: -100rem auto 0; }
          main section.s10 .wrapper h6 {
            text-align: center;
            font-weight: bold;
            font-size: 36rem;
            color: #fff;
            margin-top: 35rem; }
          main section.s10 .wrapper .t01 {
            text-align: center;
            color: #fff;
            font-size: 14rem;
            margin-top: 15rem;
            line-height: 180%; }
          main section.s10 .wrapper dl {
            display: block;
            margin-top: 30rem; }
            main section.s10 .wrapper dl dt {
              width: 100%;
              text-align: center; }
              main section.s10 .wrapper dl dt .t02 {
                font-size: 13rem;
                color: #fff; }
              main section.s10 .wrapper dl dt .tel {
                margin-top: 6rem; }
                main section.s10 .wrapper dl dt .tel a {
                  display: inline-block;
                  vertical-align: top;
                  font-size: 30rem;
                  color: #fff;
                  line-height: 100%;
                  text-decoration: none;
                  font-weight: bold; }
                  main section.s10 .wrapper dl dt .tel a img {
                    width: 24rem;
                    display: inline-block;
                    vertical-align: top;
                    margin: 5rem 10rem 0 0; }
            main section.s10 .wrapper dl dd {
              width: 100%; }
              main section.s10 .wrapper dl dd .btnlist02 {
                width: 240rem;
                margin: 30rem auto 0;
                display: block; }
                main section.s10 .wrapper dl dd .btnlist02 li {
                  width: 100%;
                  margin-top: 10rem; }
                  main section.s10 .wrapper dl dd .btnlist02 li.btn02 a {
                    color: #fff;
                    background-color: #51a100;
                    background-image: url(../img/icon_btn02.png);
                    box-shadow: 3rem 3rem 10rem rgba(0, 0, 0, 0.15); }
                  main section.s10 .wrapper dl dd .btnlist02 li a {
                    width: 100%;
                    display: block;
                    text-decoration: none;
                    border: 1rem solid #51a100;
                    border-radius: 50rem;
                    font-size: 16rem;
                    line-height: 100%;
                    padding: 15rem 30rem;
                    color: #51a100;
                    background-color: #fff;
                    background-image: url(../img/icon_btn01.png);
                    background-size: 26.5rem auto;
                    background-position: right 25rem center;
                    background-repeat: no-repeat;
                    transition-duration: 0.5s; }
                    main section.s10 .wrapper dl dd .btnlist02 li a:hover {
                      transform: translateY(-5rem); }

  footer {
    background-image: url(../img/bg_footer.png);
    background-size: cover;
    background-position: top 0 center;
    padding: 50rem 0 0; }
    footer .wrapper {
      width: 1280rem;
      max-width: calc(100% - 40rem);
      margin: 0 auto;
      padding-bottom: 50rem; }
      footer .wrapper .t01 {
        text-align: center;
        font-size: 42rem;
        color: #fff;
        letter-spacing: 3rem; }
      footer .wrapper .t02 {
        text-align: center;
        font-size: 14rem;
        margin-top: 30rem;
        line-height: 180%;
        color: #fff; }
      footer .wrapper .logo {
        width: 245.5rem;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        margin: 30rem auto 0;
        text-decoration: none;
        align-items: center; }
        footer .wrapper .logo img {
          width: 75.5rem;
          display: block; }
        footer .wrapper .logo p {
          width: 170rem;
          color: #fff;
          padding-left: 15rem;
          font-size: 16rem;
          line-height: 170%; }
      footer .wrapper .box01 {
        display: block;
        margin-top: 30rem; }
        footer .wrapper .box01 .box0101 {
          width: 100%;
          padding-left: 20rem;
          border-left: 1rem solid #aaa;
          padding-right: 20rem; }
          footer .wrapper .box01 .box0101 .t03 {
            font-size: 16rem;
            color: #fff;
            font-weight: bold;
            margin-bottom: 10rem; }
          footer .wrapper .box01 .box0101 dl {
            margin-top: 10rem;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            justify-content: space-between; }
            footer .wrapper .box01 .box0101 dl dt {
              width: 110rem;
              color: #fff;
              font-size: 12rem;
              font-weight: 400; }
            footer .wrapper .box01 .box0101 dl dd {
              width: calc(100% - 110rem);
              color: #fff;
              font-size: 12rem;
              font-weight: 400; }
        footer .wrapper .box01 .box0102 {
          width: 100%;
          margin-top: 20rem;
          padding-left: 20rem;
          border-left: 1rem solid #aaa; }
          footer .wrapper .box01 .box0102 .t03 {
            font-size: 16rem;
            color: #fff;
            font-weight: bold; }
          footer .wrapper .box01 .box0102 ul {
            margin-top: 10rem; }
            footer .wrapper .box01 .box0102 ul li {
              font-size: 12rem;
              color: #fff;
              font-weight: 400;
              line-height: 170%;
              margin-top: 5rem; }
    footer .infobox {
      padding: 15rem 20rem;
      background-color: #fff; }
      footer .infobox .info_dl {
        width: 100%;
        margin: 0 auto;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: #fff; }
        footer .infobox .info_dl dt {
          width: calc(100% - 150rem); }
          footer .infobox .info_dl dt ul {
            font-size: 0;
            letter-spacing: 0; }
            footer .infobox .info_dl dt ul li {
              display: inline-block;
              vertical-align: top;
              margin-right: 15rem; }
              footer .infobox .info_dl dt ul li:last-child {
                margin-right: 0; }
              footer .infobox .info_dl dt ul li a {
                display: block;
                text-decoration: none;
                color: #111111;
                font-weight: 400;
                letter-spacing: 0;
                font-size: 12rem; }
        footer .infobox .info_dl dd {
          width: 150rem;
          text-align: right;
          font-size: 10rem;
          color: #a1a1a1; } }
/* ------------------------------
 Column Archive & Single Pages
------------------------------ */
/* Column Archive Page */
.column-archive {
  padding: 60rem 0 80rem;
  background-color: #fff; }

.column-list {
  max-width: 1280rem;
  width: 92.5%;
  margin: 0 auto; }

.column-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32rem; }

.column-item {
  background-color: #fff;
  border-radius: 8rem;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }
  .column-item:hover {
    transform: translateY(-4rem);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12); }
    .column-item:hover .column-title {
      color: #0058a3; }

.column-card {
  text-decoration: none;
  color: inherit;
  display: block;
  height: 100%; }

.column-card__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #f0f0f0; }
  .column-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease; }
  .column-item:hover .column-card__image img {
    transform: scale(1.05); }

.column-card__content {
  padding: 20rem 20rem 24rem; }

.column-meta {
  display: flex;
  align-items: center;
  gap: 12rem;
  margin-bottom: 12rem; }

.column-date {
  font-size: 13rem;
  color: #666;
  font-family: 'Roboto', sans-serif; }

.column-category {
  display: inline-block;
  padding: 4rem 10rem;
  background-color: #0058a3;
  color: #fff;
  font-size: 11rem;
  border-radius: 3rem;
  font-weight: 500; }

.column-title {
  font-size: 16rem;
  font-weight: bold;
  color: #111;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.no-posts {
  text-align: center;
  padding: 60rem 0;
  font-size: 16rem;
  color: #666; }

/* Pagination */
.pagination {
  text-align: center;
  margin-top: 50rem; }
  .pagination .page-numbers {
    display: inline-block;
    padding: 8rem 15rem;
    margin: 0 5rem;
    background-color: #fff;
    color: #111;
    text-decoration: none;
    border-radius: 4rem;
    font-size: 14rem;
    transition: background-color 0.3s ease; }
    .pagination .page-numbers:hover {
      background-color: #0066cc;
      color: #fff; }
    .pagination .page-numbers.current {
      background-color: #0066cc;
      color: #fff;
      font-weight: bold; }

/* Column Single Page */
.column-single {
  padding: 60rem 0 80rem;
  background-color: #f8f8f8; }

.column-content {
  max-width: 800rem;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 8rem;
  padding: 50rem 60rem; }

.column-article-header {
  margin-bottom: 40rem;
  padding-bottom: 30rem;
  border-bottom: 1px solid #e0e0e0; }

.column-article-title {
  font-size: 28rem;
  font-weight: bold;
  color: #111;
  line-height: 1.6;
  margin-bottom: 20rem; }

.column-article-meta {
  display: flex;
  align-items: center;
  gap: 15rem; }

.column-article-date {
  font-size: 14rem;
  color: #666;
  font-family: 'Roboto', sans-serif; }

.column-article-category {
  display: inline-block;
  padding: 4rem 12rem;
  background-color: #0066cc;
  color: #fff;
  font-size: 12rem;
  border-radius: 4rem;
  font-weight: 500; }

.column-article-body {
  font-size: 16rem;
  line-height: 1.8;
  color: #333; }
  .column-article-body h2 {
    font-size: 24rem;
    font-weight: bold;
    margin: 40rem 0 20rem;
    padding-bottom: 10rem;
    border-bottom: 2px solid #0066cc; }
  .column-article-body h3 {
    font-size: 20rem;
    font-weight: bold;
    margin: 30rem 0 15rem; }
  .column-article-body p {
    margin-bottom: 20rem; }
  .column-article-body ul,
  .column-article-body ol {
    margin: 20rem 0 20rem 30rem; }
  .column-article-body li {
    margin-bottom: 10rem;
    line-height: 1.8; }
  .column-article-body ul li {
    list-style-type: disc; }
  .column-article-body ol li {
    list-style-type: decimal; }
  .column-article-body a {
    color: #0066cc;
    text-decoration: underline; }
    .column-article-body a:hover {
      text-decoration: none; }
  .column-article-body img {
    max-width: 100%;
    height: auto;
    margin: 30rem 0;
    border-radius: 4rem; }
  .column-article-body table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 30rem 0; }
    .column-article-body table th,
    .column-article-body table td {
      padding: 12rem;
      border: solid 1px #d2d2d2;
      text-align: left; }
    .column-article-body table th {
      font-weight: bold;
      background: #f8ffed; }

.column-back-link {
  text-align: center;
  margin-top: 50rem; }

.column-back-button {
  display: inline-block;
  padding: 15rem 40rem;
  background-color: #0066cc;
  color: #fff;
  text-decoration: none;
  border-radius: 4rem;
  font-size: 16rem;
  font-weight: 500;
  transition: background-color 0.3s ease; }
  .column-back-button:hover {
    background-color: #0052a3; }

/* Responsive */
@media screen and (max-width: 768px) {
  .column-archive {
    padding: 40rem 20rem 60rem; }
    .column-archive .page-header h1 {
      font-size: 28rem; }

  .column-list {
    width: 100%; }

  .column-items {
    grid-template-columns: 1fr;
    gap: 24rem; }

  .column-card__content {
    padding: 16rem; }

  .column-title {
    font-size: 15rem; }

  .column-date {
    font-size: 12rem; }

  .column-category {
    font-size: 10rem;
    padding: 3rem 8rem; }

  .column-single {
    padding: 40rem 20rem 60rem; }

  .column-content {
    padding: 30rem 20rem; }

  .column-article-title {
    font-size: 24rem; }

  .column-article-body {
    font-size: 15rem; }
    .column-article-body h2 {
      font-size: 20rem; }
    .column-article-body h3 {
      font-size: 18rem; }
    .column-article-body table {
      overflow-x: auto;
      display: block;
      -webkit-overflow-scrolling: touch;
      white-space: nowrap; }
      .column-article-body table th,
      .column-article-body table td {
        padding: 10rem;
        font-size: 14rem; } }

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