@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

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

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

:root {
  --gothic:
  	"Hiragino Kaku Gothic ProN",
  	"Hiragino Sans",
  	"BIZ UDPGothic",
  	"YuGothic",
  	"Yu Gothic",
  	"游ゴシック体",
  	"Meiryo",
  	"Arial",
  	sans-serif;
  --black: #444;
  --gray: #666;
  --pink: #f09b96;
  --blue: #7dcdf5;
  --bg_pink: #fcebea;
  --bg_blue: #e5f5fd;
  /*--text_pink: #e16e6e;*/
  --text_pink: #d93939;
  --text_pink02: #db0404;
  /*--text_blue: #1ea5e5;*/
  /*--text_blue: #0092cc;*/
  --text_blue: #0073b2;
  --bg_beige: #faf0dc;
}

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

	基本

*************************************************/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, input, select, textarea,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", var(--gothic);
  line-height: 1.75;
  font-size: 1.6em;
  color: var(--black);
}

button:focus-visible,
a　:focus-visible {
  outline: none;
  box-shadow: 0px 0px 0px 2px #000, 0px 0px 0px 3px #fff;
}

input:focus-visible {
  box-shadow: 0px 0px 0px 1px #fff inset, 0px 0px 0px 3px #333 inset;
}

ul {
  list-style: none;
}

a, a:link, a:active, a:visited, a:hover {
  text-decoration: none;
  color: inherit;
}
a.b-link01 {
  text-decoration: underline;
  color: var(--text_blue);
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  a.b-link01:hover {
    opacity: 0.7;
  }
}
a.b-link01.b-link01--pink {
  color: var(--text_pink);
}

button {
  border: none;
  border-radius: 0;
  background: none;
  font: inherit;
  padding: 0;
  cursor: pointer;
  text-transform: inherit;
}

img {
  max-width: 100%;
  vertical-align: top;
  height: auto;
}

*[class*=ttl],
*[class*=copy],
*[class*=btn]:not(.top__accordion_btn01) {
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: 2px;
  -webkit-font-smoothing: antialiased; /*webフォントが太く見えるのを防ぐ（アンチエイリアスを滑らかに）*/
}

.top__contact_list tr th,
.top__sodan__box dt,
.top__accordion_btn01 {
  font-weight: 600;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased; /*webフォントが太く見えるのを防ぐ（アンチエイリアスを滑らかに）*/
}

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

	block

*************************************************/
.b-contents {
  position: relative;
  max-width: 680px;
  width: 96%;
  margin-left: auto;
  margin-right: 4vw;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.2), 0px 0px 30px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 1000px) {
  .b-contents {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .b-contents {
    max-width: initial;
    width: 100%;
  }
}

.b-unit_2col01 {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.b-unit_2col01 > .b-unit_2col01__unit {
  width: 49%;
}
.b-unit_2col01 > .b-unit_2col01__unit:nth-child(odd) {
  margin-right: 2%;
}
.b-unit_2col01 > .b-unit_2col01__unit:nth-child(n+3) {
  margin-top: 2%;
}

.b-unit_2col02 {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.b-unit_2col02 > .b-unit_2col02__unit {
  width: 100%;
}
.b-unit_2col02 > .b-unit_2col02__unit:nth-child(odd) {
  margin-right: 2%;
}
@media screen and (max-width: 767px) {
  .b-unit_2col02 > .b-unit_2col02__unit:nth-child(odd) {
    margin-right: 0;
  }
}
.b-unit_2col02 > .b-unit_2col02__unit:nth-child(n+3) {
  margin-top: 2%;
}
@media screen and (max-width: 767px) {
  .b-unit_2col02 > .b-unit_2col02__unit:nth-child(n+2) {
    margin-top: 2%;
  }
}

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

	button

*************************************************/
.b-btn01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--text_blue);
  border-radius: 10px;
  color: #fff;
  text-align: center;
  width: 90%;
  max-width: 400px;
  margin: 0 auto;
  padding: 0.5em;
  position: relative;
  line-height: 1.2;
  min-height: 70px;
  box-shadow: 0px 0px 10px 0px rgba(68, 68, 68, 0.4);
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-btn01 a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .b-btn01 a {
    min-height: 60px;
  }
}
.b-btn01 a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 1em;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-right: 3px solid;
  border-bottom: 3px solid;
  border-color: #fff;
  transform: rotate(-45deg);
}
.b-btn01.b-btn01--pink a {
  background: var(--text_pink);
}
.b-btn01__disabled a {
  pointer-events: none;
  /*background: #c7c6c6;*/
  /*background: #919191;*/
  background: #757575;
  box-shadow: none;
}

.b-btn02 {
  margin-top: 30px;
}
.b-btn02 a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
  color: var(--blue);
  border: 2px solid;
  text-align: center;
  width: 60%;
  max-width: 400px;
  margin: 0 auto;
  padding: 0.5em;
  position: relative;
  line-height: 1.5;
  min-height: 70px;
  box-shadow: 0px 0px 10px 0px rgba(68, 68, 68, 0.2);
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-btn02 a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .b-btn02 a {
    min-height: 60px;
    width: 70%;
  }
}
.b-btn02 a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 1em;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-right: 3px solid;
  border-bottom: 3px solid;
  border-color: var(--blue);
  transform: rotate(-45deg);
}
.b-btn02--pink a {
  color: var(--pink);
}
.b-btn02--pink a::after {
  border-color: var(--pink);
}
.b-btn02--green a {
  color: #51bd9f;
}
.b-btn02--green a::after {
  border-color: #51bd9f;
}
.b-btn02__disabled a {
  color: var(--gray);
  pointer-events: none;
  background: #EDEDEE;
  box-shadow: none;
}
.b-btn02__disabled a::after {
  border-color: var(--gray);
}

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

	icon

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

	utility

*************************************************/
.b-m0 {
  margin: 0px !important;
}

.b-mt0 {
  margin-top: 0px !important;
}

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

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

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

.b-p0 {
  padding: 0px !important;
}

.b-pt0 {
  padding-top: 0px !important;
}

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

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

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

.b-m5 {
  margin: 5px !important;
}

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

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

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

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

.b-p5 {
  padding: 5px !important;
}

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

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

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

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

.b-m10 {
  margin: 10px !important;
}

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

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

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

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

.b-p10 {
  padding: 10px !important;
}

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

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

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

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

.b-m15 {
  margin: 15px !important;
}

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

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

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

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

.b-p15 {
  padding: 15px !important;
}

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

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

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

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

.b-m20 {
  margin: 20px !important;
}

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

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

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

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

.b-p20 {
  padding: 20px !important;
}

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

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

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

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

.b-m25 {
  margin: 25px !important;
}

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

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

.b-ml25 {
  margin-left: 25px !important;
}

.b-mr25 {
  margin-right: 25px !important;
}

.b-p25 {
  padding: 25px !important;
}

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

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

.b-pl25 {
  padding-left: 25px !important;
}

.b-pr25 {
  padding-right: 25px !important;
}

.b-m30 {
  margin: 30px !important;
}

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

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

.b-ml30 {
  margin-left: 30px !important;
}

.b-mr30 {
  margin-right: 30px !important;
}

.b-p30 {
  padding: 30px !important;
}

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

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

.b-pl30 {
  padding-left: 30px !important;
}

.b-pr30 {
  padding-right: 30px !important;
}

.b-m35 {
  margin: 35px !important;
}

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

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

.b-ml35 {
  margin-left: 35px !important;
}

.b-mr35 {
  margin-right: 35px !important;
}

.b-p35 {
  padding: 35px !important;
}

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

.b-pb35 {
  padding-bottom: 35px !important;
}

.b-pl35 {
  padding-left: 35px !important;
}

.b-pr35 {
  padding-right: 35px !important;
}

.b-m40 {
  margin: 40px !important;
}

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

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

.b-ml40 {
  margin-left: 40px !important;
}

.b-mr40 {
  margin-right: 40px !important;
}

.b-p40 {
  padding: 40px !important;
}

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

.b-pb40 {
  padding-bottom: 40px !important;
}

.b-pl40 {
  padding-left: 40px !important;
}

.b-pr40 {
  padding-right: 40px !important;
}

.b-m45 {
  margin: 45px !important;
}

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

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

.b-ml45 {
  margin-left: 45px !important;
}

.b-mr45 {
  margin-right: 45px !important;
}

.b-p45 {
  padding: 45px !important;
}

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

.b-pb45 {
  padding-bottom: 45px !important;
}

.b-pl45 {
  padding-left: 45px !important;
}

.b-pr45 {
  padding-right: 45px !important;
}

.b-m50 {
  margin: 50px !important;
}

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

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

.b-ml50 {
  margin-left: 50px !important;
}

.b-mr50 {
  margin-right: 50px !important;
}

.b-p50 {
  padding: 50px !important;
}

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

.b-pb50 {
  padding-bottom: 50px !important;
}

.b-pl50 {
  padding-left: 50px !important;
}

.b-pr50 {
  padding-right: 50px !important;
}

.b-m55 {
  margin: 55px !important;
}

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

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

.b-ml55 {
  margin-left: 55px !important;
}

.b-mr55 {
  margin-right: 55px !important;
}

.b-p55 {
  padding: 55px !important;
}

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

.b-pb55 {
  padding-bottom: 55px !important;
}

.b-pl55 {
  padding-left: 55px !important;
}

.b-pr55 {
  padding-right: 55px !important;
}

.b-m60 {
  margin: 60px !important;
}

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

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

.b-ml60 {
  margin-left: 60px !important;
}

.b-mr60 {
  margin-right: 60px !important;
}

.b-p60 {
  padding: 60px !important;
}

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

.b-pb60 {
  padding-bottom: 60px !important;
}

.b-pl60 {
  padding-left: 60px !important;
}

.b-pr60 {
  padding-right: 60px !important;
}

.b-m65 {
  margin: 65px !important;
}

.b-mt65 {
  margin-top: 65px !important;
}

.b-mb65 {
  margin-bottom: 65px !important;
}

.b-ml65 {
  margin-left: 65px !important;
}

.b-mr65 {
  margin-right: 65px !important;
}

.b-p65 {
  padding: 65px !important;
}

.b-pt65 {
  padding-top: 65px !important;
}

.b-pb65 {
  padding-bottom: 65px !important;
}

.b-pl65 {
  padding-left: 65px !important;
}

.b-pr65 {
  padding-right: 65px !important;
}

.b-m70 {
  margin: 70px !important;
}

.b-mt70 {
  margin-top: 70px !important;
}

.b-mb70 {
  margin-bottom: 70px !important;
}

.b-ml70 {
  margin-left: 70px !important;
}

.b-mr70 {
  margin-right: 70px !important;
}

.b-p70 {
  padding: 70px !important;
}

.b-pt70 {
  padding-top: 70px !important;
}

.b-pb70 {
  padding-bottom: 70px !important;
}

.b-pl70 {
  padding-left: 70px !important;
}

.b-pr70 {
  padding-right: 70px !important;
}

.b-m75 {
  margin: 75px !important;
}

.b-mt75 {
  margin-top: 75px !important;
}

.b-mb75 {
  margin-bottom: 75px !important;
}

.b-ml75 {
  margin-left: 75px !important;
}

.b-mr75 {
  margin-right: 75px !important;
}

.b-p75 {
  padding: 75px !important;
}

.b-pt75 {
  padding-top: 75px !important;
}

.b-pb75 {
  padding-bottom: 75px !important;
}

.b-pl75 {
  padding-left: 75px !important;
}

.b-pr75 {
  padding-right: 75px !important;
}

.b-m80 {
  margin: 80px !important;
}

.b-mt80 {
  margin-top: 80px !important;
}

.b-mb80 {
  margin-bottom: 80px !important;
}

.b-ml80 {
  margin-left: 80px !important;
}

.b-mr80 {
  margin-right: 80px !important;
}

.b-p80 {
  padding: 80px !important;
}

.b-pt80 {
  padding-top: 80px !important;
}

.b-pb80 {
  padding-bottom: 80px !important;
}

.b-pl80 {
  padding-left: 80px !important;
}

.b-pr80 {
  padding-right: 80px !important;
}

.b-m85 {
  margin: 85px !important;
}

.b-mt85 {
  margin-top: 85px !important;
}

.b-mb85 {
  margin-bottom: 85px !important;
}

.b-ml85 {
  margin-left: 85px !important;
}

.b-mr85 {
  margin-right: 85px !important;
}

.b-p85 {
  padding: 85px !important;
}

.b-pt85 {
  padding-top: 85px !important;
}

.b-pb85 {
  padding-bottom: 85px !important;
}

.b-pl85 {
  padding-left: 85px !important;
}

.b-pr85 {
  padding-right: 85px !important;
}

.b-m90 {
  margin: 90px !important;
}

.b-mt90 {
  margin-top: 90px !important;
}

.b-mb90 {
  margin-bottom: 90px !important;
}

.b-ml90 {
  margin-left: 90px !important;
}

.b-mr90 {
  margin-right: 90px !important;
}

.b-p90 {
  padding: 90px !important;
}

.b-pt90 {
  padding-top: 90px !important;
}

.b-pb90 {
  padding-bottom: 90px !important;
}

.b-pl90 {
  padding-left: 90px !important;
}

.b-pr90 {
  padding-right: 90px !important;
}

.b-m95 {
  margin: 95px !important;
}

.b-mt95 {
  margin-top: 95px !important;
}

.b-mb95 {
  margin-bottom: 95px !important;
}

.b-ml95 {
  margin-left: 95px !important;
}

.b-mr95 {
  margin-right: 95px !important;
}

.b-p95 {
  padding: 95px !important;
}

.b-pt95 {
  padding-top: 95px !important;
}

.b-pb95 {
  padding-bottom: 95px !important;
}

.b-pl95 {
  padding-left: 95px !important;
}

.b-pr95 {
  padding-right: 95px !important;
}

.b-m100 {
  margin: 100px !important;
}

.b-mt100 {
  margin-top: 100px !important;
}

.b-mb100 {
  margin-bottom: 100px !important;
}

.b-ml100 {
  margin-left: 100px !important;
}

.b-mr100 {
  margin-right: 100px !important;
}

.b-p100 {
  padding: 100px !important;
}

.b-pt100 {
  padding-top: 100px !important;
}

.b-pb100 {
  padding-bottom: 100px !important;
}

.b-pl100 {
  padding-left: 100px !important;
}

.b-pr100 {
  padding-right: 100px !important;
}

.b-d_ib {
  display: inline-block;
}

.b-pc_br {
  display: inline;
}
@media screen and (max-width: 767px) {
  .b-pc_br {
    display: none;
  }
}

.b-sp_br {
  display: none;
}
@media screen and (max-width: 767px) {
  .b-sp_br {
    display: inline;
  }
}

.b-notes {
  font-size: 1.6rem;
  color: var(--gray);
}
.b-notes:first-of-type {
  margin-top: 5px;
}

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

	text

*************************************************/
.b-center {
  text-align: center !important;
}

.b-left {
  text-align: left !important;
}

.b-right {
  text-align: right !important;
}

.b-small {
  font-size: 0.8em;
}

.b-big {
  font-size: 1.2em;
}

.b-bold {
  font-weight: bold;
}

.b-underline {
  text-decoration: underline;
}

.b-pink {
  color: var(--text_pink02);
}

.header .haeder__inner {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6% 4%;
}
.header .header__logo {
  width: 150px;
  transition: all 0.3s;
}
.header .header__logo a {
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .header .header__logo a:hover {
    opacity: 0.7;
  }
}
.header .header__logo a img {
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .header .header__logo {
    width: 28%;
  }
}
.header .gnav {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.2);
  transition: all 0.3s;
  pointer-events: none;
  background: #fff;
  /*max-width: 450px;*/
  width: 100%;
  height: 100vh;
  height: 100svh;
  background: var(--bg_pink);
  /*@include mq() {
  	max-width: initial;
  }*/
}
.header .gnav.is-open {
  opacity: 1;
  pointer-events: auto;
}
.header .gnav .gnav__menu {
  display: block;
  padding: 100px 60px 60px;
  overflow: auto;
  height: 100%;
}
@media screen and (max-width: 540px) {
  .header .gnav .gnav__menu {
    padding: 60px 20px 40px;
  }
}
.header .gnav .gnav__menu > li {
  border-bottom: 1px solid var(--pink);
}
.header .gnav .gnav__menu > li + li {
  margin-left: 0;
}
.header .gnav .gnav__menu > li a {
  display: block;
  padding: 15px 25px 15px 5px;
  position: relative;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .header .gnav .gnav__menu > li a:hover {
    opacity: 0.7;
  }
}
.header .gnav .gnav__menu > li a::before {
  content: "";
  display: block;
  background: var(--text_pink);
  width: 20px;
  height: 20px;
  border-radius: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 5px;
}
.header .gnav .gnav__menu > li a:not([class])::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 13px;
  display: block;
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  border-color: #fff;
  transform: rotate(-45deg);
}
.header .gnav .gnav__menu > li a.gnav__menu__anchor::after {
  position: absolute;
  top: -2px;
  bottom: 0;
  margin: auto;
  right: 12px;
  display: block;
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  border-color: #fff;
  transform: rotate(45deg);
}
.header .gnav .gnav__menu > li a.gnav__accordion_btn01 {
  position: relative;
  cursor: pointer;
}
.header .gnav .gnav__menu > li a.gnav__accordion_btn01 .ico_accordion {
  display: block;
  background: var(--text_pink);
  width: 20px;
  height: 20px;
  border-radius: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 5px;
}
.header .gnav .gnav__menu > li a.gnav__accordion_btn01 .ico_accordion::before, .header .gnav .gnav__menu > li a.gnav__accordion_btn01 .ico_accordion::after {
  content: "";
  display: block;
  width: 10px;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.header .gnav .gnav__menu > li a.gnav__accordion_btn01 .ico_accordion::after {
  transform: rotate(-90deg);
  transition: all 0.3s;
}
.header .gnav .gnav__menu > li a.gnav__accordion_btn01._open .ico_accordion::after {
  opacity: 0;
  transform: rotate(0);
}
.header .gnav .gnav__menu .sub__menu {
  display: none;
  background: #fff;
  padding: 20px;
  margin-bottom: 15px;
  border-radius: 10px;
}
.header .gnav .gnav__menu .sub__menu li a {
  padding: 10px;
  padding-right: 30px;
}
.header .gnav .gnav__menu .sub__menu li a p {
  font-size: 1.4rem;
}
.header .gnav .gnav__menu .sub__menu li:not(:last-child) a {
  border-bottom: 1px solid var(--pink);
}
.header .gnav .gnav__menu .gnav__accordion_btn01__title {
  font-size: 1.8rem;
  color: var(--text_pink);
}
.header .header__box {
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
.header .header__btn_menu {
  display: block;
  position: relative;
  width: 35px;
  height: 35px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.8);
  margin-left: 20px;
}
.header .header__btn_menu span {
  width: 100%;
  height: 3px;
  background: var(--text_pink);
  display: block;
  position: absolute;
  left: 0;
  border-radius: 2px;
}
.header .header__btn_menu span:nth-child(1) {
  top: 15%;
  transition: top 0.3s, transform 0.3s;
}
.header .header__btn_menu span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.3s;
}
.header .header__btn_menu span:nth-child(3) {
  top: 85%;
  transform: translateY(-100%);
  transition: top 0.3s, transform 0.3s;
}
.header .header__btn_menu.is-open span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(40deg);
}
.header .header__btn_menu.is-open span:nth-child(2) {
  opacity: 0;
}
.header .header__btn_menu.is-open span:nth-child(3) {
  top: 50%;
  transform: translateY(-50%) rotate(-40deg);
}

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

	menu__pc

*************************************************/
.bg__pc {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  height: 100svh;
  width: 100%;
  background-image: url("/images/bg_img01.png"), url("/images/bg_img02.png");
  background-repeat: repeat-x;
  background-position: left top, left bottom;
  background-size: auto 50px, auto 120px;
  background-color: var(--bg_beige);
}
@media (max-height: 800px) {
  .bg__pc {
    background-size: auto 30px, auto 80px;
  }
}
@media screen and (max-width: 767px) {
  .bg__pc {
    display: none;
  }
}

.menu__pc__wrapper {
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 10vh 40px 16vh;
  width: 36vw;
}
@media (min-width: 1201px) {
  .menu__pc__wrapper {
    margin-left: 4vw;
  }
}
@media screen and (max-width: 1200px) {
  .menu__pc__wrapper {
    width: 26vw;
    padding-left: 2vw;
    padding-right: 2vw;
  }
}
@media screen and (max-width: 1100px) {
  .menu__pc__wrapper {
    margin-left: 0;
  }
}
@media screen and (max-width: 1000px) {
  .menu__pc__wrapper {
    display: none;
  }
}
@media (orientation: portrait) and (max-width: 1024px) {
  .menu__pc__wrapper { /*iPad Pro縦 */
    justify-content: center;
  }
  .menu__pc__wrapper .menu__pc__logo {
    margin: 5vh 0;
  }
}
@media (max-height: 800px) {
  .menu__pc__wrapper {
    justify-content: flex-start;
    padding-bottom: 10vh;
  }
  .menu__pc__wrapper .menu__pc__logo {
    width: 80%;
    margin: 3vh auto;
  }
}
@media (max-height: 800px) and (max-width: 1200px) {
  .menu__pc__wrapper .menu__pc__logo {
    margin-left: 0;
  }
}

.menu__pc__logo__fukuoka {
  width: 120px;
}

.menu__pc__logo {
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
}

.menu__pc {
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  justify-content: flex-end;
  /*max-width: 300px;*/
  letter-spacing: 1px;
}
@media (min-width: 1201px) {
  .menu__pc {
    margin: 0 auto;
  }
}
@media (max-width: 1200px) {
  .menu__pc {
    margin-right: auto;
  }
}
.menu__pc li {
  /*&:not(:last-child){
  	margin-bottom: 5px;
  }*/
}
.menu__pc li a {
  display: inline-block;
  padding: 7px;
  padding-right: 40px;
  transition: color 0.3s;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  .menu__pc li a {
    font-size: 13px;
  }
}
@media (max-height: 800px) {
  .menu__pc li a {
    font-size: 13px;
    padding-top: 5px;
    padding-bottom: 5px;
    /*width: 150px;*/
  }
}
.menu__pc li a:hover {
  color: var(--text_pink);
}
.menu__pc li a::before {
  content: "";
  display: block;
  background: var(--text_pink);
  width: 20px;
  height: 20px;
  border-radius: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 5px;
}
.menu__pc li a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 13px;
  display: block;
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  border-color: #fff;
  transform: rotate(-45deg);
}

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

	title

*************************************************/
.h2__ttl01 {
  text-align: center;
  margin-bottom: 20px;
  font-size: 2.8rem;
  color: var(--text_pink02);
}
@media screen and (max-width: 767px) {
  .h2__ttl01 {
    font-size: 2.3rem;
  }
}
.h2__ttl01 span {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: 2px solid;
}
.h2__ttl01.h2__ttl01--blue {
  color: var(--text_blue);
}

.h3__ttl01 {
  text-align: center;
  font-size: 2.1rem;
  margin-bottom: 10px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .h3__ttl01 {
    font-size: 1.8rem;
  }
}
.h3__ttl01.h3__ttl01--pink {
  color: var(--text_pink02);
  font-size: 2.4rem;
}

.h3__ttl02 {
  font-size: 2.1rem;
  margin-bottom: 10px;
  margin-top: 30px;
  color: var(--text_pink);
  border-left: 2px solid;
  padding-left: 10px;
  line-height: 1.6;
}
.h3__ttl02 span {
  color: var(--text_pink);
}
@media screen and (max-width: 767px) {
  .h3__ttl02 {
    font-size: 1.8rem;
  }
}

.h3__ttl03 {
  text-align: center;
  font-size: 2.1rem;
  background: var(--text_pink);
  color: #fff;
  padding: 10px;
  line-height: 1.6;
  margin-top: 30px;
  border-radius: 10px 10px 0 0;
}
@media screen and (max-width: 767px) {
  .h3__ttl03 {
    font-size: 1.8rem;
  }
}

.h3__ttl04 {
  margin-bottom: 20px;
  line-height: 1.6;
  font-size: 2.1rem;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.h3__ttl04 figure {
  width: 70px;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .h3__ttl04 {
    font-size: 1.8rem;
  }
}

.h4__ttl01 {
  margin-bottom: 20px;
  padding-bottom: 10px;
  color: var(--text_pink);
  border-bottom: 1px dashed;
  line-height: 1.6;
  font-size: 1.8rem;
  padding-left: 1em;
  text-indent: -1em;
}

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

	list

*************************************************/
.top__dl01:not(:last-of-type) {
  margin-bottom: 20px;
}
.top__dl01 dt {
  font-weight: bold;
}

.top__ul01 li {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 20px;
}

.top__ul02 {
  margin: 10px 0;
}
.top__ul02 li {
  padding-left: 1em;
  text-indent: -1em;
}

.top__ol01 {
  padding-left: 1em;
  margin-top: 10px;
}
.top__ol01 > li {
  margin-bottom: 10px;
}

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

	section

*************************************************/
.section__inner {
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .section__inner {
    padding: 0 20px;
  }
}

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

	s-sec02

*************************************************/
.s-sec02 {
  padding: 50px 0;
}

.top__lead {
  /*text-align: center;*/
}

.top_img01 {
  text-align: center;
  margin-top: 20px;
}
.top_img01 img {
  max-width: 220px;
}

.top__topics {
  background: var(--bg_pink);
  padding: 20px;
  border-radius: 10px;
  /*margin-top: 50px;*/
  margin-top: 30px;
}
.top__topics time {
  color: var(--gray);
  font-size: 1.4rem;
  margin-right: 10px;
  display: block;
}
.top__topics ul li {
  display: flex;
}
.top__topics ul li:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .top__topics ul li {
    display: block;
  }
}

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

	s-sec03

*************************************************/
.top__btn_area01 {
  background: var(--bg_blue);
  padding: 30px 40px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top__btn_area01 {
    padding: 20px;
  }
}
.top__btn_area01.top__btn_area01--pink {
  background: var(--bg_pink);
}
.top__btn_area01__img01 {
  position: absolute;
  top: -10%;
  left: 7%;
  width: 18%;
}
@media screen and (max-width: 767px) {
  .top__btn_area01__img01 {
    width: 22%;
  }
}
.top__btn_area01__img02 {
  position: absolute;
  top: -2%;
  right: 5%;
  width: 15%;
}
@media screen and (max-width: 767px) {
  .top__btn_area01__img02 {
    width: 18%;
  }
}
.top__btn_area01__img03 {
  position: absolute;
  bottom: -7%;
  left: 4%;
  width: 23%;
}
@media screen and (max-width: 767px) {
  .top__btn_area01__img03 {
    bottom: -4%;
    width: 25%;
  }
}

.top__btn_area01__inner {
  background: #fff;
  border-radius: 10px;
  padding: 30px 20px;
}

.top__btn_area01__notes {
  color: var(--text_pink);
  /*font-size: 1.4rem;*/
  margin-top: 10px;
}

.top__btn_area01__box + .top__btn_area01__box {
  margin-top: 40px;
}

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

	s-sec04

*************************************************/
.s-sec04 {
  padding: 50px 0;
  background: var(--bg_blue);
}
.s-sec04 .top__btn_area01__notes {
  color: var(--black);
}
.s-sec04 .top__accordion_btn01__title {
  margin-bottom: 0;
  padding: 0 0.5em;
  text-align: left;
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .s-sec04 .top__accordion_btn01__title {
    font-size: 1.8rem;
    letter-spacing: 0;
    padding: 0;
  }
}

.top__copy {
  text-align: center;
  /*border: 3px solid;
  border-radius: 10px;
  border-color: var(--text_blue);
  background: #fff;*/
  width: 90%;
  font-size: 2.3rem;
  margin: 0 auto;
  padding: 0 0.5em 1em;
  /*transform: translateY(-40px);*/
  line-height: 1.6;
  font-weight: bold;
  margin-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top__copy {
    font-size: 1.8rem;
    padding-bottom: 1.5em;
  }
}
.top__copy__img01 {
  position: absolute;
  bottom: -15%;
  right: 0;
  width: 30%;
}
@media screen and (max-width: 767px) {
  .top__copy__img01 {
    bottom: -20%;
    width: 28%;
  }
}

.top__accordion {
  border-radius: 10px;
  box-shadow: 0px 0px 10px 0px rgba(68, 68, 68, 0.4);
  overflow: hidden;
}
.top__accordion:not(:last-of-type) {
  margin-bottom: 20px;
}

.top__accordion_btn01 {
  background: var(--text_blue);
  color: #fff;
  padding: 20px;
  padding-right: 50px;
  /*border-radius: 10px;*/
  position: relative;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .top__accordion_btn01:hover {
    opacity: 0.7;
  }
}
.top__accordion_btn01 .ico_accordion {
  display: block;
  background: #fff;
  width: 26px;
  height: 26px;
  border-radius: 13px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 15px;
}
.top__accordion_btn01 .ico_accordion::before, .top__accordion_btn01 .ico_accordion::after {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  background: var(--text_blue);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.top__accordion_btn01 .ico_accordion::after {
  transform: rotate(-90deg);
  transition: all 0.3s;
}
.top__accordion_btn01._open .ico_accordion::after {
  opacity: 0;
  transform: rotate(0);
}

.top__accordion_btn01__title {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .top__accordion_btn01__title {
    font-size: 2.1rem;
  }
}
.top__accordion_btn01__title span {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: 2px solid;
}

.top__accordion__box01 {
  display: none;
  background: #fff;
  padding: 20px;
}

.manga__box01 {
  margin-top: 20px;
}

.manga__box02 {
  margin-top: 10px;
  margin-bottom: 30px;
  text-indent: 0;
  text-align: center;
}

.top__target__box {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 40px;
}
.top__target__box .top__target__box__inner:last-of-type {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px dashed #d1d1d1;
}
.top__target__box .top__target__box__ttl {
  color: var(--text_blue);
  font-size: 2.1rem;
  margin-bottom: 10px;
  border-left: 2px solid;
  padding-left: 10px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .top__target__box .top__target__box__ttl {
    font-size: 1.8rem;
  }
}

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

	s-sec05

*************************************************/
.s-sec05 {
  padding: 180px 0 50px;
  background-image: url("/images/bg_img03.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100% auto;
}
@media screen and (max-width: 767px) {
  .s-sec05 {
    padding-top: 28%;
  }
}

/*.top__contact{
	background: #fff;
	padding: 20px;
	border-radius: 10px;
	margin-top: 50px;
}*/
.top__contact_list {
  width: 100%;
  margin-top: 20px;
}
@media screen and (max-width: 320px) {
  .top__contact_list {
    font-size: 4vw;
  }
}
.top__contact_list thead tr:not(:last-child) {
  border-bottom: 2px solid #fff;
}
.top__contact_list thead th {
  padding: 10px;
  line-height: 1.5;
  vertical-align: middle;
  background: var(--bg_pink);
}
.top__contact_list thead th:not(:last-child) {
  border-right: 2px solid #fff;
}
.top__contact_list tbody tr:nth-child(even) {
  background: #EDEDEE;
}
.top__contact_list tbody td {
  padding: 10px;
  vertical-align: middle;
}
.top__contact_list tbody td:first-child {
  color: var(--gray);
}
.top__contact_list tbody td:first-child b {
  color: var(--black);
}
.top__contact_list tbody td:not(:first-child) {
  text-align: center;
  border-left: 1px solid #fff;
}

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

	s-sec06

*************************************************/
.s-sec06 {
  padding: 50px 0;
  background: var(--bg_pink);
}

.top__sodan__box {
  background: #fff;
  padding: 20px;
  border-radius: 0 0 10px 10px;
}
.top__sodan__box dt {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .top__sodan__box dt {
    font-size: 1.6rem;
  }
}
.top__sodan__box02 {
  margin-top: 30px;
  border-radius: 10px;
}

.top__sodan__box__inner {
  margin-top: 40px;
}

.top__sodan__box_bnr {
  margin-top: 15px;
}
.top__sodan__box_bnr a {
  display: block;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .top__sodan__box_bnr a:hover {
    opacity: 0.7;
  }
}
.top__sodan__box_bnr a img {
  border-radius: 10px;
  border: 4px solid #fff;
  box-shadow: 0px 0px 10px 0px rgba(68, 68, 68, 0.3);
}

.top__sodan__line {
  border: 2px solid var(--blue);
  border-radius: 10px;
  padding: 30px 20px;
}
.top__sodan__line .b-btn01 {
  margin-top: 20px;
}

.top__sodan__link li:not(:first-child) {
  margin-top: 10px;
}
.top__sodan__link li a {
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .top__sodan__link li a:hover {
    opacity: 0.7;
  }
}

.top__sodan__area {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.top__sodan__area li {
  width: calc((100% - 10px) / 2);
}
.top__sodan__area li:nth-child(n+3) {
  margin-top: 10px;
}
.top__sodan__area li a {
  display: block;
  text-align: center;
  background: var(--gray);
  color: #fff;
  border-radius: 10px;
  padding: 10px;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .top__sodan__area li a:hover {
    opacity: 0.7;
  }
}
.top__sodan__area li:nth-child(1) a {
  background: #007bc2;
}
.top__sodan__area li:nth-child(2) a {
  background: #4a2c84;
}
.top__sodan__area li:nth-child(3) a {
  background: #e0182b;
}
.top__sodan__area li:nth-child(4) a {
  background: #81103f;
}
.top__sodan__area li:nth-child(5) a {
  background: #293e79;
}
.top__sodan__area li:nth-child(6) a {
  background: #007331;
}
.top__sodan__area li:nth-child(7) a {
  background: #ef6b18;
}

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

	s-sec07

*************************************************/
.s-sec07 {
  padding: 50px 0;
}

.top__faq {
  margin-bottom: 40px;
}
.top__faq .top__accordion {
  counter-reset: faq 0;
}
.top__faq .top__accordion .top__accordion_btn01 {
  background: var(--text_pink);
}
.top__faq .top__accordion .top__accordion_btn01 .top__accordion_btn01__title {
  margin-bottom: 0;
  padding: 0 0.5em;
  text-align: left;
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .top__faq .top__accordion .top__accordion_btn01 .top__accordion_btn01__title {
    font-size: 1.8rem;
  }
}
.top__faq .top__accordion .top__accordion_btn01 .ico_accordion::after, .top__faq .top__accordion .top__accordion_btn01 .ico_accordion::before {
  background: var(--text_pink);
}
.top__faq .top__faq__box dl dt {
  position: relative;
  background: var(--bg_pink);
  padding: 10px 10px 10px 50px;
  border-radius: 5px;
  font-weight: bold;
}
.top__faq .top__faq__box dl dt::after {
  position: absolute;
  top: 8px;
  left: 15px;
  counter-increment: faq;
  content: "Q" counter(faq);
  color: var(--text_pink);
  font-size: 1.2em;
}
.top__faq .top__faq__box dl:nth-of-type(n + 10) dt {
  padding: 10px 10px 10px 60px;
}
.top__faq .top__faq__box dd {
  margin-top: 5px;
  padding: 0 5px;
  text-align: justify;
}
.top__faq .top__faq__box dd a {
  color: var(--text_pink);
  text-decoration: underline;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .top__faq .top__faq__box dd a:hover {
    opacity: 0.7;
  }
}
.top__faq .top__faq__inner_box {
  margin-bottom: 30px;
}
.top__faq .top__faq__inner_box .top__faq__inner_box__title01 {
  font-size: 1.8rem;
  padding-left: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top__faq .top__faq__inner_box .top__faq__inner_box__title01 {
    font-size: 1.6rem;
  }
}
.top__faq .top__faq__inner_box .top__faq__inner_box__title01::before {
  content: "●";
  color: var(--text_pink);
  position: absolute;
  left: 0;
}
.top__faq .top__faq__inner_box .top__faq__inner_box__title01:not(:first-of-type) {
  margin-top: 20px;
}
.top__faq .top__faq__inner_box .top__faq__inner_box__title02 {
  margin-top: 10px;
  text-indent: -0.5em;
}

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

	s-sec08

*************************************************/
.s-sec08 {
  padding: 20px 0 50px;
  background: var(--bg_pink);
}

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

	s-sec09

*************************************************/
.s-sec09 {
  padding: 70px 0 50px;
  background: var(--bg_beige);
  background-image: url(/images/bg_img01.png);
  background-size: auto 50px;
  background-repeat: repeat-x;
  background-position: top;
}
.s-sec09 .h2__ttl01 span {
  display: inline;
}

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

	footer

*************************************************/
.footer {
  margin-top: 30px;
}

.footer__copy {
  text-align: center;
  color: var(--gray);
  font-size: 1.2rem;
  padding: 20px 0;
}

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

	chatbot

*************************************************/
.bot-window .bot {
  z-index: 2147483647 !important; /*言語選択より上に*/
}
/*# sourceMappingURL=style.css.map */
