@charset "utf-8";

/*============================
#common
============================*/
.under .ttl_block .page_ttl:after {
  width: 112.8rem;
  height: 50rem;
  background-image: url(../image/img_mv.png);
  background-position: center left;
  top: 0;
  transform: translateY(0);
  right: -33.2rem;
}

.img_box img {
  max-width: 100%;
  height: auto;
}

.price_sheet tr {
  border-top: solid 1px #ebdcb9;
  border-bottom: solid 1px #ebdcb9;
}


.price_sheet th,
.price_sheet td {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1;
  padding: 1.5em 1em;
}
.price_sheet th {
  width: 35%;
  color: #5f4400;
}

.price_sheet td {
  width: 65%;
}

.main_sec {
  padding: 0;
  margin-top: 10rem;
}

.ttl_deco_01 {
  margin-bottom: .75em;
}

article .deco_box {
  background-position: left top, right top, right bottom, left bottom;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: 5.7rem auto, 5.7rem auto, 5.7rem auto, 5.7rem auto;
}

article .deco_box.deco_box_b {
  border: solid 1px #bcdeec;
  background-image: url(../../common/image/decoration/border_deco_b02_lt.png), url(../../common/image/decoration/border_deco_b02_rt.png), url(../../common/image/decoration/border_deco_b02_rb.png), url(../../common/image/decoration/border_deco_b02_lb.png);
}

article .deco_box.deco_box_g {
  border: solid 1px #ebdcb9;
  background-image: url(../../common/image/decoration/border_deco_g01_lt.png), url(../../common/image/decoration/border_deco_g01_rt.png), url(../../common/image/decoration/border_deco_g01_rb.png), url(../../common/image/decoration/border_deco_g01_lb.png);
}

/*@ = tablet = @*/
@media (max-width : 991px) {
  .under .ttl_block .page_ttl:after {
    width: 78.96rem;
    height: 35rem;
    right: -23.24rem;
    transform: rotateY(180deg);
  }

  .price_sheet th,
  .price_sheet td {
    font-size: 1.6rem;
  }

  .main_sec {
    margin-top: 6rem;
  }
}

/*@ = Mobile L = @*/
@media (max-width : 767px) {
  .under .ttl_block .page_ttl:after {
    height: 30rem;
    width: 67.68rem;
  }

  .price_sheet th {
    padding: 1.3em .5em;
    font-size: 1.8rem;
  }
  .price_sheet td {
    padding: 1.3em .5em;
    font-size: 1.5rem;
  }

  .price_sheet.-sp_vertical tr{
    display: block;
    width: 100%;
  }
  .price_sheet.-sp_vertical th,
  .price_sheet.-sp_vertical td{
    display: block;
    width: 100%;
  }
  .price_sheet.-sp_vertical th{
    padding-bottom: 0;
  }
}

/*@ = Mobile S = @*/
@media (max-width : 575px) {
  .under .ttl_block .page_ttl:after {
    width: 56.4rem;
    height: 25rem;
    right: -24.24rem;
  }
}

/*============================
#s01
============================*/
.sec_detail .catch {
  font-size: 7.2rem;
  text-align: center;
  color: #5f4400;
  margin-bottom: 1.35em;
  line-height: 1.475;
}

.sec_detail .sec_box .flex_box {
  align-items: center;
}

.sec_detail .sec_box .flex_box:nth-child(n+2) {
  margin-top: 5rem;
}

.sec_detail .sec_box .flex_box:nth-child(even) {
  flex-direction: row-reverse;
}

.sec_detail .sec_box .flex_box>* {
  width: 50%;
}

.sec_detail .sec_box .flex_box:nth-child(odd) .img_box {
  padding-right: 5rem;
}

.sec_detail .sec_box .flex_box:nth-child(even) .img_box {
  padding-left: 5rem;
}

.sec_detail .sec_box .txt_box h3 {
  font-size: 2.4rem;
  margin-bottom: 1.8em;
  color: #164878;
}

.sec_detail .sec_box .txt_box p {
  line-height: 1.875;
}

.sec_detail .sec_box .txt_box p:not(:last-child) {
  margin-bottom: 1em;
}

.sec_detail .sec_box .txt_box .sign {
  line-height: 1;
  color: #b50568;
  font-size: 2.4rem;
  margin-top: 1.25em;
}

/*@ = tablet = @*/
@media (max-width : 991px) {
  .sec_detail .catch {
    font-size: 4.6rem;
    margin-bottom: 1em;
  }

  .sec_detail .ttl_deco_01 {
    line-height: 1.6;
  }

  .sec_detail .sec_box .flex_box {
    align-items: stretch;
  }

  .sec_detail .sec_box .flex_box .img_box {
    width: 40%;
  }

  .sec_detail .sec_box .flex_box .txt_box {
    width: 55%;
  }

  .sec_detail .sec_box .flex_box:nth-child(odd) .img_box {
    padding-right: 0;
  }

  .sec_detail .sec_box .flex_box:nth-child(even) .img_box {
    padding-left: 0;
  }

  .sec_detail .sec_box .txt_box h3 {
    line-height: 1.6;
    margin-bottom: 1em;
  }

  .sec_detail .sec_box .txt_box .sign {
    line-height: 1.4;
  }
}

/*@ = Mobile L = @*/
@media (max-width : 767px) {
  .sec_detail .catch {
    font-size: 4rem;
  }

  .sec_detail .sec_box .flex_box {
    display: block;
  }

  .sec_detail .sec_box .flex_box .img_box {
    width: 100%;
  }

  .sec_detail .sec_box .flex_box .txt_box {
    width: 100%;
  }

  .sec_detail .sec_box .txt_box h3 {
    text-align: center;
    line-height: 1;
    padding-top: 1em;
  }

  .sec_detail #s01_2 .txt_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }

  .sec_detail #s01_2 p {
    width: 100%;
    margin-bottom: 2em;
  }

  .sec_detail #s01_2 .img_box {
    width: 45%;
  }

  .sec_detail #s01_2 .sign {
    width: 55%;
    margin-top: 0;
    font-size: 2.2rem;
    padding-left: 1em;
  }
}

/*@ = Mobile S = @*/
@media (max-width : 575px) {
  .sec_detail .catch {
    font-size: 3.6rem;
  }

  .sec_detail .sec_box .flex_box:nth-child(n+2) {
    margin-top: 1em;
  }

  .sec_detail #s01_2 .img_box {
    width: 100%;
  }

  .sec_detail .sec_box .txt_box h3 {
    line-height: 1.6;
  }

  .sec_detail #s01_2 .sign {
    width: 100%;
    text-align: center;
    padding: 0;
    text-indent: 1em;
    margin-top: .5em;
  }
}

/*============================
#sec_point
============================*/
.sec_point .flex_box>* {
  width: 50%;
}

.sec_point .img_box {
  padding-right: 5rem;
}

.sec_point .txt_box .strong {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.4;
  margin-bottom: 1.3em;
  color: #5f4400;
  padding-left: 1.1em;
}

.sec_point .txt_box .strong:before {
  position: absolute;
  content: "■";
  left: 0;
  top: 0;
}

.sec_point .txt_box .d_list01 {
  padding-left: 1.7em;
}

.sec_point .txt_box .d_list01 li:before {
  background: #5f4400;
}

/*@ = tablet = @*/
@media (max-width : 991px) {
  .sec_point .flex_box {
    display: block;
    text-align: center;
  }

  .sec_point .img_box {
    width: 70%;
    margin: 0 auto 2rem;
    padding: 0;
  }

  .sec_point .txt_box {
    display: inline-block;
    text-align: left;
    width: auto;
  }
}

/*============================
#s03
============================*/
.sec_differ .rwd_sheet th,
.sec_differ .rwd_sheet td {
  border: solid 1px #e9e9e9;
  padding: 1em;
}

.sec_differ .rwd_sheet thead th {
  font-size: 1.8rem;
  line-height: 1.4;
  color: #164878;
}

.sec_differ .rwd_sheet tbody td {
  width: 27.5%;
  vertical-align: top;
}

.sec_differ .rwd_sheet tbody td:first-child {
  color: #164878;
  font-size: 2.4rem;
  text-align: center;
  vertical-align: middle;
  width: auto;
}

.sec_differ .rwd_sheet .d_list01 {
  line-height: 1.875;
}

.sec_differ .rwd_sheet .d_list01 li:nth-child(n+2) {
  margin-top: .25em;
}

.sec_differ .rwd_sheet .d_list01 li:before {
  transform: scale(.4);
  top: .5em;
}

.sec_differ .rwd_sheet tbody td.strong {
  background: #ffffe7;
  color: #b50568;
}

/*@ = tablet = @*/
@media (max-width : 991px) {
  .sec_differ .rwd_sheet .sub_box {
    background: #fff;
    border: solid 1px #e0f0f6;
    background: #fff;
    padding: 4rem;
    background-image: url(../../common/image/decoration/border_deco_db01_lt.png), url(../../common/image/decoration/border_deco_db01_rt.png), url(../../common/image/decoration/border_deco_db01_rb.png), url(../../common/image/decoration/border_deco_db01_lb.png);
    background-repeat: no-repeat;
    background-position: left top, right top, right bottom, left bottom;
    background-size: 5.6rem auto;
    background-color: #fdfdfd;
  }

  .sec_differ .rwd_sheet .sub_box:not(:last-child) {
    margin-bottom: 4rem;
  }

  .sec_differ .rwd_sheet .sheet_ttl {
    font-size: 2.4rem;
    color: #164778;
    margin-bottom: 1em;
  }

  .sec_differ .rwd_sheet dt {
    font-size: 1.8rem;
    line-height: 1;
    margin-bottom: .5em;
  }

  .sec_differ .rwd_sheet dd {
    padding-left: 1em;
  }

  .sec_differ .rwd_sheet dd:not(:last-child) {
    margin-bottom: 1em;
  }

  .sec_differ .rwd_sheet .d_list01 {
    line-height: 1.6;
  }

  .sec_differ .rwd_sheet .d_list01 li:before {
    top: .25em;
  }

  .sec_differ .rwd_sheet .d_list01 li:nth-child(n+2) {
    margin-top: .5em;
  }

  .sec_differ .rwd_sheet .sub_box.strong {
    border: solid 1px #bcdeec;
    background-image: url(../../common/image/decoration/border_deco_b02_lt.png), url(../../common/image/decoration/border_deco_b02_rt.png), url(../../common/image/decoration/border_deco_b02_rb.png), url(../../common/image/decoration/border_deco_b02_lb.png);
    background-color: #ffffe7;
  }

  .sec_differ .rwd_sheet .sub_box.strong .sheet_ttl {
    color: #b50567;
  }
}

/*============================
#sec_cautions
============================*/
.sec_cautions .deco_box {
  padding: 5rem 6rem;
}

.sec_cautions .deco_box h2 {
  font-size: 3rem;
  line-height: 1.4;
  margin-bottom: .8em;
  text-align: center;
  color: #5f4400;
}

.sec_cautions .deco_box section {
  background: #f7f4ec;
  padding: 3rem;
}

.sec_cautions .deco_box .flex_box {
  position: relative;
}

.sec_cautions .deco_box .flex_box:not(.item_box):after {
  position: absolute;
  content: "";
  width: 8%;
  height: 10rem;
  background: url(../../common/image/arrow_g02.png) no-repeat center center / contain;
  top: 50%;
  left: 43.6%;
  transform: translateY(-50%);
}

.sec_cautions .deco_box section h3 {
  font-size: 1.8rem;
  line-height: 1.4;
  margin-bottom: 1em;
  text-align: center;
  color: #5f4400;

}

/*@ = tablet = @*/
@media (max-width : 991px) {
  .sec_cautions .deco_box {
    padding: 5rem;
  }

  .sec_cautions .deco_box h2 {
    font-size: 2.4rem;
  }

  .sec_cautions .deco_box section {
    padding: 2rem;
  }

  .sec_cautions .deco_box .flex_box:not(.item_box):after {
    left: 43.5%;
    width: 5%;
  }
}

/*@ = Mobile L = @*/
@media (max-width: 767px) {
  .sec_cautions .deco_box>.flex_box:after {
    display: none;
  }

  .sec_cautions .deco_box>.flex_box {
    display: block;
  }
}

/*@ = Mobile S = @*/
@media (max-width : 575px) {
  .sec_cautions .deco_box {
    padding: 5rem 3rem;
  }

  .sec_cautions .deco_box h2 {
    font-size: 2.2rem;
  }

}


/* @ === s04_1 === @ */
.sec_cautions #s04_1 {
  width: 43.6%;
}


.sec_cautions #s04_1 .change_box:after {
  height: 6rem;
  left: 42%;
  width: 10%;
}

.sec_cautions #s04_1 .change_box .img_box:first-child {
  width: 42%;
}

.sec_cautions #s04_1 .change_box .img_box:last-child {
  width: 48%;
}

.sec_cautions #s04_1 p {
  line-height: 1.875;
  margin-top: .8em;
}

/*@ = tablet = @*/
@media (max-width : 991px) {
  .sec_cautions #s04_1 {
    width: 42%;
  }

  .sec_cautions #s04_1 p {
    font-size: 1.3rem;
  }
}

/*@ = Mobile L = @*/
@media (max-width : 767px) {
  .sec_cautions #s04_1 {
    width: 100%;
  }
}



/* @ === s04_2 === @ */
.sec_cautions #s04_2 {
  width: 48.4%;
}


.sec_cautions #s04_2 .item_box {
  align-items: center;
}

.sec_cautions #s04_2 .txt_box {
  padding-left: 2rem;
  width: 63%;
}

.sec_cautions #s04_2 .item_box .img_box {
  width: 37%;
}

.sec_cautions #s04_2 .item_box .price {
  font-size: 3rem;
  color: #5f4400;
}

.sec_cautions #s04_2 .item_box p {
  line-height: 1;
}

.sec_cautions #s04_2 .item_box p:not(.price) {
  margin-top: 1em;
}

/*@ = tablet = @*/
@media (max-width : 991px) {
  .sec_cautions #s04_2 {
    width: 50%;
  }


  .sec_cautions #s04_2 .txt_box {
    padding-left: 1.5rem;
  }

  .sec_cautions #s04_2 .item_box .price {
    font-size: 2.2rem;
  }

  .sec_cautions #s04_2 .item_box p:not(.price) {
    text-indent: -.5em;
    line-height: 1.4;
  }
}

/*@ = Mobile L = @*/
@media (max-width : 767px) {
  .sec_cautions #s04_2 {
    position: relative;
    width: 100%;
    margin-top: 5rem;
  }

  .sec_cautions #s04_2:before {
    position: absolute;
    content: "";
    left: 50%;
    top: -7.5rem;
    width: 3rem;
    height: 7.5rem;
    transform-origin: 50% 50%;
    transform: rotate(90deg) translate(50%, 25%);
    background: url(../../common/image/arrow_g02.png) no-repeat center center / contain;
  }

}



/*============================
#sec_hairy
============================*/
.sec_hairy .deco_box {
  padding: 5rem 10rem;
}

.sec_hairy .deco_box h2 {
  font-size: 3rem;
  text-align: center;
  line-height: 1.4;
  margin-bottom: .8em;
  color: #b50568;
}

.sec_hairy .deco_box p {
  line-height: 1.875;
  margin-bottom: 1em;
}

.sec_hairy .sub_box {
  margin-top: 5rem;
  background: #edf5f7;
  padding: 3rem;
}

.sec_hairy .sub_box h3 {
  text-align: center;
  font-size: 1.8rem;
  color: #164878;
}

.sec_hairy .sub_box p {
  line-height: 1;
  text-align: center;
  margin-top: .5em;
}

.sec_hairy .epi_btn{
  margin-top: 2em;
}

.sec_hairy .epi_btn a{
  display: block;
  background:url(../../common/image/border_deco_white_lt.png), url(../../common/image/border_deco_white_rt.png), url(../../common/image/border_deco_white_rb.png), url(../../common/image/border_deco_white_lb.png),#598AB9;
  background-repeat: no-repeat;
  background-position: left top,right top,right bottom,left bottom;
  background-size: 4%;
  text-align: center;
  color: #fff;
  font-size: 1.3em;
  line-height: 1;
  padding: 2em 1em;
}

@media (min-width: 992px){
  .sec_hairy .epi_btn a:hover{
    opacity: 0.6;
  }
}

.sec_hairy .sub_box .change_box {
  position: relative;
}

.sec_hairy .sub_box .change_box:after {
  position: absolute;
  content: "";
  left: 48%;
  top: 50%;
  transform: translateY(-50%);
  width: 4%;
  height: 6rem;
  background: url(../../common/image/arrow_b02.png) no-repeat center center / contain;
}

.sec_hairy .sub_box .change_box .img_box {
  width: 48%;
  text-align: center;
}

/*@ = tablet = @*/
@media (max-width : 991px) {
  .sec_hairy .deco_box {
    padding: 5rem;
  }

  .sec_hairy .sub_box .change_box .img_box {
    width: 47%;
  }
}

/*@ = Mobile L = @*/
@media (max-width : 767px) {
  .sec_hairy .deco_box {}

  .sec_hairy .deco_box h2 {
    font-size: 2.4rem;
  }
}

/*@ = Mobile S = @*/
@media (max-width : 575px) {
  .sec_hairy .deco_box {
    padding: 5rem 3rem;
  }

  .sec_hairy .deco_box h2 {
    font-size: 2.2rem;
  }
  .sec_hairy .epi_btn a{
    line-height: 1.4;
    font-size: 1.2em;
    background-size: 11%;
  }
}



/*============================
#sec_price
============================*/
.sec_price .deco_box {
  padding: 5rem 6rem;
}

.sec_price .deco_box .inner {
  max-width: 800px;
  margin: 0 auto;
}

.sec_price .deco_box .price_sheet + p{
  margin-top: 1em;
}
.sec_price .deco_box p {
  line-height: 1.875;
  margin-top: 1.8em;
}

.sec_price .ttl_deco_02 {
  font-size: 4.8rem;
  line-height: 1;
  margin-bottom: .5em;
}

.sec_price .ttl_deco_02 span {
  padding: 0 2.25em;
}

.sec_price .ttl_deco_02 span:before,
.sec_price .ttl_deco_02 span:after {
  font-size: 2.4rem;
  top: .3em;
}

.sec_price .sub_ttl {
  text-align: center;
  line-height: 1;
  font-size: 2.4rem;
  color: #5f4400;
  margin-bottom: 1.25em;
}

.sec_price .flex_box{
  margin-top: 4rem;
}

.sec_price .flex_box section {
  width: 48%;
}

.sec_price .flex_box section h3 {
  font-size: 3rem;
  text-align: center;
  color: #5f4400;
  margin-bottom: 1em;
}

/*@ = tablet = @*/
@media (max-width : 991px) {
  .sec_price .ttl_deco_02 {
    font-size: 3.6rem;
  }

  .sec_price .ttl_deco_02 span:before,
  .sec_price .ttl_deco_02 span:after {
    font-size: 1.8rem;
  }

  .sec_price .sub_ttl {
    font-size: 1.8rem;
  }

  .sec_price .flex_box section h3 {
    font-size: 2.4rem;
  }
}

/*@ = Mobile L = @*/
@media (max-width : 767px) {
  .sec_price .deco_box {
    padding: 5rem 4rem;
  }

  .sec_price .flex_box section h3 {
    font-size: 2rem;
  }
}

/*@ = Mobile S = @*/
@media (max-width : 575px) {
  .sec_price .deco_box {
    padding: 5rem 3rem;
  }

  .sec_price .ttl_deco_02 span {
    padding: 0;
  }

  .sec_price .ttl_deco_02 span:before,
  .sec_price .ttl_deco_02 span:after {
    display: none;
  }

  .sec_price .flex_box {
    display: block;
    margin-top: 4rem;
  }

  .sec_price .flex_box section {
    width: 100%;
  }

  .sec_price .flex_box section:nth-child(n+2) {
    margin-top: 4rem;
  }
}




/*============================
#sec_ban
============================*/
.sec_ban .deco_box {
  padding: 8rem;
  background-image: url(../../common/image/decoration/border_deco_b04_lt.png), url(../../common/image/decoration/border_deco_b04_rt.png), url(../../common/image/decoration/border_deco_b04_rb.png), url(../../common/image/decoration/border_deco_b04_lb.png);
  background-size: 5.7rem auto, 5.7rem auto, 5.7rem auto, 5.7rem auto;
}

.sec_ban .deco_box .inner {
  max-width: 730px;
  margin: 0 auto;
}

.sec_ban .d_list01 li:nth-child(n+2) {
  margin-top: .6em;
}

.sec_ban .notes {
  margin-top: 2em;
}

.sec_ban .notes li {
  position: relative;
  padding-left: 1.1em;
  line-height: 1.875;
}

.sec_ban .notes li:before {
  position: absolute;
  content: "※";
  left: 0;
  top: 0;
}

/*@ = tablet = @*/
@media (max-width : 991px) {

  .sec_ban .ttl_deco_02 span{
    padding:0;
  }
  .sec_ban .ttl_deco_02 span:before,
  .sec_ban .ttl_deco_02 span:after {
    display: none;
  }

  .sec_ban .deco_box {
    padding: 5rem;
  }
}

/*@ = Mobile L = @*/
@media (max-width : 767px) {
  .sec_ban .ttl_deco_02 {
    line-height: 1.4;
    margin-bottom: 1em;
  }
}

/*@ = Mobile S = @*/
@media (max-width : 575px) {
  .sec_ban .deco_box {
    padding: 5rem 3rem;
  }
}


/*============================
#sec_movie
============================*/
.sec_movie:last-child{
  padding-bottom: 10rem;
}
.sec_movie .container{
  max-width: 1000px;
}
.sec_movie .movie_box{
  padding-top:56.25%;
  margin-bottom:4rem;
}

/*@ = tablet = @*/
@media (max-width : 991px) {
  .sec_movie:last-child{
    padding-bottom: 6rem;
  }
}
