.sp440, .sp360{display:none}

@media screen and (min-width: 751px) {
a[href^="tel:"]{pointer-events: none;}
.sp{display:none}
.sec05_bnr li:nth-child(4) .lager { margin: 4px 10px 0 0; letter-spacing: 0; }
.sec05_bnr li:nth-child(5) .lager { margin: 4px 0 0; }
.sec07_item:nth-child(3n) {margin-right: 0;}
nav .inner { height: 100%; display: flex; flex-direction: column; justify-content: center; }
	.sec07_list.slick-slider .slick-track {width: 100%!important;display: flex;flex-wrap: wrap;}
/* hover */
.ft_link ul li > a:hover,
.nav_list>li>a:hover{color:var(--scolor);text-decoration: none;}
.parent:hover .sub{opacity:1;transform:translate(0,0);visibility:visible}
.sub a:hover{background-color:var(--scolor);text-decoration: none;color: #fff;}
.ft_bnn li a:hover,
.to_top img:hover {opacity:.8}

.hamburger:hover:after {opacity: 0.2;}
.cta:hover, .sec01_btn a:hover, .sec01_right_btn a:hover, .btn a:hover, .ft_top_cta:hover {background: var(--mcolor);color: #fff;}
.mv_scroll a:hover {opacity: 0.7;}
.sec01_list li a:hover .ttl {text-decoration: underline;}
.sec03_item:hover .sec03_img img {transform: scale(1.1);}
.sec03_item:hover .sec03_main, .sec05_list .slick-arrow:hover, .sec05_bottom_btn li a:hover {background-color: var(--mcolor);color: #fff;}
.sec05_list .slick-dots li:hover {border-bottom-color: var(--scolor);cursor: auto;}
.sec05_list .slick-dots li:hover button:before {color: var(--scolor);}
.sec05_bnr li a:hover {background-color: var(--scolor);background-image: url("../images/sec05_arr_white.svg");color: #fff;}
.sec07_item:hover .sec07_item_img img, .sec08_item_main:hover .sec08_item_img img, .sec05_item:hover .sec05_item_img img {transform: scale(1.1);}
.btn_arrows:hover:before {background-color: var(--scolor);}

}

@media screen and (min-width: 751px) and (min-width: 2500px){
	.mv {height: 70vh;}
}
@media screen and (min-width: 751px) and (max-width: 1850px){
.idx_progess { max-width: calc(100vw - 590px); }
.mv { max-height: 100vh; }
}

@media screen and (min-width: 751px) and (max-width: 1700px){
.inner {padding-left: 30px;padding-right: 30px;}
.mv_main { padding-left: 40px; }
.mv_scroll { left: 20px; }
.h_inner {padding: 0 0 0 30px;}
nav .inner, .sec02 .inner, .sec03 .inner, .sec07 .inner {padding: 0 15px;}
.sec05_list.slick-dotted.slick-slider { margin-right: 20px; }
.sec04_ttl .en { font-size: 180px; }
.mv_img { margin: 0; }
	.nav_col {margin-bottom: 20px;}
	.nav_sp .ft_bnr {margin-top: 25px;}
	nav {padding-bottom: 20px;padding-top: 125px;}
}

@media screen and (min-width: 751px) and (max-width: 1400px){
.sec09_en img { width: 1200px; }
.ft_top_cta { padding: 40px 50px; }
.sec08_main {margin-right: 50px;}
.sec04_info { width: 650px; }
.mv h2 { font-size: 46px; }
.mv_txt { font-size: 20px; }
.mv { height: 650PX; }
header #logo img { width: 161px; }
header #logo:after {width: 165px;}
header #logo .txt {font-size: 10px;}
header .hamburger {height: 98px;}
	.nav_col {margin-bottom: 25px;}
	.cta_main {margin-bottom: 15px;padding-bottom: 20px;}
	nav {padding-bottom: 10px;}
	.cta {padding: 20px 50px 15px;}
	.sec04_ttl .en { font-size: 165px; min-width: 1260px; }
	.nav_sp .ft_bnr {margin-top: 25px;}
	.idx_ttl { font-size: 45px; }
}
@media screen and (min-width: 751px) and (max-width: 1300px){
.ft_top_main { width: 420px; }
.idx_progess { max-width: 725px; }
.sec05_bnr li:nth-child(3n+2) { width: 400px; }
.sec05_bnr li { width: 380px; }
.sec05_list.slick-initialized .slick-slide {width: 280px;}
.sec05_list.slick-dotted.slick-slider { width: 860px; }
.sec05_item_main { padding: 20px; }
.sec04_info { width: 600px; }
.sec01_main { width: 880px; }
.sec05_list .slick-arrow { width: 60px; height: 60px; }
.sec05_bnr li a { font-size: 17px; }
}
@media screen and (min-width: 751px) and (max-height: 750px){
	nav .inner {display: block;padding-top: 30px;padding-bottom: 30px;height: auto;}
}

/* screen-min:750px */
@media screen and (max-width: 750px) {
img{max-width:100%; height: auto;}
.swap img{width:auto;}
#wrapper,
header,
main,
footer,
.inner{width:100%!important;min-width:unset!important}
.pc{display:none!important}

/* NAV */
nav { display: none; padding: 80px 15px 30px; }
nav .inner{padding: 0;}

.hamburger { width: 90px; height: 70px; font-size: 16px; padding: 0; }
.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before { width: 20px; }
.hamburger.is_active .hamburger-box { width: 20px; height: 20px; }
header.fixed .hamburger {height: 70px;}
.nav_col { display: block; margin: 0 0 50px; }
.nav_list>li>a, .nav_list>li>.sub_btn { display: block; font-size: 16px; padding: 15px 0; text-align: center;border-bottom: 1px solid rgba(255,255,255,0.2);}
.nav_list >li:not(:last-child), .nav_list:last-child li:not(:last-child) { margin: 0; }
.nav_list:not(:last-child), .nav_list:not(:last-child):nth-child(2) { margin-right: 0; }
.nav_list>li>.sub_btn { border: none; text-align: left; padding-bottom: 0; }
.sub ul { display: flex; justify-content: space-between; }
.sub ul li { width: calc((100% - 20px) / 3); }
.sub ul li:not(:last-child) { margin-right: 0; }
.sub ul li a {height: auto;}
.nav_list li.parent { border-bottom: 1px solid rgba(255, 255, 255, 0.2); padding: 0 0 15px; }
.cta { padding: 25px 15px; }
.cta_main { display: block; text-align: center; padding: 0 0 25px; }
.cta_ttl { font-size: 18px; margin: 0 0 15px; }
.cta_info { display: flex; flex-direction: column; align-items: center; }
.cta_info .tel { margin: 0 0 20px; font-size: 14px; }
.cta_info .tel a:before { margin-top: 0; width: 24px; height: 24px; }
.cta_info .mail a { width: 270px; height: 60px; font-size: 18px; max-width: 100%; }
.cta_txt .ttl { display: block; margin: 0; }
	.cta_txt .ttl .small {text-align: center;}
	.cta>a {display: none;}
.nav_sp { padding: 40px 0 0; }
.sub ul li a .ttl { padding: 10px 0 0; min-height: 57px; height: auto; font-size: 14px; letter-spacing: -0.03em; }
nav:before {content: '';position: fixed;width: 100%;height: 70px;background: #000;opacity: 0.7;top: 0;left: 0;z-index: 1;}
	
	.nav_sp .ft_bnr {margin-top: 0;}
	.nav_sp .ft_bnr li { width: calc((100% - 10px) / 2); margin: 0 10px 10px 0;max-width: 250px; }
	.nav_sp .ft_bnr li:nth-child(2n) {margin-right: 0;}
	.nav_sp .ft_bnr li:last-child {margin: 0;text-align: center;}
/*=====================================================
										C U S T O M
======================================================*/

/*============ HEADER ============*/
.h_inner{padding: 0 0 0 15px;}
#logo { margin: 0; }
#logo img { margin: 0; width: 161px; }
#logo .txt {display: none;}
#logo:after { width: 165px; bottom: -10px; }
/*============ Main ============*/

/* MAIN VISUAL */
.mv { height: 140vw; }
.mv_img { margin: 0 auto; width: 60vw; }
.mv .inner { flex-direction: column; justify-content: center; align-items: center; padding: 70px 0 0; }
.mv h2 { font-size: 6vw; margin: 0 0 3vw; }
.mv_txt { font-size: 3.7vw; }
.mv_main { padding: 0; margin: 0 0 6vw; }
.mv_scroll a:before { width: 5px; height: 89px; }
.mv_scroll a { width: 20px; height: 90px; }
.mv_scroll { left: 10px; bottom: 10px;font-size: 11px; }
.mv_scroll .txt { left: -25px; top: 26px; }
/* sec01 */
.sec01 { padding: 50px 0 70px; }
.sec01 .inner { display: block; }
.sec01_main { width: 100%; padding: 20px 15px; margin: 0 0 40px; display: block; }
.sec01_info { margin: 0 auto 20px; text-align: center; padding: 0 0 20px; border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.3); width: 100%; }
.sec01_ttl { margin: 0 0 15px; }
.sec01_btn a { margin: 0 auto; }
.sec01_list { padding: 0; }
.sec01_list li a .date { font-size: 100%; width: 80px; }
.sec01_right { display: flex; flex-direction: column; align-items: center; }
.sec01_right_btn a { max-width: 100%; height: 50px; font-size: 18px; }
/* sec02 */
.sec02 { border-top-left-radius: 20px; border-top-right-radius: 20px; margin-top: -20px; padding: 50px 0; }
.sec02_ttl { font-size: 28px; margin: 0 0 15px; }
.sec02_ttl img { width: 220px; }
.sec02_ttl .img { margin: 0 -5px 0 0; top: 0; }
.sec02_txt { font-size: 18px; margin: 0 0 30px; line-height: 1.75em;}
.sec02_list dl { width: calc((100% - 10px) / 2); padding: 30px 15px;height: 260px; }
.sec02_list dt { font-size: 18px; letter-spacing: -0.05em; height: 77px; margin: 0 0 15px; }
.sec02_list dl:before { font-size: 120px; right: 10px; bottom: 0; }
.sec02_list dd { font-size: 15px; }
/* sec03 */
.sec03 { padding: 0 0 50px; background-size: 900px auto; background-position: top 30px center; }
.sec03_txt { font-size: 18px; margin-bottom: 30px; }
.sec03_txt .txt:before, .sec03_txt .txt:after { font-size: 250%;top: 0; }
.sec03_txt .txt { padding: 0 30px; }
.sec03_txt .mid { font-size: 130%; width: calc(100% + 40px); margin-left: -20px; }
.sec03_item { flex-direction: column-reverse!important;; margin-bottom: 40px; padding: 0; }
.sec03_main { width: calc(100% - 30px); max-width: 470px; margin: -40px auto 0 !important; padding: 25px 15px;position: relative;z-index: 2;}
.sec03_item_ttl { font-size: 18px; }
.sec03_item_txt { margin: 0 0 15px; font-size: 15px; }
.sec03_img {position: relative;z-index: 1;overflow: visible;width: 100%;}
.sec03_img img {border-radius: 5px;}
.sec03_img:after { content: ''; position: absolute; width: 100vw; min-width: 320px; height: 6px; background: var(--scolor); z-index: -2; pointer-events: none; top: calc(50% - 3px); left: 50%; transform: translateX(-50%); }
.sec03_item:after {display: none;}
/* sec04 */
.sec04 { padding: 50px 0; }
.sec04_ttl .en { font-size: 13vw; top: -5vw; }
.sec04_ttl { font-size: 22px; margin-bottom: 40px;}
.sec04_ttl .lager { font-size: 130%; line-height: 1.3em; margin: 0 0 15px; }
.sec04_info { width: 100%; }
.sec04_info_img { position: relative; right: 0; top: 0; text-align: center; width: 80vw; margin: 0 auto 15px;max-width: 400px; }
.sec04 .idx_ttl { text-align: center; }
.idx_ttl { font-size: 30px; margin: 0 0 20px; }
.idx_ttl img { width: 160px; }
.idx_ttl .img { top: -4px; }
.idx_ttl .en { font-size: 20px; margin: 0 0 10px; }
.sec04_info_txt { margin: 0 0 25px; }
.btn a { margin: 0 auto;max-width: 100%; }
.btn {width: 100%; }
.sec04:before { background-size: 750px auto; top: 125px; }
/* sec05 */
.sec05_info { display: block; margin: 0 0 50px; }
.sec05 { padding: 0; }
.sec05 .idx_ttl { text-align: center; font-size: 30px; margin-bottom: 70px; }
.sec05:after { top: 155px; height: calc(100% - 155px); }
.sec05_ttl { text-align: center; font-size: 24px; margin: 0 0 20px; }
.sec05_txt { max-width: 100%; margin: 0 0 20px; }
.sec05_list.slick-dotted.slick-slider { width: 100%; margin: 50px 0 0; }
.sec05_item_img img {width: 100%;}
.sec05_item {margin: 0 5px;min-height: 400px;}
.sec05_item_main { padding: 20px 30px; position: relative;}
.sec05_item_point { font-size: 16px; margin: 0 0 10px; }
.sec05_item_en { margin: 0 0 10px; font-size: 20px; }
.sec05_item_ttl { font-size: 22px; height: 57px; margin: 0 0 15px; }
.sec05_item_img { position: absolute; width: 100%; top: 0; left: 0; height: 100%; }
.sec05_item_img img {height: 100%;object-fit: cover;width: 100%;}
.sec05_item_txt { font-size: 15px; }
.sec05_list .slick-prev { left: -10px; }
.sec05_list .slick-arrow { width: 40px; height: 40px; background-size: 8px auto; top: calc(50% - 20px); }
.sec05_list .slick-next { right: -10px; }
.sec05_list .slick-dots { justify-content: center; }
.sec05_list .slick-dots li { width: 40px; height: 30px; border-bottom-width: 2px; }
.sec05_list .slick-dots li button:before { font-size: 18px; }
.sec05_bnr li { width: 100%; max-width: 440px; margin: 0 auto 20px; }
.sec05_bnr li a { font-size: 16px; height: 100px; }
.sec05_bnr li .lager { font-size: 120%; }
.sec05_bottom { padding: 50px 0 1px; margin-top: 30px; }
.sec05_bottom .inner { display: block;padding-bottom: 1px; }
.sec05_bottom_img { position: relative; right: 0; top: 0; width: 80vw; max-width: 300px; margin: 30px auto -40px!important; z-index: 3;}
.sec05_bottom_btn li a { font-size: 18px; height: 60px; }
.sec05_bottom_btn { display: block; }
.sec05_bottom_btn li { width: 360px; margin: 0 auto 20px!important;max-width: 100%; }
/* sec06 */
.sec06 { padding: 70px 0 50px; background: #000;z-index: 2;}
.sec06 video { object-fit: contain; top: auto; bottom: 0; height: auto; width: 130%; left: -15%; }
.sec06 .idx_ttl { font-size: 26px; margin: 0 0 20px; }
.sec06_txt { font-size: 16px; margin: 0 0 30px; letter-spacing: -0.02em; }
.sec06_video { display: block; }
.sec06_video_item { width: 100%; margin: 0 0 30px; }
.sec06_video_item_frame { height: 50vw; margin: 0 0 5px; }
.sec06_video_item:last-child {  margin: 0; }
.sec06_video_item_ttl { font-size: 17px; }
/* sec07 */
.sec07 { background-size: 150% auto; background-position: top center; padding: 50px 0; }
.sec07 .idx_ttl { font-size: 30px; margin: 0 0 20px; }
.sec07_txt .lager { margin: 0 0 10px; }
.sec07_txt { margin: 0 0 30px; }
.sec07_list { justify-content: space-between; margin: 0 0 30px; }
.sec07_item {margin: 0;padding: 10px;}
.sec07_list .slick-arrow {width: 40px;height: 40px;background: url("../images/sec05_prev.svg") no-repeat center center/10px auto var(--scolor);border-radius: 50%;cursor: pointer;top: calc(50% - 20px);z-index: 2;transition: all 0.3s;}
.sec07_list .slick-arrow:before {display: none;}
.sec07_list .slick-prev { left: -10px; }
.sec07_list .slick-next { right: -10px; background-image: url("../images/sec05_next.svg");}
.sec07_txt .img { margin-left: -10px; }
/* sec08 */
.sec08 { padding: 50px 0; }
.sec08 .idx_ttl { text-align: center; margin: 0 0 20px; }
.sec08 .inner { display: block; }
.sec08_main { margin: 0 0 40px; }
.sec08_ttl { text-align: center; font-size: 24px; margin: 0 0 15px; }
.sec08_txt { text-align: center; margin: 0 0 20px; }
.sec08_item_main { width: 300px; }
.sec08_list.slick-initialized .slick-slide { padding: 10px; }
.idx_progess { display: block; max-width: calc(100vw - 30px); margin: 0; }
.idx_progess_btn { margin: 0 auto 15px; }
.progress { width: 100%; }
.sec08_right { margin: 0; width: calc(100% + 15px); }
/* sec09 */
.sec09 { padding: 50px 0 100px; }
.sec09_en { margin: 0 15px -4vw; }
.sec09_ttl { font-size: 20px; margin: 0 0 20px; }
.sec09_tit { font-size: 26px; margin: 0 0 20px; }
.sec09_txt { margin-bottom: 30px; }

/*============ FOOTER ============*/
footer{margin-bottom: 73px;}
.ft_top { margin-top: -50px;margin-bottom: 40px; }
.ft_top_cta { padding: 30px 15px; display: block; }
.ft_top_main { width: 100%; border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.2); padding: 0 0 30px; margin: 0 0 30px; text-align: center; }
.ft_top_ttl { font-size: 20px; margin: 0 0 20px; }
.ft_top_txt { max-width: 100%; letter-spacing: -0.03em;}
.ft_top_logo { font-size: 16px; margin: 0 0 20px; }
.ft_top_logo img { width: 240px; }
.ft_top_info { flex-direction: column; align-items: center; }
.ft_top_info .tel { margin: 0 0 10px; }
.ft_top_info .mail { max-width: 100%; margin: 0; }
.ft_top_info .mail a { font-size: 18px; height: 60px; }
.ft_top_add .ttl { display: block; margin: 0; }
.ft_bottom { padding: 40px 0; }
.ft_bottom .inner { display: block; text-align: center; }
.ft_bnr { justify-content: center; margin: 0 0 20px; }
.ft_bnr li:not(:last-child) { margin-right: 10px; }
	.ft_top_add .ttl .small {text-align: center;}

/* sp contact */
.sp_contact{display:flex;justify-content:center;align-items:center;width:100%;position:fixed;left:0;z-index:99; bottom:-74px;transition: all 0.3s;background: var(--scolor); color: #fff;}
.sp_contact.show{bottom: 0;}
.sp_contact .ft_top_info { flex-direction: row; padding: 5px;width: 100%;margin: 0;}
.sp_contact li{width:50%;height:100%;}
.sp_contact .ft_top_info .mail a {width: 100%;height: 50px;font-size: 16px;}
.sp_contact .ft_top_info .mail {width: 48%;margin-left: 2%;}
.sp_contact .ft_top_info .tel {font-size: 12px;text-align: center;margin: 0;}
.sp_contact .ft_top_info .tel a {display: block;font-size: 100%}
.sp_contact .ft_top_info .tel .time { padding: 0; }
.sp_contact .ft_top_info .tel a:before {display: none;}
.sp_contact .ft_top_info .tel .num {display: flex;align-items: center;font-size: 28px;justify-content: center;}
.sp_contact .ft_top_info .tel .num:before { content: ''; position: relative; display: inline-block; background: url(../images/ic_tel.svg) no-repeat center center / 100% auto; width: 18px; height: 18px; margin: 0 5px 0 0; top: 1px; }

/* to top */
.to_top{width:40px;right:10px;bottom: 75px;}
/*============ END 750 ============ */

}



/* screen-max:460px */
@media screen and (max-width: 440px) {
.sp440 {display: block !important;}
.pc440{display: none !important}
.sec01_right_tel .tel { font-size: 36px; }
.sec02_ttl img { width: 160px; }
.sec02_ttl { font-size: 24px; }
.sec02_list dl { width: 49%; height: 55vw;padding: 6vw 3vw;}
.sec02_list dt { font-size: 4vw; height: 17vw;margin-bottom: 2vw; }
.sec02_list dl:before { font-size: 25vw; }
.sec02_list dd { font-size: 3.2vw; }
.sec03_txt .txt { padding: 0 20px; }
.sec03_txt .txt:before, .sec03_txt .txt:after { font-size: 220%; }
.sec03_txt { letter-spacing: -0.05em; font-size: 17px; }
.sec03_item_ttl { font-size: 17px; }
.sec03_main {margin-top: -20px!important;}
.sec03_item_btn { font-size: 16px; width: 130px; }
.sec04_ttl { font-size: 18px; }
.sec04_ttl .lager { letter-spacing: -0.05em; }
.sec05_bnr li a { font-size: 14px; }
.sec06 .idx_ttl { font-size: 20px; }
.sec06_txt { font-size: 15px; }
.sec06_video_item_ttl { font-size: 15px; line-height: 1.75em; }
.sec07_txt .lager { font-size: 120%; }
.sec07_item { width: 100%; }
.sec08_item_main { width: 270px; }
.sec08_list.slick-initialized .slick-slide { padding: 10px 5px; }
.sec09_ttl { font-size: 18px; }
.sec09_ttl .en { font-size: 160%; }
.sec09_tit { font-size: 19px; }
.ft_top_ttl { font-size: 17px; }
.ft_top_logo { font-size: 11px; }
.ft_top_logo img { width: 180px; }
.ft_top_info .tel { font-size: 14px; }
.ft_top_info .tel a { font-size: 34px; }
.ft_top_info .tel a:before { width: 20px; height: 20px; top: 0; }
.ft_top_add { font-size: 15px; letter-spacing: -0.05em; }
address { font-size: 11px; }
.sp_contact .ft_top_info .mail a { text-align: center; font-size: 12px; }
.sp_contact .ft_top_info .tel .time { line-height: 1.2em; font-size: 8px;}
.sp_contact .ft_top_info .tel .num { font-size: 20px; }
.sp_contact .ft_top_info .tel .num:before { width: 14px; height: 14px; top: 0; }
.sub ul { flex-wrap: wrap;}
.sub ul li { width: 49%; }
.sub ul li:not(:last-child) { margin: 0 0 10px; }
.cta_ttl { font-size: 16px; }
.cta_info .tel a { font-size: 240%; }
.cta_info .tel a:before { width: 20px; height: 20px; }
.cta_txt { font-size: 14px; letter-spacing: -0.03em; }
footer { margin-bottom: 60px; }
	.to_top {bottom:65px;}
	.idx_ttl {font-size: 26px;}
}

/* screen-max: 360px */
@media screen and (max-width: 360px) {
.sp360 {display: block!important;}
.sec05_bnr li a { font-size: 13px; height: 90px; background-size: 16px auto; }
	.idx_ttl {font-size: 21px;}
	.sec08_ttl {font-size: 20px;}
.sec02_txt { font-size: 16px; }
.sec02_txt .img { margin: 0; }
.sec02_txt img { width: 85px; }
}