@charset "UTF-8";
@import "base.css";
@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Cormorant:ital,wght@0,300..700;1,300..700&display=swap');
:root {
	--f-main: "Barlow Semi Condensed", sans-serif;
	--f-ttl: "Cormorant", serif;
	--txt: #000000;
	--mcolor: #032C46;
	--scolor: #F9B91C;
}
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
  font-size: 20px;
  -webkit-text-size-adjust: none;
}
header, section, footer, aside, nav, main, article, figure {
  display: block;
}
img {
  vertical-align: bottom;
	height: auto;
}
a {
  color: var(--mcolor);
	text-decoration: none;transition: all 0.3s;
}
a:hover, a:active {
  text-decoration: none;
	color: var(--scolor);
}
table {
  width: 100%
}
p {
  margin: 0 0 0.5em;
}
.section {
  padding: 0 0 30px;
}
p, dd, td, th, li {
  line-height: 1.75em;
}
#totop {
  position: fixed;
  bottom: 60px;
  right: 50px;
  z-index: 10;
  margin-bottom: 0;
  width: 80px;
}
#totop a {
  display: block;
  transition: all 0.5s;
  -webkit-animation: slide-top 0.8s linear infinite alternate-reverse;
  animation: slide-top 0.8s linear infinite alternate-reverse;
}
#totop a:hover {
  opacity: 0.7;
}
@-webkit-keyframes slide-top {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
}
@keyframes slide-top {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
}
.bold {
  font-weight: bold;
}
.fl {
  float: left;
}
.fr {
  float: right;
}
*, *:before, *:after {
  box-sizing: border-box;
  outline: none;
}
/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
body {
  color: var(--txt);
  font-family: var(--f-main);
}
#wrapper {
  min-width: 1200px;
  overflow: hidden;
}
.container {
  width: 1390px;
	max-width: 100%;
  padding: 0 15px;
  margin: 0 auto;
  position: relative;
}
img {
  max-width: 100%;
}
.sp {
  display: none!important;
}
#header {position: relative;z-index: 99;}
h1 {display: none;}
#logo { text-align: center; text-transform: uppercase; font-size: 18px; font-style: italic; font-family: var(--f-ttl); font-weight: 600; letter-spacing: 0.25em; width: fit-content; margin: 0 auto; }
#logo .txt {display: block;}
.h_main {position: absolute;background: #fff;width: 100%;top: 0;left: 0;border-bottom-left-radius: 50px;border-bottom-right-radius: 50px;padding: 14px 0 11px;}
.h_right { position: absolute; right: 34px; top: 36px; display: flex ; align-items: center; }
.h_btn { display: flex ; margin-right: 50px;}
.h_btn li:not(:last-child) {margin-right: 9px;}
.h_lang {display: flex;}
.h_lang li:not(:last-child) {margin-right: 6px;}
.h_lang img {box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.21);}
.h_search {cursor: pointer;transition: all 0.3s;}
#gnavi { margin: 9px 0 0; }
.gnavi {display: flex;justify-content: center;}
.gnavi>li {position: relative;padding: 0 14px;}
.gnavi>li:not(:last-child):after {content: '';position: absolute;width: 1px;height: 22px;right: 0;background: #000;opacity: 0.2;top: calc(50% - 11px);}
.gnavi>li>a {display: block;text-transform: uppercase;text-align: center;font-size: 18px;padding: 3px 0;}
.submenu {position: absolute;width: 172px;left: 50%;transform: translateX(-50%);z-index: 10;display: none;}
.gnavi>li.active>a {color: var(--scolor);font-weight: 700;}
.submenu a {display: block;background: var(--mcolor);text-align: center;color: #fff;font-size: 16px;padding: 5px 0;position: relative;line-height: 1.5em;}
.submenu a:after {content: '';position: absolute;width: calc(100% - 12px);left: 6px;bottom: 0;background: #fff;opacity: 0.06;height: 1px;}

.fixed #logo { margin: 0; }
.fixed #logo .txt {display: none;}
.fixed .h_right {top: 0;}
.fixed .gnavi>li>a {font-size: 16px;}
.fixed .gnavi>li {padding: 0 10px;}
.fixed .gnavi {justify-content: flex-end;}
.fixed #gnavi {margin-top: 45px;}
.fixed .container {display: flex;justify-content: space-between;}
.fixed .h_main { width: 100%; position: fixed; top: 0; left: 0; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); -webkit-animation: header-fixed 0.6s; -moz-animation: header-fixed 0.6s; -ms-animation: header-fixed 0.6s; animation: header-fixed 0.6s; }
.h_main { -webkit-animation: remove-fixed 0.3s linear; -moz-animation: remove-fixed 0.3s linear; -ms-animation: remove-fixed 0.3s linear; animation: remove-fixed 0.3s linear; }
@keyframes remove-fixed {
  0% {
    opacity: 0.9;
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -moz-transform: translateY(20%);
    transform: translateY(20%)
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0)
  }
}
@-webkit-keyframes remove-fixed {
  0% {
    opacity: 0.9;
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -moz-transform: translateY(20%);
    transform: translateY(20%)
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0)
  }
}
@-moz-keyframes remove-fixed {
  0% {
    opacity: 0.9;
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -moz-transform: translateY(20%);
    transform: translateY(20%)
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0)
  }
}
@keyframes header-fixed {
  0% {
    opacity: 0.5;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes header-fixed {
  0% {
    opacity: 0.5;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0);
  }
}
@-moz-keyframes header-fixed {
  0% {
    opacity: 0.5;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0);
  }
}


.mainvisual {position: relative;padding-top: 134px;}
.mainvisual:after {content: '';position: absolute;width: 100%;background: url("../images/main_wave.png") no-repeat bottom -55px center/100% auto;height: 100%;bottom: 0;left: 0;z-index: 2;pointer-events: none;}
.main_cont {position: absolute;width: 100%;height: 100%;top: 0;left: 0;z-index: 2;display: flex;align-items: center;color: #fff;padding-top: 60px}
.main_info { width: 445px; margin: 0 0 0 auto; }
.main_info_ttl { font-size: 48px; font-family: var(--f-ttl); text-transform: uppercase; line-height: 1.35em; margin: 0 0 30px; }
.main_info_ttl .num { font-size: 145.84%; }
.main_info_txt { margin: 0; line-height: 1.5em; font-style: italic; text-align: justify;}
.main_info_txt .lager { font-size: 120%; font-weight: 600; font-style: normal; }
.slick-arrow {position: absolute;width: 82px;height: 30px;border: 1px solid var(--scolor);border-radius:30px;cursor: pointer;z-index: 3;background: url("../images/ic_next.svg") no-repeat center center;transition: all 0.3s;text-indent: -500000px;}
.slick-prev {background-image: url("../images/ic_prev.svg");}
.main_slide .slick-arrow { left: calc(50% + 346px); bottom: 33px; }
.main_slide .slick-prev { left: calc(50% + 239px); }

.sec01 {padding: 89px 0;position: relative;}
.sec01_main {display: flex;justify-content: space-between;align-items: flex-start;position: relative;}
.sec01_main:nth-child(2) {flex-direction: row-reverse;}
.sec01_img { flex-shrink: 0; margin: 0 0 0 80px; width: calc(50% - 40px); }
.sec01_img img {border-radius: 10px; border-top-left-radius: 300px;border-bottom-right-radius: 100px;width: 100%;}
.idx_ttl {font-size: 55px;font-family: var(--f-ttl);position: relative;color: var(--scolor);line-height: 1.1em;display: flex;align-items: center;text-transform: uppercase;font-weight: 600;margin: 0 0 30px;}
.idx_ttl:before {content: '';position: relative;display: inline-block;background: url("../images/ic_ttl.png") no-repeat center center/100% auto;width: 47px;height: 47px;}
.txt_clr1 {color: var(--mcolor);}
.sec01_main:nth-child(2) .sec01_img {margin: -300px 80px 0 0;}
.sec01_main:nth-child(2) .sec01_img img {border-radius: 10px;border-top-right-radius: 300px;border-bottom-left-radius: 100px;}
.sec01_main:not(:last-child) { margin: 0 0 55px; }
.sec01 .idx_btn {position: absolute;width: calc(50% - 40px);right: 0;bottom: 14px;right: 0;display: flex;justify-content: center;}
.idx_btn {margin: 0;}
.idx_btn a {display: flex;width: 150px;height: 32px;align-items: center;position: relative;border: 1px solid var(--scolor);border-radius: 50px;font-size: 16px;font-weight: 600;text-transform: uppercase;justify-content: center;padding-left: 30px;padding-bottom: 2px;}
.idx_btn a:before {content: '';position: absolute;background: url("../images/ic_arr.png") no-repeat center center var(--scolor);width: 30px;height: 30px;left: 0;border-radius: 50%;top: 0;}
.sec01:before, .sec01:after {content: '';position: absolute;z-index: -2;pointer-events: none;}
.sec01:before {background: url("../images/sec01_ic1.png") no-repeat left center/100% auto;width: 219px;height: 241px;left: 0;top: 370px;}
.sec01:after {background: url("../images/sec01_ic2.png") no-repeat left center/100% auto;width: 260px;height: 242px;right: 0;bottom: 90px;}

.sec02 {background: url("../images/sec02_bg.jpg") no-repeat top center/cover;padding: 80px 0;}
.sec02_list.slick-initialized .slick-slide {margin: 0 15px;position: relative;width: calc(1300px/3);transition: all 0.3s;height: 622px;}
.sec02_list.slick-initialized .slick-slide.slick-current {padding-top: 55px;}
.sec02_item_img a { display: flex ; justify-content: center; align-items: center; overflow: hidden; border-radius: 10px; aspect-ratio: 3 / 3.5;}
.sec02_item_img img {width: 100%;height: 100%;object-fit: cover;transition: all 0.3s;}
.sec02_item_img {margin: 0;}
.sec02_item .idx_btn { position: absolute; width: 100%; height: auto; aspect-ratio: 3 / 3.5; top: 0; left: 0; display: flex ; justify-content: center; align-items: center; background: rgb(3 44 70 / 44%); border-radius: 10px; transition: all 0.3s; pointer-events: none; opacity: 0;visibility: hidden;transform: scale(0);}
.sec02_item .idx_btn:after {content: '';position: absolute;width: calc(100% - 30px);height: calc(100% - 30px);top: 0;left: 0;right: 0;bottom: 0;margin: auto;border: 1px solid var(--scolor);border-radius: 10px;}
.sec02_item_ttl { text-align: center; font-size: 32px; font-weight: 700; text-transform: uppercase; margin-top: 30px; }
.sec02_item_ttl a {color: #fff;}
.sec02_list .slick-arrow {background-image: url("../images/ic_next_white.svg");left: calc(50% + 13px);bottom: 0;}
.sec02_list .slick-prev {background-image: url("../images/ic_prev_white.svg");right: calc(50% + 13px);left: auto;}
.sec02_list.slick-initialized.slick-slider { padding: 0 0 88px; }
.sec02_list.slick-initialized .slick-slide.slick-current .idx_btn {top: 55px;}

.sec03 {padding: 80px 0;position: relative;}
.sec03:before {content: '';position: absolute;background: url("../images/sec03_ic1.png") no-repeat left center/100% auto;width: 244px;height: 242px;left: 0;top: 15px;z-index: -2;pointer-events: none;}
.sec03 .idx_ttl {justify-content: center;}
.sec03_main { display: flex ; justify-content: space-between; align-items: center; }
.sec03_info { width: calc(50% - 70px); position: relative; z-index: 2; padding: 100px 110px 100px 0; color: #fff; }
.sec03_info:after {content: '';position: absolute;background: url("../images/sec03_bgic.png") no-repeat right -10px bottom -10px/110px auto,url("../images/sec03_bg.jpg") right bottom;z-index: -2;right: 0;bottom: 0;border-bottom-right-radius: 30px;border-top-right-radius: 31px;pointer-events: none;width: 100vw;min-width: 1000px;height: 100%;}
.sec03_img { margin-left: 10px; flex: 1; display: flex ; align-items: center; }
.sec03_img .img {margin: 0 5px;}
.sec03_img img {width: 100%;transition: all 0.3s;height: 100%;object-fit: cover;}
.sec03_img .img:last-child {flex: 1;}
.sec03_img .img { cursor: pointer; display: flex ; justify-content: center; align-items: center; overflow: hidden; border-radius: 10px;width: calc(38% - 10px);height: 507px;}
.sec03_img .img.current {order: -1;width: 62%;height: 534px;}
.sec03_ttl { font-size: 32px; text-transform: uppercase; font-weight: 700; margin: 0 0 35px; }
.sec03_txt p { line-height: normal;text-align: justify;}
.sec03_txt p:not(:last-child) {margin-bottom: 1.5em;}
.sec03_txt {margin-bottom: 40px;}
.sec03 .idx_btn a {color: #fff;}
.sec03_info_main {display: none;}
.sec03_info_main.current {display: inherit;}

.sec04 {padding: 20px 0 80px;position: relative;}
.sec04:after {content: '';position: absolute;background: url("../images/sec04_ic.png") no-repeat center center/100% auto;width: 208px;height: 217px;right: 0;bottom: -120px;}
.sec04 .idx_ttl {justify-content: center;}
.sec04_list {background: url("../images/sec04_img.png") no-repeat center center/100% auto;position: relative;height: 400px;max-width: 1179px;margin: 0 auto;width: 100%;counter-reset: item4;}
.sec04_list li { font-size: 16px; font-weight: 700; color: var(--mcolor); text-transform: uppercase; position: absolute;line-height: normal;counter-increment: item4;display: flex;align-items: center;padding-left: 5px;white-space: nowrap;}
.sec04_list li:before {content: counter(item4);position: relative;display: inline-block;font-size: 300%;margin-right: 5px;}
.sec04_list li:after {content: '';position: absolute;width: 2px;left: 0;top: 0;height: 100%;background-image: linear-gradient(0deg, #032c46 25%, #ffffff 25%, #ffffff 50%, #032c46 50%, #032c46 75%, #ffffff 75%, #ffffff 100%); background-size: 16.00px 16.00px;}
.sec04_list li:nth-child(odd) {top: 31px;}
.sec04_list li:nth-child(even) {bottom: 58px;}
.sec04_list li:nth-child(1) { left: 140px;  }
.sec04_list li:nth-child(2) { left: 370px;  }
.sec04_list li:nth-child(3) { left: 590px;  }
.sec04_list li:nth-child(4) { left: 815px;  }
.sec04_list li:nth-child(5) { left: 1035px;  }

.sec05 {background: url("../images/sec05_bg.jpg") no-repeat center center/cover;padding: 60px 0;color: #fff;position: relative;}
.sec05_main {background: rgba(255, 255, 255, 0.37); backdrop-filter: blur(4.6px); -webkit-backdrop-filter: blur(4.6px);border-radius: 12px;max-width: 920px;margin: 0 auto;display: flex;justify-content: center;align-items: flex-start;padding: 30px 120px 30px 70px;}
.sec05_main:before {content: '';position: relative;display: inline-block;background: url("../images/sec05_ic.png") no-repeat center center/100% auto;width: 82px;height: 82px;margin: 0 15px 0 0;flex-shrink: 0;margin-top: -20px;}
.sec05_txt {margin: 0;}

.sec06 {padding: 80px 0;background: url("../images/sec06_bg.jpg") no-repeat top center/cover;}
.sec06 .idx_ttl {justify-content: center;}
.sec06_list { display: flex ; flex-wrap: wrap; justify-content: space-between; }
.sec06_item {width: calc((100% - 30px)/2);margin-bottom: 50px;color: #fff;}
.sec06_item_img img {width: 100%;}
.sec06_item_img { margin: 0 0 32px; }
.sec06_item_ttl { font-size: 32px; font-weight: 700; color: var(--scolor); text-transform: uppercase; margin: 0 0 12px; }
.sec06_item_txt { line-height: 2em; margin: 0; }
.sec06 .idx_btn a {width: 200px;margin: 0 auto;color: #fff;}

.sec07 {padding: 80px 0;position: relative;}
.sec07:after {content: '';position: absolute;width: 100%;height: 270px;bottom: 0;left: 0;z-index: -2;pointer-events: none;background: #032C46;}
.sec07 .idx_ttl {justify-content: center;}
.sec07_list.slick-initialized .slick-slide {margin: 0 17px;}
.sec07_list.slick-initialized .slick-slide img {width: 100%;}
.sec07_list {margin: 0 -17px;}
.sec07_list .slick-arrow {bottom: 0;left: calc(50% + 13px);background-image: url("../images/ic_next_white.svg");}
.sec07_list .slick-prev {right: calc(50% + 13px);left: auto;background-image: url("../images/ic_prev_white.svg");}
.sec07_list.slick-initialized.slick-slider { padding: 0 0 74px; }

.sec08 {padding: 80px 0;}
.sec08 .idx_ttl {justify-content: center;}
.sec08_txt { text-align: center; line-height: 2em; margin: 0 0 30px; }
.sec08_txt .lager {font-weight: 700;color: var(--mcolor);}
.sec08_main { display: flex ; justify-content: space-between;margin-bottom: 80px;}
.sec08_form { width: 500px; background: var(--scolor); padding: 50px; border-radius: 10px; margin-left: 20px;display: flex ; flex-direction: column; justify-content: space-between; }
.sec08_img { flex: 1; display: flex ; justify-content: space-between; }
.sec08_img_item:nth-child(1) { margin: 0; width: calc(21.5% - 8px); }
.sec08_img_item:nth-child(2) { margin: 0; width: calc(32.5% - 8px); }
.sec08_img_item:last-child { margin: 0; width: calc(46% - 16px); }
.sec08_img_item .img:not(:last-child) {margin-bottom: 16px;}
.sec08_img_item img {width: 100%;height: 100%;object-fit: cover;}
.sec08_img_item .img {display: flex;justify-content: center;align-items: center;text-align: center;overflow: hidden;border-radius: 10px;height: 100%;}
.sec08_img_item:last-child .img:last-child {display: flex;justify-content: space-between;}
.sec08_img_item:last-child .img {height: calc(50% - 8px);}
.sec08_img_item:last-child .img:last-child .item {width: calc(35% - 8px);display: flex;justify-content: center;align-items: center;text-align: center;overflow: hidden;border-radius: 10px;height: 100%;}
.sec08_img_item:last-child .img:last-child .item:nth-child(2) {width: calc(65% - 8px);}
.sec08_img_item:nth-child(1) .img {height: calc(50% - 8px);}
.sec08_form input { width: 100%; border-radius: 30px; border: none; font-size: 15px; color: #A7A7A7; margin: 0 0 27px; padding: 15px 20px; }
.sec08_form button { width: 100px; margin: 0 auto; background: var(--mcolor); color: #fff; border: 1px solid var(--mcolor); border-radius: 50px; font-size: 16px; padding: 8px; cursor: pointer; transition: all 0.3s; font-weight: 700;}
.sec08_bnr {margin: 0;text-align: center;}
.sec08_bnr img {width: 100%;}

.sec09 .idx_ttl {justify-content: center;}
.sec09_list { display: flex ; margin: 0 0 51px;}
.sec09_item { width: calc((100% - 240px) / 3); text-align: center; margin: 0 120px 0 0; }
.sec09_item:nth-child(3n) {margin-right: 0;}
.sec09_item_img { position: relative; width: 100%; display: flex ; justify-content: center; align-items: center; overflow: hidden; border-radius: 10px; margin: 0 0 30px;}
.sec09_item_img img {width: 100%;height: 100%;object-fit: cover;}
.sec09_item_img:after {content: '';position: absolute;background: url("../images/sec09_ic.svg") no-repeat center center/100% auto;width: 50px;height: 50px;top: 50%;left: 50%;transform: translate(-50%,-50%);}
.sec09_item_ttl { font-size: 24px; font-weight: 700; color: #000; font-style: italic; }
.sec09 .idx_btn a {margin: 0 auto;}
.sec09 {padding: 0 0 80px;}

.ft_main {background: url("../images/ft_bg.jpg") no-repeat top center/cover;padding: 45px 0;color: var(--mcolor);}
.ft_main .container {display: flex;justify-content: space-between;}
.ft_ttl { text-align: center; font-weight: 700; font-size: 32px; text-transform: uppercase;}
.ft_logo {text-align: center;margin: 0 0 4px;}
.ft_info { display: flex ; margin: 0 0 4px;}
.ft_info:last-child {margin-bottom: 0;}
.ft_info .ttl {font-weight: 700;margin-right: 5px;width: 65px;margin: 0 0 3px;}
.ft_link { display: flex ; flex-direction: column; flex-wrap: wrap; height: 270px; margin-top: 30px;}
.ft_link li a {font-size: 18px;}
.ft_link li {margin: 0 0 17px;}
.ft_link li:nth-child(n+6) {margin-left: 35px;}
.ft_mod:last-child {width: 317px;}
.ft_map {height: 180px;margin: 0 0 29px;}
.ft_map iframe {width: 100%;height: 100%;}
.ft_social {display: flex;justify-content: center;}
.ft_social a:not(:last-child) {margin-right: 22px;}
.copyright { margin: 0; text-align: center; background: var(--mcolor); color: #fff; font-size: 14px; padding: 20px 0; }
.copyright a {color: #fff;}
.form_search {position: fixed;width: 100%;height: 100%;top: 0;left: 0;z-index: 9999;background: rgba(0,0,0,0.6);display: flex;justify-content: center;align-items: center;transition: all 0.3s;opacity: 0;visibility: hidden;transform: scale(0);}
.form_search.show {opacity: 1;visibility: visible;transform: scale(1);}
.form_search input {width: 800px;max-width: 100%;background: none;border: none;border-bottom: 1px solid #fff;padding: 15px 20px;color: #fff;}
.form_search input::placeholder {color: #fff;}
.form_search .btn_close {width: 40px;height: 40px;display: flex;justify-content: center;align-items: center;border-radius: 5px;position: absolute;right: 10px;top: calc(50% - 20px);padding: 10px;background: var(--mcolor);cursor: pointer;}

@media screen and (max-width: 1800px) {
.mainvisual:after { background-position: bottom -30px center; }
}
@media screen and (max-width: 1400px) {
	.sec02_list.slick-initialized .slick-slide {width: calc(1110px/3);}
	.sec04_list { transform: scale(0.95); }
	.gnavi>li { padding: 0 10px; }
	.gnavi>li>a { font-size: 16px; }
	.gnavi>li:not(:last-child):after { top: calc(50% - 9px); }
	.fixed .gnavi>li>a { font-size: 14px; }
	.fixed #logo img { width: 130px; }
}
@media screen and (min-width: 769px) {
	.h_lang a:hover, .h_btn a:hover, .sec08_bnr a:hover, .h_search:hover, .sec03_img .img:hover img {opacity: 0.7;}
	.gnavi>li:hover>a, .ft_link li a:hover {color: var(--scolor);}
	.submenu a:hover {background: var(--scolor);}
	.slick-arrow:hover, .idx_btn a:hover {background-color: var(--scolor);color: #fff;}
	.sec02_item:hover .idx_btn {transform: scale(1);opacity: 1;visibility: visible;}
	.sec02_item:hover .sec02_item_img img {transform: scale(1.1);}
	.sec08_form button:hover {background: #fff;color: var(--mcolor);}
}
@media screen and (max-width: 768px) {
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
  font-size: 16px;
}
  #wrapper {
    min-width: 100%;
    margin: 0;
    padding-top: 89px;
  }
  #main, #footer {
    min-width: 100%;
  }
  .container {
    padding: 0 15px;
    width: 100%;
  }
  .sp {
    display: block!important;
  }
  .pc {
    display: none!important;
  }
  /* MENU-ICON */
  .menu-icon {
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    text-align: center;
    text-transform: uppercase;
    line-height: 1em;
    cursor: pointer;
    color: #fff;
    font-size: 14px;
    padding: 8px 0;
    z-index: 10;
    background: var(--mcolor);
    margin-left: 10px;
		border-radius: 5px;
  }
  .menu-icon span {
    display: block;
    margin: 0 auto 15px;
    width: 20px;
    height: 2px;
    background-color: #fff;
    -webkit-transition-duration: 0;
    -moz-transition-duration: 0;
    -ms-transition-duration: 0;
    -o-transition-duration: 0;
    transition-duration: 0;
    -webkit-transition-delay: 0.2s;
    -moz-transition-delay: 0.2s;
    -ms-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
    top: 12px;
    left: 0;
    position: relative;
  }
  .menu-icon span::after, .menu-icon span::before {
    display: block;
    content: '';
    position: absolute;
    width: 20px;
    height: 2px;
    background-color: #fff;
    -webkit-transition-property: margin, -webkit-transform;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    -ms-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-delay: 0.2s, 0;
    -moz-transition-delay: 0.2s, 0;
    -ms-transition-delay: 0.2s, 0;
    -o-transition-delay: 0.2s, 0;
    transition-delay: 0.2s, 0;
  }
  .menu-icon span::before {
    margin-top: -8px;
  }
  .menu-icon span::after {
    margin-top: 8px;
  }
  .menu-icon.active span {
    background-color: transparent;
  }
  .menu-icon.active span::before, .menu-icon.active span::after {
    margin-top: 0px;
    -webkit-transition-delay: 0, 0.2s;
    -moz-transition-delay: 0, 0.2s;
    -ms-transition-delay: 0, 0.2s;
    -o-transition-delay: 0, 0.2s;
    transition-delay: 0, 0.2s;
  }
  .menu-icon.active span::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .menu-icon.active span::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .gnv-ico {
    width: 50px;
    height: 48px;
    position: absolute;
    background: rgb(3 44 70 / 20%);
    right: 0;
    top: 0 !important;
    transform: none !important;
    border: none !important;
  }
  .gnv-ico:before {
    content: '';
    position: absolute;
    border: solid #fff;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    left: calc(50% - 3px);
    top: calc(50% - 3px);
    transition: all 0.5s ease;
  }
  .gnavi li.active > .gnv-ico:before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  #totop {
    width: 40px;
    right: 3%;
    bottom: 50px;
    line-height: 0;
  }
	#logo { margin: 0; }
	#logo img {width: 120px;}
	#logo .txt {display: none;}
	.h_main { position: fixed; width: 100%; z-index: 99; border-radius: 0;padding: 10px 0;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}
	.h_main .container { display: flex ; align-items: center;justify-content: space-between; }
	#gnavi { margin: 0; position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: 999; background: rgba(0, 0, 0, 0.7);left: 100%;transition: all 0.3s;}
	#gnavi.show {left: 0;}
	.gnv_main { display: block; background: #fff; width: 300px; padding: 30px 20px; height: 100%; overflow: auto; margin: 0 0 0 auto; }
	.gnavi {display: block;}
	.gnavi>li { padding: 0; }
	.gnavi>li>a { text-align: left; border-bottom: 1px solid #f0f0f0; padding: 10px 0; }
	.gnavi>li:not(:last-child):after {display: none;}
	.submenu { position: relative; left: 0; transform: none; width: 100%; }
	.submenu a { text-align: left; padding: 10px 15px; }
	.gnv_close {background: var(--mcolor);width: 30px;height: 30px;position: absolute;right: 320px;top: 20px;border-radius: 5px;padding: 10px;display: flex;justify-content: center;align-items: center;}
	.gnv_main .h_lang {display: flex;justify-content: center;margin-bottom: 30px;}
	.h_right { position: relative; right: 0; top: 0; margin: 0 0 0 auto; }
	.h_btn { margin: 0; }
	
	.mainvisual { padding: 0; }
	.mainvisual:after {display: none;}
	.main_info { width: 100%; }
	.main_info_ttl { font-size: 30px; margin: 0 0 15px; }
	.main_cont { padding: 0 0 50px; }
	.main_slide .slick-arrow { left: calc(50% + 10px); bottom: 20px; }
	.main_slide .slick-prev { left: auto; right: calc(50% + 10px); }
	.main_slide.slick-initialized .slick-slide {height: 100vw;display: flex;justify-content: center;align-items: center;overflow: hidden;}
	.main_slide.slick-initialized .slick-slide img {width: 100%;height: 100%;object-fit: cover;}
	
	.sec01 { padding: 50px 0; }
	.sec01_main { display: block; }
	.sec01_main:not(:last-child) { margin: 0 0 40px; }
	.idx_ttl { font-size: 30px; justify-content: center; margin: 0 0 20px; }
	.idx_ttl:before { width: 30px; height: 30px; }
	.sec01_txt { margin: 0 0 20px; }
	.sec01_img { width: 100%; text-align: center; margin: 0; }
	.sec01_img img { width: 400px; border-radius: 20px!important; }
	.sec01_main:nth-child(2) .sec01_img { margin: 0 0 40px; }
	.sec01 .idx_btn { position: relative; width: 100%; bottom: 0; }
	.sec01:before { width: 120px; height: 135px; }
	.sec01:after { width: 120px; height: 110px; }
	
	.sec02 { padding: 0 0 50px; }
	.sec02_list.slick-initialized .slick-slide { width: 300px; margin: 0 5px;height: 420px; }
.sec02_list.slick-initialized .slick-slide.slick-current {padding-top: 30px;}
	.sec02_item_ttl {font-size: 22px;margin-top: 20px;}
	.sec02_list.slick-initialized.slick-slider { padding: 0 0 60px; }
	.sec02_list .slick-list {overflow: visible;}
	
	.sec03 { padding: 50px 0; }
	.sec03_main { display: block; }
	.sec03_info { width: 100%; padding: 40px 15px 40px 0; margin-bottom: 30px; }
	.sec03_ttl { font-size: 22px; text-align: center; margin: 0 0 20px; }
	.sec03_txt { margin-bottom: 20px; }
	.idx_btn a {margin: 0 auto;}
	.sec03_info:after { border-bottom-right-radius: 20px; border-top-right-radius: 20px; background-size: 70px auto, auto; background-position: right -5px bottom -5px, top left; }
	.sec03_img { margin: 0; }
	.sec03_img .img {height: 65vw;}
	.sec03_img .img.current { height: 80vw; }
	
	.sec04 { padding: 0 0 50px; }
	.sec04_list {transform: scale(1);background-image: url("../images/sec04_img_sp.png");background-size: 160px auto;height: 818px;max-width: 290px;}
	.sec04_list li:nth-child(odd) {left: calc(50% + 69px) !important; }
	.sec04_list li:nth-child(even) {right: calc(50% + 69px) !important;left: auto;padding: 0 5px 0 0;}	
	.sec04_list li:after { background-image: linear-gradient(90deg, #032c46 25%, #ffffff 25%, #ffffff 50%, #032c46 50%, #032c46 75%, #ffffff 75%, #ffffff 100%); background-size: 16.00px 16.00px; width: 100%; height: 2px; }
	.sec04_list li:nth-child(1) {top: 63px;}
	.sec04_list li:nth-child(2) { top: 220px; bottom: auto; }
	.sec04_list li:nth-child(3) { top: 390px; }
	.sec04_list li:nth-child(4) { bottom: 200px; }
	.sec04_list li:nth-child(5) { bottom: 39px; top: auto; }
	.sec04:after { width: 130px; height: 140px; bottom: -60px; }
	
	.sec05 { padding: 40px 0; }
	.sec05_main { padding: 30px 15px; border-radius: 10px; }
	.sec05_main:before { width: 60px; height: 60px; margin: -10px 10px 0 0; }
	
	.sec06 { padding: 50px 0; }
	.sec06_item_ttl {font-size: 22px;}
	
	.sec07 { padding: 50px 0; }
	.sec07_list.slick-initialized .slick-slide {margin: 0 5px;}
	.sec07_list { margin: 0 -5px; }
	.sec07_list.slick-initialized.slick-slider { padding: 0 0 55px; }
	.sec07:after { height: 35%; }
	
	.sec08 { padding: 50px 0; }
	.sec08_main { display: block; margin-bottom: 50px; }
	.sec08_img { margin: 0 0 30px; }
	.sec08_form { width: 100%; margin: 0; padding: 30px 15px; }
	.sec08_form input { margin: 0 0 10px; }
	.sec08_img_item:last-child { margin: 0; width: calc(46% - 4px); }
	.sec08_img_item:nth-child(2) { margin: 0; width: calc(32.5% - 2px); }
	.sec08_img_item:nth-child(1) { margin: 0; width: calc(21.5% - 2px); }
	.sec08_img_item .img:not(:last-child) { margin-bottom: 4px; }
	.sec08_img_item:last-child .img:last-child .item { width: calc(35% - 2px); }
	.sec08_img_item:last-child .img:last-child .item:nth-child(2) { width: calc(65% - 2px); }
	.sec08_img_item:nth-child(1) .img, .sec08_img_item:last-child .img { height: calc(50% - 4px); }
	.sec09_item { width: calc((100% - 40px) / 3); margin: 0 20px 0 0; }
	.sec09_item_img {margin-bottom: 15px;}
	.sec09_item_ttl {font-size: 20px;}
	.sec09_list {margin-bottom: 30px;}
	.sec09 { padding: 0 0 50px; }
	
	.ft_main { padding: 40px 0; }
	.ft_main .container { display: block; }
	.ft_logo img {width: 180px;}
	.ft_ttl {font-size: 22px;}
	.ft_info { max-width: 320px; margin: 0 auto; }
	.ft_mod:not(:last-child) {margin-bottom: 30px;}
	.ft_mod:nth-child(2) {display: none;}
	.ft_mod:last-child { width: 100%; max-width: 317px; margin: 0 auto; }
	.copyright { font-size: 12px; padding: 15px; }
}

@media screen and (max-width: 440px) {
.sec09_list { display: block; }
	.sec09_item { width: 100%; margin: 0 0 30px; }
	.idx_ttl { font-size: 24px; text-align: center; flex-wrap: wrap; }
	.sec06_item { width: 100%; margin: 0 0 40px; }
	.sec06_item_img { margin: 0 0 20px; }
	.sec04_list { background-size: 110px auto; height: 565px; }
	.sec04_list li { font-size: 11px; }
	.sec04_list li:nth-child(odd) { left: calc(50% + 48px) !important; }
	.sec04_list li:nth-child(1) { top: 52px; }
	.sec04_list li:nth-child(2) {top: 163px;}
	.sec04_list li:nth-child(even) { right: calc(50% + 48px) !important;}
	.sec04_list li:nth-child(3) { top: 276px; }
	.sec04_list li:nth-child(4) { bottom: 137px; }
	.sec04_list li:nth-child(5) {bottom: 28px;}
	.sec04_list li:before { font-size: 260%; margin-right: 2px; }
	.sec02_list.slick-initialized .slick-slide {width: 280px;height: 400px;}
	.sec02_item_ttl {font-size: 18px;}
	.main_info_ttl { font-size: 24px; }
	.main_info_txt { font-size: 14px; }
	.gnv_main { width: 270px; }
	.gnv_close { right: 280px; }
}