@charset "utf-8";

/*================================================
      COMPANY
================================================*/
/*---------------------------------
    common
---------------------------------*/
.ttl_block {
  margin-bottom: 9rem;
}

.ttl_block .container .page_ttl:after {
  background-image: url(../image/mv.jpg);
}

.sub_sec .h_ttl_en {
  position: relative;
  font-size: 18rem;
  color: #e4f6e8;
  line-height: 1;
  font-weight: 700;
  margin-left: -.65em;
  font-family: 'Roboto', sans-serif;
  z-index: 1;
}

.sub_sec .h_ttl_en em {
  display: inline-block;
  vertical-align: bottom;
  font-style: normal;
  padding-bottom: .25em;
}

.sub_sec .h_ttl_en+.sec_box {
  position: relative;
  margin-top: -8.5rem;
  z-index: 2;
}

.sub_sec .h_ttl_ja {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 1.2em;
}

.sub_sec .h_ttl_sub {
  position: relative;
  font-size: 2.4rem;
  line-height: 1.4;
  padding-bottom: 1.5em;
}

.sub_sec .h_ttl_sub:after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 1.5em;
  height: 5px;
  background: #218d3f;
  background: -moz-linear-gradient(left, #01a28d 0%, #00cacb 100%);
  background: -webkit-linear-gradient(left, #0d6c25 0%, #218d3f 100%);
  background: linear-gradient(to right, #0d6c25 0%, #218d3f 100%);
}
/* @@ Animate @@ */
@media screen{
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em{
    transition-property:opacity,transform;
    transition-duration:.3s;
    transition-timing-function:ease-in-out;
    opacity:0;
    transform:scale(.5);
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en + .sec_box{
    transition-property:opacity;
    transition-duration:.6s;
    transition-delay:.3s;
    opacity:0;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(1){
    transition-delay: 0s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(2){
    transition-delay:.1s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(3){
    transition-delay:.2s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(3) {
    transition-delay: .2s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(4) {
    transition-delay: .3s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(5) {
    transition-delay: .4s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(6) {
    transition-delay: .5s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(7) {
    transition-delay: .6s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(8) {
    transition-delay: .7s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(9) {
    transition-delay: .8s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(10) {
    transition-delay: .9s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(11) {
    transition-delay: 1s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(12) {
    transition-delay: 1.1s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(13) {
    transition-delay: 1.2s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(14) {
    transition-delay: 1.3s;
  }
  .sub_sec[animate-type="animate_01"] .h_ttl_en span em:nth-child(15) {
    transition-delay: 1.4s;
  }
  .sub_sec[animate-scroll="true"][animate-type="animate_01"] .h_ttl_en span em{
    opacity:1;
    transform:scale(1);
  }
  .sub_sec[animate-scroll="true"][animate-type="animate_01"] .h_ttl_en + .sec_box{
    opacity:1;
  }
}
/* @@ laptop large(1399px~) @@ */
@media screen and (max-width : 1399px) {
  .ttl_block {
    margin-bottom: 6rem;
  }

  .sub_sec .h_ttl_en {
    margin-left: -.15em;
    font-size: 15rem;
  }

  .sub_sec .h_ttl_ja {
    font-size: 3rem;
    margin-bottom: 1em;
  }
}

/* @@ tablet(991px~) @@ */
@media screen and (max-width : 991px) {
  .sub_sec .h_ttl_en+.sec_box {
    margin-top: -6.5rem;
  }

  .sub_sec .h_ttl_en {
    font-size: 12rem;
  }

  .sub_sec .h_ttl_sub:after {
    height: 4px;
  }
}

/* @@ phablet(767px~) @@ */
@media screen and (max-width : 767px) {
  .ttl_block {
    margin-bottom: 4rem;
  }

  .sub_sec .h_ttl_en {
    font-size: 8rem;
  }

  .sub_sec .h_ttl_en+.sec_box {
    margin-top: -4rem;
  }

  .sub_sec .h_ttl_ja {
    font-size: 2.6rem;
  }

  .sub_sec .h_ttl_sub:after {
    height: 3px;
  }
}

/* @@ smartphone(575px~) @@ */
@media screen and (max-width : 575px) {
  .ttl_block {
    margin-bottom: 3rem;
  }

  .sub_sec .h_ttl_en {
    font-size: 6.5rem;
    margin-top: 0;
  }

  .sub_sec .h_ttl_en+.sec_box {
    margin-top: -3.5rem;
  }

  .sub_sec .h_ttl_ja {
    font-size: 2.4rem;
    margin-bottom: .8em;
  }

  .sub_sec .h_ttl_sub:after {
    height: 2px;
  }
}

/*---------------------------------
    s_01 (sec_message)
---------------------------------*/
.sec_message {
  margin-bottom: 10.5rem;
}

.sec_message .sec_box .container {
  flex-direction: row-reverse;
  justify-content: space-between;
}

.sec_message .sec_box .img_box {
  width: 38%;
}
.sec_message .sec_box .txt_box {
  width: 56.25%;
}
.sec_message .sec_box .img_box img {
  max-width: 100%;
  height: auto;
}

.sec_message .sec_box .h_ttl_sub {
  font-size: 2rem;
  padding-bottom: 2em;
  margin-bottom: 1.8em;
}

.sec_message .sec_box .h_ttl_sub:after {
  width: 5.5em;
}

.sec_message .sec_box p {
  margin-bottom: 1em;
}

.sec_message .sec_box ul{
  margin-bottom:1em;

}

.sec_message .sec_box ul li{
  color: #218d3f;
  font-weight:500;
  font-size:1.1em;
}

.sec_message .sec_box .sign {
  text-align: right;
}

.sec_message .sec_box .sign img {
  height: 2.2rem;
}

/* @@ Animate @@ */
@media screen{
  .sec_message .sec_box[animate-type="animate_02"] .txt_box,
  .sec_message .sec_box[animate-type="animate_02"] .img_box{
    opacity:0;
    transform:translateY(5rem);
    transition-property:opacity,transform;
    transition-duration: .6s;
    transition-timing-function: ease-in-out;
  }
  .sec_message .sec_box[animate-type="animate_02"] .txt_box{
    transition-delay:.6s;
  }
  .sec_message .sec_box[animate-type="animate_02"] .img_box{
    transition-delay:.9s;
  }
  .sec_message[animate-scroll="true"] .sec_box[animate-type="animate_02"] .txt_box,
  .sec_message[animate-scroll="true"] .sec_box[animate-type="animate_02"] .img_box{
    opacity:1;
    transform:translateY(0);
  }
}
/* @@ laptop large(1399px~) @@ */
@media screen and (max-width : 1399px) {
  .sec_message .sec_box .h_ttl_sub {
    font-size: 1.8rem;
    padding-bottom: 1.5em;
  }
}

/* @@ tablet(991px~) @@ */
@media screen and (max-width : 991px) {
  .sec_message {
    margin-bottom: 8.5rem;
  }

  .sec_message .sec_box .sign img {
    height: 1.8rem;
  }
}

/* @@ phablet(767px~) @@ */
@media screen and (max-width : 767px) {
  .sec_message {
    margin-bottom: 6.5rem;
  }
  .sec_message .sec_box .container {
    display:block;
  }
  .sec_message .upper {
    flex-direction:row-reverse;
    justify-content:space-between;
    align-items: flex-end;
    margin-bottom:3rem;
    margin-top: -8rem;
  }
  .sec_message .upper .image{
    width:30%;
  }
  .sec_message .upper .image img{
    max-width:100%;
    height:auto;
  }
  .sec_message .sec_box .h_ttl_sub{
    font-size: 1.6rem;
    margin-bottom: 0;
  }
  .sec_message .sec_box .txt_box{
    width:100%;
  }
  .sec_message .sec_box .sign img {
    height: 1.6rem;
  }

}

/* @@ smartphone(575px~) @@ */
@media screen and (max-width : 575px) {
  .sec_message {
    margin-bottom: 4.5rem;
  }

  .sec_message .upper {
    flex-direction:row;
    margin-top:0;
    padding-top:2.5rem;
    margin-bottom:2.5rem;
  }
  .sec_message .upper .image{
    width:35%;
  }
  .sec_message .sec_box .h_ttl_ja{
    line-height:1.4;
    margin-bottom:.5em;
  }

  .sec_message .sec_box .h_ttl_sub{
    font-size:1.5rem;
  }
  .sec_message .upper .title{
    width:60%;
  }
  .sec_message .sec_box .sign img {
    height: 1.4rem;
  }
}

/*---------------------------------
    s_02 (sec_philosphy)
---------------------------------*/
.sec_philosophy {
  margin-bottom: 9rem;
}

.sec_philosophy article:not(:last-child) {
  margin-bottom: 6.5rem;
}

.sec_philosophy article .container {
  align-items: flex-start;
}

.sec_philosophy article .h_ttl_sub {
  width: 25%;
  line-height: 1;
}

.sec_philosophy article ul {
  width: 75%;
}

.sec_philosophy article ul li {
  position: relative;
  padding-left: 3.5em;
  line-height: 1.8;
  padding: .6em 0 .6em 1.4em;
}

.sec_philosophy article ul li:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 1em;
  height: 3em;
  background: #daf1df;
  transform: skewX(-45deg);
}

.sec_philosophy article ul li:nth-child(n+2) {
  margin-top: .5em;
}

.sec_philosophy #article_02 {
  padding: 6.5rem 0;
  background: #f0faf2;
}

.sec_philosophy #article_02 ul li:before {
  background: #dcefe0;
}
/* @@ Animate @@ */
@media screen{
  .sec_philosophy article[animate-type="animate_02"] .container{
    transition-property:opacity,transform;
    transition-duration:.6s;
    opacity:0;
    transform:translateY(3rem);
  }
  .sec_philosophy article[animate-scroll="true"][animate-type="animate_02"] .container{
    opacity:1;
    transform:translateY(0);
  }
}
/* @@ tablet(991px~) @@ */
@media screen and (max-width : 991px) {
  .sec_philosophy article .h_ttl_sub {
    font-size: 2rem;
    padding-bottom: 1.3em;
  }
}

/* @@ phablet(767px~) @@ */
@media screen and (max-width : 767px) {
  .sec_philosophy {
    margin-bottom: 6.5rem;
  }

  .sec_philosophy article:not(:last-child) {
    margin-bottom: 5rem;
  }

  .sec_philosophy #article_02 {
    padding: 5rem 0;
  }

  .sec_philosophy article .container {
    display: block;
  }

  .sec_philosophy article .h_ttl_sub {
    font-size: 1.8rem;
    width: 100%;
    margin-bottom: 1em;
    padding-bottom: 1em;
  }

  .sec_philosophy article ul {
    width: 100%;
  }

  .sec_philosophy article ul li {
    padding: .2em 0 .2em 2.5em;
  }

  .sec_philosophy article ul li:before {
    height: 2em;
    width: .7em;
    left: 1em;
  }
}

/* @@ smartphone(575px~) @@ */
@media screen and (max-width : 575px) {
  .sec_philosophy {
    margin-bottom: 4.5rem;
  }

  .sec_philosophy article:not(:last-child) {
    margin-bottom: 3.5rem;
  }

  .sec_philosophy #article_02 {
    padding: 3.5rem 0;
  }
}

/*---------------------------------
    s_03 (sec_overview)
---------------------------------*/
.sec_overview {
  position:relative;
  padding-top: 42rem;
  margin-bottom: 10rem;
}
.sec_overview:before,
.sec_overview:after{
  position:absolute;
  left:0;
  top:0;
  content:"";
  width:100%;
  height: 45rem;
}
.sec_overview:before{
  background: url(../image/s03_img.jpg) no-repeat center top / cover;
  z-index:1;
}
.sec_overview:after{
  background:#ddd;
  transform-origin:right center;
  z-index:2;
}
.sec_overview>.sec_wrap{
  position:relative;
  z-index:3;
}
.sec_overview .h_ttl_en {
  width: 100%;
  overflow: hidden;
  margin-top: 0;
  margin-left: -.35em;
  padding-top:.25em;
}

.sec_overview .h_ttl_en span {
  position: relative;
  display: inline-block;
  padding-right: 1em;
  padding-top: .25em;
}

.sec_overview .h_ttl_en span>em {
  position: relative;
  z-index: 2;
}

.sec_overview .sec_box {
  position: relative;
  z-index: 3;
}

.sec_overview .h_ttl_ja {
  margin-bottom: 1.5em;
}

.sec_overview .prof_sheet tr {
  border-top: solid 1px #e7e7e7;
  border-bottom: solid 1px #e7e7e7;
}

.sec_overview .prof_sheet th,
.sec_overview .prof_sheet td {
  padding: 1.5em 2em;
  text-align: left;
}

.sec_overview .prof_sheet th {
  background: #f0faf2;
  width: 25%;
}
/* @@ Animate @@ */
@media screen{
  .sec_overview[animate-type="animate_01"]:after{
    transition-duration:.6s;
    transition-delay:0s;
    transition-property:transform;
    transform:scaleX(1);
  }
  .sec_overview .sec_box[animate-type="animate_02"] .prof_sheet{
    transition-property:opacity transform;
    transition-duration:.6s;
    transition-timing-function:ease-in-out;
    opacity:0;
    transform:translateY(5rem);
  }
  .sec_overview .sec_box[animate-scroll="true"][animate-type="animate_02"] .prof_sheet{
    opacity:1;
    transform:translateY(0);
  }
  .sec_overview[animate-scroll="true"][animate-type="animate_01"]:after{
    transform:scaleX(0);
  }
}
/* @@ laptop large(1399px~) @@ */
@media screen and (max-width : 1399px) {
  .sec_overview {
    margin-bottom: 6rem;
  }

  .sec_overview .h_ttl_en {
    margin-left: -.15em;
  }
}

/* @@ tablet(991px~) @@ */
@media screen and (max-width : 991px) {
  .sec_overview {
    padding-top: 30rem;
  }
  .sec_overview:before,
  .sec_overview:after{
    height:32.5rem;
  }
}

/* @@ phablet(767px~) @@ */
@media screen and (max-width : 767px) {
  .sec_overview {
    padding-top: 22.5rem;
    background-size: auto 25rem;
  }
  .sec_overview:before,
  .sec_overview:after{
    height:25rem;
  }
}

/* @@ smartphone(575px~) @@ */
@media screen and (max-width : 575px) {
  .sec_overview {
    margin-bottom: 5rem;
    padding-top: 17rem;
  }
  .sec_overview:before,
  .sec_overview:after{
    height:17rem;
  }

  .sec_overview .h_ttl_en {
    padding-top:.15em;
  }

  .sec_overview .h_ttl_en span {
    padding: 0;
  }

  .sec_overview .sec_wrap {
    padding-top: 2rem;
  }

  .sec_overview .prof_sheet th,
  .sec_overview .prof_sheet td {
    display: block;
    width: 100%;
  }

  .sec_overview .prof_sheet th {
    padding: 1em;
  }

  .sec_overview .prof_sheet td {
    padding: 1.5em 1em;
  }
}

/*---------------------------------
    s_04 (sec_sns)
---------------------------------*/
.sec_sns {
  margin-bottom: 10rem;
}
.sec_sns .sub_box{
  padding: 5rem 0;
  background: #f0faf2;
}
/* @@ laptop large(1399px~) @@ */
@media screen and (max-width : 1399px) {
  .sec_sns {
    margin-bottom: 6rem;
  }
  .sec_sns .sub_box{
    padding: 3rem 0;
  }
}
/* @@ smartphone(575px~) @@ */
@media screen and (max-width : 575px) {
  .sec_sns {
    margin-bottom: 5rem;
  }
}
/*---------------------------------
    s_05 (sec_access)
---------------------------------*/
.sec_access {
  padding-bottom: 12rem;
}

.sec_access .h_ttl_ja {
  margin-bottom: 1.75em;
}

.sec_access .map_box {
  position: relative;
  height: 50rem;
  background: #ddd;
}

.sec_access .map_box iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

/* @@ tablet(991px~) @@ */
@media screen and (max-width : 991px) {
  .sec_access {
    padding-bottom: 8rem;
  }

  .sec_access .map_box {
    height: 40rem;
  }
}

/* @@ phablet(767px~) @@ */
@media screen and (max-width : 767px) {
  .sec_access .map_box {
    height: 30rem;
  }
}

/* @@ smartphone(575px~) @@ */
@media screen and (max-width : 575px) {
  .sec_access {
    padding-bottom: 6rem;
  }

  .sec_access .map_box {
    height: 25rem;
  }
}

/*---------------------------------
    s_04 (sec_movie) 202310追加
---------------------------------*/
.sec_movie {
  margin-bottom: 10rem;
}
.sec_movie .movie_box {
  max-width: 780px;
  margin: 0 auto;
}
.sec_movie .movie_box_inner  {
  position: relative;
  padding-top: 56.25%;
}
.sec_movie .movie_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sec_movie .movie_caption {
  text-align: center;
  margin-top: 1rem;
  font-weight: 500;
}
@media screen and (max-width : 575px) {
  .sec_movie {
    margin-bottom: 5rem;
  }
}