@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

/*
font-family: "Roboto", sans-serif;
font-family: "Noto Sans JP", sans-serif;
font-family: "Noto Serif JP", serif;
*/

/* ---------------------------------------------------------------------------
//  base
--------------------------------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing: border-box; }
*::before,
*::after { box-sizing: border-box; }
html, body { width: 100%; height: 100%; }
img, iframe { border: 0; vertical-align: bottom; }
ul, ol { list-style-type: none; }
a { text-decoration: none; }
mark { font-weight: bold; color: inherit; background-color: transparent; }
em { font-style: normal; }
address { font-style: normal; }
table { border-collapse: collapse; border-spacing: 0; }
input, select { vertical-align: baseline; }

.cf::after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }

:root {
  --yel: #FFF609;
  --orn: #FFB100;
  --grn: #13AF8B;
  --red: #DC0808;
}

/* ---------------------------------------------------------------------------
//  all
--------------------------------------------------------------------------- */
html { font-size: 62.5%; }
@media (max-width: 1280px) {
  html { font-size: calc(100vw / 1280 * 10); }
} /*@*/

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #000;
  line-height: 1.8;
  background: #FFF;
}
h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.4; }

a { transition: .3s; color: inherit; }
@media (min-width: 768px) {
  a:hover { opacity: .7; }
}
.preload a { transition: none !important; }

.wrap { margin: 0 auto; overflow: hidden; }
.inner { max-width: 100rem; height: 100%; margin: 0 auto; position: relative; }
ul.indent li { text-indent: -1em; padding-left: 1em; }
ul.dot li::before { content: "・"; }
ol.num { counter-reset: li; }
ol.num > li { text-indent: -1.2em; padding-left: 1.2em; }
ol.num > li:before { content: counter(li) "."; counter-increment: li; padding-right: 5px; }
ol.brackets { counter-reset: li; }
ol.brackets > li { text-indent: -1.55em; padding-left: 1.55em; }
ol.brackets > li:nth-child(n+10) { text-indent: -2.1em; padding-left: 2.1em; }
ol.brackets > li:before { content: "(" counter(li) ")"; counter-increment: li; padding-right: 5px; }
hr { display: block; height: 1px; border: none; border-top: 1px solid rgba(255,255,255,0.2); margin: 1em 0; }
img { width: 100%; height: auto; }
img.cover { width: 100%; height: 100%; object-fit: cover; }
img.contain { width: 100%; height: 100%; object-fit: contain; }
.text-overflow { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.sml { font-size: 80%; }
.t-center { text-align: center; }
.t-right { text-align: right; }
.pc-center { text-align: center; }
.bold { font-weight: 700; }

.flex { display: flex; justify-content: space-between; }
.flex.jstart { justify-content: flex-start; }
.flex.jend { justify-content: flex-end; }
.flex.jcenter { justify-content: center; }
.flex.fwrap { flex-wrap: wrap; }
.flex.fwrap.bottom > * { margin-bottom: 20px; }
.flex.istart { align-items: flex-start; }
.flex.iend { align-items: flex-end; }
.flex.icenter { align-items: center; }
.flex.half > * { width: 48%; }
.flex.half50 > * { width: 50%; }
.flex.third > * { width: 31%; }
.flex.quarter > * { width: 24%; }
.flex.reverse { flex-flow: row-reverse; }
.flex.third.fwrap::after { content: ""; width: 31%; display: block; }
.flex.quarter.fwrap::before { content: ""; width: 24%; display: block; order: 1; }
.flex.quarter.fwrap::after { content: ""; width: 24%; display: block; }

a.scale { overflow: hidden; }
a.scale img { transition: .3s; }
@media (min-width: 768px) {
  a.scale:hover img { transform: scale(1.05); }
}

section { position: relative; }

/* /////////////////////////////////////////////////////////////////////////// */

@charset "UTF-8";

.sp-only,
.sp-only-inline { display: none; }
br.pc { display: block; }
br.sp { display: none; }
a[href^="tel:"] { pointer-events: none; cursor: default; }

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {

html > * { -webkit-tap-highlight-color: rgba(0,0,0,0); }
html { overflow-y: visible; }
body { min-width: 100%; overflow-x: hidden;font-size: 1.4rem; }
body.fixed { position: fixed; width: 100%; height: 100%; }

.sp-only { display: block; }
.sp-only-inline { display: inline; }
.pc-only { display: none; }
br.pc { display: none; }
br.sp { display: block; }
a[href^="tel:"] { pointer-events: auto; cursor: pointer; }

.wrap { min-width: 38rem; margin: 0 auto; }
.inner { width: 100%; padding-left: 2rem; padding-right: 2rem; }

.flex:not(.alw) { flex-flow: column nowrap; }
.flex.istart:not(.alw),
.flex.iend:not(.alw),
.flex.icenter:not(.alw) { align-items: stretch; }
.flex.half:not(.alw) > * { width: 100%; }
.flex.half50:not(.alw) > * { width: 100%; }
.flex.third:not(.alw) > * { width: 100%; }
.flex.quarter:not(.alw) > * { width: 100%; }
.flex.reverse:not(.alw) { flex-flow: column nowrap; }
/*
.flex:not(.alw) > * { margin-bottom: 20px; }
.flex:not(.alw) > *:last-child { margin-bottom: 0; }
*/
.flex.sp-half > * { width: 48%; }
.flex.sp-half50 > * { width: 50%; }
.flex.sp-fwrap { flex-wrap: wrap; }

.pc-center { text-align: left; }
.sp-center { text-align: center; }

.table-wrapper { overflow: auto; white-space: nowrap; }
.table-wrapper table { width: auto; }

html { font-size: calc(100vw / 375 * 10); }

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

/* ---------------------------------------------------------------------------
//  header
--------------------------------------------------------------------------- */
header {
  display: block;
  width: 100%;
  height: 8rem;
  background: #fff;
}
header .head {
  height: 100%;
  padding: 0 3rem;
}
header .logo {
  width: 56rem;
}
header .btns a {
  color: #fff;
  margin-left: 2rem;
  display: block;
  padding: .5rem 1rem;
  border-radius: 1rem;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  width: 22rem;
}
header .btns .mail {
  background: var(--grn);
}
header .btns .mail::before {
  content: "";
  display: inline-block;
  background: url(../img/icon-mail.png) center center / contain no-repeat;
  width: 3.4rem;
  height: 3.4rem;
  vertical-align: -.9rem;
  margin-right: .8rem;
}

header .btns .tel {
  background: var(--orn);
}
header .btns .tel::before {
  content: "";
  display: inline-block;
  background: url(../img/icon-tel.png) center center / contain no-repeat;
  width: 3.4rem;
  height: 3.4rem;
  vertical-align: -.9rem;
  margin-right: .8rem;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
header {
  height: auto;
}
header .head {
  padding: 2rem;
}
header .btns {
  display: none;
}
header .logo {
  width: 100%;
}
} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

/* ---------------------------------------------------------------------------
//  footer
--------------------------------------------------------------------------- */
footer {
  padding: 3rem 0 12rem;
  background: #1E5245;
  color: #fff;
}
footer .nav {
  gap: 6rem;
}
footer .copyright {
  padding-top: 3rem;
  margin-top: 3rem;
  border-top: .1rem solid #84a099;
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
footer {
  padding: 3rem 0 10rem;
}
footer .nav {
  gap: 2rem;
  font-size: 1.3rem;
}
footer .copyright {
  padding-top: 2rem;
  margin-top: 2rem;
  font-size: 1.1rem;
}
} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

/* ---------------------------------------------------------------------------
//  common
--------------------------------------------------------------------------- */

h2.common {
  background: var(--grn);
  padding: 2rem;
  text-align: center;
  font-size: 4rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 5rem;
}

.cta1 {
  background: #469BA8;
  padding: 3rem;
  margin-bottom: 6rem;
}
.cta1 h2 {
  font-size: 3.6rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-bottom: 2rem;
}
.cta1 .btns a {
  color: #fff;
  padding: 1rem;
  border: .2rem solid #fff;
  border-radius: 1rem;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.cta1 .btns .mail {
  background: #1F79AB;
}
.cta1 .btns .mail::before {
  content: "";
  display: inline-block;
  background: url(../img/icon-mail.png) center center / contain no-repeat;
  width: 4.2rem;
  height: 4.2rem;
  vertical-align: -.7rem;
  margin-right: .8rem;
}

.cta1 .btns .tel {
  background: var(--orn);
}
.cta1 .btns .tel::before {
  content: "";
  display: inline-block;
  background: url(../img/icon-tel.png) center center / contain no-repeat;
  width: 4.2rem;
  height: 4.2rem;
  vertical-align: -.7rem;
  margin-right: .8rem;
}

#cta2 {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 999;
  background: rgba(70,155,168,0.8);
  padding: 1.5rem;
}
#cta2 .btns a {
  color: #fff;
  padding: .8rem;
  border: .2rem solid #fff;
  border-radius: 1rem;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
#cta2 .btns .mail {
  background: #1F79AB;
}
#cta2 .btns .mail::before {
  content: "";
  display: inline-block;
  background: url(../img/icon-mail.png) center center / contain no-repeat;
  width: 3.2rem;
  height: 3.2rem;
  vertical-align: -.7rem;
  margin-right: .8rem;
}

#cta2 .btns .tel {
  background: var(--orn);
}
#cta2 .btns .tel::before {
  content: "";
  display: inline-block;
  background: url(../img/icon-tel.png) center center / contain no-repeat;
  width: 3.2rem;
  height: 3.2rem;
  vertical-align: -.7rem;
  margin-right: .8rem;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
h2.common {
  font-size: 2rem;
  margin-bottom: 3rem;
}
.cta1 {
  padding: 2rem;
  margin-bottom: 3rem;
}
.cta1 h2 {
  font-size: 2rem;
}
.cta1 .btns a {
  padding: .6rem;
  font-size: 2.4rem;
}
.cta1 .btns .mail {
  margin-bottom: 1rem;
}
.cta1 .btns .mail::before {
  width: 2.6rem;
  height: 2.6rem;
  vertical-align: -.3rem;
}
.cta1 .btns .tel::before {
  width: 2.6rem;
  height: 2.6rem;
  vertical-align: -.3rem;
}

#cta2 {
  padding: 1rem;
}
#cta2 .inner {
  padding: 0;
}
#cta2 .btns a {
  font-size: 1.6rem;
}
#cta2 .btns .mail::before {
  width: 2rem;
  height: 2rem;
  vertical-align: -.4rem;
  margin-right: .4rem;
}
#cta2 .btns .tel::before {
  width: 2rem;
  height: 2rem;
  vertical-align: -.4rem;
  margin-right: .4rem;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

/* ---------------------------------------------------------------------------
//  main
--------------------------------------------------------------------------- */
.mv {
  background: url(../img/mv.jpg) center center / cover no-repeat;
  padding: 10rem 0;
  text-align: center;
  margin-bottom: 6rem;
}
.mv .copy h1 {
  font-size: 12.4rem;
  font-weight: 900;
  line-height: 1;
  color: var(--yel);
  text-shadow: 1rem 1rem 2rem rgba(0,0,0,0.5);
  margin-bottom: 3rem;
}
.mv .copy p {
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-shadow: 1rem 1rem 2rem rgba(0,0,0,0.5);
}
.mv .copy p span {
  background: var(--red);
  padding: 0 .2em;
  margin: 0 .5rem;
  text-shadow: none;
  box-shadow: 1rem 1rem 2rem rgba(0,0,0,0.5);
}
.mv .inspection {
  background: url(../img/inspection.png) center center / 3rem repeat;
  border: .5rem solid var(--red);
  border-radius: 1.5rem;
  margin: 6rem auto 0;
  width: 65rem;
  padding: 3rem 2rem;
  box-shadow: 1rem 1rem 2rem rgba(0,0,0,0.5);
}
.mv .inspection h2 {
  font-size: 4.5rem;
  font-weight: 900;
  line-height: 1.2;
  color: var(--red);
  margin-bottom: 1rem;
}
.mv .inspection p {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.mv {
  background: url(../img/mv-sp.jpg) center center / cover no-repeat;
  padding: 5rem 0;
  margin-bottom: 1rem;
}

.mv .copy h1 {
  font-size: 4.5rem;
  margin-bottom: 3rem;
}
.mv .copy p {
  font-size: 2.4rem;
}
.mv .inspection {
  background: url(../img/inspection.png) center center / 2rem repeat;
  border: .3rem solid var(--red);
  margin: 3rem auto 0;
  width: 100%;
  padding: 2rem;
}
.mv .inspection h2 {
  font-size: 2.3rem;
  margin-bottom: .5rem;
}
.mv .inspection p {
  font-size: 1.8rem;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec01 {
  max-width: 118rem;
  background: url(../img/sec01.jpg) center center / cover no-repeat;
  padding: 5rem 0;
  margin: 0 auto 8rem;
}
.sec01 p {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 2;
  color: #fff;
}
.sec01 p span {
  font-size: 4rem;
  color: var(--yel);
  background: linear-gradient(to top, var(--red) 1.6rem, transparent 1.6rem);
  vertical-align: baseline;
}
.sec01 .icon {
  width: 41rem;
  margin: 0 -4rem -8rem auto;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec01 {
  background: url(../img/sec01-sp.jpg) center top / cover no-repeat;
  padding: 15rem 0 5rem;
  margin-bottom: 6rem;
}
.sec01 p {
  font-size: 1.4rem;
  display: table;
  margin: 0 auto;
}
.sec01 p span {
  font-size: 1.6rem;
  background: linear-gradient(to top, var(--red) 1rem, transparent 1rem);
}
.sec01 .icon {
  width: 26rem;
  margin: 2rem auto -8rem;
}
} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec02 {
  background: linear-gradient(to bottom, #FFB100 20rem, #FFE79F 20rem);
  padding: 1rem 0 8rem;
}
.sec02 h2 {
  font-size: 5.4rem;
  font-weight: 900;
  line-height: 1.2;
  color: var(--red);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem 0;
  margin-bottom: 12rem;
}
.sec02 h2::before {
  content: "";
  display: inline-block;
  background: url(../img/icon-caution.png) center center / contain no-repeat;
  width: 12.5rem;
  height: 11rem;
  margin-right: 2rem;
}
.sec02 .items {
  gap: 8rem 2rem;
}
.sec02 .item {
  border: .5rem solid #000;
  background: #fff;
  padding: 1rem 2rem 2.5rem;
  border-radius: 2rem;
  width: calc((100% - 2rem * 2) / 3);
}
.sec02 .item .icon {
  width: 10rem;
  margin: -7rem auto 1rem;
}
.sec02 .item p {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.sec02 .item p span {
  color: var(--red);
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec02 {
  background: linear-gradient(to bottom, #FFB100 14rem, #FFE79F 14rem);
  padding: 1rem 0 4rem;
}
.sec02 h2 {
  font-size: 2.2rem;
  margin-bottom: 6rem;
}
.sec02 h2::before {
  width: 7.5rem;
  height: 6.6rem;
}
.sec02 .items {
  gap: 4rem 4%;
}
.sec02 .item {
  border: .3rem solid #000;
  background: #fff;
  padding: 1rem 0;
  border-radius: 2rem;
  width: 48%;
}
.sec02 .item .icon {
  width: 5rem;
  margin: -4rem auto 1rem;
}
.sec02 .item p {
  font-size: 1.4rem;
}
} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec03 {
  background: url(../img/sec03.jpg) center center / cover no-repeat;
  padding: 6rem 0 8rem;
}
.sec03 h2 {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--yel);
  text-align: center;
  margin-bottom: 4rem;
}
.sec03 .list {
  background: #fff;
  padding: 5rem;
  border-radius: 2rem;
}
.sec03 .list ul {
  display: table;
  margin: 0 auto;
}
.sec03 .list li {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 2.8rem;
  line-height: 1.4;
  margin-bottom: .5rem;
}
.sec03 .list li::before {
  content: "●";
  color: var(--grn);
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec03 {
  padding: 3rem 0 4rem;
}
.sec03 h2 {
  font-size: 2.2rem;
  margin-bottom: 3rem;
}
.sec03 .list {
  padding: 2rem;
}
.sec03 .list li {
  font-size: 1.4rem;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec04 {
  padding-bottom: 4rem;
}
.sec04 .frame {
  border: .5rem solid var(--red);
  padding: 2rem 4rem 4rem;
  margin-top: 8rem;
}
.sec04 .frame h3 {
  display: table;
  background: #fff;
  font-size: 4rem;
  font-weight: 700;
  color: var(--red);
  padding: 0 2rem;
  margin: -5.5rem auto 3rem;
}
.sec04 .frame h4 {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 3rem;
}
.sec04 .frame ul {
  gap: 2rem 0;
}
.sec04 .frame li {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  display: flex;
  align-items: flex-start;
}
.sec04 .frame li::before {
  content: "";
  display: inline-block;
  background: url(../img/icon-check.png) center center / contain no-repeat;
  width: 3rem;
  height: 3rem;
  margin: .5rem 1rem 0 0;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec04 .frame {
  border: .3rem solid var(--red);
  padding: 3rem;
  margin-top: 4rem;
}
.sec04 .frame h3 {
  font-size: 2rem;
  padding: 0 1rem;
  margin: -4.6rem auto 2rem;
}
.sec04 .frame h4 {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 3rem;
}
.sec04 .frame ul {
  gap: 1rem 0;
}
.sec04 .frame li {
  font-size: 1.5rem;
}
.sec04 .frame li::before {
  width: 1.4rem;
  height: 1.4rem;
  margin: .5rem .5rem 0 0;
}
} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec05 {
  padding: 1rem 0 8rem;
  background: linear-gradient(to bottom, #DAEDF3 0%, #8DD6F0 100%);
}
.sec05 .title {
  margin: -4rem auto 3rem;
}
.sec05 .title h2 {
  font-size: 6rem;
  font-weight: 900;
  color: #0073D8;
  display: inline-block;
  border-bottom: .8rem solid var(--orn);
}
.sec05 .title p {
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
}
.sec05 .title .image {
  width: 14rem;
  margin: 0 0 2rem 2rem;
}
.sec05 h3 {
  font-size: 3.8rem;
  font-weight: 700;
  color: #0073D8;
  text-align: center;
  margin-bottom: 3rem;
}
.sec05 .items {
  gap: 3rem 0
}
.sec05 .item {
  background: #fff;
  border: .3rem solid #0AA9C8;
  padding: 3rem 4rem;
  border-radius: 1.5rem;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0AA9C8;
  display: flex;
  align-items: center;
}
.sec05 .item::before {
  content: "";
  display: inline-block;
  background: url(../img/icon-check.png) center center / contain no-repeat;
  width: 3.8rem;
  height: 3.8rem;
  margin-right: 1.2rem;
}
.sec05 .item span {
  background: linear-gradient(to top, #FCF48D 1.6rem, transparent 1.6rem);
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec05 {
  padding: 2rem 0 4rem;
}
.sec05 .title {
  margin: 0 auto 2rem;
  align-items: flex-start;
}
.sec05 .title h2 {
  font-size: 3.2rem;
  border-bottom: .4rem solid var(--orn);
  padding-bottom: .8rem;
  margin-bottom: .8rem;
}
.sec05 .title p {
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: left;
}
.sec05 .title .image {
  width: 9rem;
  margin: 0 0 2rem 1rem;
}
.sec05 h3 {
  font-size: 1.5rem;
  margin-bottom: 2rem;
}
.sec05 .items {
  gap: 1rem 0;
  width: fit-content;
  margin: 0 auto;
}
.sec05 .item {
  border: .2rem solid #0AA9C8;
  padding: 1.5rem 2rem;
  font-size: 1.6rem;
}
.sec05 .item::before {
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
}
.sec05 .item span {
  background: linear-gradient(to top, #FCF48D 1rem, transparent 1rem);
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec06 {
  padding-bottom: 8rem;
}
.sec06 h3 {
  font-size: 3.6rem;
  text-align: center;
}
.sec06 .flex {
  margin-top: 5rem;
}
.sec06 .text {
  padding: 0 0 0 4rem;
}
.sec06 .reverse .text {
  padding: 0 4rem 0 0;
}
.sec06 .text p {
  font-size: 2.8rem;
  font-weight: 700;
  color: #3E8171;
  line-height: 1.6;
}
.sec06 .photo {
  flex: 1;
  margin: 0 0 0 calc(50% - 50vw);
}
.sec06 .reverse .photo {
  margin: 0 calc(50% - 50vw) 0 0;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec06 {
  padding-bottom: 4rem;
}
.sec06 h3 {
  font-size: 1.8rem;
}
.sec06 .flex {
  margin-top: 3rem;
}
.sec06 .text {
  padding: 1rem 0 0;
}
.sec06 .reverse .text {
  padding: 1rem 0 0;
}
.sec06 .text p {
  font-size: 1.6rem;
  font-weight: 700;
  color: #3E8171;
  line-height: 1.6;
}
.sec06 .photo {
  margin: 0;
}
.sec06 .reverse .photo {
  margin: 0;
}
} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec07 {
  padding-bottom: 8rem;
}
.sec07 .box {
  background: #E6E6E6;
}
.sec07 .box .red {
  background: var(--red);
  padding: 0 3rem 0 4rem;
  align-self: stretch;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.sec07 .box .red::after {
  content: "";
  display: block;
  background: var(--red);
  width: 6rem;
  height: 100%;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  position: absolute;
  top: 0;
  right: -6rem;
}
.sec07 .box h3 {
  font-size: 3rem;
  color: #fff;
}
.sec07 .box .gray {
  padding: 4rem 4rem;
}
.sec07 .box p {
  font-size: 2.2rem;
  font-weight: 700;
}
.sec07 .icons {
  margin-top: 5rem;
}
.sec07 .icons .item {
  width: 18rem;
}
.sec07 .icons .item .icon {
  width: 13rem;
  margin: 0 auto 1.5rem;
}
.sec07 .icons .item p {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  color: #61AECF;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec07 {
  padding-bottom: 4rem;
}
.sec07 .box .red {
  padding: 2rem 2rem 1rem;
}
.sec07 .box .red::after {
  width: 100%;
  height: 3rem;
  clip-path: polygon(0 0,100% 0, 50% 100%);
  top: auto;
  bottom: -2.9rem;
  right: 0;
}
.sec07 .box h3 {
  font-size: 2.4rem;
  color: #fff;
}
.sec07 .box .gray {
  padding: 4rem 3rem 3rem;
}
.sec07 .box p {
  font-size: 1.8rem;
}
.sec07 .icons {
  margin-top: 3rem;
  justify-content: center;
  gap: 3rem 4%;
}
.sec07 .icons .item {
  width: 48%;
}
.sec07 .icons .item .icon {
  width: 10rem;
  margin: 0 auto .5rem;
}
.sec07 .icons .item p {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  color: #61AECF;
}
} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec08 {
  padding-bottom: 8rem;
}
.sec08 .not {
  background: #3A3A3A;
  border-radius: 1.5rem;
  overflow: hidden;
}
.sec08 .not h3 {
  background: #171717;
  font-size: 2.8rem;
  color: var(--red);
  text-align: center;
  padding: 1rem;
}
.sec08 .not ul {
  font-size: 2.2rem;
  color: var(--yel);
  display: table;
  margin: 0 auto;
  padding: 2rem 0;
}
.sec08 .not ul li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: .8rem;
}

.sec08 .do {
  background: #DCF4F2;
  border-radius: 1.5rem;
  overflow: hidden;
}
.sec08 .do h3 {
  background: #9CDCD7;
  font-size: 2.8rem;
  color: var(--yel);
  text-align: center;
  padding: 1rem;
}
.sec08 .do ul {
  font-size: 2.2rem;
  color: #0073D8;
  display: table;
  margin: 0 auto;
  padding: 2rem 0;
}
.sec08 .do ul li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: .8rem;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec08 {
  padding-bottom: 4rem;
}
.sec08 .not {
  margin-bottom: 2rem;
}
.sec08 .not h3 {
  font-size: 2.2rem;
}
.sec08 .not ul {
  font-size: 1.6rem;
}
.sec08 .do h3 {
  font-size: 2.2rem;
}
.sec08 .do ul {
  font-size: 1.6rem;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec09 {
  padding-bottom: 8rem;
  background: #D9F2EC;
}
.sec09 .item {
  background: #fff;
  margin-bottom: 3rem;
}
.sec09 .item .text {
  padding: 3rem 4rem;
}
.sec09 .item .text h3 {
  font-size: 2.8rem;
  margin-bottom: 1rem;
}
.sec09 .item .text h3 .num {
  font-size: 6rem;
  color: var(--grn);
  margin-right: 1rem;
}
.sec09 .item .text p {
  color: #5C5C5C;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec09 {
  padding-bottom: 4rem;
}
.sec09 .item .text {
  padding: 1rem 3rem 2rem;
}
.sec09 .item .text h3 {
  font-size: 2rem;
  margin-bottom: .5rem;
}
.sec09 .item .text h3 .num {
  font-size: 4rem;
  margin-right: .5rem;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec10 {
  padding-bottom: 8rem;
}
.sec10 h3 {
  font-size: 3.4rem;
  text-align: center;
  margin-bottom: 5rem;
}
.sec10 .plan.light {
  border: .8rem solid #73D5D1;
}
.sec10 .plan.light h4 {
  font-size: 3.4rem;
  text-align: center;
  color: #fff;
  padding: 1rem 1rem 1.5rem;
  background: #73D5D1;
}
.sec10 .plan.light .text {
  height: 15rem;
  background: #DFF8F8;
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.6;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec10 .plan.standard {
  border: .8rem solid #F3CC5F;
}
.sec10 .plan.standard h4 {
  font-size: 3.4rem;
  text-align: center;
  color: #fff;
  padding: 1rem 1rem 1.5rem;
  background: #F3CC5F;
}
.sec10 .plan.standard .text {
  height: 15rem;
  background: #F7EBCB;
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sec10 .plan .price {
  padding: 2rem 2rem 3rem;
  line-height: 1.2;
}
.sec10 .plan .price .yen {
  font-size: 6rem;
  font-weight: 700;
  text-align: center;
}
.sec10 .plan .price .yen .num {
  font-size: 8rem;
}
.sec10 .plan .price .yen .sml {
  font-size: 2.2rem;
}
.sec10 .plan .price .kome {
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec10 {
  padding-bottom: 4rem;
}
.sec10 h3 {
  font-size: 2.4rem;
  margin-bottom: 3rem;
}
.sec10 .plan.light {
  margin-bottom: 3rem;
}
.sec10 .plan.light h4 {
  font-size: 2.2rem;
  padding: .5rem 1rem 1rem;
}
.sec10 .plan.light .text {
  height: auto;
  font-size: 1.6rem;
  padding: 2rem 0;
}
.sec10 .plan.standard h4 {
  font-size: 2.2rem;
  padding: .5rem 1rem 1rem;
}
.sec10 .plan.standard .text {
  height: auto;
  font-size: 1.6rem;
  padding: 2rem 0;
}
.sec10 .plan .price {
  padding: 1rem 1rem 2rem;
}
.sec10 .plan .price .yen {
  font-size: 3rem;
}
.sec10 .plan .price .yen .num {
  font-size: 5rem;
}
.sec10 .plan .price .yen .sml {
  font-size: 1.8rem;
}
.sec10 .plan .price .kome {
  font-size: 1.3rem;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec11 {
  padding-bottom: 8rem;
}
.sec11 .flow {
  margin-top: 8rem;
}
.sec11 .item {
  border: .5rem solid var(--grn);
  border-radius: 1.5rem;
  padding: 3rem 2.4rem;
}
.sec11 .item .num {
  font-size: 5rem;
  font-weight: 900;
  color: #fff;
  text-align: center;
  background: var(--grn);
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: -7rem auto 2rem;
}
.sec11 .item .icon {
  width: 15rem;
  margin: 0 auto 2rem;
}
.sec11 .item h3 {
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: calc(2 * 1.4em);
}
.sec11 .item p {
  font-size: 2.2rem;
  line-height: 1.6;
  color: #5C5C5C;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec11 {
  padding-bottom: 4rem;
}
.sec11 .flow {
  margin-top: 5rem;
}
.sec11 .item {
  border: .3rem solid var(--grn);
  padding: 2rem;
  margin-bottom: 4rem;
}
.sec11 .item .num {
  font-size: 3rem;
  width: 5rem;
  height: 5rem;
  margin: -5rem auto 1rem;
}
.sec11 .item .icon {
  width: 8rem;
  margin: 0 auto 1rem;
}
.sec11 .item h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
  min-height: initial;
}
.sec11 .item p {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #5C5C5C;
}
} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec12 {
  padding-bottom: 8rem;
}
.sec12 .voices {
  gap: 4rem 0;
}
.sec12 .voice {
  padding: 3rem;
  border-radius: 1.5rem;
  box-shadow: .3rem .3rem .6rem rgba(0,0,0,0.1);
}
.sec12 .voice01 {
  background: #FFF4EA;
}
.sec12 .voice02 {
  background: #FBFEEF;
}
.sec12 .voice03 {
  background: #EEF7F4;
}
.sec12 .voice .name {
  font-size: 1.4rem;
  text-align: right;
  margin-top: 1rem;
}
.sec12 .voice .name::before {
  content: "";
  display: inline-block;
  background: url(../img/sec11-name.png) center center / contain no-repeat;
  width: 2.4rem;
  height: 2.8rem;
  margin-right: .8rem;
  vertical-align: -.6rem;
}
.sec12 .voice-other p {
  background: #C0E8DF;
  border-radius: 10rem;
  padding: 1rem 3rem;
  display: table;
  position: relative;
  margin-bottom: 4rem;
}
.sec12 .voice-other01 {
  margin-left: 4rem;
}
.sec12 .voice-other02 {
  margin-left: auto;
}
.sec12 .voice-other01::after {
  content: "";
  background: #C0E8DF;
  width: 2rem;
  height: 3rem;
  clip-path: polygon(0 0,100% 0, 50% 100%);
  position: absolute;
  left: 4rem;
  bottom: -2.9rem;
  transform: skewX(-30deg);
}
.sec12 .voice-other02::after {
  content: "";
  background: #C0E8DF;
  width: 2rem;
  height: 3rem;
  clip-path: polygon(0 0,100% 0, 50% 100%);
  position: absolute;
  right: 4rem;
  bottom: -2.9rem;
  transform: skewX(30deg);
}
.sec12 .voice-other03::after {
  content: "";
  background: #C0E8DF;
  width: 2rem;
  height: 3rem;
  clip-path: polygon(0 0,100% 0, 50% 100%);
  position: absolute;
  left: 4rem;
  bottom: -2.9rem;
  transform: skewX(-30deg);
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec12 {
  padding-bottom: 4rem;
}
.sec12 .voices {
  gap: 2rem 0;
}
.sec12 .voice .name {
  font-size: 1.2rem;
}
.sec12 .voice .name::before {
  width: 2rem;
  height: 2.4rem;
  vertical-align: -.5rem;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec13 {
  padding-bottom: 8rem;
}
.sec13 .frame {
  border: .5rem solid var(--orn);
  padding: 5rem;
}
.sec13 .frame p {
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
.sec13 .frame p + p {
  margin-top: 2rem;
}
.sec13 .frame p span {
  background: linear-gradient(to top, #F3AAAA 1.6rem, transparent 1.6rem);
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec13 {
  padding-bottom: 4rem;
}
.sec13 .frame {
  border: .3rem solid var(--orn);
  padding: 2rem;
}
.sec13 .frame p {
  font-size: 1.4rem;
}
.sec13 .frame p + p {
  margin-top: 1.5rem;
}
.sec13 .frame p span {
  background: linear-gradient(to top, #F3AAAA 1rem, transparent 1rem);
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec14 {
  padding: 6rem 0 8rem;
  background: #CDEAE3;
}
.sec14 h2 {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
  color: #3E8171;
  text-align: center;
  margin-bottom: 5rem;
}
.sec14 .faq {
  width: 80rem;
  background: #fff;
  border-radius: 3rem;
  padding: 0 2rem;
  margin: 0 auto 2rem;
}
.sec14 .faq dt {
  font-size: 2.2rem;
  font-weight: 700;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 2rem 0;
  position: relative;
  cursor: pointer;
}
.sec14 .faq dt:hover {
  opacity: .7;
}
.sec14 .faq dt::before {
  content: "Q";
  display: block;
  width: 4rem;
  height: 4rem;
  background: var(--grn);
  border-radius: 50%;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec14 .faq dt::after {
  content: "";
  display: block;
  background: url(../img/icon-down.png) center center / cover no-repeat;
  width: 2rem;
  height: 1.2rem;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}
.sec14 .faq dt.active::after {
  background: url(../img/icon-up.png) center center / cover no-repeat;
}
.sec14 .faq dd {
  font-size: 2rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 2rem 0;
  border-top: .1rem solid #D8D8D8;
}
.sec14 .faq dd::before {
  content: "A";
  display: block;
  width: 4rem;
  height: 4rem;
  background: var(--orn);
  border-radius: 50%;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec14 {
  padding: 3rem 0 4rem;
}
.sec14 h2 {
  font-size: 2rem;
  margin-bottom: 3rem;
}
.sec14 .faq {
  width: 100%;
  border-radius: 2rem;
  padding: 0 1.5rem;
  margin: 0 auto 1rem;
}
.sec14 .faq dt {
  font-size: 1.4rem;
  padding: 1rem 0;
}
.sec14 .faq dt::before {
  width: 2.6rem;
  height: 2.6rem;
  font-size: 1.4rem;
}
.sec14 .faq dt::after {
  width: 1.4rem;
  height: .8rem;
}
.sec14 .faq dd {
  font-size: 1.4rem;
  padding: 1rem 0;
}
.sec14 .faq dd::before {
  width: 2.6rem;
  height: 2.6rem;
  font-size: 1.4rem;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec15 {
  padding: 6rem 0 8rem;
}
.sec15 h2 {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 5rem;
}
.mailform {
  width: 80rem;
  margin: 0 auto;
}
.mailform th {
  width: 22rem;
  text-align: left;
  font-size: 1.8rem;
  padding: 1.5rem 0;
}
.mailform th span {
  color: var(--red);
}
.mailform td {
  font-size: 1.8rem;
  padding: 1.5rem 0;
}

.mailform input[type="text"],
.mailform input[type="email"],
.mailform input[type="tel"],
.mailform select,
.mailform textarea {
  font-weight: 400;
  font-size: 1.6rem;
  background: #F2F2F2;
  padding: 1rem;
  width: 100%;
  box-sizing: border-box;
  border: .1rem solid #F2F2F2;
}
.mailform select { width: auto; }
.mailform textarea { height: 20rem; }
::-webkit-input-placeholder { color: #BCBCBC; }
:-ms-input-placeholder { color: #BCBCBC; }
::placeholder { color: #BCBCBC; }
.mailform input[type=checkbox] { transform: scale(1.2); }
.mailform label { cursor: pointer; }

.sec15 button[type="submit"] {
  font-weight: 700;
  font-size: 2.2rem;
  background: #3E8171;
  display: block;
  width: 40rem;
  height: 8rem;
  line-height: 8rem;
  border: none;
  border-radius: 1.5rem;
  text-align: center;
  color: #fff;
  cursor: pointer;
  position: relative;
  -webkit-appearance: none;
  transition: .3s;
  margin: 4rem auto 0;
}
.sec15 button[type="submit"]:hover { opacity: .7; }
.sec15 button[type="submit"]:active { top: 1px; }

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec15 {
  padding: 3rem 0 4rem;
}
.sec15 h2 {
  font-size: 2rem;
  margin-bottom: 3rem;
}
.mailform {
  width: 100%;
  margin: 0 auto;
}
.mailform th {
  width: 100%;
  font-size: 1.4rem;
  padding: 0 0 .5rem;
  display: block;
}
.mailform td {
  font-size: 1.4rem;
  padding: 0 0 1.5rem;
  display: block;
}
.mailform input[type="text"],
.mailform input[type="email"],
.mailform input[type="tel"],
.mailform select,
.mailform textarea {
  font-size: 1.4rem;
}
.mailform textarea { height: 15rem; }
.sec15 button[type="submit"] {
  font-size: 1.8rem;
  width: 100%;
  height: 6rem;
  line-height: 6rem;
  border-radius: 1.5rem;
  margin: 2rem auto 0;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec16 {
  padding: 6rem 0 8rem;
  background: #EDFAF7;
}
.sec16 h2 {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
  color: #3E8171;
  text-align: center;
  margin-bottom: 5rem;
}
.sec16 h3 {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 5rem;
}
.sec16 .outline {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 0;
  width: 60rem;
  margin: 0 auto;
}
.sec16 .outline dt {
  width: 10em;
  padding-bottom: 1rem;
  border-bottom: .1rem solid var(--grn);
}
.sec16 .outline dd {
  width: calc(100% - 10em);
  padding-bottom: 1rem;
  border-bottom: .1rem solid #B3B3B3;
}

/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec16 {
  padding: 3rem 0 4rem;
}
.sec16 h2 {
  font-size: 2rem;
  margin-bottom: 3rem;
}
.sec16 h3 {
  font-size: 1.6rem;
  margin-bottom: 3rem;
}
.sec16 .outline {
  gap: 1.5rem 0;
  width: 100%;
  font-size: 1.3rem;
}
.sec16 .outline dt {
  width: 9em;
  padding-bottom: .5rem;
}
.sec16 .outline dd {
  width: calc(100% - 9em);
  padding-bottom: .5rem;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec17 {
  padding: 0 0 8rem;
}
.sec17 .link-btn {
  display: block;
  width: 60rem;
  padding: 1rem 2rem;
  background: #EBEBEB;
  border: .1rem solid #ccc;
  margin: 0 auto 1rem;
  position: relative;
}
.sec17 .link-btn::after {
  content: "❯";
  color: #939393;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}
.sec17 .link {
  display: flex;
  flex-wrap: wrap;
}
.sec17 .link dt {
  width: 5em;
}
.sec17 .link dd {
  width: calc(100% - 5em);
}
/* /////////////////////////////////////////////////////////////////////////// */
@media (max-width: 768px) {
.sec17 {
  padding: 0 0 4rem;
}
.sec17 .link-btn {
  width: 100%;
  padding: .8rem 2.5rem .8rem 1rem;
}
.sec17 .link-btn::after {
  right: 1rem;
}
.sec17 .link {
  font-size: 1.3rem;
}

} /*@*/
/* /////////////////////////////////////////////////////////////////////////// */

.sec-link {
  padding-bottom: 10rem;
}
.sec-link ul {
  gap: 2rem 0;
}
.sec-link li {
  border: .1rem solid #ddd;
  padding: 2rem;
}
.sec-link li h3 {
  font-size: 2rem;
  text-align: center;
  border-bottom: .1rem solid #ddd;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}
.sec-link li .bnr {
  display: table;
  margin: 0 auto;
}
.sec-link li .bnr img {
  max-width: 100%;
  width: auto;
  height: auto;
}
.sec-link li p {
  font-size: 1.4rem;
  font-weight: 400;
  margin-top: 1rem;
}

/* --------------------------------------------------------------------------- */

.sec-profile {
  padding-bottom: 10rem;
}
.sec-profile .profile-table {
  width: 80rem;
  margin: 0 auto;
}
.sec-profile .profile-table th,
.sec-profile .profile-table td {
  border: .1rem solid #ddd;
  padding: 2rem;
  text-align: left;
}
.sec-profile .profile-table th {
  width: 20rem;
}
.sec-profile .profile-table td {
  font-weight: 400;
}
