@charset "utf-8";

/* .cont */
.cont{
}


/* #mv */
#mv{
  padding:min(6%,70px) 0 0;
}
#mv .sec{
  text-align:left;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
#mv .sec h1{
  line-height:1.5;
  font-size:min(3vw,36px);
  font-weight:600;
  letter-spacing:0.1em;
  white-space:nowrap;
}
#mv .sec p{
  line-height:1.8;
  font-size:min(1.5vw,18px);
  font-weight:600;
  letter-spacing:0.1em;
  white-space:nowrap;
}

#mv .slide_wrapper{
  width:100%;
  margin-top:min(4%,50px);
  overflow: hidden;
}
#mv .slide_wrapper .slide,
#mv .slide_wrapper .slide li {
  will-change: transform;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translate3d(0,0,0);
}
#mv .slide_wrapper .slide{
  display:flex;
  flex-wrap: nowrap;
  width: max-content;
}
#mv .slide_wrapper .slide li{
  width:50vw;
  padding:0 1vw;
  flex-shrink: 0;
}
#mv .slide_wrapper .slide.animation {
  animation: slide1 70s linear infinite;
  animation-delay: -3s
}
@keyframes slide1 {
	to {
		transform: translateX(-50%);
	}
}


@media screen and (max-width:768px){
  #mv{
    padding:15% 0 0;
  }
  #mv .sec{
    display: block
  }
  #mv .sec h1{
    font-size:6.5vw;
  }
  #mv .sec p{
    margin-top:7%;
    font-size:4vw;
  }

  #mv .slide_wrapper{
    margin-top:12%;
  }
  #mv .slide_wrapper .slide li{
    width:80vw;
    padding:0 1.5vw;
  }
  #mv .slide_wrapper .slide.animation {
    animation: slide1 50s linear infinite;
    animation-delay: -3s
  }
}


/* #news */
#news{
  padding-bottom:min(7%,70px);
}
#news .cont_wrapper{
  padding:min(4%,40px);
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#news .cont_wrapper .info{
  width:48%;
  text-align:left;
  position:relative;
}
#news .cont_wrapper .info h2 .jp{
  font-size:min(2vw,20px);
  font-weight:800;
  letter-spacing:0.05em;
}
#news .cont_wrapper .info h2 .en{
  font-size:min(1.6vw,16px);
  letter-spacing:0.05em;
  color:#A39089;
  vertical-align:0.1em;
}
#news .cont_wrapper .info h2 .en:before{
  content:'-';
  margin:0 0.3em 0 0.5em;
  vertical-align:-0em;
}
#news .cont_wrapper .info .more_btn{
  position:absolute;
  right:3%;
  top:0;
}
#news .cont_wrapper .info .info_list{
  height:280px;
  margin-top:5%;
  padding:3% 3% 2%;
  overflow:auto;
  border:1px solid #F3EDED;
}

/* Firefox スクロールバーデザイン */
@supports (-moz-appearance: none) {
  #news .cont_wrapper .info .info_list {
    scrollbar-width: auto;
    scrollbar-color: #DB7E7E #F3EDED;
  }
}

/* Chrome / Safari　スクロールバーデザイン */
.info_list::-webkit-scrollbar {
  width: 6px;
}
.info_list::-webkit-scrollbar-track {
  background: #F3EDED;
}
.info_list::-webkit-scrollbar-thumb {
  background: #DB7E7E;
}
#news .cont_wrapper .info .info_list li{
  padding:0 1em 1em 0;
}
#news .cont_wrapper .info .info_list li a dl dt{
  font-weight:500;
}
#news .cont_wrapper .info .info_list li a dl dt .date{
  display:block;
  font-family:roboto, arial, sans-serif;
}
#news .cont_wrapper .info .info_list li a dl dt .title{
  margin-top:0.1em;
  line-height:1.4;
  font-size:min(1.8vw,18px);
  display:block;
}
#news .cont_wrapper .info .info_list li a dl dd{
  margin-top:0.3em;
  line-height:1.4;
  display:block;
  color:#A39089;
}

@media screen and (max-width:1120px){
  #news .cont_wrapper .info{
    position:static;
  }
  #news .cont_wrapper .info .more_btn{
    position:static;
    right:auto;
    top:auto;
    margin:1.5em auto 0;
  }
}

@media screen and (max-width:768px){
  #news .cont_wrapper{
    padding:3% 5%;
    display: block;
  }
  #news .cont_wrapper .info{
    width:auto;
    padding:7% 0;
  }
  #news .cont_wrapper .info h2 .jp{
    font-size:5vw;
  }
  #news .cont_wrapper .info h2 .en{
    font-size:4vw;
  }
  #news .cont_wrapper .info .info_list{
    height:200px;
    margin-top:5%;
    overflow:auto;
  }
  #news .cont_wrapper .info .info_list li a dl dt .title{
    font-size:4.5vw;
  }
}


/* #cont1 */
#cont1{
  margin-top:-1px;
  padding-top:min(7%,70px);
  background:
    url(../images/top/cont1_bg_top.png)no-repeat 40% top,
    url(../images/top/cont1_bg_bottom.png)repeat-x center bottom;
  background-size:1089px auto,auto 114px;
  background-color:#FAF8F8;
}
#cont1 .cont_wrapper{
  margin-left:calc(50% - 560px);
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
#cont1 .cont_wrapper .sec{
  width:469px;
  text-align:left;
  position:relative;
  z-index:1;
}
#cont1 .cont_wrapper .sec .tit{
  margin-bottom:9%;
}
#cont1 .cont_wrapper .sec .tit .en{
  font-size:min(2.4vw,24px);
}
#cont1 .cont_wrapper .sec p{
  margin-top:1em;
}
#cont1 .cont_wrapper .sec .more_link{
  margin-top:9%;
}
#cont1 .cont_wrapper .fig{
  margin-left:3%;
  flex:1;
  position:relative;
  transform:translateY(-7%);
}
#cont1 .cont_wrapper .fig figcaption{
  padding:1em 1em 0 5%;
  font-weight:bold;
  text-align:left;
  letter-spacing:0.1em;
  position:absolute;
  bottom:-9%;
  left:0;
}
#cont1 .cont_wrapper .fig figcaption .large{
  font-size:min(2vw,20px);
  letter-spacing:0.1em;
}

#cont1 .banner{
  margin-top:min(15%,150px);
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
}
#cont1 .banner li{
  height:min(12vw,116px);
  margin:0 min(1.5%,15px);
}
#cont1 .banner li a img{
  width:auto;
  height:100%;
}

@media screen and (max-width:1200px){
  #cont1{
    background-position:5% top,center bottom;
    background-size:90% auto,auto 114px;
  }
  #cont1 .cont_wrapper{
    margin-left:3%;
  }
  #cont1 .cont_wrapper .sec{
    width:42%;
  }
  #cont1 .cont_wrapper .sec .tit{
    white-space:nowrap;
  }
}

@media screen and (max-width:768px){
  #cont1{
    padding-top:12%;
    background:url(../images/top/cont1_bg_bottom.png)repeat-x center bottom;
    background-color:#FAF8F8;
    background-size:auto 80px;
  }
  #cont1 .cont_wrapper{
    display: block;
    margin-left:0;
  }
  #cont1 .cont_wrapper .sec{
    width:auto;
    margin-top:12%;
    padding:10% 6% 0 6%;
    background: url(../images/top/cont1_bg_top.png)no-repeat -3% top;
    background-size:180% auto;
  }
  #cont1 .cont_wrapper .sec .tit .jp{
    font-size:6.4vw;
  }
  #cont1 .cont_wrapper .sec .tit .en{
    font-size:4vw;
  }
  #cont1 .cont_wrapper .fig{
    margin-left:6%;
    transform:none;
  }
  #cont1 .cont_wrapper .fig figcaption{
    padding:1em 1em 0 7%;
    bottom:-7%;
  }
  #cont1 .cont_wrapper .fig figcaption .large{
    font-size:5vw;
  }
  #cont1 .banner li{
    height:min(14vw,116px);
  }
}

@media screen and (max-width:480px){
  #cont1 .banner{
    max-width:352px;
    margin:15% auto 0;
    padding:0 6%;
    display: block;
  }
  #cont1 .banner li{
    height:auto;
    margin:3% 0 0;
  }
  #cont1 .banner li a img{
    width:100%;
    height:auto;
  }
}


/* #cont2 */
#cont2{
  margin-top:-1px;
  padding-bottom:0;
  background:
    url(../images/top/cont2_bg_top.png)no-repeat 40% 30px,
    url(../images/top/cont2_bg_middle.webp)no-repeat center 300px;
  background-size:1089px auto, 100% auto;
  background-color:#FAF8F8;
}
#cont2 .top_banner{
  display:inline-block;
  max-width:960px;
  width:88%;
  margin-top:min(5%,50px);
}
#cont2 .text{
  margin-top:min(5%,50px);
  padding:min(10%,10px) 0 min(20%,200px);
  background:url(../images/top/cont2_bg_text.webp)no-repeat center top;
  background-size:1256px auto;
  position:relative;
}
#cont2 .text .inner{
  max-width:560px;
  width:58%;
  line-height:2;
  margin:2em auto;
}
#cont2 .bottom{
  margin-top:max(-14vw,-140px);
  padding:min(16vw,160px) 0  min(12%,120px);
}
#cont2 .bottom .bottom_sec{
  display:block;
  aspect-ratio:2240 / 896;
  padding:min(8%,100px) min(2.6%,30px) 0 min(4.5%,50px);
  text-align:left;
  background:url(../images/top/cont2_bottom_sec.webp)no-repeat center center;
  background-size:100% auto;
  
}
#cont2 .bottom .bottom_sec h3{
  line-height:1.4;
  font-size:min(2.6vw,30px);
  color:#6555DB;
  letter-spacing:0.1em;
}
#cont2 .bottom .bottom_sec .lead{
  width:75%;
  margin-top:2%;
}
#cont2 .bottom .bottom_sec .lead .purple{
  font-weight:bold;
  color:#8A80D7;
}
#cont2 .bottom .bottom_sec .check{
  max-width:790px;
  margin-top:1.5%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#cont2 .bottom .bottom_sec .check li{
  width:49%;
  line-height:1.4;
  padding:0.5em 2em 0.5em 3.5em;
  font-weight:bold;
  color:#8A80D7;
  background:#fff url(../images/top/cont2_bottom_sec_check.svg)no-repeat 1em center;
  background-size:1.7em auto;
}
#cont2 .bottom .bottom_sec .please{
  margin-top:1.5%;
}
#cont2 .bottom .bottom_sec .bottom_link{
  margin-top:-1.2%;
  text-align:right;
}
#cont2 .bottom .bottom_sec .bottom_link .more_link{
  font-size:min(1.4vw,20px);
}

@media screen and (max-width:1200px){
  #cont2{
    background-position:5% 5vw,center 35%;
    background-size:90% auto,100% auto;
  }
  #cont2 .text{
    background-size:120% auto;
  }
}

@media screen and (max-width:768px){
  #cont2{
    background:
      url(../images/top/cont2_bg_top.png)no-repeat -3% 2%,
      url(../images/top/cont2_bg_middle_s.webp)no-repeat center 32%;
    background-size:180% auto, 100% auto;
    background-color:#FAF8F8;
  }
  #cont2 .top_banner{
    margin-top:9%;
  }
  #cont2 .text{
    margin-top:12%;
    padding:40% 0 50%;
    background:url(../images/top/cont2_bg_text_s.webp)no-repeat center top;
    background-size:100% auto;
    position:relative;
  }
  #cont2 .text .inner{
    max-width:auto;
    width:88%;
    line-height:1.6;
    margin:1.6em auto;
    text-align:left;
  }
  #cont2 .bottom{
    margin-top:15%;
    padding:18% 0 18%;
  }
  #cont2 .bottom .bottom_sec{
    aspect-ratio:1056 / 1710;
    padding:9% 5% 3%;
    background:url(../images/top/cont2_bottom_sec_s.webp)no-repeat center center;
    background-size:cover;
  }
  #cont2 .bottom .bottom_sec h3{
    font-size:6.5vw;
    position:relative;
  }
  #cont2 .bottom .bottom_sec h3 img{
    width:50%;
    position:absolute;
    right:-3%;
    bottom:70%;
  }
  #cont2 .bottom .bottom_sec .lead{
    width:auto;
    margin-top:7%;
  }
  #cont2 .bottom .bottom_sec .check{
    max-width:790px;
    margin-top:5%;
    display: block;
  }
  #cont2 .bottom .bottom_sec .check li{
    width:auto;
    line-height:1.4;
    margin-top:3%;
    padding:0.5em 2em 0.5em 3.5em;
    font-weight:bold;
    color:#8A80D7;
    background:#fff url(../images/top/cont2_bottom_sec_check.svg)no-repeat 1em center;
    background-size:1.7em auto;
  }
  #cont2 .bottom .bottom_sec .please{
    margin-top:5%;
  }
  #cont2 .bottom .bottom_sec .bottom_link{
    margin-top:5%;
  }
  #cont2 .bottom .bottom_sec .bottom_link .more_link{
    font-size:5vw;
  }
}


/* #cont3 */
#cont3{
  background:
    url(../images/top/cont3_bg_top.png)no-repeat 40% 30px;
  background-size:1089px auto;
  background-color:#FAF8F8;
}
#cont3 .feature{
  max-width:1200px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#cont3 .feature li{
  width:32%;
  margin-top:3%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-flex-direction: column;
  flex-direction: column;
}
#cont3 .feature li figure{
  padding-left:3%;
}
#cont3 .feature li section{
  margin:-5% 0 5%;
  text-align:left;
}
#cont3 .feature li section h3{
  line-height:1.4;
  font-size:min(2.3vw,28px);
}
#cont3 .feature li section p{
  margin-top:3%;
}
#cont3 .feature li .more_btn{
  margin-top:auto;
}

#cont3 .feature li:nth-child(n+4){
  width:49%;
}
#cont3 .feature li:nth-child(n+4) section{
  margin-top:-32%;
  margin-left:35%;
}
#cont3 .feature li:nth-child(n+4) .more_btn{
  margin-left:35%;
}

@media screen and (max-width:1200px){
  #cont3{
    background-position:5% 5vw;
    background-size:90% auto;
  }
}

@media screen and (max-width:768px){
  #cont3{
    background:
      url(../images/top/cont3_bg_top.png)no-repeat -3% 2%;
    background-size:180% auto;
    background-color:#FAF8F8;
  }
  #cont3 .feature{
    width:92%;
    display: block;
  }
  #cont3 .feature li{
    width:auto;
    margin-top:5%;
    display: block;
  }
  #cont3 .feature li figure{
    padding-left:0;
  }
  #cont3 .feature li section{
    margin:-5% 2% 5%;
  }
  #cont3 .feature li section h3{
    font-size:6.8vw;
    white-space:nowrap;
  }
  #cont3 .feature li section p{
    margin-top:5%;
  }
  #cont3 .feature li .more_btn{
    margin-left:2%;
  }
  #cont3 .feature li:nth-child(n+4){
    width:auto;
  }
  #cont3 .feature li:nth-child(n+4) section{
    margin-top:-5%;
    margin-left:2%;
  }
  #cont3 .feature li:nth-child(n+4) .more_btn{
    margin-left:2%;
  }
}


/* #cont4 */
#cont4{
  margin-top:-1px;
  padding-top: 0;
  
  background:linear-gradient(#FAF8F8 45%,transparent 55% );
}
#cont4 .sec{
  max-width:1230px;
  padding:min(9%,90px) min(5%,50px);
  background:url(../images/top/cont4_bg.webp)no-repeat center center;
  background-size:cover;
}
#cont4 .sec .tit_wrapper{
  max-width:960px;
  margin:auto;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
#cont4 .sec .tit_wrapper .tit{
  white-space:nowrap;
}
#cont4 .sec .tit_wrapper p{
  margin-left:2em;
  text-align:left;
}
#cont4 .sec .menu_list{
  margin-top:min(3%,30px);
}
#cont4 .sec .bottom_link{
  margin-top:min(3%,30px);
  text-align:right;
}

#cont4 .bottom{
  padding:min(9%,90px) 0  0;
}
#cont4 .bottom .bottom_sec{
  display:block;
  aspect-ratio:2240 / 896;
  padding:min(8%,100px) min(2.6%,30px) 0 min(4.5%,50px);
  text-align:left;
  background:url(../images/top/cont4_bottom_sec.webp)no-repeat center center;
  background-size:100% auto;
}
#cont4 .bottom .bottom_sec h3{
  line-height:1.4;
  font-size:min(2.6vw,30px);
  color:#268655;
  letter-spacing:0.1em;
}
#cont4 .bottom .bottom_sec .lead{
  width:75%;
  margin-top:2%;
}
#cont4 .bottom .bottom_sec .check{
  max-width:790px;
  margin-top:1.5%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#cont4 .bottom .bottom_sec .check li{
  width:49%;
  line-height:1.4;
  padding:0.5em 2em 0.5em 3.5em;
  font-weight:bold;
  color:#65927B;
  background:#fff url(../images/top/cont4_bottom_sec_check.svg)no-repeat 1em center;
  background-size:1.7em auto;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
#cont4 .bottom .bottom_sec .please{
  margin-top:1.5%;
}
#cont4 .bottom .bottom_sec .bottom_link{
  margin-top:-1.2%;
  text-align:right;
}
#cont4 .bottom .bottom_sec .bottom_link .more_link{
  font-size:min(1.4vw,20px);
}

@media screen and (max-width:768px){
  #cont4{
    background:linear-gradient(#FAF8F8 45%,transparent 55% );
  }
  #cont4 .sec{
    width:92%;
    padding:12% 5%;
    background:url(../images/top/cont4_bg_s.webp)no-repeat center center;
    background-size:cover;
    box-shadow:0 4px 4px rgba(0,0,0,0.25);
  }
  #cont4 .sec .tit_wrapper{
    display: block
  }
  #cont4 .sec .tit_wrapper p{
    margin:9% 0 0;
  }
  #cont4 .sec .menu_list{
    margin-top:9%;
  }
  #cont4 .sec .bottom_link{
    margin-top:9%;
  }

  #cont4 .bottom{
    padding:18% 0 0;
  }
  #cont4 .bottom .bottom_sec{
    aspect-ratio:1056 / 1710;
    padding:12% 5% 3%;
    background:url(../images/top/cont4_bottom_sec_s.webp)no-repeat center top;
    background-size:cover;
  }
  #cont4 .bottom .bottom_sec h3{
    font-size:6.5vw;
    position:relative;
  }
  #cont4 .bottom .bottom_sec h3 img{
    width:55%;
    position:absolute;
    left:-3%;
    bottom:108%;
  }
  #cont4 .bottom .bottom_sec .lead{
    width:auto;
    margin-top:7%;
  }
  #cont4 .bottom .bottom_sec .check{
    max-width:790px;
    margin-top:5%;
    display: block;
  }
  #cont4 .bottom .bottom_sec .check li{
    width:auto;
    line-height:1.4;
    margin-top:3%;
    padding:1em 2em 1em 3.5em;
    font-weight:bold;
    color:#65927B;
    background:#fff url(../images/top/cont4_bottom_sec_check.svg)no-repeat 1em center;
    background-size:1.7em auto;
  }
  #cont4 .bottom .bottom_sec .please{
    margin-top:5%;
  }
  #cont4 .bottom .bottom_sec .bottom_link{
    margin-top:5%;
  }
  #cont4 .bottom .bottom_sec .bottom_link .more_link{
    font-size:5vw;
  }
}


/* #access */
#access{
}
#access .cont_wrapper{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#access .cont_wrapper .sec{
  width:min(46%,512px);
  text-align:left;
}
#access .cont_wrapper .sec h2{
  font-size:min(2.8vw,28px);
  letter-spacing:0.1em;
}
#access .cont_wrapper .sec .lead{
  margin-top:0.5em;
}
#access .cont_wrapper .sec .address{
  margin-top:0.5em;
  font-size:min(1.8vw,18px);
  font-weight:500;
}
#access .cont_wrapper .sec .address li{
  padding-left:1.5em;
  text-indent:-1.5em;
}
#access .cont_wrapper .sec .address li img{
  width:0.9em;
  margin-right:0.5em;
  vertical-align:-0.1em;
}
#access .cont_wrapper .sec .table_wrapper{
  width:100%;
  margin-top:1em;
  display:inline-block;
  padding:1em;
  border:1px solid #CCCCCC;
}

#access .cont_wrapper .map_wrapper{
  width:min(49%,552px);
}
#access .cont_wrapper .map_wrapper .more_btn{
  margin-top:1em;
}

@media screen and (max-width:1140px){
  #access .cont_wrapper .map_wrapper .map{
    width:100%;
    padding-top:80%;
    position:relative;
  }
  #access .cont_wrapper .map_wrapper .map iframe{
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
  }
}

@media screen and (max-width:768px){
  #access .cont_wrapper{
    display: block;
  }
  #access .cont_wrapper .sec{
    width:auto;
  }
  #access .cont_wrapper .sec h2{
    font-size:7vw;
    text-align:center;
  }
  #access .cont_wrapper .sec .lead{
    margin-top:0.5em;
    font-size:3.5vw;
    text-align:center;
  }
  #access .cont_wrapper .sec .address{
    margin-top:0.5em;
    font-size:4vw;
  }
  #access .cont_wrapper .sec .table_wrapper{
    margin-top:1.5em;
    padding:0.5em 1em;
  }
  #access .cont_wrapper .sec .caution{
    font-size:3.5vw;
    white-space:nowrap;
  }

  #access .cont_wrapper .map_wrapper{
    width:auto;
    margin-top:9%;
  }
  #access .cont_wrapper .map_wrapper .map{
    padding-top:100%;
  }
  #access .cont_wrapper .map_wrapper .more_btn{
    margin-top:1em;
  }
}





