@charset "UTF-8";
/*!00Basic*/
* {
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.08em;
    line-height: 2em;
}
html {
    width: 100%;
    min-width: 320px;
    height: 100%;
    scroll-behavior: smooth;
}
body {
    background: #fff;
    height: 100%;
    min-width: 320px;	
}

img {
    max-width: 100%;
    height: auto;
}
.hover:hover {
    color: #163fa7;
    transition: .2s;
}

/*フェードイン用 Class*/
/*時間差1 下から*/
.js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 1s,visibility 1s, transform 1s;
}
.scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}
/*時間差2 下から*/
.js-fade2 {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 1s,visibility 1s, transform 1s;
    transition-duration: 0.3s;
}
.scroll2 {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}
/*時間差3 下から*/
.js-fade3 {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 1s,visibility 1s, transform 1s;
    transition-duration: 0.6s;
}
.scroll3 {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}
/*時間差1 右から*/
.js-fade_x {
    opacity: 0;
    visibility: hidden;
    transform: translateX(48px);
    transition: opacity 1s,visibility 1s, transform 1s;
    transition-duration: 1s;
}
.scroll_x {
    opacity: 1;
    visibility: visible;
    transform: translateX(0px);
}
/*ゆっくり1 下から*/
.js-fade_slow {
    opacity: 0;
    visibility: hidden;
    transform: translateY(32px);
    transition: opacity 2s,visibility 2s, transform 2s;
    transition-duration: 1s;
}

.scroll_slow {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

/*ゆっくり2 下から*/
.js-fade_slow2 {
    opacity: 0;
    visibility: hidden;
    transform: translateY(32px);
    transition: opacity 2s,visibility 2s, transform 2s;
    transition-duration: 1.5s;
    transition-delay: 0.5s; /* ← ここで開始を遅らせる */
}

.scroll_slow2 {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

/*ゆっくり3 下から*/
.js-fade_slow3 {
    opacity: 0;
    visibility: hidden;
    transform: translateY(32px);
    transition: opacity 2s,visibility 2s, transform 2s;
    transition-duration: 2s;
    transition-delay: 1s; /* ← ここで開始を遅らせる */
}

.scroll_slow3 {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}






/*!99共通パーツ*/

.pc {
    display: block;
}

/*WIDTH*/
.w80 {
    width: 80px;
}

.w100per {
    width: 100% !important;
}

.w50per {
    width:calc(50% - 24px);
}
.w50per_no_margin {
    width: 50%;
}
.w25per {
    width:calc(25% - 16px);
}

.mw320 {
    width: 100%;
    max-width: 320px !important;
    margin: 0 auto;
}
.mw400 {
    width: 100%;
    max-width: 400px !important;
    margin: 0 auto;
}

.mw800 {
    width: 100%;
    max-width: 800px !important;
    margin: 0 auto;
}
.mw1200 {
    width: 100%;
    max-width: 1280px !important;
    margin: 0 auto;
}
.mw1600 {
    width: 100%;
    max-width: 1580px !important;
    margin: 0 auto;
}
.mw1500_margin0 {
    width: 100%;
    max-width: 1500px !important;
    margin: 0;
}
.mw1000_margin0 {
    width: 100%;
    max-width: 1000px !important;
    margin: 0;
}


/*froat*/
.f_l {float: left;}
.f_r {float: right;}
/* For modern browsers */
.cf:before,
.cf:after {
    content:"";
    display:table;
}
 
.cf:after {
    clear:both;
}
 
/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}

/*text-align*/
.tex_c { text-align: center; }
.tex_l { text-align: left; }
.tex_r { text-align: right; }

/*FLEX*/

.flex {
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap:wrap;
}
.flex_bet {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap:wrap;
}
.flex_end {
    display: flex;
    justify-content: flex-end;
    flex-direction: row;
    flex-wrap:wrap;
}
.flex_center {
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap:wrap;
}

/*FLEX高さ合わせない*/
.ai_s {
    align-items: flex-start;
}
/*FLEX縦下に設置*/
.ai_e {
    align-items: flex-end;
}
/*FLEX縦センター*/
.ai_c {
    align-items: center;
}

.ai_st {
    align-items: stretch;
}

/*画像トリミング*/
.tri {
    object-fit: cover;
}
/*画像下の空白を埋める*/
.vab{
vertical-align: bottom;
}

/* line-height */
.lh1 {
    line-height: 1em;
} 
.lh {
    line-height: 1.7em;
}
/*角丸*/
.rounded {
    border-radius: 16px;
    overflow: hidden;
}

/*TABLE*/
.has-fixed-layout {
 width: 100%;
 text-align: left;
 border-collapse: separate;
 border-spacing: 0 16px;
 border-top: none !important;
}

.has-fixed-layout tr {
}
.has-fixed-layout th {
    padding: 32px 24px;
    border: none !important;

    width: 200px !important;
    font-size: 16px;
    background: #06409b;
    color: #fff;
}
.has-fixed-layout td {
 padding: 32px 24px;
 border: none !important;
 width:calc(100% - 200px) !important;
 font-weight: 300;
 background: #fff;
}

.has-fixed-layout tr td:first-child {
    padding: 32px 0;
    border: none !important;
    border-bottom: solid 1px #222 !important;
    width: 200px !important;
    font-weight: 600;
}





/*TABLE FORM*/
.has-fixed-layout2 {
 width: 100%;
 text-align: left;
 border-collapse: separate;
 border-spacing: 0 16px;
 border-top: none !important;
}

.has-fixed-layout2 dl {
  display: flex;
  justify-content: flex-start; /* 左寄せ（start） */
  flex-wrap: wrap;             /* 折り返しあり */
  align-items: stretch;
  font-size: 14px;
  margin-bottom: 4px;;
}
.has-fixed-layout2 dt {
    padding: 16px 24px 12px 24px;
    border: none !important;
    display: flex;
    justify-content: flex-start; /* 左寄せ（start） */
    flex-wrap: wrap;             /* 折り返しあり */
    align-items: center;
    width: 200px !important;
    font-size: 14px;
    background: #06409b;
    color: #fff;
}
.has-fixed-layout2 dd {
 padding: 16px 24px 16px 24px;
 border: none !important;
 width:calc(100% - 200px) !important;
 font-weight: 300;
 background: #f5f5f5;

}

.has-fixed-layout2 dt span {
    font-weight: 300 !important;
    position: relative;
    left: 8px;
    background: #fff;
    font-size: 10px !important;
    color: #121212;
    padding: 4px;
    border-radius: 4px;
    display: inline-block;
    margin: 0 16px 0 0;
    line-height: 1.2em;
    position: relative;
    bottom: 2px;
}

.has-fixed-layout2 dt .optional {
    font-weight: 300 !important;
    position: relative;
    left: 8px;
    background: #67d;
    font-size: 10px !important;
    color: #fff;
    padding: 4px;
    border-radius: 4px;
    display: inline-block;
    margin: 0 16px 0 0;
    line-height: 1.2em;
    position: relative;
    bottom: 2px;
    display: none !important;
}


.has-fixed-layout2 dt p {
    font-weight: 300 !important;
}

.has-fixed-layout2 dl dt:first-child {
    padding: 8px 8px;
    border: none !important;
    font-weight: 600;
}
.hissu {
    position: relative;
    left: 8px;
    
}
.error_blank {
  color: red;
  font-size: 12px;
}

textarea {
    height: 128px;
    resize: none;
    width: 100%;
      box-sizing: border-box;
      display: block;
      background: rgba(242, 241, 241, 0.347);
      border: 1px solid rgba(205, 205, 205, 0.628);
      padding: 8px;
}

input {
    background: rgba(242, 241, 241, 0.347);
    border: 1px solid rgba(205, 205, 205, 0.628);
    width: 100%;
      box-sizing: border-box;
      display: block;
      font-size: 14px;
      font-weight: normal;
      padding-left: 8px;
      padding-right: 8px;
}

label {
  font-size: 14px;
}

select {
    background: rgba(242, 241, 241, 0.947);
    border: 1px solid rgba(205, 205, 205, 1);
    border-radius: 8px;
    margin: 16px 0;
    padding: 8px 16px;
    font-size: 14px;
    
}
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: white;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6H0z' fill='%23333'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px 6px;
  padding-right: 30px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

#form_submit_button {
  width: 200px;
  background: #121212;
  border-radius: 4px;
  color:#fff;
  text-align: center;
  padding: 8px 8px;
  margin: 16px auto;
}

.datesbox {
    display: flex;
    justify-content: flex-start; /* 左寄せ（start） */
    flex-wrap: wrap;             /* 折り返しあり */
    align-items: center;
    font-size: 14px;
}
.datesbox select {
    margin-right: 16px;
}




/* margin */

.mta {margin-top:auto;}
.mra {margin-right:auto;}
.mba {margin-bottom:auto;}
.mla {margin-left:auto;}

.mt-64 {margin-top:-64px !important;}
.mr-64 {margin-right:-64px !important;}
.mb-64 {margin-bottom:-64px !important;}
.ml-64 {margin-left:-64px !important;}


.mt0 {margin-top:0px !important;}
.mr0 {margin-right:0px !important;}
.mb0 {margin-bottom:0px !important;}
.ml0 {margin-left:0px !important;}

.mt8 {margin-top:8px !important;}
.mr8 {margin-right:8px !important;}
.mb8 {margin-bottom:8px !important;}
.ml8 {margin-left:8px !important;}

.mt16 {margin-top:16px !important;}
.mr16 {margin-right:16px !important;}
.mb16 {margin-bottom:16px !important;}
.ml16 {margin-left:16px !important;}

.mt24 {margin-top:24px !important;}
.mr24 {margin-right:24px !important;}
.mb24 {margin-bottom:24px !important;}
.ml24 {margin-left:24px !important;}

.mt32 {margin-top:32px !important;}
.mr32 {margin-right:32px !important;}
.mb32 {margin-bottom:32px !important;}
.ml32 {margin-left:32px !important;}

.mt40 {margin-top:40px !important;}
.mr40 {margin-right:40px !important;}
.mb40 {margin-bottom:40px !important;}
.ml40 {margin-left:40px !important;}

.mt48 {margin-top:48px !important;}
.mr48 {margin-right:48px !important;}
.mb48 {margin-bottom:48px !important;}
.ml48 {margin-left:48px !important;}

.mt56 {margin-top:56px !important;}
.mr56 {margin-right:56px !important;}
.mb56 {margin-bottom:56px !important;}
.ml56 {margin-left:56px !important;}

.mt64 {margin-top:64px !important;}
.mr64 {margin-right:64px !important;}
.mb64 {margin-bottom:64px !important;}
.ml64 {margin-left:64px !important;}

.mt72 {margin-top:72px !important;}
.mr72 {margin-right:72px !important;}
.mb72 {margin-bottom:72px !important;}
.ml72 {margin-left:72px !important;}

.mt80 {margin-top:80px !important;}
.mr80 {margin-right:80px !important;}
.mb80 {margin-bottom:80px !important;}
.ml80 {margin-left:80px !important;}

.mt88 {margin-top:88px !important;}
.mr88 {margin-right:88px !important;}
.mb88 {margin-bottom:88px !important;}
.ml88 {margin-left:88px !important;}

.mt96 {margin-top:96px !important;}
.mr96 {margin-right:96px !important;}
.mb96 {margin-bottom:96px !important;}
.ml96 {margin-left:96px !important;}

.mt104 {margin-top:104px !important;}
.mr104 {margin-right:104px !important;}
.mb104 {margin-bottom:104px !important;}
.ml104 {margin-left:104px !important;}

.mt112 {margin-top:112px !important;}
.mr112 {margin-right:112px !important;}
.mb112 {margin-bottom:112px !important;}
.ml112 {margin-left:112px !important;}

.mt120 {margin-top:120px !important;}
.mr120 {margin-right:120px !important;}
.mb120 {margin-bottom:120px !important;}
.ml120 {margin-left:120px !important;}

.mt128 {margin-top:128px !important;}
.mr128 {margin-right:128px !important;}
.mb128 {margin-bottom:128px !important;}
.ml128 {margin-left:128px !important;}

/*padding*/
.pt0 {padding-top:0px !important;}
.pr0 {padding-right:0px !important;}
.pb0 {padding-bottom:0px !important;}
.pl0 {padding-left:0px !important;}

.pt8 {padding-top:8px !important;}
.pr8 {padding-right:8px !important;}
.pb8 {padding-bottom:8px !important;}
.pl8 {padding-left:8px !important;}

.pt16 {padding-top:16px !important;}
.pr16 {padding-right:16px !important;}
.pb16 {padding-bottom:16px !important;}
.pl16 {padding-left:16px !important;}

.pt24 {padding-top:24px !important;}
.pr24 {padding-right:24px !important;}
.pb24 {padding-bottom:24px !important;}
.pl24 {padding-left:24px !important;}

.pt32 {padding-top:32px !important;}
.pr32 {padding-right:32px !important;}
.pb32 {padding-bottom:32px !important;}
.pl32 {padding-left:32px !important;}

.pt40 {padding-top:40px !important;}
.pr40 {padding-right:40px !important;}
.pb40 {padding-bottom:40px !important;}
.pl40 {padding-left:40px !important;}

.pt48 {padding-top:48px !important;}
.pr48 {padding-right:48px !important;}
.pb48 {padding-bottom:48px !important;}
.pl48 {padding-left:48px !important;}

.pt56 {padding-top:56px !important;}
.pr56 {padding-right:56px !important;}
.pb56 {padding-bottom:56px !important;}
.pl56 {padding-left:56px !important;}

.pt64 {padding-top:64px !important;}
.pr64 {padding-right:64px !important;}
.pb64 {padding-bottom:64px !important;}
.pl64 {padding-left:64px !important;}

.pt72 {padding-top:72px !important;}
.pr72 {padding-right:72px !important;}
.pb72 {padding-bottom:72px !important;}
.pl72 {padding-left:72px !important;}

.pt80 {padding-top:80px !important;}
.pr80 {padding-right:80px !important;}
.pb80 {padding-bottom:80px !important;}
.pl80 {padding-left:80px !important;}

.pt88 {padding-top:88px !important;}
.pr88 {padding-right:88px !important;}
.pb88 {padding-bottom:88px !important;}
.pl88 {padding-left:88px !important;}

.pt96 {padding-top:96px !important;}
.pr96 {padding-right:96px !important;}
.pb96 {padding-bottom:96px !important;}
.pl96 {padding-left:96px !important;}

.pt104 {padding-top:104px !important;}
.pr104 {padding-right:104px !important;}
.pb104 {padding-bottom:104px !important;}
.pl104 {padding-left:104px !important;}

.pt112 {padding-top:112px !important;}
.pr112 {padding-right:112px !important;}
.pb112 {padding-bottom:112px !important;}
.pl112 {padding-left:112px !important;}

.pt120 {padding-top:120px !important;}
.pr120 {padding-right:120px !important;}
.pb120 {padding-bottom:120px !important;}
.pl120 {padding-left:120px !important;}

.pt128 {padding-top:128px !important;}
.pr128 {padding-right:128px !important;}
.pb128 {padding-bottom:128px !important;}
.pl128 {padding-left:128px !important;}

.pt160 {padding-top:160px !important;}

/*FONT*/

.font_w {
    color: #fff !important;
}
.font_b span {
    color: #2e2b2b !important;
    display: inline-block;
    background: #fff;
    padding-left: 4px;
    padding-right: 4px;
}

.bold {
    font-weight: bold !important;
}

.font12 {font-size: 12px !important;}
.font14 {font-size: 14px !important;}
.font16 {font-size: 16px !important;}
.font18 {font-size: 18px !important;}
.font24 {font-size: 24px !important;}
.font28 {font-size: 28px !important;}
.font32 {font-size: 32px !important;}
.font48 {font-size: 48px !important;}
.font64 {font-size: 64px !important;}
.font80 {font-size: 80px !important;}
.font88 {font-size: 88px !important;}

/*可変*/
.font48_sps {
    font-size: 48px !important;
}

.fatfrank {
    font-family: "fatfrank", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.Hiragino3 {
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 300;
    font-style: normal;
}
.Hiragino6 {
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 600;
    font-style: normal;
}

@media screen and (max-width: 799px){
    .mt24sp {
        margin-top: 24px !important;
    }
    .mt-64 {
        margin-top: 16px !important;
    }
    .font64 {
        font-size: 42px !important;
        line-height: 1.5em !important;
    }
}






@media screen and (max-width: 649px){
/*TABLE FORM*/
.has-fixed-layout2 {
 width: 100%;
 text-align: left;
 border-collapse: separate;
 border-spacing: 0 16px;
 border-top: none !important;
}

.has-fixed-layout2 dl {
  display: block;
  justify-content: flex-start; /* 左寄せ（start） */
  flex-wrap: wrap;             /* 折り返しあり */
  align-items: stretch;
  font-size: 14px;
  margin-bottom: 4px;;
}
.has-fixed-layout2 dt {
    padding: 16px 24px 12px 24px !important;
    border: none !important;
    display: flex;
    justify-content: flex-start; /* 左寄せ（start） */
    flex-wrap: wrap;             /* 折り返しあり */
    align-items: center;
    width: 200px !important;
    font-size: 14px;
    background: #06409b;
    color: #fff;
    width: 100% !important;
}
.has-fixed-layout2 dt br {
  display: none;
}
.has-fixed-layout2 dd {
 padding: 16px 24px 16px 24px;
 border: none !important;
 width: 100% !important;
 font-weight: 300;
 background: #f5f5f5;

}

.has-fixed-layout2 dt span {
    font-weight: 300 !important;
    position: relative;
    left: 8px;
    background: #fff;
    font-size: 10px !important;
    color: #121212;
    padding: 4px;
    border-radius: 4px;
    display: inline-block;
    margin: 0 16px 0 0;
    line-height: 1.2em;
    position: relative;
    bottom: 2px;
}

.has-fixed-layout2 dt .optional {
    font-weight: 300 !important;
    position: relative;
    left: 8px;
    background: #67d;
    font-size: 10px !important;
    color: #fff;
    padding: 4px;
    border-radius: 4px;
    display: inline-block;
    margin: 0 16px 0 0;
    line-height: 1.2em;
    position: relative;
    bottom: 2px;
    display: none !important;
}


.has-fixed-layout2 dt p {
    font-weight: 300 !important;
}

.has-fixed-layout2 dl dt:first-child {
    padding: 8px 8px;
    border: none !important;
    font-weight: 600;
}
}