@charset "UTF-8";
@import "https://fonts.googleapis.com/css?family=Courgette";
.courgette {
 font-family: "Courgette", cursive;
 font-weight: 400;
}
/* mvArea */
.mvArea > .wrap {
 text-align: center;
 height: 49.6rem;
 background-size: cover;
 background-position: center top;
 background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
 .mvArea > .wrap {
  height: 37rem;
 }
}
.mvArea .mv_box {
 position: relative;
 top: 50%;
 margin: 0 auto;
 transform: translateY(-50%);
 max-width: 62rem;
 padding: 8rem 0;
 background-color: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 640px) {
 .mvArea .mv_box {
  width: calc(100% - 3rem);
  padding: 3rem 0;
 }
}
.mvArea .title {
 position: relative;
 margin-bottom: 5.5rem;
 font-size: 5.5rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 color: #19216b;
 letter-spacing: 0.08em;
 line-height: 1.0;
}
.mvArea .title + .read {
 color: #19216b;
 font-size: 2rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 400;
 font-weight: bold;
 line-height: 1.6;
}
.mvArea .title:before {
 position: absolute;
 content: "";
 display: block;
 width: 7rem;
 height: 0.4rem;
 bottom: -2.5rem;
 left: 50%;
 margin-left: -3.5rem;
 background-color: #f5c51d;
}
@media screen and (max-width: 640px) {
 .mvArea .title {
  margin-bottom: 2.5rem;
  font-size: 3.2rem;
  font-weight: bold;
 }
 .mvArea .title + .read {
  margin-right: 1rem;
  margin-left: 1rem;
  font-size: 1.2rem;
 }
 .mvArea .title:before {
  width: 4rem;
  height: 0.3rem;
  bottom: -1.5rem;
  margin-left: -2rem;
 }
}
/* in */
section .in, .detailArea .in {
 max-width: 1100px;
 margin: 0 auto;
}
@media screen and (max-width: 640px) {
 section .in, .detailArea .in {
  width: calc(100% - 3rem);
 }
}
/* wrap */
section > .wrap {
 padding-top: 1px;
}
/* bcgl */
section .bcgl {
 background-color: #f4f4f2;
}
section .bcgl.type01 {
 padding-left: 54px;
 padding-right: 54px;
}
@media screen and (max-width: 640px) {
 section .bcgl.type01 {
  padding-left: 0;
  padding-right: 0;
 }
}
/* sec_tit */
section .sec_tit > .title {
 background-position: left bottom, right top;
}
@media screen and (max-width: 640px) {
 section .sec_tit > .title {
  background-position: left bottom, right top;
  background-size: auto 4.4rem, auto 6.5rem;
 }
}
/* column */
section .column .detail {
 display: inline-block;
 position: relative;
 width: 100%;
 max-width: 31%;
 margin-bottom: 8rem;
 padding-top: 27.5rem;
 vertical-align: top;
}
@media screen and (max-width: 640px) {
 section .column .detail {
  max-width: 100%;
 }
}
section .column .detail + .detail {
 margin-left: 3%;
}
@media screen and (max-width: 640px) {
 section .column .detail + .detail {
  margin-left: 0;
 }
}
section .column .detail:nth-child(4) {
 margin-left: 0;
}
section .column .detail .title {
 margin-bottom: 1rem;
 color: #0d1663;
 font-size: 2.2rem;
 font-weight: 500;
 text-align: center;
}
@media screen and (max-width: 640px) {
 section .column .detail .title {
  font-size: 2.4rem;
 }
}
section .column .detail .read {
 font-size: 1.4rem;
 text-align: justify;
 letter-spacing: -0.05rem;
}
section .column .detail .read.type01 {
 letter-spacing: 0.02rem;
}
@media screen and (max-width: 640px) {
 section .column .detail .read.type01 {
  letter-spacing: 0;
 }
}
@media screen and (max-width: 640px) {
 section .column .detail .read {
  text-align: left;
  letter-spacing: 0;
 }
}
section .column .detail .ph {
 position: absolute;
 top: 0;
 display: block;
 height: 25.6rem;
}
section .column .detail .ph img {
 position: relative;
 top: 50%;
 transform: translateY(-50%);
 width: 100%;
 height: auto;
}
section .column .detail .mod_btn01 {
 display: block;
 margin: 2.5rem auto 0;
}
/* stimates_btn */
.stimates_btn {
 padding-top: 4.6rem;
 padding-bottom: 4.8rem;
 background-color: #171c61;
 text-align: center;
}
@media screen and (max-width: 640px) {
 .stimates_btn {
  padding-top: 4.2rem;
  padding-bottom: 4.4rem;
  margin-left: -1.5rem;
  width: calc(100% + 3rem);
  box-sizing: border-box;
 }
}
.stimates_btn .mod_btn01 {
 width: 28.5rem;
 height: 6.5rem;
}
.stimates_btn .mod_btn01:before, .stimates_btn .mod_btn01:after {
 width: 28.5rem;
 height: 6.5rem;
}
.stimates_btn .mod_btn01 > span {
 font-size: 1.8rem;
}
/* currency */
.currency {
 text-align: right;
}
@media screen and (max-width: 640px) {
 .currency {
  text-align: left;
 }
}
/* mod_tbl01 */
.mod_tbl01 {
 width: 100%;
 margin-bottom: 3.5rem;
 border-spacing: 0;
 table-layout: fixed;
 position: relative;
 font-size: 1.3rem;
 overflow: hidden;
}
.mod_tbl01 tr:first-child > * {
 border-top: 1px solid #8b8eb1;
}
.mod_tbl01 tr > *:first-child {
 border-left: 1px solid #8b8eb1;
}
.mod_tbl01 th, .mod_tbl01 td {
 border-bottom: 1px solid #8b8eb1;
 border-right: 1px solid #8b8eb1;
 line-height: 1.4;
}
@media screen and (min-width: 641px) {
 .mod_tbl01 th.type01, .mod_tbl01 td.type01 {
  width: 60px;
 }
}
@media screen and (min-width: 641px) {
 .mod_tbl01 th.type02, .mod_tbl01 td.type02 {
  width: 120px;
 }
}
@media screen and (min-width: 641px) {
 .mod_tbl01 th.type03, .mod_tbl01 td.type03 {
  width: 350px;
 }
}
.mod_tbl01 thead[data-flowheader] {
 position: relative;
}
.mod_tbl01 thead[data-flowheader] th {
 position: relative;
 border-right: none;
 background-color: #232669;
 color: #fff;
}
.mod_tbl01 thead[data-flowheader] th:before {
 content: "";
 display: block;
 position: absolute;
 bottom: 100%;
 left: -1px;
 width: 101%;
 height: 500px;
 background-color: #FFF;
}
.mod_tbl01 thead[data-flowheader] th + th:after {
 content: "";
 display: block;
 width: 1px;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 background-color: #8b8eb1;
}
.mod_tbl01 thead th {
 padding-top: 2rem;
 padding-bottom: 2rem;
}
.mod_tbl01 tbody th, .mod_tbl01 tbody td {
 padding-top: 1.4rem;
 padding-bottom: 1.4rem;
}
.mod_tbl01 tbody th {
 background-color: #ececea;
 font-weight: normal;
}
.mod_tbl01 tbody td {
 text-align: center;
}
.mod_tbl01UL {
 margin-top: 20px;
 text-align: left;
}
@media screen and (max-width: 640px) {
 .mod_tbl01UL {
  margin-top: 1rem;
 }
}
.mod_tbl01UL li {
 padding-left: 1.0em;
 font-size: 1.5rem;
 text-indent: -1.0em;
}
@media screen and (max-width: 640px) {
 .mod_tbl01UL li {
  font-size: 1.2rem;
 }
}
.mod_tbl01UL li:before {
 content: "■";
 margin-right: 5px;
 color: #f05050;
 font-size: 0.9rem;
}
/* mod_tbl01_sp */
@media screen and (max-width: 640px) {
 .mod_tbl01_sp {
  width: 100%;
  margin-bottom: 1.5rem;
  border-collapse: collapse;
  font-size: 1.1rem;
  display: none;
  margin-top: 0.5rem;
 }
 .mod_tbl01_sp.active {
  display: table !important;
 }
 .mod_tbl01_sp thead th {
  font-size: 1.4rem;
  padding: 0.5rem 0;
  background-color: #171C61;
  color: #FFF;
 }
 .mod_tbl01_sp th, .mod_tbl01_sp td {
  padding-top: 1.2rem;
  padding-bottom: 1.1rem;
  border: 1px solid #8b8eb1;
 }
 .mod_tbl01_sp th {
  background-color: #ececea;
  font-weight: normal;
  width: 40%;
 }
 .mod_tbl01_sp td {
  text-align: center;
  width: 60%;
 }
}