@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
:root{
  --f-nts: "Noto Sans JP", sans-serif;
  --f-gothic: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  --gradient-0:linear-gradient(to right, #a78200, #b89300, #c9a501, #dab702, #eac904, #eac904, #eac904, #eac904, #dab702, #c9a501, #b89300, #a78200);
  --gradient-1: url('../img/bg_gradient1.png') repeat center /100%;
  --gradient-2: url('../img/bg_gradient2.png') repeat center /100%;
}
/*セクション間余白----------------------------------------------------------- */

/*色関連----------------------------------------------------------- */
.bg_cta {
  background-color: #f5d100;
}

.bg_cl1 {
  background-color: #efefef;
}

.bg_cl2 {
  background-color: #faf5df;
}

.bg_cl3 {
  background-color: #eafafd;
}

.bg_cl4 {
  background-color: #ffffff;
}

.bg_cl5 {
  background-color: #2265b5;
}

.cl_base {
  color: #2265b5;
  mix-blend-mode: multiply;
}

.cl_base2 {
  color: #2265b5;
}

.cl_main {
  color: #c80c0c;
}

.cl_accent1 {
/*  color: #f9d21a;*/
	color: #000;
}

.cl_accent2 {
  color: #ffffff;
}

.cl_accent3 {
  color: #363636;
}

.center{
    text-align: center;
}

/*テキスト関連----------------------------------------------------------- */
.decorated-text {
  position: relative;
  display: inline-block;
}

.decorated-text::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: .5rem;
  height: .5rem;
  background-color: #2265b5;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  .decorated-text::before {
    content: '';
    position: absolute;
    top: -10%;
    left: 50%;
    transform: translateX(-50%);
    width: .3rem;
    height: .3rem;
    background-color: #2265b5;
    border-radius: 50%;
  }
}

.highlight {
  display: inline-block;
  position: relative;
}

.highlight::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.1em;
  width: 100%;
  height: 0.4em;
  background: linear-gradient(to right, #f9d21a, #f9d21a);
  z-index: -1;
  mix-blend-mode: multiply;
}

.highlight02 {
  display: inline-block;
  position: relative;
}

.highlight02::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.5em;
  width: 100%;
  height: 0.5em;
  background: linear-gradient(to right, #f9d21a, #f9d21a);
  z-index: -1;
  mix-blend-mode: multiply;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/*幅関連----------------------------------------------------------- */
.arrow {
  width: 25rem;
}

@media screen and (max-width: 768px) {
  .arrow {
    width: 13rem;
  }
}

/*Page Top----------------------------------------------------------- */
.pagetop a {
  background-color: #2265b5;
}

/*CTA02----------------------------------------------------------- */

.cta-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 10px solid #2265b5;
  background-color: #ffffff;
  position: relative;
  width: 100%;
  padding: clamp(0.938rem, 0.597rem + 1.7vw, 1.875rem);
}

.cta-container p:first-of-type {
  margin: 1rem 0;
}

.cta-container .btn {
  width: 80%;
}

@media screen and (max-width: 768px) {
  .cta:nth-of-type(3) {
    padding: 2rem;
  }

  .cta-container {
    border: 5px solid #2265b5;
    width: 100%;
    padding: 1rem;
  }

  .cta-container p:first-of-type {
    margin: 1rem 0;
  }

  .cta-container .btn {
    width: 100%;
  }
}

/*CTA-contact----------------------------------------------------------- */
.cta-contact {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}
.cta-contact h2 {
  padding: 0;
  padding-bottom: 30px;
}
.cta-contact .white_box{
	background: #f4f4f4;
}
.cta-contact ul {
  margin-bottom: 2rem;
}

.cta-contact .btn {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.cta-contact .btn i {
  position: absolute;
  top: 50%;
  left: 85%;
  transform: translateY(-50%);
}

form>ul>li {
  padding: 1rem 0;
}

form>ul>li .fx-row>*:first-child {
  padding-top: 12px;
}
.form_wrap{
  position: relative;
}
.character{
    position: absolute;
    bottom: 0;
    right: -1vw;
    z-index:10;
}
.form_head {
  text-align: right;
}

.form_head span {
  display: inline-block;
  font-weight: bold;
}

.haveto {
  background-color: #000;
  color: #fff;
  padding: 3px 8px;
  font-weight: bold;
  font-size: 0.8em;
}

.any {
  background-color: #ffdb08;
/*  color: #fff;*/
  padding: 3px 8px;
  font-weight: bold;
  font-size: 0.8em;
}

.radio {
  padding-top: 12px;
}

.radio label:nth-of-type(2) {
  margin-left: 2rem;
}

.input_1col {
  padding-right: 30px;
}

.input_1col input {
  width: 100%;
  border: none;
  padding: 15px;
  border-radius: 10px;
}

.textarea {
  padding-right: 30px;
}

.textarea textarea {
  width: 100%;
  border: none;
  padding: 15px;
  border-radius: 10px;
}

@media screen and (max-width: 769px) {
  .cta-contact h2 {
    font-size: clamp(2rem, 1.636rem + 1.82vw, 3rem);
  }

  .cta-contact ul {
    margin-bottom: 0;
  }
}

/*-- under ---------------------------------
------------------------------------------*/
#under header{
  border-bottom: 1px solid #eee;
}
#under .main_under{
  background-color: #fff;
  padding: 60px 0 60px 0;
  text-align: left;
  font-weight: 500;
}
#under .main_under p{
  line-height: 1.85;
}
#under .main_under h2{
  margin: 0 0 50px 0;
  position: relative;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
  text-align: left;
  padding-bottom: 10px;
  position: relative;
}
#under .main_under h2:before{
  width: 50px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #000;
  content: "";
  z-index: 2;
}
#under .main_under h2:after{
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #eee;
  content: "";
  z-index: 1;
}
#under .main_under h3{
  margin: 0 0 20px 0;
  position: relative;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
  text-align: left;
}
#under .main_under a{
  text-decoration: underline;
  color: #000;
}
#under .main_under a:hover{
  text-decoration: none;
}
#under .main_under .section{
  margin-bottom: 50px;
}
#under .main_under .c-list{
  display: table-row;
  font-size: 90%;
  color: #666;
}
#under .main_under .c-list .c-list__marker{
  display: table-cell;
  padding-right: 0.5em;
  word-break: keep-all;
  white-space: nowrap;
}
#under .main_under .l-list li {
  line-height: 1.5;
  color: #222;
  position: relative;
  padding-left: 0.875em;
}
#under .main_under .l-list li:not(:last-child){
  padding-bottom: 10px;
}
#under .main_under .c-table {
  border-collapse: separate;
  margin-top: 20px;
  border-top: 1px solid #b3b3b3;
  border-left: 1px solid #b3b3b3;
  width: 100%;
  border-spacing: 0;
  font-size: 85%;
}
#under .main_under .c-table thead tr th.w20{
  width: 20%;
}
#under .main_under .c-table thead tr th.w15{
  width: 15%;
}
#under .main_under .c-table thead tr th.w10{
  width: 10%;
}
#under .main_under .c-table thead tr th.w40{
  width: 40%;
}
#under .main_under .c-table thead tr th, #under .main_under .c-table thead tr td {
  padding: 10px;
  text-align: center;
  font-weight: 700;
  color: #000;
  background-color: #e0e0e0;
  border-right: 1px solid #b3b3b3;
  border-bottom: 1px solid #b3b3b3;
  vertical-align: middle;
}
#under .main_under .c-table tbody tr th, #under .main_under .c-table tbody tr td{
  text-align: left;
  padding: 10px;
  color: #222;
  border-right: 1px solid #b3b3b3;
  border-bottom: 1px solid #b3b3b3;
  vertical-align: middle;
}
#under .main_under .sp{
  display: none;
}
/*-- /under --------------------------------
------------------------------------------*/

/* CUSTOM LP */
#wrapper{overflow: hidden;}
h2{margin-bottom: 48px;}
h2:last-child{margin-bottom: 0;}
a{text-decoration: none;}
.h_box{padding:16px 20px 17px;background-color: #FFF;height: 82px;}
.center{text-align: center;}
.center img{margin-left: auto;margin-right: auto;}
.mb0{margin-bottom: 0 !important;}
.pd0{padding-bottom: 0 !important;}
.bold{font-weight: bold;}
.org{color: #ffe208;}
.line{background-image: linear-gradient(0deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 87%, #ffe208 85%, #ffe208 100%);background-size: 30px 70px;background-position: top 15px left;}

.btn a{width: 760px;height: 90px;display: flex;justify-content: center;align-items: center;flex-direction: column;color: #FFF;border-radius: 999px;position: relative;font-size:35px;font-weight: bold;font-family: var(--f-nts);text-decoration: none;background: url('../img/btn_arrrow.png') no-repeat center right 25px /49px #000000;letter-spacing: 0.14rem;padding-bottom: 3px;max-width: 100%;}
.btn a:hover{background-color: #333;}
.btn.center a{margin: 0 auto;}

.s_cta{background: var(--gradient-1);}
.s_cta_box{position: relative;}
.s_cta_box::before{content: "";position: absolute;width: 482px;height: 552px;background: url('../img/sec08_img1.png') no-repeat center /contain;bottom: -38px;left: -243px;z-index: -1;}

.sec01{position: relative;z-index: -1;}
.sec01_bg{position: fixed;top: 0;left: 0;width: auto; height: 100vh;z-index: -1;object-fit: cover;left: 0;right: 0;min-width: 100vw;left: calc(50% - 50vw);}
.sec01_list{max-width: 800px;margin: 0 auto 30px;}
.sec01_list li{font-size: 24px;font-weight: bold;color: #FFF;position: relative;border-bottom: 1px solid #FFF;padding: 12px 0 11px 77px;text-shadow: 0 0 20px rgba(0,0,0,1) , 0 0 20px rgba(0,0,0,1) , 0 0 20px rgba(0,0,0,1) , 0 0 20px rgba(0,0,0,1) , 0 0 20px rgba(0,0,0,1), 0 0 20px rgba(0,0,0,1);}
.sec01_list li::before{content: "";position: absolute;width: 34px;height: 34px;background: url('../img/ic_check.png') no-repeat center /cover;left: 27px;top: calc(50% - 17px);}
.sec01_cta{position: relative;padding-top: 104px;}
.sec01_cta::before{content: "";position: absolute;width: 1px;height: 75px;left: calc(50% - 1px);top: 0;background-color: #FFF;}

.sec02{background: var(--gradient-2);position: relative;}
.sec02_box{position: relative;}
.sec02_box::before{content: "";position: absolute;width: 440px;height: 410px;background: url('../img/sec02_img1.png') no-repeat center /contain;bottom: 80px;right: -84px;z-index: -1;}

.sec03_box{position: relative;max-width: 830px;margin: 0 auto;z-index: 2;}
.sec03_box::before{content: "";position: absolute;width: 503px;height: 630px;background: url('../img/pc_sec03_img1.png') no-repeat center /contain;bottom: 0;right: calc(100% + 82px);z-index: -1;top: calc(50% - 310px);}
.sec03_box::after{content: "";position: absolute;width: 272px;height: 521px;background: url('../img/pc_sec03_img2.png') no-repeat center /contain;bottom: 0;left: calc(100% + 75px);z-index: -1;top: calc(50% - 237px);}
.sec03_des{color: #FFF;}

.sec04_list{display: flex;justify-content: center;gap: 26px 15px;flex-wrap: wrap;}
.sec04_list dl { position: relative; z-index: 1;display: flex;flex-direction: column;}
.sec04_list dl::before {content: "";position: absolute;top: -10px;left: -10px;right: -10px;bottom: -10px;background: #c2d1f2;opacity: 0.3;z-index: -1;filter: blur(12px);width: calc(100% + 20px);height: calc(100% + 20px);}
.sec04_list dl dt .tt{font-size: 20px;font-weight: bold;color: #FFF;text-align: center;display: flex;flex-direction: column;align-items: center;justify-content: center;background-color: #000;min-height:63px;line-height: 1.35;padding-top: 3px;}
.sec04_list dl dd{background: #FFF;height: 100%;}
.sec04_list dl dd h3{font-size: 22px;font-weight: bold;color: #FFF;background-color: #000;text-align: center;margin-bottom: 10px;padding: 8px 5px 7px;line-height: 1;font-family: var(--f-gothic);letter-spacing: 0;}

.sec05_list dl{background-color: #FFF;position: relative;display: flex;justify-content: space-between;}
.sec05_list dl dd .reason{position: absolute;bottom: calc(100% - 2px);}
.sec05_list dl:nth-of-type(odd) dd .reason{right: 10px;}
.sec05_list dl:nth-of-type(even) dd .reason{left: 10px;}
.sec05_list dl:nth-of-type(even) dt{order: 2;}
.sec05_list dl:nth-of-type(even) dt{order: 1;}
.sec06_frame{color: #FFF;border: 2px solid #ffe208;padding: 50px 40px 41px;text-align: center;background-color: #000000;margin: 0 auto;}

.sec07_list dl{position: relative;}
.sec07_list dl:not(:last-child)::before{content: '';position: absolute;width: 100%;height: 1px;left: 55%;top: 40px;background-color: #FFF;}
.sec07_list dl *{color: #FFF;}
.sec07_list dl dt{margin-bottom: 25px;}
.sec07_list dl dt .step{display: flex;justify-content: center;margin-bottom: 20px;position: relative;}
.sec07_list dl dt .tt{font-weight: bold;}
.sec07_list dl dt .img{display: flex;justify-content: center;}
.sec07_list dl dd{color: #f2f2f2;font-family: var(--f-gothic)}

.faq_list:not(:last-child){margin-bottom: 45px;}
.faq_list dl{padding: 32px 0 39px;border-bottom: 1px solid #FFF;}
.faq_list dl:first-child{border-top: 1px solid #fff;}
.faq_list dt{font-size: 24px;font-weight: bold;margin-bottom: 10px;}
.faq_list dt,
.faq_list dd{position: relative;padding: 24px 40px 0 29px;display: flex;color: #FFF;font-family: var(--f-gothic);}
.faq_list dd{padding-bottom: 5px;padding-top: 17px;}
.faq_list dt .ico,.faq_list dd .ico{flex-shrink: 0;width: 46px;height: 46px;margin-right: 20px;margin-top: -4px;}
.faq_list dt .ico{background: url('../img/step_ic_q.png') no-repeat center /contain;}
.faq_list dd .ico{background: url('../img/step_ic_a.png') no-repeat center /contain;margin-top: -10px;}

.ft_link{display: flex;justify-content: center;align-items: center;gap: 0 17px;flex-wrap: wrap;}
.to_top{position:fixed;z-index:9;width:50px;height:50px;bottom:20px;right:20px;cursor:pointer;transition:all .2s;opacity:0;visibility:hidden}
.to_top.show{transform:scale(1);opacity:1;visibility:visible;z-index:999;}
footer{padding: 55px 0 160px;background-color: #000000;}
address,.ft_link li a{font-size: 16px;color: #FFF;font-family: var(--f-nts);line-height: 2;font-weight: 500;}
address{font-size: 16px;text-align: center;letter-spacing: 0.03rem;padding-right: 5px;}

/* fix fx Outer Glow: mid plend mode Vivid Light in PSD*/
.fv{position: relative;}
.fv::before{content: '';position: absolute;width: calc(100% + 15px);height: 100%;background: url('../img/pc_fv_bg_fix.png') no-repeat center bottom/ auto 100%;z-index: 0;top: 0;left:50%;pointer-events: none;transform: translateX(-50%);}

/*==========================================================================*/
/*                             floating banner                                      */
/*==========================================================================*/
.float_btn{position: fixed;bottom: -200px;background: rgba(255, 255, 255, 0.6);left: 0;width: 100%;padding: 10px;display: flex;align-items: center;justify-content: center;text-align: center;transition: all ease 0.3s;z-index: 99;}
.float_btn a{display: inline-block;}
.float_btn.active{bottom: 0;}


@media screen and (min-width: 768px) {
  .fv h1{opacity: 0 !important;}
  .h_box img{width: 49px;}
  .fv{padding: 98px 0 120px;background: url('../img/pc_fv_bg.png') no-repeat center bottom -210px /1920px #150617;}
  .fv_tt{max-width: 75%;margin: 0 auto;mix-blend-mode: hard-light;}
  .s_cta{clip-path: polygon(100% 0%, 100% calc(100% - 170px), 0 100%, 0 170px);margin: -170px 0 -170px;padding: 153px 0 170px;}
  .s_cta01{padding: 201px 0 193px;}
  .s_cta.s_cta03{padding: 0;margin-bottom: 0;margin-bottom: 0;}
  .s_cta03 .s_cta_h2{margin-bottom: 14px;}
  .s_cta_box{padding: 153px 0 172px;}
  .s_cta_h2{margin-bottom: 25px;}
  .s_cta_slg{margin-bottom: 30px;}
  .s_cta02 .s_cta_h2{margin-bottom: 15px;}
  .sec01{padding: 168px 0 107px;}
  .sec01_h2{margin-bottom: 46px;}
  .sec01_h3{margin-bottom: 27px;}
  .sec02{clip-path: polygon(50% 220px, 100% 0, 100% calc(100% - 220px), 50% 100%, 0 calc(100% - 220px), 0 0);margin: -220px 0;}
  .sec02_box{padding: 292px 0 172px;}
  .sec03{padding: 266px 0 106px;background: url('../img/pc_sec03_bg.png') no-repeat center /cover;}
  .sec03_h2{margin-bottom: 58px;width: calc(100% + 11px);margin-left: -5px;}
  .sec04_h2{margin-bottom: 60px;}
  .sec04_h3{margin-bottom: 34px;}
  .sec04{padding: 58px 0 279px;background: url('../img/pc_sec04_bg.png') no-repeat center top /cover #FFF;}
  .sec04_list dl{width: 300px;display: flex;flex-direction: column;justify-content: flex-start;}
  .sec04_list dl .tt.row2{min-height: 92px;}
  .sec04_list dl dd{padding: 20px;}
  .sec04_list dl dt .tt span{font-size: 24px;}
  .sec05{padding: 42px 0;}
  .sec05_h2{margin-bottom: 95px;}
  .sec05_list dl dd h3{margin-bottom: 25px;}
  .top_box{padding: 100px 0;background: url('../img/pc_top_box_bg.jpg') no-repeat center top /cover;}
  .sec05_list dl:not(:last-child){margin-bottom: 114px;}
  .sec05_list dl dt{max-width: 430px;width: 47%;flex-shrink: 0;}
  .sec05_list dl:nth-of-type(4) dt{max-width: 434px;}
  .sec05_list dl dd{width: 53%;}
  .sec05_list dl:nth-of-type(odd) dd{padding: 50px 54px 31px 25px;}
  .sec05_list dl:nth-of-type(even) dd{padding: 48px 17px 31px 40px;}
  .sec05_list dl:nth-of-type(3) dd .reason{bottom: calc(100% - 5px);}
  .sec06_frame h3{margin-bottom: 24px;}
  .sec06{padding: 80px 0 60px;}
  .sec07{padding: 60px 0;}
  .sec07_list{display: flex;justify-content:center;gap: 40px;}
  .sec07_list dl{max-width: 210px;width: 24%;}
  .sec08{padding: 54px 0 140px;}
  .sec08 h2{margin-bottom: 58px;}
  .sec07_list dl dt .tt{font-size: 24px;text-align: center;margin-bottom: 22px;line-height: 1.45;white-space: nowrap;}
  .faq_list dl{min-height: 213px;}
  .faq_list dl.cus dd{padding-top: 0;}
  .faq_list dl.cus dd .ico{transform: translateY(18px);}
  .to_top:hover{opacity: 0.7;}

  footer{position: relative;}
  footer::before{content:"";position: absolute;width: 100%;height: 171px;background-color: #000;z-index: -1;top: -171px;left: 0;}
}
@media screen and (min-width: 1921px) {
  .sec02_box::before{bottom: 0;}
}
@media screen and (min-width: 768px) and (max-width: 1850px) {
  .s_cta_box::before{bottom: -70px;}
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  .fv{background-size: 1500px;}
  .fv_tt{max-width: 55%;}
  .btn a{width: 660px;font-size: 30px;}
  .s_cta_h2{margin-bottom: 0;}
  .sec01{padding-bottom: 150px;}
  .sec01_list li,.sec07_list dl dt .tt{font-size: 20px;}
  .sec02{clip-path: polygon(50% 150px, 100% 0, 100% calc(100% - 150px), 50% 100%, 0 calc(100% - 150px), 0 0);}
  .s_cta_box::before{bottom: -110px;width: 400px;left: -170px;}
  .sec02_box{padding-top: 220px;}
  .sec02_box::before{bottom: 40px;}
  .sec04_list dl .tt{min-height: 92px !important;}
  .sec04{background-position: right -180px center;}
  .s_cta_box{padding: 160px 70px;}
}