@charset "UTF-8";
@import url(normalize.css);
@import url(common.css);
/*color  ------------------*/
/*section_bg
---------------------------*/
.sec-Concept__bg { z-index: -1; position: absolute; top: -100px; right: 0; padding: 0; width: 60%; height: 100%; background-color: #f7f5ed; }

.sec-Facility__bg { z-index: -1; position: absolute; top: 8rem; right: 0; padding: 0; width: 70%; height: 100%; background-color: #f7f5ed; }

.sec-How__bg { z-index: -1; position: absolute; top: 70px; left: 0; padding: 0; width: 70%; height: 95%; background-color: #e6ebef; }

@media screen and (max-width: 768px) { .sec-Concept__bg { top: 0px; width: 45%; }
  .sec-Facility__bg { display: none; }
  .sec-How__bg { display: none; } }
/*section Concept
---------------------------*/
.sec-Concept { position: relative; padding-bottom: 100px; width: 100%; height: 100%; }

/**/
.num-left { font-size: 36rem; line-height: 50px; font-family: ftM; color: #fff; letter-spacing: 0.01em; font-feature-settings: "palt"; mix-blend-mode: darken; position: absolute; top: 18%; left: 10%; z-index: -1; text-shadow: 2px 2px 0 #f1f1f1, -2px -2px 0 #f1f1f1, -2px 2px 0 #f1f1f1, 2px -2px 0 #f1f1f1, 0px 2px 0 #f1f1f1,  0 -2px 0 #f1f1f1, -2px 0 0 #f1f1f1, 2px 0 0 #f1f1f1; }

.num-right { font-size: 36rem; line-height: 50px; font-family: ftM; color: #fff; letter-spacing: 0.01em; font-feature-settings: "palt"; mix-blend-mode: darken; position: absolute; top: 18%; right: 10%; z-index: -1; text-shadow: 2px 2px 0 #ebe7d6, -2px -2px 0 #ebe7d6, -2px 2px 0 #ebe7d6, 2px -2px 0 #ebe7d6, 0px 2px 0 #ebe7d6,  0 -2px 0 #ebe7d6, -2px 0 0 #ebe7d6, 2px 0 0 #ebe7d6; }

@media screen and (max-width: 768px) { .num-left { text-shadow: 2px 2px 0 #ebe7d6, -2px -2px 0 #ebe7d6, -2px 2px 0 #ebe7d6, 2px -2px 0 #ebe7d6, 0px 2px 0 #ebe7d6,  0 -2px 0 #ebe7d6, -2px 0 0 #ebe7d6, 2px 0 0 #ebe7d6; } }
/**/
.sec-Concept__Box { position: relative; margin: 0 auto; padding: 0 0 100px; width: 100%; }
.sec-Concept__Box .sec-Concept__tx { margin: 0; width: 48%; position: relative; }
.sec-Concept__Box .sec-Concept__tx h3 { position: relative; margin-bottom: 0px; }
.sec-Concept__Box .sec-Concept__tx h4 { margin-bottom: 30px; }
.sec-Concept__Box figure { margin: 0; width: 48%; overflow: hidden; object-fit: cover; }
.sec-Concept__Box figure img { width: 100%; }

.border-radius-left { border-bottom-left-radius: 70px; }

.border-radius-right { border-bottom-right-radius: 70px; }

@media screen and (max-width: 768px) { .sec-Concept { position: relative; padding-bottom: 1px; }
  .num-left { font-size: 26rem; line-height: 26px; top: 18%; left: inherit; right: 0%; }
  .num-right { font-size: 26rem; line-height: 26px; top: 18%; right: 0%; }
  .sec-Concept__Box { padding: 20px 0; }
  .sec-Concept__Box:last-child { margin-bottom: 30px; }
  .sec-Concept__Box .sec-Concept__tx { order: 1; margin: 0 0 20px 0; width: 100%; }
  .sec-Concept__Box .sec-Concept__tx h3 { margin-bottom: 0px; }
  .sec-Concept__Box .sec-Concept__tx h4 { margin-bottom: 10px; }
  .sec-Concept__Box figure { order: 2; margin: 0; width: 100%; }
  .sec-Concept__Box figure img { width: 100%; }
  .border-radius-left { border-bottom-left-radius: 30px; }
  .border-radius-right { border-bottom-right-radius: 30px; } }
/*sec-sec-Point
---------------------------*/
.sec-Point { position: relative; padding: 0; }

/**/
.sec-Point__Tx { position: relative; padding: 0; }
.sec-Point__Tx h3 { margin-bottom: 20px; line-height: 40px; }
.sec-Point__Tx .sec-Point__img1 { z-index: 100; position: absolute; top: -60px; right: 0; }

/**/
.sec-Point__Wrap { position: relative; margin: 0 auto; width: 100%; }

/**/
.sec-Point__Body { margin: 0 auto; padding: 0rem 5rem 6rem; width: 100%; background-color: #e6ebef; }

/**/
.sec-Point__list { margin: 0 auto; width: 100%; display: flex; }
.sec-Point__list li { margin: 100px 10px 40px; padding: 6rem 3rem 0; position: relative; border-radius: 20px; background-color: #fff; height: 360px; }
.sec-Point__list li img { margin: -120px auto 0; text-align: center; }
.sec-Point__list li h4 { text-align: center; margin: 15px 0 5px; font-size: 1.8rem; line-height: 24px; }
.sec-Point__list li p { text-align: center; line-height: 20px; }

/**/
.sec-Point__kagu { position: relative; margin: 30px auto 0; padding: 0; width: 100%; }
.sec-Point__kagu h3 { margin-bottom: 0px; line-height: 40px; }

.sec-Point__img2 { z-index: 100; position: absolute; top: -50px; right: 10px; }

/**/
.sec-Point__kaguBody { margin: 0 auto; padding: 3rem; width: 100%; background-color: #fff; border-radius: 20px; }
.sec-Point__kaguBody li { width: 48%; }
.sec-Point__kaguBody li h4 { margin-bottom: 0px; position: relative; }
.sec-Point__kaguBody li h4 span { display: block; color: #ff3c00; font-size: 1.4rem; margin-bottom: 0px; }
.sec-Point__kaguBody li p { line-height: 24px; }

@media screen and (max-width: 1210px) { .sec-Point__list li { margin: 100px 10px 40px; padding: 6rem 1.5rem 0; height: 360px; }
  .sec-Point__list li h4 { text-align: center; margin: 10px 0 5px; font-size: 1.6rem; line-height: 20px; } }
@media screen and (max-width: 768px) { .sec-Point h3 { font-size: 2rem; margin-bottom: 10px; line-height: 24px; }
  .sec-Point .sec-Point__img1 { display: none; }
  /**/
  .sec-Point__Body { padding: 0rem 1rem 3rem; }
  .sec-Point__list { padding: 0rem 0; }
  .sec-Point__list li { margin: 100x 0px 0px; padding: 3rem 1rem; height: 315px; }
  .sec-Point__list li img { margin: -100px auto 0; position: relative; z-index: 100; }
  .sec-Point__list li h4 { text-align: center; margin: 10px 0 5px; font-size: 1.6rem !important; }
  /**/
  .sec-Point__kaguBody { padding: 1.5rem; }
  .sec-Point__kaguBody li { width: 100%; margin-bottom: 20px; }
  .sec-Point__kaguBody li:last-child { margin-bottom: 0px; }
  .sec-Point__img2 { display: none; } }
/*sec-Facility
---------------------------*/
.sec-Facility { margin-bottom: 200px; padding: 8rem 0 0; position: relative; }

.sec-Facility__Wrap { position: relative; width: 100%; }

/**/
.sec-Facility__Gallery { overflow: hidden; margin: 0; width: 100%; height: auto; }

.sec-Facility__Glist { position: relative; width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }
.sec-Facility__Glist li { margin: 0 15px; width: 24%; position: relative; overflow: hidden; }
.sec-Facility__Glist li h3 { position: absolute; bottom: 0; left: 0; padding: 1rem 2rem; text-align: center; background-color: #fff; border-top-right-radius: 20px; }
.sec-Facility__Glist li img { width: 100%; }

/**/
.thumbnail { margin: 10px 0 0 auto; width: 300px; right: 0; display: flex; flex-wrap: wrap; justify-content: space-between; }
.thumbnail li { cursor: pointer; margin: 0 0 0 5px; width: 24%; position: relative; overflow: hidden; }
.thumbnail li img { width: 100%; }

/**/
.sec-Room { margin-top: 50px; }
.sec-Room h4 { margin-bottom: 10px; line-height: 26px; }
.sec-Room h4:after { content: " "; display: block; width: 100px; height: 2px; background-color: #0a2842; background-size: contain; }
.sec-Room h3 { margin-bottom: 0px; line-height: 36px; font-weight: bold; }

/**/
.sec-Room__Area { margin-top: 20px; position: relative; width: 100%; }
.sec-Room__Area .sec-Room__AreaBox { overflow: hidden; margin-bottom: 50px; width: 48%; }

.sec-Room__AreaBox figure { margin-bottom: 10px; }
.sec-Room__AreaBox h5 { margin-bottom: 20px; width: 100%; font-size: 4rem; line-height: 40px; letter-spacing: 0.01em; font-feature-settings: "palt"; font-family: ftB; }
.sec-Room__AreaBox h5 span { display: inline-block; margin-left: 10px; font-size: 1.4rem; line-height: 14px; }

/**/
.sec-Room__Table { margin: 0; padding: 0; width: 100%; border: 1px solid #e6ebef; border-collapse: collapse; }

.sec-Room__Table table { margin: 0; padding: 0; width: 100%; }

.sec-Room__Table table th { padding: 1rem; width: 33%; background-color: #e6ebef; font-family: ftB; text-align: center; font-size: 1.4rem; line-height: 26px; letter-spacing: 0.01em; font-feature-settings: "palt"; }

.sec-Room__Table table td { padding: 1rem; width: 33%; border-right: 1px solid #e6ebef; background-color: #fff; font-family: ftM; text-align: center; font-size: 1.8rem; line-height: 26px; font-feature-settings: "palt"; }
.sec-Room__Table table td span { font-size: 1rem; }

@media screen and (max-width: 768px) { .sec-Room { margin-top: 20px; }
  .sec-Room h4 { margin-bottom: 5px; line-height: 26px; }
  .sec-Room h4:after { width: 80px; height: 2px; }
  .sec-Room h3 { line-height: 26px; }
  .sec-Room__Area { margin-top: 10px; }
  .sec-Room__Area .sec-Room__AreaBox { margin-bottom: 30px; width: 100%; }
  .sec-Room__AreaBox h5 { margin-bottom: 10px; width: 100%; font-size: 3rem; line-height: 30px; }
  .sec-Room__AreaBox h5 span { display: block; margin-left: 0px; font-size: 1.4rem; line-height: 14px; margin-top: 5px; }
  /**/
  .sec-Room__Table table th { padding: 1rem; width: 33%; background-color: #e6ebef; font-family: ftB; text-align: center; font-size: 1.2rem; line-height: 14px; letter-spacing: 0.01em; font-feature-settings: "palt"; }
  .sec-Room__Table table td { padding: 1rem; width: 33%; border-right: 1px solid #e6ebef; background-color: #fff; font-family: ftM; text-align: center; font-size: 1.4rem; line-height: 16px; font-feature-settings: "palt"; }
  .sec-Room__Table table td span { font-size: 1rem; } }
/**/
.sec-Company { margin-top: 0px; overflow: hidden; }
.sec-Company figure { margin-bottom: 50px; }
.sec-Company figure img { width: 100%; }
.sec-Company .sec-Company__Tx { margin: 0 auto; width: calc(100% - 10%); }
.sec-Company .sec-Company__Tx div { width: 45%; }
.sec-Company .sec-Company__Tx div h4 { margin-bottom: 20px; line-height: 26px; }
.sec-Company .sec-Company__Tx div h4:after { content: " "; display: block; width: 200px; height: 2px; background-color: #0a2842; background-size: contain; }
.sec-Company .sec-Company__Tx div h3 { margin-bottom: 0px; line-height: 36px; font-weight: bold; }
.sec-Company .sec-Company__Tx p { width: 50%; }

@media screen and (max-width: 768px) { .sec-Facility { margin-bottom: 0px; padding: 0rem 0 0; position: relative; }
  .sec-Facility__Wrap { padding-bottom: 0; }
  .sec-Facility__Wrap .sec-Facility__Tx h3 { margin-top: 10px; margin-bottom: 5px; }
  .sec-Facility__Wrap .sec-Facility__Tx p { margin-bottom: 0px; }
  .sec-Facility__Glist li { margin: 0 5px; }
  .sec-Facility__Glist li h3 { font-size: 1.0rem; line-height: 12px; padding: 0.5rem 0.5rem; border-top-right-radius: 5px; }
  .thumbnail { display: none; }
  /**/
  .sec-Company { margin-top: 0px; }
  .sec-Company figure { margin-bottom: 20px; }
  .sec-Company figure img { width: 100%; height: 140px; object-fit: cover; }
  .sec-Company .sec-Company__Tx { width: calc(100% - 0%); }
  .sec-Company .sec-Company__Tx div { width: 100%; }
  .sec-Company .sec-Company__Tx div h4 { margin-bottom: 10px; line-height: 26px; }
  .sec-Company .sec-Company__Tx div h4:after { width: 160px; }
  .sec-Company .sec-Company__Tx div h3 { margin-bottom: 10px; line-height: 30px; }
  .sec-Company .sec-Company__Tx p { width: 100%; } }
@media screen and (max-width: 350px) { .sec-Company figure img { width: 100%; height: 140px; object-fit: cover; } }
.sec-How { position: relative; padding-bottom: 100px; width: 100%; height: 100%; }

/**/
.sec-How__Ttl { position: relative; margin-bottom: 30px; padding: 0; }
.sec-How__Ttl h3 { margin-bottom: 20px; line-height: 40px; }
.sec-How__Ttl .sec-How__img1 { z-index: 100; position: absolute; top: -150px; right: 0; }

/**/
.sec-How__Box { position: relative; margin: 0 auto; padding: 0; width: 100%; }
.sec-How__Box .sec-How__tx { margin: 0; width: 48%; padding: 5rem 0; }
.sec-How__Box .sec-How__tx h3 { position: relative; margin-bottom: 10px; line-height: 40px; }
.sec-How__Box .sec-How__tx h4 { margin-bottom: 60px; }
.sec-How__Box figure { margin: 0; width: 48%; overflow: hidden; object-fit: cover; }
.sec-How__Box figure img { width: 100%; height: 380px; object-fit: cover; }

/**/
.sec-How__num { margin-bottom: 5px; width: 100%; font-size: 2.6rem; line-height: 30px; font-weight: 600; letter-spacing: 0.0001em; font-feature-settings: "palt"; font-family: ftB; }
.sec-How__num span { display: inline-block; margin-left: 5px; font-size: 1.2rem; }

@media screen and (max-width: 1050px) { .sec-How { position: relative; padding-bottom: 1px; }
  .sec-How__Ttl { margin-bottom: 0; }
  .sec-How__Ttl h3 { font-size: 2rem; margin-bottom: 10px; line-height: 24px; }
  .sec-How__Ttl .sec-How__img1 { display: none; }
  .sec-How__Box { margin-bottom: 10px; padding: 10px 0; }
  .sec-How__Box:last-child { margin-bottom: 30px; }
  .sec-How__Box .sec-How__tx { order: 1; margin: 0 0 10px 0; padding: 0rem 0; width: 100%; }
  .sec-How__Box .sec-How__tx h3 { margin-bottom: 0px; }
  .sec-How__Box .sec-How__tx h4 { margin-bottom: 10px; }
  .sec-How__Box figure { order: 2; margin: 0; width: 100%; }
  .sec-How__Box figure img { width: 100%; height: 250px; } }
@media screen and (max-width: 768px) { .sec-How__Wrap { padding: 1.5rem; background-color: #e6ebef; } }
/*sec-Flow
---------------------------*/
.sec-Flow { margin-bottom: 100px; padding: 15rem 0 0; position: relative; }

.sec-Flow__Wrap { position: relative; width: 100%; padding: 6rem; background-color: #f7f5ed; }

/**/
.sec-Flow__List { position: relative; width: 100%; margin-bottom: 50px; }
.sec-Flow__List li { margin: 0 0 20px auto; padding: 2rem 2rem 2rem 6rem; border-radius: 20px; width: 94%; position: relative; background-color: #fff; display: flex; flex-wrap: wrap; justify-content: space-between; }
.sec-Flow__List li:before { content: " "; display: block; width: 120px; height: 40px; background-size: contain; position: absolute; top: 50%; left: -80px; transform: translateY(-50%); }
.sec-Flow__List li h4 { width: 18%; display: flex; align-items: center; justify-content: left; }
.sec-Flow__List li p { width: 80%; line-height: 26px; }

.sec-Flow__Item1:before { background: url("../../assets/images/top/flow1.png") no-repeat; }

.sec-Flow__Item2:before { background: url("../../assets/images/top/flow2.png") no-repeat; }

.sec-Flow__Item3:before { background: url("../../assets/images/top/flow3.png") no-repeat; }

.sec-Flow__Item4:before { background: url("../../assets/images/top/flow4.png") no-repeat; }

.sec-Flow__Item5:before { background: url("../../assets/images/top/flow5.png") no-repeat; }

@media screen and (max-width: 768px) { .sec-Flow { margin-bottom: 50px; padding: 0; position: relative; }
  .sec-Flow__Wrap { padding: 1.5rem; }
  .sec-Flow__List { margin-bottom: 20px; }
  .sec-Flow__List li { margin: 0 0 10px auto; padding: 1rem 1rem 1rem 1rem; border-radius: 10px; width: 100%; }
  .sec-Flow__List li:before { width: 120px; height: 40px; position: relative; top: inherit; left: inherit; transform: none; }
  .sec-Flow__List li h4 { margin: 5px 0; width: 100%; }
  .sec-Flow__List li p { width: 100%; line-height: 24px; } }
/*FAQ --- アコーディオン
------------------------------*/
.sec-faq h2 { margin-bottom: 10px; }

.faq__list { position: relative; border-radius: 20px; overflow: hidden; }

.faq__toggle_contents { background-color: #fff; }

.faq__toggle_title { border-bottom: 1px solid #eaf2f4; position: relative; padding: 1.5rem 3rem 1.5rem 1.5rem; cursor: pointer; font-size: 1.8rem !important; line-height: 26px; font-weight: 800; }
.faq__toggle_title div { display: inline-block; font-family: ftB; font-size: 4rem; }
.faq__toggle_title p { position: absolute; top: 50%; left: 60px; transform: translateY(-50%); }

.faq__toggle_btn { position: absolute; top: 50%; right: 1.5%; transform: translateY(-50%); display: block; width: 50px; height: 50px; text-indent: 100%; white-space: nowrap; overflow: hidden; border-radius: 50%; }

.faq__toggle_btn:before, .faq__toggle_btn:after { display: block; content: ''; background-color: #0a2842; position: absolute; width: 30px; height: 1px; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.faq__toggle_btn:before { width: 1px; height: 30px; }

.faq__toggle_title.selected .faq__toggle_btn:before { content: normal; }

.faq__toggle_contents dd { display: none; padding: 1.5rem 1.5rem 1.5rem 6rem; padding-left: 6em; text-indent: -1em; line-height: 24px; }

@media screen and (max-width: 768px) { .sec-faq h2 { font-size: 2rem; }
  .faq__list { border-radius: 10px; }
  .faq__toggle_title { padding: 1.5rem 3rem 1.5rem 1.5rem; font-size: 1.6rem !important; }
  .faq__toggle_title div { font-size: 2rem; }
  .faq__toggle_title p { left: 40px; width: 75%; line-height: 18px !important; }
  .faq__toggle_btn { width: 20px; height: 20px; right: 3%; }
  .faq__toggle_btn:before, .faq__toggle_btn:after { width: 15px; height: 1px; }
  .faq__toggle_btn:before { width: 1px; height: 15px; }
  .faq__toggle_title.selected .faq__toggle_btn:before { content: normal; }
  .faq__toggle_contents dd { padding: 1.5rem 1.5rem 1.5rem 3.5rem; } }
