@charset "UTF-8";
/* ===================================
Reset
=================================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 2;
  font-feature-settings: 'palt' on;
  letter-spacing: 0.04em;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

/* input textarea reset
==============================　*/
input,
textarea,
select {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  max-width: 100%;
  outline: none;
  outline: 0;
}

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

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

/* ===================================
Foundation
=================================== */
* {
  box-sizing: border-box;
  line-break: strict;
}


/* テキスト
==============================　*/
a {
  text-decoration: none;
  color: inherit;
}

strong {
  font-weight: bold;
}

b {
  font-weight: bold;
}

sup {
  vertical-align: top;
}

.ye {
  color: #b29677;
  font-weight: 500;
}

.sip{
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
}

.wh{
  font-weight: 600;
  color: #fff;
  background-color: #121952;
}

.noteBox{
  padding: 20px 0 30px 20px;
}
.note{
  font-size: 12px;
  font-weight: 300;
  font-family: 'Noto Sans JP', sans-serif;
  color: #7C7C7C;
  line-height: 1.4;
  letter-spacing: -0.01em;
  text-indent: -1em;
  margin: 0 0 0 1em;
  padding-bottom: 6px;
}

.f-18{
  font-size: 18px;
}

.flex{
  display: flex;
}

.br_sp{
  display: none;
}
@media(max-width:380px) {
  .br_sp{
    display: inline;
  }
}


/* メディア
==============================　*/
img {
  display: block;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

video {
  display: block;
  max-width: 100%;
  height: auto;
  outline: none;
}

iframe {
  max-width: 100%;
}

/* 改行 
================================ */
.br_45{
  display: none;
}

@media(max-width:450px) {
  .br_45{
    display: inline;
  }
}

.br_47{
  display: inline;
}

@media(max-width:470px) {
  .br_47{
    display: none;
  }
}

/* ===================================
共通
=================================== */
body {
  font-family: "Noto Serif JP", "Noto Sans JP", serif;
  font-size: 16px;
	font-weight: 300;
	position: relative;
	margin: 0 auto;
	color: #121952;
	background: #fff;
}

.main {
  max-width: 500px;
  display: block;
  margin: 0 auto;
  background: #F0EFE9;
}

.fv{
  background-color: #f0efe9;
}

h2{
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.08em;
  position: relative;
}
h2 span{
  position: relative;
  z-index: 2;
}
.ttl_bg{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -10px;
  z-index: 0;
}

@media(min-width:600px) {
  .main {
    margin-right: 60px;
  }
  .fixBox {
    left: auto;
  }
}
@media(min-width:500px) {
  .left_div {
    display: block;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    height: 100%;
  }
  .left_div video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media(max-width:500px) {
  .left_div video{
    display: none;
  }
}


section{
  padding: 50px 24px 80px;
}

/* contact */
.contact {
  background: #121952;
  color: #fff;
  text-align: center;
  line-height: 1.6;
}

.price .el_txt_detail .un-br,
.contact .un-br{
  display: none;
}
@media(max-width:475px) {
  .price .el_txt_detail .un-br,
  .contact .un-br{
    display: inline-block;
  }
}
.bl_box{
  padding: 0 10px 40px;
}

.contact .ttl {
  background: #080D38;
  padding: 0 10px;
  font-size: 24px;
  font-weight: 400;
  display: block;
  padding: 24px 10px;
  line-height: 1.4;
}

.contact .el_txt{
  margin: 24px 0;
  text-align: center;
}

.contact .btn_top{
  margin-bottom: 24px;
}

.contact .btn_top span{
  display: inline-block;
  font-size: 18px;
  text-align: center;
  font-weight: 600;
}
.contact .btn_top img {
  display: inline-block;
  margin-bottom: -3px;
}
@media screen and (max-width: 340px) {
  .contact .btn_top img {
    width: 24px;
  }
}
.contact small{
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: -.03em;
  display: block;
  margin-top: 23px;
  font-family: 'Noto Sans JP', sans-serif;
}
.contact small + small{
  margin-top: 2px;
}


.btn a{
  font-size: 18px;
  background-color: #be9776;
  max-width: 420px;
  width: 100%;
  height: 66px;
  margin: 0 auto 20px;
  border-radius: 66px;

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

.btn img{
  margin-right: 7px;
}

a{
  transition: .3s;
}
a:hover{
  opacity: 0.8;
}

/* campaign */
.campaign{
  position: relative;
  z-index: 0;
  padding: 0 20px;
}
.campaign img {
    margin: 0 auto;
    display: block;
    width: 100%;
    height: 100%;
}

.outro{
  padding: 0;
}

/* worry */
.worry_top{
  background-color: #F0EFE9;
  padding: 52px 20px 0;
}

.worry h2 img{
  margin: 0 auto 20px;
}

.worry_top ul{
  padding: 16px 0 33px;
}

.worry_top ul li{
  font-size: 16px;
  position: relative;
  font-weight: 500;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  padding: 15px 15px 15px 50px;
  background: #fff;
  margin-bottom: 5px;
}

.worry_top ul li::before{
  content: "";
  background-image: url(../image/ico_check.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  display: inline-block;
  width: 25px;
  height: 25px;
  top: 15px;
  left: 15px;
}

.worry_bot{
  position: relative;
  padding: 0 0 40px;
  z-index: 0;
}

.worry_bot::before{
  content: "";
  background-image: url(../image/flower_upper_left.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 151px;
  height: 203px;
  z-index: -1;
}

.worry_bot img{
  width: 100%;
}

.worry_bot_inner h3{
  padding: 0 20px;
  font-weight: 600;
  text-align: center;
  vertical-align: sub;
  padding: 35px 0 16px;
}

.worry_bot_inner h3 .-lg{
  font-size: 22px;
  line-height: 2.1;
  letter-spacing: .08em;
}

.worry_bot_inner h3 .-md{
  font-size: 18px;
  line-height: 1;
  letter-spacing: .08em;
}

.worry_bot_inner h3 .-sm{
  font-size: 20px;
  line-height: 1;
  letter-spacing: .08em;
}

.worry_bot_inner .el_bg_color{
  font-size: 38px;
  line-height: 1.5;
  padding: 0px 10px;
  color: #fff;
  background: #121952;
}

@media screen and (max-width:425px) {
  .worry_bot_inner h3{
    font-size: 22px;
  }
  .worry_bot_inner .el_bg_color{
    font-size: 30px;
  }
}

.worry_bot p{
  letter-spacing: 0.04em;
  font-family: 'Noto Sans JP', sans-serif;
  padding: 0 20px;
}

.worry_bot p strong{
  font-weight: 500;
  color: #B29677;
}

.movie{
  background-image: url(../image/bg_marble01.png);
  background-size: cover;
  background-repeat: no-repeat;
}

.movie_inner{
  padding: 20px 20px 8px;
}

.movie h3{
  font-weight: 600;
  color: #fff;
  background-color: #121952;
  line-height: 1.6;
  letter-spacing: 0.08em;
  width: fit-content;
  margin: 12px auto 20px;
  padding: 2px 6px;
}
@media screen and (max-width: 374px) {
  .movie h3{
    font-size: 14px;
  }
}

.about{
  padding: 54px 20px 0;
}

.about_box{
  margin-top: 52px;
}

.about_box .el_text{
  font-size: 16px;
  letter-spacing: .03em;
  line-height: 2;
  font-family: 'Noto Sans JP', sans-serif;
}

.about_box .el_text strong{
  color: #B29677;
  font-weight: 500;
}

.about_img1{
  margin: 20px auto 15px;
  max-width: 220px;
}

.about_img2{
  margin: 25px auto 0;
}

.effect{
  background-image: url(../image/bg_marble02.png);
  background-size: cover;
  background-repeat: no-repeat;
  margin-top: 40px;
  padding: 20px 15px;
}

.effect .effect_inner{
  margin-inline: auto;
  background-color: #fff;
  padding: 30px 20px;
  width: 100%;
  text-align: center;
}

.effect .el_text{
  font-family: 'Noto Sans JP', sans-serif;
  text-align: left;
}
.effect .el_text +.el_text{
  margin-top: 16px;
}

.effect h3{
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
}
.br390{
  display: none;
}
.effect h3 span{
  font-size: 16px;
  letter-spacing: 0.08em;
}


.effect_txt{
  margin: 32px 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 390px) {
  .effect h3{
    line-height: 1.6;
    font-size: 22px;
  }
  .effect h3 .small{
    font-size: 14px;
  }
  .br390{
    display: inline;
  }
  .effect h3 span{
    padding-right: 0;
  }
  .effect_txt{
    font-size: 18px; 
  }

}

.effect .line{
  margin: 15px auto;
}

.effect ul{
  margin: 20px 0;
}

.effect figure{
  margin: 30px 0;
}


.effect li{
  background-color: #F0EFE9;
  padding: 10px;
  margin-bottom: 12px;
  border-left: 5px solid #121952;
}

.intro{
  background-color: #F0EFE9;
  padding: 50px 0 56px;
}

.intro .bl_row{
  margin: 40px 0 50px;
  padding: 0 24px;
  display: flex;
  gap: 16px;
}

.bl_row .bl_left{
  width: 38%;
}

.bl_row .el_txt{
  width: 66%;
  font-family: 'Noto Sans JP', sans-serif;
}

.intro_top h3{
  font-weight: 600;
  text-align: center;
  font-size: 32px;
}
.intro_top h3 .el_sm{
  font-size: 20px;
}
.intro_top h3 .el_bg_color{
  display: inline;
  background-color: #fff;
  margin-right: 4px;
  padding: 3px 8px;
}
.intro_top h3 .el_line{
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 2px;
}

@media screen and (max-width:425px) {
  .intro_top h3{
    font-size: 25px;
  }
}

.intro_bottom{
  padding: 24px 24px 0;
}
.intro_bottom .el_txt{
  font-family: 'Noto Sans JP', sans-serif; 
}
.intro_bottom > img{
  margin: 32px 0;
}
.el_txt_detail{
  font-size: 18px;
  text-align: center;
  margin-bottom: 16px;
}
.el_txt_detail span{
  display: inline-block;
  text-align: center;
  font-weight: 600;
}
.el_txt_detail span .el_bg_color{
  background: #fff;
}
.el_txt_detail img{
  display: inline-block;
  margin-bottom: -3px;
  vertical-align: middle;
}
.bl_youtube .el_txt_detail span{
  font-weight: 300;
  line-height: 1.6;
}
.bl_youtube .el_txt_detail .un-br{
  display: none;
}
@media screen and (max-width:450px) {
  .bl_youtube .el_txt_detail .un-br{
    display: inline;
  }
}

.bl_youtube{
  text-align: center;
}
.bl_youtube iframe{
  width: 100%;
  max-width: 404px;
  height: auto;
  aspect-ratio: 16 / 9;
}

.price{
  padding: 50px 0 80px;
}

.price .el_txt_detail{
  font-size: 16px;
  margin: 60px 0 17px;
}
.price .price_area{
  padding: 0 24px;
}
.bl_price_wrap{
  margin-top: 56px;
}
.bl_price_wrap h3{
  border-left: 5px solid #121952;
  padding: 4px 12px;
  background: #fff;
  font-size: 20px;
  margin-bottom: 10px;
}
.bl_price_wrap .el_lead{
  font-family: 'Noto Sans JP', sans-serif;
  text-indent: -1em;
  padding-left: 1em;
}
.bl_price_wrap .el_lead::before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  background: #121952;
  border-radius: 50px;
  width: 8px;
  height: 8px;
}
.bl_price_wrap .bl_table{
  margin-top: 16px;
}

/* report */
.report{
  background-image: url(../image/report_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 50px 20px;
  position: relative;
}
.report::before,.report::after{
  position: absolute;
  content: "";
  width: 100%;
  height: 12px;
  background-image: url(../image/report_line.png);
  background-size: contain;
  background-repeat: repeat-x; 
  left: 0;
}
.report::before{
  top: 0;
}
.report::after{
  bottom: 0;
  rotate: 180deg;
}
.report_area h2{
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: 10px;
}
.report_area h2 span{
  font-weight: 600;
  font-size: 30px;
  background: linear-gradient(0deg, #F0EFE9 35%, rgba(255, 255, 255, 0) 35%);
}
.report_area .report_label{
  margin-left: -10px;
  max-width: 208px;
}
.report_box{
  padding: 6px;
  background: var(--vaige-light, #F0EFE9);
}
.report_box .report_item{
  padding: 30px 25px;
  border: 1px solid #FFF;
  font-family: 'Noto Sans JP', sans-serif;
}
.report_box .report_item p{
  background-image: url(../image/report_dot.png);
  background-repeat: repeat;
  background-position: top left;
  line-height: 2.3;
}


/* faq */
.outro,
.case,
.item,
.flow{
  background-color: #fff;
}

.case{
  padding: 24px 20px;
}
@media(max-width:450px) {
  .case_area h2{
    line-height: 1.2;
  }
  .case_area .ttl_bg{
    top: 0;
  }
}
.case_info{
  background-color: #F0EFE9;
  position: relative;
  padding: 44px 24px 62px;
}
.case_info .el_ttl{
  font-size: 26px;
  font-weight: 600;
  text-align: center;
  line-height: 1.9;
  margin-bottom: 30px;
  letter-spacing: -.04em;
}
.case_info .el_ttl .el_line{
  font-size: 18px;
  letter-spacing: .08em;
  border-bottom: 1px dashed #121952;
  padding-bottom: 6px;
}
.case_info .el_ttl .-sm{
  font-size: 19px;
  font-weight: 600;
}
.case_info .el_lead{
  text-decoration: underline;
  text-underline-offset: .7em;
  line-height: 2.25;
  text-decoration-color: #C2C1B8;
  margin-top: 35px;
  font-family: 'Noto Sans JP', sans-serif;
}

.case_info figure{
  margin: 0 8px 0 0;
}

.case_info::before{
  position: absolute;
  top: 8px;
  left: 8px;
  content: "";
  background-image: url(../image/detail.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 32px;
  height: 32px;
}
.case_info::after{
  position: absolute;
  bottom: 8px;
  right: 8px;
  content: "";
  background-image: url(../image/detail.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transform: rotate(180deg);
  width: 32px;
  height: 32px;
}

.case_area{
  padding-top: 30px;
}
.case_area h2{
  margin-bottom: 54px;
}
.case_area .bl_case h3{
  border-left: #121952 5px solid;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.4;
  padding-left: 13px;
  margin-bottom: 16px;
}
.bl_case_list{
  margin: 7px 0 56px;
}
.bl_case_list .bl_list_item{
  display: flex;
  font-family: 'Noto Sans JP', sans-serif;
}
.bl_case_list .el_list_ttl{
  padding: 12px 0;
  width: 118px;
  font-weight: 500;
  border-bottom: 1px solid #121952;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0;
  display: flex;
  align-items: center;
}
.bl_case_list .el_list_data{
  padding: 16px 0 15px 8px;
  width: calc(100% - 118px);
  border-bottom: 1px solid #ccc;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
}

.case_area .bl_case img{
  max-width: unset;
  width: 100%;
  margin: 0 auto 0;
}
@media screen and (max-width:374px) {
  .case{
    padding: 24px 10px;
  }
  .case_info{
    padding: 40px 19px 64px;
  }
  .case_area .bl_case img{
    max-width: unset;
  }

}


.mechanism{
  padding: 52px 20px 80px;
}
.mechanism_area ol li{
  margin-top: 55px;
  text-align: center;
}
.mechanism_area ol li img{
  width: 100%;
  margin-inline: auto;
  margin: 24px auto 0;
}
.mechanism_area li h3{
  margin: 16px 0;
  font-weight: 600;
  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  font-size: 20px;
  letter-spacing: .08em;
  background: linear-gradient(0deg, #ffffff 35%, rgba(255, 255, 255, 0) 35%);
  padding-bottom: 6px;
}
.mechanism_area li h3 .el_sm{
  font-size: 16px;
}
.mechanism_area li p{
  text-align: start;
  font-family: 'Noto Sans JP', sans-serif;
  margin-top: 16px;
  letter-spacing: .03em;
}
.mechanism_area li p strong{
  color: #B29677;
  font-weight: 500;
}
@media screen and (max-width:374px) {
  .mechanism{
    padding: 50px 20px 80px;
  }
  .mechanism_area li h3{
    font-size: 20px;
  }

}



.reason{
  padding: 28px 20px 10px;
}
.reason h2{
  margin: 0 auto;
  max-width: 412px;
  padding-right: 8px;
}
.reason ol{
  margin-top: 30px;
  font-family: 'Noto Sans JP', sans-serif;
}
.reason ol li{
  margin-top: 16px;
  position: relative;
  background: #fff;
  padding: 32px 24px;
}
.reason ol li .el_detail{
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
.reason ol li .el_detail.un_bottom{
  top: auto;
  bottom: 0;
}
.reason ol li p{
  margin-top: 16px;
}

@media screen and (max-width:374px) {
  .reason{
    padding: 40px 10px 80px;
  }
}

.guideline {
  font-family: 'Noto Sans JP', sans-serif;
}  
.guideline .el_ttl{
  font-size: 24px;
  font-weight: 500;
  margin-top: 56px;
  text-align: center;
}
.guideline .el_ttl::before,
.guideline .el_ttl::after{
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin: 0 16px;
  background: #121952;
  border-radius: 50px;
  width: 8px;
  height: 8px;
}
.guideline img{
  margin: 32px 0;
}

.item{
  padding: 53px 20px 80px;
}
.item_cont{
  margin-top: 54px;
}
.item_cont .bl_ttl_wrap h3{
  font-size: 18px;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: .08em;
  border-left: 5px solid;
  padding-left: 12px;
}
.item_cont p{
  margin-top: 14px;
  font-family: 'Noto Sans JP', sans-serif;
}
.item_cont p strong{
  color: #B29677;
  font-weight: 500;
}
.item_cont figure{
  margin-top: 17px;
}

.item_cont .el_txt_detail{
  font-size: 16px;
  margin: 0;
}
.bl_item_box{
  padding: 40px 24px 9px;
  border: #121952 solid 1px;
  margin-top: -20px;
}

.bl_item_box p:not(.lead){
  font-family: 'Noto Sans JP', sans-serif;
}
.bl_item_box .lead{
  font-size: 18px;
  background: #F0EFE9;
  padding: 8px;
  font-weight: 600;
  text-align: center;
  margin: 32px 0 8px;
}
.bl_item_box ul li{
  position: relative;
  font-weight: 500;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  padding: 15px 15px 15px 35px;
  border-bottom: #ccc solid 1px;
}
.bl_item_box ul li:last-child{
  border: none;
}
.bl_item_box ul li .ye{
  font-size: 18px;
}

.bl_item_box ul li::before{
  content: "";
  background-image: url(../image/ico_check.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  display: inline-block;
  width: 25px;
  height: 25px;
  top: 13px;
  left: 0;
}

.distinction{
  background: #fff;
  padding: 65px 20px 80px;
}
.distinction h2{
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: .08em;
  font-weight: 600;
  margin-bottom: 66px;
}
.distinction .ttl_bg{
  top: 0px;
}
.distinction .item_cont + .item_cont{
  margin-top: 46px;
}

.suggest{
  padding: 43px 20px 80px;
}
.suggest_area ol li{
  margin-top: 55px;
  text-align: center;
}
.suggest_area ol li img{
  width: 100%;
  margin-inline: auto;
  margin: 20px auto 0;
}
.suggest_area li h3{
  margin: 16px 0;
  font-weight: 600;
  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  font-size: 20px;
  letter-spacing: .08em;
  background: linear-gradient(0deg, #ffffff 35%, rgba(255, 255, 255, 0) 35%);
  padding-bottom: 6px;
}
.suggest_area li h3 .el_sm{
  font-size: 16px;
}
.suggest_area li .suggest_lead{
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: .03em;
  font-weight: 600;
  text-align: center;
  margin-top: 14px;
}
.suggest_area li .suggest_text{
  text-align: start;
  font-family: 'Noto Sans JP', sans-serif;
  margin-top: 15px;
  letter-spacing: .03em;
}
.suggest_area li p strong{
  color: #B29677;
  font-weight: 500;
}
@media screen and (max-width:374px) {
  .suggest{
    padding: 50px 20px 80px;
  }
  .msuggest_area li h3{
    font-size: 20px;
  }

}

.flow{
  padding: 53px 20px 80px;
}

.flow_area{
  margin-top: 54px;
}

.flow_area li{
  margin-top: 24px;
  background: #F0EFE9;
  padding: 24px 22px;
  position: relative;
}
.flow_area li:not(:last-child):after{
  position: absolute;
  content: "";
  height: 24px;
  width: 6px;
  background: #121952;
  transform: translate(-50%,100%);
  bottom: 0;
  left: 50%;
}
.flow_area li h3 img{
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  left: 0;
  width: 72px;
  height: 72px;
}
.flow_area li h3{
  position: relative;
  font-size: 18px;
  font-weight: 600;
  background: #fff;
  padding: 16px 24px 16px 50px;
  line-height: 1;
  margin: 11px 8px 26px 36px;
}
.flow_area li p{
  font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width:450px) {
  .flow_area li h3 img{
    width: 60px;
    height: 60px;
  }
  .flow_area li h3{
    padding: 12px 12px 12px 36px;
    margin: 5px 0 20px 28px;
  }
}
@media screen and (max-width:425px) {
  .flow_area li{
    padding: 20px 15px;
  }

  .flow_area li h3 img{
    width: 60px;
    height: 60px;
  }
  .flow_area li h3{
    font-size: 16px;
  }
}
@media screen and (max-width:374px) {
  .flow{
    padding: 50px 10px 80px;
  }
  .item{
    padding: 50px 10px 80px;
  }
  
}


.faq{
  padding: 52px 20px 80px;
}
.faq_area .inner-size{
  margin: 55px 0 55px;
}

.faq_area .block_ttl{
  padding: 0 8px 15px;
}

.faq_area .cont {
  font-family: 'Noto Sans JP', sans-serif;
  color: #1b1f51;
  background: #fff;
  margin-top: 24px;
  -webkit-border-top-right-radius: 30px;
  -moz-border-radius-topright: 30px;
  border-top-right-radius: 30px;
}

.faq_area .cont a {
  display: block;
  position: relative;
  padding: 20px 50px 20px 20px;
  color: #1b1f51;
}

.faq_area .cont a .arrow_icon img {
  display: block;
  position: absolute;
  right: 30px;
  top: 29px;
  margin: auto;
  transition: .3s;
}

.faq_area .cont a .arrow_icon img.active {
  transform: rotate(180deg);
  transition: .3s;
}

.faq_area .cont a span.icn,
.faq_area .cont .toggle span.icn {
  margin-right: 7px;
  display: inline-block;
  line-height: 1.8;
  vertical-align: top;
  color: #be9776;
  font-weight: bold;
  letter-spacing: 0;
}

.faq_area .cont a span.txt {
  display: inline-block;
  vertical-align: top;
  line-height: 1.8;
  letter-spacing: 0;
}

.faq_area .cont .toggle {
  padding: 0 20px;
  display: flex ;
  flex-wrap: nowrap;
  line-height: 1.8;
  display: none;
}
.faq_area .cont .toggle .flex{
  padding: 20px 0;
  border-top: 1px solid #f0efe9;
}

.faq_area .cont .toggle p {
  letter-spacing: 0;
  display: inline-block;
  vertical-align: top;
  color: #1b1f51;
}

table{
  width: 100%;
  table-layout: fixed;
  font-family: 'Noto Sans JP', sans-serif;
  margin-top: 20px;
}

th,td{
  border:1px solid #E1E1E1;
  padding: 10px 12px;
  line-height: 1.4;
  text-align: start;
}
td{
  width: 72%;
  max-width: 320px;
  background: #fff;
}

th:first-of-type{
  background-color: #FAF9F6;
  min-width: 72px;
}

.bl_faq_box {
  margin-top: 32px;
}
.bl_faq_box h3{
  border-left: #121952 5px solid;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  padding-left: 8px;
  margin-bottom: 16px;
}
.bl_faq_box li{
  font-family: 'Noto Sans JP', sans-serif;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.6;
  margin-top: 10px;
}
.bl_faq_box li::before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  background: #121952;
  border-radius: 50px;
  width: 8px;
  height: 8px;
}






/* access */
.access{
  background-color: #efeee9;
}

.access h2{
  padding-bottom: 55px;
}

.access_txt{
  font-family: 'Noto Sans JP',sans-serif;
  margin-top: 56px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}

.access_txt .bl_access_item{
  border-bottom: 1px solid #E1E1E1;
  line-height: 1.75;
  padding: 10px 0;
}

.access_txt .el_access_ttl{
  font-weight: 500;
}

.access .inner-size .el_map_btn{
  margin-top: 16px;
  font-size: 13px;
  display: block;
  font-family: 'Noto Sans JP',sans-serif;
}
.access .inner-size .el_map_btn::after{
  display: inline-block;
  width: 13px;
  height: 13px;
  content: "";
  background-image: url(../image/icon_blank.svg);
  background-size: contain;
  margin-left: 5px;
}

.access .inner-size a{
  text-decoration: underline;
  text-underline-offset: .3em;
}


.access_txt img{
  display: inline-block;
  width: 160px;
  margin: 20px 0 12px;
}




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



/* ===================================
フッター
=================================== */
footer {
  background: #1b1f51;
  padding: 30px 5px 95px;
}

footer p {
  font-size: 12px;
  color: #fff;
  text-align: center;
  font-family: 'Arsenal', sans-serif;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.fixBox{
  position: fixed;
  bottom: 0;
  background-color: #b29677;
  text-align: center;
  font-weight: 400;
  max-width: 500px;
  width: 100%;
  z-index: 10;
  
  padding-bottom: env(safe-area-inset-bottom);
  transition: .3s;
}

.fixBox img{
  margin-right: 7px;
}
@media screen and (max-width: 340px) {
  .fixBox img{
    margin-right: 0px;
  }
}

.fixBox ul{
  display: flex;
}

.fixBox li{
  width: 33%;
}

.fixBox li a{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 66px;
}

.fixBox li:nth-of-type(2){
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}
