/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap");
html {
  line-height: 1.3;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/**/
/*gray*/
/*mediaquery*/
/* -------------------------------- 
Primary style
-------------------------------- */
*, *::after, *::before {
  box-sizing: border-box; }

html {
  position: relative;
  height: 100%;
  /*scroll-behavior: smooth;*/ }

body {
  position: relative;
  color: #222;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  letter-spacing: .05em;
  line-height: 1.7; }
  body.open {
    overflow: hidden;
    height: 100%; }

@media screen and (min-width: 767.5px) and (max-width: 1023.9px) {
  body {
    font-size: calc(100vw / 70); } }
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

br.brmd {
  display: none; }
  @media screen and (max-width: 820px) {
    br.brmd {
      display: inline; } }

br.brsp {
  display: none; }
  @media screen and (max-width: 599px) {
    br.brsp {
      display: inline; } }

@media screen and (max-width: 599px) {
  br.brpc {
    display: none; } }

.inner {
  margin: 0 auto;
  padding: 0 7vw;
  width: min(100%, 1560px); }
  @media screen and (max-width: 1440px) {
    .inner {
      padding: 0 5vw; } }
  @media screen and (max-width: 599px) {
    .inner {
      /*padding: 0 3vw;*/
      padding: 0 6vw; } }

.inner_min {
  width: min(100%, 1280px); }

section {
  position: relative;
  padding: max(10vw, 3.75rem) 0;
  padding: max(5vw, 2rem) 0; }
  section.pb0 {
    padding-bottom: 0; }

.contents_box {
  background: #fff;
  border-radius: 24px;
  margin: 0 auto;
  padding: 5vw; }
  @media screen and (max-width: 599px) {
    .contents_box {
      padding: 7vw; } }

.entry_dtl {
  background: #fff;
  border-radius: 24px;
  margin: 3vw auto;
  padding: 0 5vw; }
  @media screen and (max-width: 599px) {
    .entry_dtl {
      padding: 2.5vw 7vw 5vw;
      margin-bottom: 4.0rem; } }

.btn_link {
  position: relative;
  display: inline-block;
  padding: max(2vw, 2rem);
  font-weight: bold;
  text-align: center;
  font-size: max(1vw, 1em);
  color: white;
  background: #00ABBB;
  overflow: hidden;
  transition: .4s; }
  .btn_link:hover {
    opactiy: .6; }

a {
  color: #222;
  text-decoration: none;
  transition: .2s; }
  a:hover {
    color: #00ABBB;
    transition: .2s; }
    a:hover img {
      opacity: .85;
      transition: .2s; }

@media screen and (max-width: 820px) {
  .pcblock {
    display: none !important; } }

.spblock {
  display: none !important; }
  @media screen and (max-width: 820px) {
    .spblock {
      display: block !important; } }

@media screen and (max-width: 599px) {
  .spnone {
    display: none; } }
/*ul reset*/
ul.nonstyle {
  list-style: none;
  margin: 0;
  padding: 0; }

/*blockcontents*/
div.single_content a:not(.wp-block-button__link) {
  text-decoration: underline;
  transition: .2s; }
  div.single_content a:not(.wp-block-button__link):hover {
    background: #f5f4ef;
    transition: .2s; }
div.single_content h2 {
  margin-bottom: 1.5em;
  padding-bottom: .25em;
  font-size: max(2vw, 1.3rem);
  border-bottom: 3px solid #00ABBB; }
div.single_content h3 {
  margin-bottom: 1.25em;
  padding-bottom: .25em;
  font-size: max(1.5vw, 1.2rem);
  border-bottom: 2px solid #dedede; }
div.single_content h4 {
  font-size: max(1vw, 1.125rem); }
div.single_content ul, div.single_content ol {
  padding-left: 1.5em; }
div.single_content table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0; }
  div.single_content table tr th {
    padding-bottom: .25em;
    border-bottom: 2px solid #333; }
div.single_content figure {
  margin: auto; }
div.single_content .m0 {
  margin: 0; }
div.single_content .mt0 {
  margin-top: 0; }
div.single_content .mr0 {
  margin-right: 0; }
div.single_content .ml0 {
  margin-left: 0; }
div.single_content .mb0 {
  margin-bottom: 0; }
div.single_content .w100 {
  width: 100%; }
div.single_content .group_2col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: max(3vw, 1.75rem); }
  @media screen and (max-width: 599px) {
    div.single_content .group_2col {
      grid-template-columns: minmax(0, 1fr); } }

::selection {
  color: white;
  background-color: black; }

/* -------------------------------- 
loading components 
--------------------------------- */
.loading {
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 0;
  background: #f5f4ef; }
  .loading.hide {
    opacity: 0;
    pointer-events: none;
    transition: opacity 500ms; }
  .loading .circle {
    display: block;
    position: relative;
    top: calc( 50% - 20px );
    width: 40px;
    height: 40px;
    margin: 0 auto;
    border: 8px solid #00ABBB;
    border-top: 7px solid #000;
    border-radius: 50px;
    animation: loading 700ms linear 0ms infinite normal both; }

@keyframes loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
/* -------------------------------- 
main components 
--------------------------------- */
main {
  /*background: url("../img/btm_bg.png") no-repeat bottom center #FFFEF2;
  background-size: 100%;
  padding-bottom: 20vw;
  position: relative;
  z-index: 1;
  background-image: url("../img/bg.png"), url("../img/btm_bg.jpg");
  background-position: center 89.9%, center bottom ;
  background-repeat: repeat-y, no-repeat;
  background-color: #FFFEF2;*/
  /*padding-bottom: 10vw;*/ }

/* -------------------------------- 
header components 
--------------------------------- */
header.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  transition: .2s; }
  header.header div.headerflex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: max(3vw, 1.25rem); }
    header.header div.headerflex div.left {
      width: 12rem; }
      @media screen and (max-width: 1440px) {
        header.header div.headerflex div.left {
          width: 7rem; } }
      @media screen and (max-width: 820px) {
        header.header div.headerflex div.left {
          width: 5rem; } }
      @media screen and (max-width: 599px) {
        header.header div.headerflex div.left {
          width: 4rem;
          position: absolute;
          top: 0;
          left: .25rem; } }
      header.header div.headerflex div.left h1 {
        margin: 0; }
        header.header div.headerflex div.left h1 img {
          display: block; }

/* -------------------------------- 
footer components 
--------------------------------- */
footer {
    /*background: url("../img/btm_bg.png") no-repeat bottom center #FFFDF1;
	background:#FFFDF1;*/ }
  footer ::selection {
    color: white;
    background-color: #00ABBB; }
  footer section.footer {
    /*padding: max(10.8vw,4rem) 0;*/
    position: relative;
    padding: 0; }
    footer section.footer div.inner {
      padding: 0;
      position: absolute;
      top: -25vw;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%); }
      @media screen and (max-width: 599px) {
        footer section.footer div.inner {
          top: -30vw; } }
      footer section.footer div.inner div.footer_info {
        text-align: center;
        color: #352F2D; }
        footer section.footer div.inner div.footer_info p.name {
          margin: 0 0 .5em;
          font-size: 1.30rem;
          font-weight: bold;
          letter-spacing: .1rem; }
          @media screen and (max-width: 820px) {
            footer section.footer div.inner div.footer_info p.name {
              font-size: 1.0rem; } }
          footer section.footer div.inner div.footer_info p.name span.tel {
            padding-left: 1.0rem; }
        footer section.footer div.inner div.footer_info p.tel {
          margin: 0;
          font-weight: bold; }

/* -------------------------------- 
index components 
--------------------------------- */
/*all*/
body.home figure,
body.toptest figure {
  margin: 0 auto; }
body.home section,
body.toptest section {
  /*block*/ }
  body.home section h2,
  body.toptest section h2 {
    margin: 0 auto max(2.5vw, 1.5em);
    padding-bottom: max(0.5vw, 0.25em);
    color: #00ABBB;
    border-bottom: 4px solid #00ABBB; }
  body.home section.hero,
  body.toptest section.hero {
    padding: 0;
    position: relative; }
    @media screen and (max-width: 820px) {
      body.home section.hero,
      body.toptest section.hero {
        /*padding: max(10vw,3.75rem) 0;*/ } }
    body.home section.hero img,
    body.toptest section.hero img {
      width: 100%;
      height: auto; }
    body.home section.hero h1,
    body.toptest section.hero h1 {
      margin: auto;
      width: 100%; }
      @media screen and (max-width: 820px) {
        body.home section.hero h1,
        body.toptest section.hero h1 {
          width: 100%; } }
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0); }
  50% {
    transform: translateY(-20px); } }
    body.home section.hero .fuwafuwa01,
    body.toptest section.hero .fuwafuwa01 {
      animation: 3s fuwafuwa infinite; }
    body.home section.hero .fuwafuwa02,
    body.toptest section.hero .fuwafuwa02 {
      animation: 4s fuwafuwa infinite; }
    body.home section.hero .fuwafuwa03,
    body.toptest section.hero .fuwafuwa03 {
      animation: 5s fuwafuwa infinite; }
    body.home section.hero .bg_item01,
    body.toptest section.hero .bg_item01 {
      position: absolute;
      width: 15%;
      bottom: -15;
      left: 3%; }
      @media screen and (max-width: 820px) {
        body.home section.hero .bg_item01,
        body.toptest section.hero .bg_item01 {
          width: 15%;
          bottom: 3%; } }
    body.home section.hero .bg_item02,
    body.toptest section.hero .bg_item02 {
      position: absolute;
      width: 18%;
      bottom: -5%;
      right: 2%; }
      @media screen and (max-width: 820px) {
        body.home section.hero .bg_item02,
        body.toptest section.hero .bg_item02 {
          bottom: 5%; } }
    body.home section.hero .bg_item03,
    body.toptest section.hero .bg_item03 {
      position: absolute;
      width: 12%;
      top: 4%;
      left: -4%; }
      @media screen and (max-width: 820px) {
        body.home section.hero .bg_item03,
        body.toptest section.hero .bg_item03 {
          width: 20%;
          top: 2%;
          left: 2%; } }
    body.home section.hero .bg_item04,
    body.toptest section.hero .bg_item04 {
      position: absolute;
      width: 10%;
      bottom: 0;
      right: 50%; }
      @media screen and (max-width: 820px) {
        body.home section.hero .bg_item04,
        body.toptest section.hero .bg_item04 {
          width: 20%; } }
    body.home section.hero .bg_item05,
    body.toptest section.hero .bg_item05 {
      position: absolute;
      width: 10%;
      top: 12%;
      right: 2%; }
      @media screen and (max-width: 820px) {
        body.home section.hero .bg_item05,
        body.toptest section.hero .bg_item05 {
          width: 15%;
          top: 3%;
          right: 5%; } }
  body.home section.main_bg,
  body.toptest section.main_bg {
    /*background-image: url("../img/bg.png");
    background-position: center top;
    background-repeat: repeat-y;
    background-color: #FFFEF2;
    background-size: 100%;*/
    background-image: url("../img/btm_bg.png"), url("../img/bg.png");
    background-position: center bottom, center top;
    background-repeat: no-repeat, repeat-y;
    background-color: #FFFEF2;
    background-size: 100%;
    padding-bottom: 26vw; }
    @media screen and (max-width: 599px) {
      body.home section.main_bg,
      body.toptest section.main_bg {
        padding-bottom: 28vw; } }
  body.home section.entry_count,
  body.toptest section.entry_count {
    padding: 0;
    text-align: center;
    /*margin-top: 5%;*/ }
    body.home section.entry_count .balloon2,
    body.toptest section.entry_count .balloon2 {
      position: absolute;
      left: 50%;
      top: -30%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      display: inline-block;
      margin-bottom: 1.5em;
      padding: 7px 10px;
      min-width: 120px;
      max-width: 100%;
      color: #00ABBB;
      font-size: 16px;
      background: #FFF;
      border: solid 3px #00ABBB;
      border-radius: 12px;
      box-sizing: border-box; }
      @media screen and (max-width: 820px) {
        body.home section.entry_count .balloon2,
        body.toptest section.entry_count .balloon2 {
          top: -15%; } }
    body.home section.entry_count .balloon2:before,
    body.toptest section.entry_count .balloon2:before {
      content: "";
      position: absolute;
      bottom: -24px;
      left: 50%;
      margin-left: -15px;
      border: 12px solid transparent;
      border-top: 12px solid #FFF;
      z-index: 2; }
    body.home section.entry_count .balloon2:after,
    body.toptest section.entry_count .balloon2:after {
      content: "";
      position: absolute;
      bottom: -30px;
      left: 50%;
      margin-left: -17px;
      border: 14px solid transparent;
      border-top: 14px solid #00ABBB;
      z-index: 1; }
    body.home section.entry_count .balloon2 p,
    body.toptest section.entry_count .balloon2 p {
      margin: 0;
      padding: 0; }
    body.home section.entry_count figure,
    body.toptest section.entry_count figure {
      margin: 0; }
    body.home section.entry_count .entry_count__list,
    body.toptest section.entry_count .entry_count__list {
      position: relative;
      text-align: center;
      display: inline-block;
      background: #fff;
      border-radius: 24px; }
      @media screen and (max-width: 820px) {
        body.home section.entry_count .entry_count__list,
        body.toptest section.entry_count .entry_count__list {
          display: block;
          padding: 30px 0; } }
      body.home section.entry_count .entry_count__list ul,
      body.toptest section.entry_count .entry_count__list ul {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap; }
      body.home section.entry_count .entry_count__list li,
      body.toptest section.entry_count .entry_count__list li {
        text-align: center;
        width: 200px;
        border-right: 4px dashed #aaa;
        padding: 0 3%;
        margin: 5% 0 3%; }
        body.home section.entry_count .entry_count__list li:last-child,
        body.toptest section.entry_count .entry_count__list li:last-child {
          border-right: none; }
        @media screen and (max-width: 820px) {
          body.home section.entry_count .entry_count__list li,
          body.toptest section.entry_count .entry_count__list li {
            width: calc(100% / 3);
            border-right: 2px dashed #aaa; } }
        body.home section.entry_count .entry_count__list li .count_num,
        body.toptest section.entry_count .entry_count__list li .count_num {
          color: #222; }
          body.home section.entry_count .entry_count__list li .count_num span,
          body.toptest section.entry_count .entry_count__list li .count_num span {
            display: inline-block;
            font-size: 2em;
            margin-right: .2em;
            color: #DE0515;
            font-weight: bold; }
  body.home section.present,
  body.toptest section.present {
    padding-top: 0; }
    @media screen and (max-width: 820px) {
      body.home section.present,
      body.toptest section.present {
        /*padding-top: max(10vw,3.75rem);*/ } }
    @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
      body.home section.present,
      body.toptest section.present {
        /*padding-top: max(10vw,3.75rem);*/ } }
    @media screen and (max-width: 599px) {
      body.home section.present,
      body.toptest section.present {
        padding-top: 0; } }
    body.home section.present .small_txt,
    body.toptest section.present .small_txt {
      margin: .5em 0;
      font-size: 13px;
      font-weight: normal;
      color: #222;
      text-align: left;
      display: inline-block; }
    body.home section.present .present__list,
    body.toptest section.present .present__list {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap; }
      body.home section.present .present__list li,
      body.toptest section.present .present__list li {
        position: relative;
        width: calc(100%);
        text-align: center;
        margin: 0 auto 5vw;
        /*.present__list--fukidashi{
        	position: absolute;
        	width: 15%;
        	top: 3%;
        	right: 23%;
        	margin: auto;
        	@include mq(md) {
        		width: 20%;
        		top: 0;
        		right: 8%;
        	}
        	@include mq(sm) {
        		width: 30%;
        		top: 0;
        		right: 0;
        	}
        }*/ }
        @media screen and (max-width: 820px) {
          body.home section.present .present__list li,
          body.toptest section.present .present__list li {
            width: calc(100%);
            margin: 0 auto 10vw; } }
        body.home section.present .present__list li:last-child,
        body.toptest section.present .present__list li:last-child {
          margin: 0 auto; }
        body.home section.present .present__list li h3,
        body.toptest section.present .present__list li h3 {
          color: #00ABBB;
          font-size: max(1vw, 1.125rem); }
          @media screen and (max-width: 440px) {
            body.home section.present .present__list li h3,
            body.toptest section.present .present__list li h3 {
              font-size: 4vw; } }
          body.home section.present .present__list li h3 .total_txt,
          body.toptest section.present .present__list li h3 .total_txt {
            display: inline-block;
            margin-left: .5em; }
            @media screen and (max-width: 820px) {
              body.home section.present .present__list li h3 .total_txt,
              body.toptest section.present .present__list li h3 .total_txt {
                display: block;
                margin-left: 0; } }
        body.home section.present .present__list li .present__list--img,
        body.toptest section.present .present__list li .present__list--img {
          max-width: 100%;
          width: 100%;
          height: auto; }
        body.home section.present .present__list li .present__list--fukidashi,
        body.toptest section.present .present__list li .present__list--fukidashi {
          width: 15%;
          margin: auto; }
          @media screen and (max-width: 820px) {
            body.home section.present .present__list li .present__list--fukidashi,
            body.toptest section.present .present__list li .present__list--fukidashi {
              width: 20%; } }
          @media screen and (max-width: 599px) {
            body.home section.present .present__list li .present__list--fukidashi,
            body.toptest section.present .present__list li .present__list--fukidashi {
              width: 40%; } }
    body.home section.present .present__list--ttl,
    body.toptest section.present .present__list--ttl {
      font-size: max(2vw, 1.2rem);
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center; }
      body.home section.present .present__list--ttl::before, body.home section.present .present__list--ttl::after,
      body.toptest section.present .present__list--ttl::before,
      body.toptest section.present .present__list--ttl::after {
        content: '';
        width: 4px;
        height: 40px;
        background-color: #00ABBB; }
      body.home section.present .present__list--ttl::before,
      body.toptest section.present .present__list--ttl::before {
        margin-right: 30px;
        transform: rotate(-35deg); }
        @media screen and (max-width: 599px) {
          body.home section.present .present__list--ttl::before,
          body.toptest section.present .present__list--ttl::before {
            margin-right: 20px; } }
      body.home section.present .present__list--ttl::after,
      body.toptest section.present .present__list--ttl::after {
        margin-left: 30px;
        transform: rotate(35deg); }
        @media screen and (max-width: 599px) {
          body.home section.present .present__list--ttl::after,
          body.toptest section.present .present__list--ttl::after {
            margin-left: 20px; } }
  body.home section.info ul.ul_info > li,
  body.toptest section.info ul.ul_info > li {
    display: grid;
    grid-template-columns: max(10vw, 8rem) 1fr;
    gap: max(1.5vw, 1.5rem);
    padding: max(1.5vw, 1.5rem) 0;
    border-bottom: 1px dotted #00ABBB; }
    @media screen and (max-width: 599px) {
      body.home section.info ul.ul_info > li,
      body.toptest section.info ul.ul_info > li {
        grid-template-columns: 1fr; } }
    body.home section.info ul.ul_info > li div.left,
    body.toptest section.info ul.ul_info > li div.left {
      font-weight: bold; }
      @media screen and (max-width: 599px) {
        body.home section.info ul.ul_info > li div.left,
        body.toptest section.info ul.ul_info > li div.left {
          color: #00ABBB; } }
    body.home section.info ul.ul_info > li p,
    body.toptest section.info ul.ul_info > li p {
      margin: 0; }
      body.home section.info ul.ul_info > li p.caution,
      body.toptest section.info ul.ul_info > li p.caution {
        margin-top: 1em;
        font-size: .875em; }
    body.home section.info ul.ul_info > li ul, body.home section.info ul.ul_info > li ol,
    body.toptest section.info ul.ul_info > li ul,
    body.toptest section.info ul.ul_info > li ol {
      margin-top: 2em;
      padding-left: 1.3em; }
      body.home section.info ul.ul_info > li ul.mt0, body.home section.info ul.ul_info > li ol.mt0,
      body.toptest section.info ul.ul_info > li ul.mt0,
      body.toptest section.info ul.ul_info > li ol.mt0 {
        margin-top: 0; }
      body.home section.info ul.ul_info > li ul.fss, body.home section.info ul.ul_info > li ol.fss,
      body.toptest section.info ul.ul_info > li ul.fss,
      body.toptest section.info ul.ul_info > li ol.fss {
        font-size: .875em; }
    body.home section.info ul.ul_info > li ol,
    body.toptest section.info ul.ul_info > li ol {
      list-style-type: disc; }
      body.home section.info ul.ul_info > li ol li span.line,
      body.toptest section.info ul.ul_info > li ol li span.line {
        background: linear-gradient(transparent 75%, #F993CE 75%); }

/* -------------------------------- 
sub components 
--------------------------------- */
/*common*/
body.sub main div.page_title_wrap {
  padding: max(10vw, 7rem) 0 0;
  background: #f5f4ef; }
  body.sub main div.page_title_wrap div.inner .page_title {
    margin: 0 auto;
    padding-bottom: max(2.5vw, 1.5em);
    font-size: max(1.5vw, 1.25em);
    border-bottom: 4px solid #00ABBB; }
body.sub main section.contents {
  padding: max(5vw, 2rem) 0; }

body.sub footer section.footer div.inner {
  top: -2vw !important; }

/* -------------------------------- 
form components
--------------------------------- */
body.check p.comment {
  display: none; }

div.mw_wp_form form > p {
  margin: 0;
  height: 0; }

div.form_wrap span.p-country-name {
  display: none; }
div.form_wrap span.red {
  color: crimson; }
@media screen and (max-width: 820px) {
  div.form_wrap p.p_hissu {
    font-size: .9em;
    letter-spacing: .05em; } }
div.form_wrap div.form_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: max(2vw, 2em) max(1vw, 1em);
  border-bottom: 1px dotted #ccc; }
  div.form_wrap div.form_flex.top {
    border-top: 1px dotted #ccc; }
  @media screen and (max-width: 599px) {
    div.form_wrap div.form_flex {
      display: block;
      padding: max(2vw, 2em) 0; } }
  div.form_wrap div.form_flex div.left {
    width: 280px; }
    div.form_wrap div.form_flex div.left span.red {
      margin-left: .5em; }
    @media screen and (max-width: 820px) {
      div.form_wrap div.form_flex div.left {
        width: 180px; } }
    @media screen and (max-width: 599px) {
      div.form_wrap div.form_flex div.left {
        padding: 0 0 .5em;
        width: 100%;
        font-weight: bold; } }
  div.form_wrap div.form_flex div.right {
    width: calc(100% - 280px); }
    @media screen and (max-width: 820px) {
      div.form_wrap div.form_flex div.right {
        width: calc(100% - 180px); } }
    @media screen and (max-width: 599px) {
      div.form_wrap div.form_flex div.right {
        width: 100%; } }
    div.form_wrap div.form_flex div.right p.comment {
      margin-bottom: 0;
      font-size: .8125em; }
    div.form_wrap div.form_flex div.right span.p {
      display: block;
      margin-top: 8px;
      font-size: .8125em; }
    div.form_wrap div.form_flex div.right p:empty:before {
      content: none; }
    div.form_wrap div.form_flex div.right select {
      width: 40%; }
      @media screen and (max-width: 599px) {
        div.form_wrap div.form_flex div.right select {
          width: 100%; } }
    div.form_wrap div.form_flex div.right div.innerflex {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1em; }
      @media screen and (max-width: 599px) {
        div.form_wrap div.form_flex div.right div.innerflex {
          grid-template-columns: 1fr; } }
    div.form_wrap div.form_flex div.right div.open {
      padding-top: 1em; }
    div.form_wrap div.form_flex div.right div.shitenname {
      margin-top: 1em;
      width: 40%; }
      @media screen and (max-width: 599px) {
        div.form_wrap div.form_flex div.right div.shitenname {
          width: 100%; } }
div.form_wrap div.form_btn_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: max(1vw, 1em);
  margin-top: max(4vw, 3em); }
  div.form_wrap div.form_btn_wrap button {
    padding: max(1.5vw, 1rem) max(2.5vw, 3rem);
    background: #00ABBB;
    border-radius: 9999px; }
    div.form_wrap div.form_btn_wrap button:hover {
      cursor: pointer;
      opacity: .8; }

div.form_wrap {
  /*reset*/ }
  div.form_wrap input[type="text"], div.form_wrap input[type="number"], div.form_wrap input[type="tel"], div.form_wrap input[type="email"], div.form_wrap button, div.form_wrap textarea, div.form_wrap select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  div.form_wrap select {
    padding: max(0.9vw, 1em);
    border: 1px solid #bbb;
    border-radius: 8px; }
  div.form_wrap input[type="text"], div.form_wrap input[type="number"], div.form_wrap input[type="tel"], div.form_wrap input[type="email"], div.form_wrap textarea {
    outline: none;
    width: 100%;
    padding: .75em;
    border: 1px solid #bbb;
    border-radius: 8px;
    transition: .3s; }
  div.form_wrap input[type="text"]:focus, div.form_wrap input[type="number"]:focus, div.form_wrap input[type="tel"]:focus, div.form_wrap input[type="email"]:focus, div.form_wrap textarea:focus {
    box-shadow: 0 0 6px #00ABBB;
    border: 1px solid #00ABBB; }
  div.form_wrap input[type="submit"], div.form_wrap input[type="button"] {
    position: relative;
    display: inline-block;
    margin: 8px 0;
    padding: 1.5em 2em;
    min-width: 280px;
    color: #fff;
    font-size: .9em;
    font-weight: bold;
    text-align: center;
    background: #00ABBB;
    border: 2px solid #00ABBB;
    border-radius: 100px;
    cursor: pointer;
    transition: .2s; }
    div.form_wrap input[type="submit"]:hover, div.form_wrap input[type="button"]:hover {
      color: #00ABBB;
      background: #fff;
      transition: .2s; }
  div.form_wrap input[type="submit"]:disabled {
    cursor: default;
    opacity: .7; }
  div.form_wrap input[type="submit"]:disabled:hover {
    background-color: #00ABBB; }
  div.form_wrap input[type="text"].p-postal-code {
    max-width: 12em; }
  div.form_wrap input[type="text"].ja-tantou-code {
    max-width: 12em; }
  div.form_wrap .mw_wp_form .error {
    margin: 4px 0;
    font-size: .9em;
    color: crimson; }

/*preview*/
.mw_wp_form_preview div.form_wrap p.p_hissu {
  display: none; }
.mw_wp_form_preview div.form_wrap div.form_flex div.left {
  padding-top: 0; }
.mw_wp_form_preview div.form_wrap div.form_flex div.right span.p {
  display: none; }
.mw_wp_form_preview div.form_wrap div.form_flex div.right.readonly {
  opacity: 1; }

.mw_wp_form p.policy {
  display: none;
  margin: max(2vw, 1.5em) 0 0;
  font-size: max(0.8vw, 0.875em); }
.mw_wp_form.mw_wp_form_input p.policy {
  display: block; }
.mw_wp_form div.kiyaku {
  background: #D3F4F4;
  border-radius: 1.25rem;
  margin: 1.5rem 0;
  padding: .5rem 1.0rem;
  margin: max(2.5vw, 2em) 0 0;
  /*border: 2px solid #8BCFDB;*/ }
  @media screen and (max-width: 820px) {
    .mw_wp_form div.kiyaku {
      font-size: .95em;
      letter-spacing: .05em; } }
  .mw_wp_form div.kiyaku p.txt {
    border-bottom: 2px dotted #fff;
    margin-bottom: .5rem;
    padding-bottom: .5rem; }
