@charset "UTF-8";
@keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes btnHover {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}

@-webkit-keyframes btnHover {
  0% {
    -webkit-transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0%);
  }
}

/*
リセット
/***********************/
html, body, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a, a:hover {
  text-decoration: none;
  opacity: inherit;
}

a > img, nav > img, li > img, div > img {
  width: 100%;
  height: auto;
}

a img {
  border: none;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: #000;
}

.clearfix:after {
  font-size: 0;
}

.clearfix {
  zoom: 1;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

h1, h2, h3, h4, h5 {
  font-size: 1em;
  margin: 0;
  padding: 0;
}

p, div, span {
  margin: 0;
  padding: 0;
}

ul, ol, li, dl, dt, dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

img,
a img {
  border: none;
  display: block;
}

img {
  width: 100%;
  height: auto;
}

p {
  color: #3e3a39;
}

body * {
  box-sizing: border-box;
}

body {
  font-family: "ヒラギノ角ゴシック Pro W3",Hiragino Kaku Gothic Pro,"メイリオ",Meiryo,Osaka,"MS Pゴシック",MS PGothic,sans-serif;
}

#wrapper {
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  overflow: hidden;
  /*---/.block2---*/
  /*---/.block3---*/
}


body #wrapper .block {
  position: relative;
  width: 100%;
  display: block;
  font-feature-settings: 'palt';
}

body #wrapper .block1 {
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
}

body #wrapper .block1 .block1__read-title-box {
  background-color: #147f38;
  padding-top: 3.5rem;
  padding-bottom: 3.85em;
  padding-bottom: 1.85em;
  margin-bottom: 5.8rem;
}

body #wrapper .block1 .block1__read-title {
  width: 90.71%;
  margin: 0 auto;
}

body #wrapper .block1 .block1__title {
  width: 80.75%;
  margin: 0 auto;
}

body #wrapper .block2 {
  padding-top: 8.15em;
  padding-top: 5em;
  padding-bottom: 2.5rem;
  background-repeat: no-repeat;
  background-size: cover;
}

body #wrapper .block2 .block2__townarea {
  position: absolute;
  z-index: 100;
  top: 0;
  transform: translateY(-100%) translateY(2px);
}

body #wrapper .block2 .block2__house {
  width: 39.14%;
  position: absolute;
  top: -120%;
  left: 50%;
  transform: translateX(-52%);
}

body #wrapper .block2 .block2__chara1 {
  width: 17.64%;
  position: absolute;
  top: -15.5%;
  left: 16.6%;
}

body #wrapper .block2 .block2__chara2 {
  width: 17.64%;
  position: absolute;
  top: -15.2%;
  right: 18.5%;
}

body #wrapper .block2 .block2__content {
   width: 91.42%; 
  margin: 0 auto;
  position: relative;
  z-index: 200;
}

.block2__merit-item{
  /*width: 62rem;
  background-color: #fff;*/
  position: relative;
	-webkit-box-flex: 0;
width: 61rem;
}

.block2__merit-item:nth-child(1) .merit-item__head{
  background-color: #DE639D;
}

.block2__merit-item:nth-child(1) .merit-item-head__num-area{
background-color: #d8377a;
}
  

.block2__merit-item:nth-child(2) .merit-item__head{
  background-color: #EC6C00;
}

.block2__merit-item:nth-child(2) .merit-item-head__num-area{
  background-color: #d83100;
}

.block2__merit-item:nth-child(3) .merit-item__head{
  background-color: #0086CD;
}

.merit-item__head{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 14rem;
  color: #fff;
}
.merit-item-head__num-area{
  font-size: 7rem;
  letter-spacing: .02em;
  padding: 0 0.5em;
  line-height: 2.1;
  text-align: center;
  font-weight: bold;
}
.merit-item-head__text-area{
  flex-grow: 1;
  position: relative;
}
.merit-item-head__text{
  position: relative;
  top: 50%;
  top: 53%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
      -ms-transform: translate(-50%,-50%);
          transform: translate(-50%,-50%);
  display: table;
  font-size: 4.2rem;
  line-height: 1.1;
  font-weight: bold;
  color: #fff;
}

.merit-item{

}

.merit-item-icon{
position:absolute;
width:24.25%;
left:0;top:0;
transform:translate(-18.42%,-28.94%)
}

.merit-item img{
  display:block;
}
.text__big{
  font-size: 6rem;
}

.text__small{
  font-size: 3.5rem;
}

.merit-item__content{
  position: relative;
  /* height: 39rem; */
  padding-top: 4rem;
}

.merit-item__content-inner{
  
}

.merit-item__content-left-text,.merit-item__content-right-text{
  font-size: 2.72rem;
  font-weight: bold;
  letter-spacing: .05em;
  line-height: 1.5;
}

.merit-item__note{
  font-size: 1.7rem;
  text-indent: -1em;
  padding-left: 1em;
  display: inline-block;
  margin-top: .5em;
}

.merit-item__content-left-text{
  text-align: left;
  margin-bottom: 4.5rem;
  padding: 0 3.5rem;
}

.merit-item__content-right-text{
  padding: 0 3.5rem;
}

.merit-item__content-right-text.note{
  margin-top: 1rem;
  font-size: 1.9rem;
  text-indent: -3.8em;
  padding-left: calc(3.5rem + 3.8em);
}
.merit-item__content-left-text.note{
  white-space: nowrap;
  margin-top: 1.5rem;
  font-size: 1.9rem;
  text-indent: -3.8em;
  padding-left: calc(12.5rem + 3.8em);
}

.merit-item__content-img{
  width: 20.6rem;
  position: absolute;
  bottom: 3rem;
  right: 3rem;
}

.merit-item__content-topic{
  display: flex;
  align-items: flex-start;
  padding: 0 3.5rem;
}

.merit-item__content-topic:not(:last-child){
  margin-bottom: 2rem;
}





.merit-item__content-topic>div{
  display: inline-block;
}

.merit-item__content-topic-left{
  white-space: nowrap;
  font-size: 2.2rem;
  text-align: center;
  width: 12.6rem;
  /* height: 5.2rem; */
  border: solid 1px #231815;
  line-height: 5rem;
  margin-right: 2rem;
  background-color: #FFF100;
  color: #231815;
}

.merit-item__content-topic-right{
  white-space: nowrap;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: bold;
  color: #3e3a39
}

.block2__note-box p{
  text-align: left;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  width: 60rem;
  margin-left: auto;
  margin-right: 5.5rem;
}


.merit-item__link{
  text-align: center;
    border-radius: 5rem;
    display: block;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
    padding: 2.8rem 0;
    width: 90%;
    margin: 5rem auto 0;
    letter-spacing: .05em;
    box-shadow: rgb(0 0 0 / 20%) 0 0.3rem 0.4rem;
    color: #E84387;
    border: solid #E84387 .45rem;
}




.block3__belt {
  margin-bottom: 9rem;
  padding-top: 1.7rem;

}

.block3__belt-inner {
  margin-bottom: .85em;
  padding-top: 2em;
  padding-bottom: 2.15em;
  background-color: #d60050;
}

.block3__belt-content {
  width: 54em;
  margin: 0 auto;
}

.block3__belt-text {
  font-size: 2em;
  text-align: center;
  font-weight: bold;
  color: #fff;
  letter-spacing: .05em;
  margin-bottom: 0.075em
}

.block3__belt-note {
  padding-top: .48em;
  font-weight: bold;
  color: #fff;
  letter-spacing: .07em;
  text-align: center;
  border-top: solid #fff 1.5px;
  /*font-size: 2em;*/
}

.block3__belt-cap-box {
  /* width: 91.42%; */
  margin: 0 auto;
}

.block3__belt-cap {
  text-align: right;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: .08em;
  /* width: 60rem; */
  margin-right: 6.5rem;
  margin-left: auto;
}

.block3__ex-title {
  width: 89.92%;
  margin: 0 auto 5.3rem;
}

.block3__link-btn-box {
  width: 89%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.block3__link-btn {
  text-align: center;
  border-radius: 5rem;
  display: block;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1;
  padding: 2.8rem 0;
  width: 60rem;
  letter-spacing: .05em;
  box-shadow: rgba(0,0,0,.2) 0 .3rem .4rem;
}

/* .block3__link-btn:nth-child(1){
  color: #E84387;
  border: solid #E84387 .45rem;
} */

.block3__link-btn:nth-child(1){
  color: #EC6C00;
  border: solid #EC6C00 .45rem;
}


.block3-chara-box {
  width: 20.92%;
  margin: 5.5rem auto 0;
}

body #wrapper .go_top {
  position: relative;
  width: 17.33%;
  margin: 3.05em auto 4.15em;
  cursor: pointer;
}

body #wrapper footer {
  width: 100%;
  height: 38px;
  text-align: center;
  background-color: #00a29a;
  color: #ffffff;
  font-size: 10px;
  padding-top: 12px;
}

body #wrapper #footer_line {
  width: 91.42%;
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  margin: 0 auto;
}

body #wrapper #footer_area p#footer_01 {
  float: left;
  color: #3AA4AF;
  font-size: 1.75rem;
  padding: 1.8em 0;
  text-align: left;
  line-height: 1.76;
  letter-spacing: -.03em;
  font-feature-settings: 'palt';
}

body #wrapper #footer_area #footer_01 a {
  color: #000;
  font-size: 100%;
  text-decoration: none;
}

body #wrapper span.copyright {
  color: #000;
}

.block1__title-area{
  padding-top: 3%;
}
/*body #wrapper .block2__merit-item{
  position: relative;
}

body #wrapper .note-text.strong{
  position: absolute;
  bottom: 1em;
  border: solid 1px #666;
  background-color: #ff0;
  display: inline-block;
  padding: 0 0.7em;
  height: 2em;
  line-height: 1.9;
  font-size: .75em;
  line-height: 1.5;
  font-weight: normal;
  white-space: normal;
}*/

@media screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
  html {
    font-size: .714vw;
  }
  /* body #wrapper .block2 .merit-item__content-inner{
    font-size: 1.5vw;
  } */

  body #wrapper {
    font-size: 1.42vw;
  }

  body #wrapper .block1 {
    padding-bottom: 37rem;
    background-image: url(../img/block1-bg.png);
  }
  body #wrapper .block2 {
    background-image: url(../img/block2-bg.png);
  }
  body #wrapper .block2 .block2__merit-list {
    /*display: grid;*/
    display:flex;
    display: -ms-grid;
    grid-template-columns: repeat(2, 62rem);
    -ms-grid-columns:1fr 62rem 3.6rem 62rem 1fr;
    grid-template-rows: repeat(2, auto);
    -ms-grid-rows:auto 3.6rem auto;
    /*column-gap: 3.6rem;*/
    column-gap: 0;
    row-gap: 7.6rem;
    justify-content: center;
  	width: 100%;
    margin: 0 auto 2.5rem;
    justify-content: space-between;
    flex-direction:row;
    flex-wrap: wrap;
  }

  .block2__merit-item:nth-child(1){
    grid-area: 1 / 1 / 3 / 2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
  }
  .block2__merit-item:nth-child(2){
    grid-area: 1 / 2 / 2 / 3;
    -ms-grid-column: 4;
    -ms-grid-column-span: 1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
  }
  .block2__merit-item:nth-child(3){
    grid-area: 2 / 2 / 3 / 3;
    -ms-grid-column: 4;
    -ms-grid-column-span: 1;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
  }
  /*body #wrapper .block2 .block2__merit-item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 56.25%;
        -ms-flex: 0 0 56.25%;
            flex: 0 0 56.25%;
  }
  body #wrapper .block2 .block2__merit-item:nth-child(2n) {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 40.93%;
        -ms-flex: 0 0 40.93%;
            flex: 0 0 40.93%;
  }*/


  .merit-item-head__num-area{
    /* -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; */
  }

  .merit-item__link:hover {
    animation: blink 0.3s ease-out;
    -webkit-animation: blink 0.3s ease-out;
  }

  .block3__link-btn:hover {
    animation: blink 0.3s ease-out;
    -webkit-animation: blink 0.3s ease-out;
  }
  body #wrapper .go_top:hover {
    animation: blink 0.3s ease-out;
    -webkit-animation: blink 0.3s ease-out;
  }
  body #wrapper .go_top {
    width: 12.71%;
    margin: 5.92% auto 6%;
  }

  body #wrapper .block2__merit-item:nth-child(1) .note-text.strong{
    /*position: relative;
    bottom: -0.69em;*/
  }

  /* body #wrapper .block2__merit-item:nth-child(4) .note-text.strong{
    position: relative;
    bottom: -1.16em;
  } */
  .letter-space{
    letter-spacing: -.05em;
  }
}

@media screen and (min-width: 1401px) {
  html {
    font-size: 10px;
    
  }
}
.letter-space{
    letter-spacing: -.05em;
  }
@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
  body #wrapper {
    font-size: 2.66vw;
  }
  body #wrapper .block1 {
    padding-bottom: 35%;
    background-image: url(../img/block1-bg-sp.png);
    background-position: bottom;
    background-size: cover;
  }
  body #wrapper .block1 .block1__read-title-box {
    padding-top: 2.4vw;
    padding-bottom: 2.4vw;
    margin-bottom: 1.8vw;
  }
  body #wrapper .block1 .block1__read-title {
    width: 72.08vw;
  }

  .block1__title-area {
      padding-top: 4%;
  }
  .block1__title-box{
    margin-bottom: 15%;
  }
  body #wrapper .block1 .block1__title {
    width: 94%;
    transform: scaleY(1.15);
    transform-origin: top;
  }
  body #wrapper .block2 {
    padding-top: 11.3vw;
    padding-bottom: 3vw;
    background-image: url(../img/block2-bg-sp.png);
  }

  body #wrapper .block2 .block2__house {
    width: 53.86vw;
    top: -131%;
  }
  body #wrapper .block2 .block2__chara1 {
    width: 24.26vw;
    top: auto;
    bottom: -2vw;
    left: 5vw;
  }
  body #wrapper .block2 .block2__chara2 {
    width: 24.26vw;
    top: auto;
    bottom: -2vw;
    right: 5vw;
  }
  body #wrapper .block2 .block2__content {
    width: 89.33vw;
  }






  .block2__merit-item{
    width: 100%;
  }

  .block2__merit-item:not(:last-child){
    margin-bottom: 11vw;
  }

  .block2__merit-item:last-child{
    margin-bottom: 4vw;
    /*order:3;
    margin-bottom: 7.5vw;*/
  }

  .block2__merit-item:nth-child(3){
    /*order:4;
    margin-bottom:0;*/
	   margin-bottom: 8vw;
  }

  .merit-item__head{
    height: auto;
  }
  .merit-item-head__num-area{
    font-size: 9.5vw;
    padding: 0.5rem 0.35em;
    padding-top: 0.6rem;
    line-height: 17.6vw;
    line-height: 1.65;
    letter-spacing: .1em;
    /* -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; */
  }

  .block2__merit-item:nth-child(1) .merit-item-head__text{
    margin-top: -.05em;
    font-size: 6vw;
    }
      
    
    .block2__merit-item:nth-child(2) .merit-item-head__text{
      padding: .3em;
      font-size: 5.8vw;
      line-height: 1.2;
      left: 5.2%;
      transform: translate(0,-50%);
    }
    .block2__merit-item:nth-child(3) .merit-item-head__text{
      padding: .3em;
      font-size: 5.8vw;
      line-height: 1.2;
    }


  .text__small-sp{
    font-size: 4.88vw;
  }

  .text__big{
    font-size: 8.53vw;
  }
  
  .text__small{
    font-size: 5.8vw;
  }
  

  .merit-item__content{
    position: relative;
    height: auto;
    padding-top: 4.66vw;
    padding-bottom: 4.66vw;
  }
  
  
  .merit-item__content-left-text,.merit-item__content-right-text{
    font-size:3.6vw;
    letter-spacing: 0;
  }

  .merit-item__content-right-text.note{
    font-size: 3vw;
    letter-spacing: -.04em;
  }
  
  .merit-item__content-left-text{
    padding: 0 8vw;
    margin-bottom: 1rem;
    text-align: justify;
  }

  .merit-item__note{
    font-size: 3vw;
  }
  
  .merit-item__content-right-text{
    text-align: left;
    padding: 0 2rem;
  }
  
  .merit-item__content-right-text.note{
    text-align: left;
    padding-left: 2rem;
    text-indent: 0em;
    white-space: nowrap;
  }
  .merit-item__content-left-text.note{
    font-size: 3vw;
    letter-spacing: -.04em;
    margin-top: 1rem;
    margin-bottom: 0.5rem;

    padding-left: 3.8rem;
    text-align: left;   
    padding-left: calc(2rem + 3.55em);
    transform-origin: right;
  }
  .sp_size{
    white-space: nowrap;
    transform: scale(0.95);
    transform-origin: left;
  }

  .merit-item__content-topic{
    display: block;
    padding: 0 9vw;
  }
  
  .merit-item__content-topic:not(:last-child){
    margin-bottom: 6vw;
  }
  .merit-item__content-topic>div{
    display: block;
  }
  
  .merit-item__content-topic-left{
    font-size: 3.733vw;
    width: 24vw;
    padding: .5vw 0;
    line-height: 4.88vw;
    margin-right: auto ;
    margin-left: auto;
    margin-bottom: 4vw;
  }
  
  .merit-item__content-topic-right{
    font-size:4.266vw;
    line-height: 1.4;
    font-weight: bold;
    color: #3e3a39
  }
  
  .block2__note-box p{
    text-align: left;
    font-size: 2.66vw;
    font-weight: bold;
    letter-spacing: 0.05em;
  }

  .block2__merit-list{
    margin-bottom: 2.5vw;
    display:flex;
    flex-direction:column;
  }

  .merit-item__link{
    border: solid #E84387 .6vw;
    font-size: 3.7333vw;
    line-height: 1;
    padding: 3vw 0;
    width: 75vw;
    letter-spacing: 0;
    box-shadow: rgb(0 0 0 / 20%) 0 0.4vw 0.6vw;
    margin: 4vw auto 0;
  }





  .letter-space{
    letter-spacing: 0;
  }
  .block3__belt {
    margin-bottom: 7vw;
    margin-top: 3.66vw;
    padding-top: 0;
  }
  .block3__belt-inner {
    margin-bottom: 2.26vw;
    padding-top: 2.17vw;
    padding-bottom: 3.14vw;
  }
  .block3__belt-content {
    width: 89.33vw;
  }
  .block3__belt-text {
    font-size: 5.8vw;
    
  }
  .block3__belt-note {
    font-size: 1.2em;
    /* padding-top: .3vw; */
  }
  .block3__belt-cap-box {
    width: 89.33vw;
  }
  .block3__belt-cap{
    font-size: 2.7vw;
    width: 100%;
    text-align: right;
    line-height: 1.7;
  }

  .block3__ex-title {
    width: 87.54vw;
    margin-bottom: 5vw;
  }
  .block3__link-btn-box {
    display: block;
    width: auto;
  }
  .block3__link-btn {
    border-width: .5656vw;
    font-size: 3.7333vw;
    line-height: 1;
    padding: 3vw 0;
    width: 75vw;
    letter-spacing: 0;
  box-shadow: rgba(0,0,0,.2) 0 .4vw .6vw;
  margin: 0 auto;
  }

  .block3__link-btn:first-child{
    margin: 0 auto 7vw;
  }

  /* .block3__link-btn:nth-child(1){
    border: solid #E84387 .6vw;
  } */
  
  .block3__link-btn:nth-child(1){
    border: solid #EC6C00 .6vw;
  }

  .block3-chara-box {
    margin-top: 5vw;
  }
  body #wrapper .go_top {
    margin-top: 7.25vw;
    margin-bottom: 6.66vw;
  }
  body #wrapper #footer_line {
    width: 89.33vw;
  }
}



