@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600;700&family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho:wght@400;500;700;900&display=swap');
/*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/

/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
font-size: 160%;
-webkit-text-size-adjust: none;
font-weight: 500;
}
html:focus-within {scroll-behavior: smooth;}
img {vertical-align: middle;max-width: 100%;flex-shrink: 0;height: auto;}
*,
::before,
::after{box-sizing:border-box;outline: none;}
select { visibility: visible !important; }
a{transition:all ease 0.3s;text-decoration:none;color: var(--txt);}
a[href^="tel:"] {word-break: keep-all;}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html{background:#fff}
body{color:var(--txt);-webkit-text-size-adjust:none;min-width:320px;font-family: var(--font-main)}
#fmail select,
#fmail input,
#fmail textarea{font-family: var(--font-main)}
table {width: 100%}
h1,h2,h3,h4,h5,h6{line-height: 1.5;}
p,
dd,
dt,
li,
th,
td,
address{line-height: 2em;letter-spacing: 0;}
p {margin: 0 0 1.5em;}
p:last-child{margin-bottom: 0}

.bold{font-weight: bold;}
.left{text-align:left}
.right{text-align: right;}
.auto{margin-left: auto; margin-right: auto;}
.red{color: var(--red);}
.txt_line{text-decoration: underline;}
.m0a{display: block;margin: 0 auto;}
.f_big{font-size: 150%;}
.f_sm{font-size: 80%;}
.en {font-family: var(--f-en);}
.ja {font-family: var(--f-ttl);}
.txt_clr1 {color: var(--mcolor);}

:root {
  --font-main: "Noto Sans JP", sans-serif;
	--f-en: "Crimson Text", serif;
	--f-ttl: "Zen Old Mincho", serif;
  --txt: #333333;     
  --mcolor: #9e000a;
  --scolor: #f80406; 
  --site_size: 1230px;
  
  --gray: #f6f6f6;
  --blue: blue;
  --yellow: #fcf48b;
	--black: #473134;
	--gold: #B89C50;
	--border-color: rgba(184, 156, 80, 0.3);
}

#wrapper{min-width: 1260px;overflow:hidden;margin:0 auto}
.inner{width: var(--site_size);margin:0 auto;position:relative;max-width: 100%;padding: 0 15px;}

/*==========================================================
                       H E A D E R  
==========================================================*/
header{position: relative;}
header:after {content: '';position: absolute;width: 54.8%;height: 450px;background:url("../images/h_bg1.png") no-repeat top left/auto 450px  var(--mcolor);top: 0;right: 0;z-index: -2;pointer-events: none;}
.h_ttl{font-size:16px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; font-weight: 700;color: #000;font-family: var(--f-ttl);margin: 2px 0 -2px;max-width: 345px;letter-spacing: -0.08em;line-height: 1.5em;}
.h_box{width:100%;position: fixed; z-index: 10; transition: all 0.3s;left: 0;top: 0;}
.h_inner{display:flex;justify-content:space-between;align-items: center;height: 100%;width: 1920px;padding: 33px;background: url("../images/h_bg_ic1.png") no-repeat left 11px top -17px/auto 149px;transition: all 0.3s;}
#logo {margin: 0 0 8px 2px;}
.h_txt {font-size: 14px;font-weight: 500;letter-spacing: -0.015em;}

.h_google {margin: -24px 15px 0 25px; width: 280px;font-size: 18px;letter-spacing: -0.01em;}
.h_google a {display: flex;justify-content: center;align-items: center;text-align: center;height: 60px;border: 2px solid #f2f2f2;border-radius: 5px;color: #000;font-weight: 700;background: #fff;padding: 0 0 10px;position: relative;}
.h_google .icon {color: #e0ca00;font-size: 133.34%;font-weight: 500;margin: 0 4px;}
.h_google .num {color: var(--mcolor);}
.h_google .num .small {font-size: 80%;}
.h_google .sm{font-size: 8px;position: absolute;bottom: 10px;left: 0;width: 100%;text-align: center;line-height: 1em;}

.h_brn{margin:-24px auto 0 0;}

.h_right {color: #fff;}
.h_info { display: flex; align-items: center; margin: 0 0 6px;justify-content: flex-end;}
.h_tel { font-size: 34px; font-family: var(--f-en); font-weight: 500; margin: 4px 0 0px; line-height: 1.2em; letter-spacing: -0.025em; }
.h_tel a {display: inline-flex;align-items: center;color: #fff;gap: 6px;}
.h_tel a:before {content: '';position: relative;display: inline-block;background: url("../images/ic_tel.png") no-repeat center center/100% auto;width: 20px;height: 26px;}
.h_time li { display: flex; font-size: 14px; font-weight: 500;line-height: 1.64em;gap: 5px; }
.h_time li .ttl {min-width: 56px;}
.h_time {padding-left: 16px; margin: 0 18px;height: 44px;position: relative;}
.h_time:before {content: '';position: absolute;width: 1px;height: 100%;background: #fff;left: 0;top: 0;}
.h_btn { width: 180px; margin: 0; font-family: var(--f-ttl); }
.h_btn a {display: flex;justify-content: center;align-items: center;text-align: center;height: 44px;background: #fcf48b;border-radius: 5px;color: #6d000b; font-weight: 900;gap: 8px;padding: 0;letter-spacing: -0.05em;}
.h_btn a:before {content: '';position: relative;display: inline-block;background: url("../images/ic_mail.png") no-repeat center center/100% auto;width: 24px;height: 15px;}

.nav_list { display: flex; gap: 30px;justify-content: flex-end;}
.nav_list li a {color: #fff;font-weight: 500;position: relative;display: inline-block;letter-spacing: -0.05em;}
.nav_list li a:after {content: '';position: absolute;width: 0;height: 1px;background: #fff;left: 0;bottom: 0;transition: all 0.3s;}

header.fixed .h_box { background-color: #fff; border-bottom: 1px solid #F7F1EB; }
header.fixed .h_box .inner {background-position: left 11px top -25px;padding-top: 15px;padding-bottom: 15px;}
header.fixed .h_right , header.fixed .nav_list li a, header.fixed .h_tel a {color: #000;}
header.fixed .nav_list li a:after {background: #000;}
header.fixed .h_time:before {background: #000;}

/* HAMBUGER BUTTON */
.hamburger{font:inherit;display:block;overflow:visible;margin:0;padding:10px 8px 5px;cursor:pointer;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity,filter;text-transform:none;color:inherit;border:0;border-radius: 3px;}
.hamburger-box{position:relative;display:inline-block;width:26px;height:24px}
.hamburger-inner{top:50%;display:block;margin-top:-2px}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before{position:absolute;width:26px;height:2px;transition:all ease 0.15s;background-color:#fff}
.hamburger-inner::after,
.hamburger-inner::before{display:block;content:""}
.hamburger-inner::before{top:-10px}
.hamburger-inner::after{bottom:-10px}
.hamburger--3dxy .hamburger-box{perspective:80px}
.hamburger--3dxy .hamburger-inner{transition:transform .15s cubic-bezier(0.645,0.045,0.355,1),background-color 0 cubic-bezier(0.645,0.045,0.355,1) .1s}
.hamburger--3dxy .hamburger-inner::after,
.hamburger--3dxy .hamburger-inner::before{transition:transform cubic-bezier(0.645,0.045,0.355,1) .1s}
.hamburger--3dxy.is_active .hamburger-inner{transform:rotateX(180deg) rotateY(180deg);background-color:transparent!important}
.hamburger--3dxy.is_active .hamburger-inner::before{transform:translate3d(0,10px,0) rotate(45deg)}
.hamburger--3dxy.is_active .hamburger-inner::after{transform:translate3d(0,-10px,0) rotate(-45deg)}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main{position: relative;}
.mv{position: relative;padding: 0;padding-top: 190px;max-width: 1920px;margin: 0 auto;}
.mv:after {content: '';position: absolute;width: 100%;height: 100%;top: 0;left: 0;z-index: -3;pointer-events: none;background: url("../images/main_bg_ic1.svg") no-repeat top 10px left -158px/1350px auto;}
.mv:before {content: '';position: absolute;width: 673px;height: 680px;background: url("../images/main_bg_ic4.svg") no-repeat top 13px left 18px/47px auto var(--mcolor);pointer-events: none;left: 0;top: 280px;}
.mv .inner {width: 100%;padding: 0 0 0 83px;}
.mv_info {display: flex;justify-content: space-between;align-items: flex-start;position: relative;margin-bottom: 80px;}
.mv_info:before { content: ''; position: absolute; background: url(../images/main_bg_ic9.png) no-repeat center center / 100% auto; width: 293px; height: 284px; left: -89px; bottom: -301px; z-index: 2; pointer-events: none; }
.mv_img { margin: 0; flex-shrink: 0; width: 58%; max-width: 1040px; position: relative;}
.mv_img:before, .mv_img:after {content: '';position: absolute;pointer-events: none;}
.mv_img:before {background: url("../images/sec03_ic11.svg") no-repeat center center/100% auto;width: 112px;height: 196px;left: -56px;bottom: -56px;z-index: 2;}
.mv_img:after {background: url("../images/main_bg_ic3.svg") no-repeat center center/100% auto;width: 149px;height: 154px;top: -21px;right: -11px;}
.mv_img .img:before {content: '';position: absolute;background: url("../images/main_bg_ic5.svg") no-repeat center center/100% auto;width: 205px;height: 89px;left: 360px;top: calc(100% - 2px);pointer-events: none;}
.mv_main { flex: 1; background: url(../images/main_bg_ic6.png) no-repeat top 36px left 38px / 219px auto, url(../images/main_bg_ic8.svg) no-repeat bottom 3px right 16px / 295px auto #fff; margin: 80px 0 0 -120px; padding: 84px 60px 59px 100px; position: relative; z-index: 2;}
.mv_main:before {content: '';position: absolute;background: url("../images/main_bg_ic7.svg") no-repeat top center/100% auto;width: 276px;height: 203px;top: -70px;right: -62px;pointer-events: none;}
.mv h2 { font-size: 58px; font-family: var(--f-ttl); color: var(--mcolor); font-weight: 700; line-height: 1.46em; letter-spacing: -0.035em; white-space: nowrap; margin: 0 0 57px;}
.mv h2:first-line {letter-spacing: -0.01em;}
.mv_txt { font-size: 20px; font-weight: 500; line-height: 2.5em; background-image: linear-gradient(0deg, rgba(255,255,255,0) 49%, #e6e6e6 49%, #e6e6e6 50%, rgba(255,255,255,0) 50%, rgba(255,255,255,0) 99%, #e6e6e6 99%, #e6e6e6 100%); background-size: 100.00px 100.00px; color: #000;padding: 0 10px 1px;letter-spacing: -0.035em;}
.mv_bnr { max-width: 1230px; margin: 0 auto; position: relative; left: -41px; }
.mv_bnr_item { flex: 1; font-size: 26px;line-height: 1.36em;font-family: var(--f-ttl);font-weight: 700;position: relative;margin: 0 15px;width: 380px;}
.mv_bnr_item:after { content: ''; position: absolute; width: 12px; height: 12px; background: var(--mcolor); right: 5px; bottom: 5px; z-index: 3; pointer-events: none; clip-path: polygon(100% 0, 0% 100%, 100% 100%); }
.mv_bnr_item a {display: flex;align-items: center;position: relative;height: 120px; color: #fff;padding: 10px 30px;z-index: 2;overflow: hidden;}
.mv_bnr_item a:before {content: '';position: absolute;pointer-events: none;background: #999999;width: 100%;height: 100%;top: 0;left: 0;mix-blend-mode: multiply;}
.mv_bnr_item a:after {content: '';position: absolute;pointer-events: none;width: 100%;height: 100%;top: 0;left: 0;background: url("../images/main_bnr1.jpg") no-repeat center center/cover;z-index: -1;transition: all 0.3s;}
.mv_bnr_item.item2 a:after {background-image: url("../images/main_bnr2.jpg");}
.mv_bnr_item a .txt {position: relative;}
.mv_bnr_item .jp { letter-spacing: -0.035em; }
.mv_bnr_item a .en {display: flex;justify-content: center;align-items: center;padding: 2px 0 0;width: 86px;height: 24px;background: var(--mcolor);text-align: center;border-radius: 3px;text-transform: uppercase;font-weight: 600;font-size:18px;margin: -4px 0 2px;}
.mv_bnr_item.item2 .jp {margin-left: -14px;}
.mv_bnr_item.item3 a:after, .mv_bnr_item.item3 a:before {display: none;}
.mv_bnr_item.item3 a {border: 1px solid #ddbb8a;background: #ffffff; background: linear-gradient(125deg, rgba(255, 255, 255, 1) 0%, rgba(247, 241, 235, 1) 100%);color: var(--mcolor);padding: 10px 15px;}
.mv_bnr_item.item3 {font-size: 22px;}
.mv_bnr_item.item3 a .en {background: transparent;width: auto;height: auto;color: #c48e30;text-align: left;display: block;line-height: 1em;margin: 2px 0 1px;}
.mv_bnr_item.item3 a:before {content: '';position: relative;display: inline-block;background: url("../images/main_bnr3.svg") no-repeat center center/100% auto;width: 73px;height: 80px;margin: 0 18px 0 0;}



.mv_img .img{position:relative;overflow:hidden;opacity:0;transition:all .3s;}
.mv_img .img.init{opacity:1}
.mv_img_slide{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.mv_img .img,
.mv_img_slide .mv_img_slide_item{width:100%;height:680px}
.mv_img_slide .mv_img_slide_item img {opacity: 0;}
.mv_img_slide .mv_img_slide_item .bg{position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;background-size:cover;background-position:center}
.mv_img_slide .mv_img_slide_item.zoomed .bg{animation-name:zoomImg;animation-duration:6s;animation-timing-function:linear;animation-fill-mode:forwards}
.mv_img_slide .mv_img_slide_item .bg{background: url("../images/main_img1.jpg") no-repeat center center/cover;}
.mv_img_slide .mv_img_slide_item.item2 .bg{background: url("../images/main_img2.jpg") no-repeat center center/cover;}
.mv_img_slide .mv_img_slide_item.item3 .bg{background: url("../images/main_img3.jpg") no-repeat center center/cover;}

@keyframes zoomImg { 0%{transform:scale(1.2)} 100%{transform:scale(1.0)}}

/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.idx_ttl {text-align: center;font-family: var(--f-ttl);color: var(--mcolor);font-size: 46px;font-weight: 700;position: relative;margin: 0 0 69px;}
.idx_ttl:before {content: '';position: absolute;background: url("../images/idx_ttl_ic.svg") no-repeat center center/100% auto;width: 188px;height: 183px;left: calc(50% - 94px);top: -57px;pointer-events: none;z-index: -1;}
.idx_ttl .en {display: block;font-size: 52.18%;color: var(--scolor);font-weight: 600;letter-spacing: 0;text-transform: uppercase;}

/* DEFAUTL NAME BUTTON */
.btn a{width: 400px;max-width: 100%;min-height: 60px;background:url("../images/under_arr.svg") no-repeat right 25px center/30px auto #473134;border-radius: 100px;padding: 10px 55px;display: flex;align-items: center;text-align: center;color: #fff;}
.btn.center a{margin-left: auto; margin-right: auto;}

section{padding: 40px 0;}

/*==================== SEC01 ===================*/
.sec01 { padding: 100px 0 120px; }
.sec01 .inner {width: 1920px;padding: 0 32px;}
.sec01_list { display: flex; gap: 10px; }
.sec01_item { flex: 1; position: relative; transition: all 0.3s;z-index: 2; height: 600px;cursor: pointer;}
.sec01_item:after {content: '';position: absolute;background: url("../images/sec01_img1.jpg") no-repeat right center/auto 100%;z-index: -2;pointer-events: none;width: 100%;height: 100%;top: 0;left: 0;}
.sec01_item:nth-child(2):after {background-image: url("../images/sec01_img2.jpg");}
.sec01_item:nth-child(3):after {background-image: url("../images/sec01_img3.jpg");}
.sec01_item:nth-child(4):after {background-image: url("../images/sec01_img4.jpg");}
.sec01_item:nth-child(5):after {background-image: url("../images/sec01_img5.jpg");}
.sec01_item:nth-child(6):after {background-image: url("../images/sec01_img6.jpg");}
.sec01_item:before {content: '';position: absolute;background: #aca2a4;z-index: -1;pointer-events: none;mix-blend-mode: multiply;width: 100%;height: 100%;top: 0;left: 0;transition: all 0.3s;}
.sec01_item_top_ttl { margin: 0; position: absolute; color: #fff; font-family: var(--f-ttl); font-size: 44px; font-weight: 500; left: 0; top: 30px; display: flex; align-items: flex-start; line-height: 1.5em;gap: 9px;width: 100%;padding: 0 30px 0 21px;transition: all 0.3s;}
.sec01_item_top_ttl .ja {-webkit-writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; writing-mode: vertical-rl; -webkit-text-orientation: mixed; -moz-text-orientation: mixed; -ms-text-orientation: mixed; text-orientation: mixed; -ms-writing-mode: tb-rl; text-orientation: upright;}
.sec01_item_top_ttl .en { line-height: 1em; display: flex; align-items: center; font-size: 45.46%; font-weight: 600; flex: 1; gap: 11px; position: relative;letter-spacing: -0.02em;}
.sec01_item_top_ttl .en:after {content: '';position: relative;display: inline-block;height: 1px;background: var(--mcolor);transition: all 0.3s;flex: 1;top: -2px;}
.sec01_item_top_ttl .en:before {content: '';position: absolute;background: var(--mcolor);width: 6px;height: 7px;right: 0;top: calc(50% - 5.5px);clip-path: polygon(0 0, 0% 100%, 100% 50%);}
.sec01_item_main { position: absolute; bottom: 0; left: 0; width: 100%; padding: 30px; color: #000; opacity: 0;transition: all 0.3s;transform: translateY(10px);}
.sec01_item_main_ttl { font-size: 40px; font-family: var(--f-ttl); font-weight: 700; line-height: 1.5em; margin: 0 0 10px; }
.sec01_item_main_ttl .en { display: block; font-size: 60%; font-weight: 600; line-height: 1em; }
.sec01_item_main_btn { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.sec01_item_main_btn li a { display: flex;height: 50px;justify-content: center;align-items: center;text-align: center; background: var(--mcolor); color: #fff; padding: 5px 10px 7px; border-radius: 5px; border: 1px solid var(--mcolor); padding: 0 0 2px;gap: 4px;position: relative;}
.sec01_item_main_btn li a:after {content: '»';position: absolute;display: inline-block;right: 5px;top: calc(50% - 15px);font-weight: 500;}
.sec01_item_main_btn li {font-size: 17px;width: 260px;line-height: 1.5em;}
.sec01_item_main_txt { font-size: 20px; font-family: var(--f-ttl); font-weight: 700;margin: 0 0 21px; letter-spacing: 0.05em;}

/*==================== SEC02 ===================*/
.sec02 {position: relative;max-width: 1920px;margin: 0 auto;padding: 30px 0;}
.sec02:before, .sec02:after {position: absolute;content: '';z-index: -2;pointer-events: none;background: var(--mcolor);}
.sec02:before { width: 793px; height: 440px; left: 0; top: 400px; }
.sec02:after {width: 262px;height: 420px;right: 0;top: 0;}
.sec02 .inner {width: 1920px;padding: 0 33px;}
.sec02_bg {position: absolute;width: calc(100% - 66px);height: 760px;top: 10px;left: 33px;pointer-events: none;background: url("../images/sec02_img1.jpg") no-repeat center center/cover;transition: all 0.3s;}
.sec02_bg.item2 {background-image: url("../images/sec02_img1.jpg");}
.sec02_bg.item3 {background-image: url("../images/sec02_img1.jpg");}
.sec02_bg.item4 {background-image: url("../images/sec02_img1.jpg");}
.sec02_bg.item5 {background-image: url("../images/sec02_img1.jpg");}
.sec02_bg.item6 {background-image: url("../images/sec02_img1.jpg");}
.sec02_main { background: #fff; position: relative; z-index: 3; width: 700px;left: 310px; height: 100%; margin: 0 auto; padding: 10px 60px 10px 80px;min-height: 950px; }
.sec02_main:before {content: '';position: absolute;background: url("../images/sec02_ic1.svg") no-repeat center center/100% auto;width: 117px;height: 154px;right: 60px;top: -50px;pointer-events: none;}
.sec02_item { position: relative; border-top: 1px solid #f2f2f2;  padding: 33px 0 30px 20px; cursor: pointer; transition: all 0.3s; counter-increment: item2; }
.sec02_item:last-child {border-bottom: 1px solid #f2f2f2;}
.sec02_list {counter-reset: item2;}
.sec02_item_ttl { display: flex; align-items: center; font-size: 24px; font-family: var(--f-ttl); margin: 0; color: #000; font-weight: 700; line-height: 1.45em; letter-spacing: 0.05em;}
.sec02_item_ttl:before { counter-increment: div; content: counter(item2, decimal-leading-zero); flex-shrink: 0; color: var(--scolor); font-size: 83.34%; font-family: var(--f-en); font-weight: 600; width: 49px; line-height: 1em; }
.sec02_item_txt { padding: 0 0 0 49px; color: #000;line-height: 2.05em;}
/*==================== SEC03 ===================*/
.sec03 {background: url("../images/sec03_bg.jpg") top center;color: #fff;padding: 97px 0 110px;position: relative;}
.sec03:before { content: ''; position: absolute; background: url(../images/sec03_ic1.svg) no-repeat center center / 100% auto; width: 439px; height: 367px; top: -148px; left: calc((100% - min(100%, 1910px)) / 2 - 15px); pointer-events: none; }
.sec03 .idx_ttl {color: #fff;letter-spacing: -0.12em;margin-bottom: 36px;}
.sec03 .idx_ttl .en {color: #fb686a;letter-spacing: 0;}
.sec03 .inner {width: 1920px;padding: 0;}
.sec03_list {margin-bottom: 129px;}
.sec03_item { padding: 0 70px; display: flex; align-items: center; justify-content: flex-end;gap: 78px; }
.sec03_item:not(:last-child) {margin-bottom: 67px;}
.sec03_item:nth-child(even) {justify-content: flex-start;padding-left: 73px;gap:99px;}
.sec03_item_ttl { width: 583px; position: relative; display: flex; justify-content: center; align-items: center; font-family: var(--f-ttl); font-size: 38px; font-weight: 700; z-index: 2;line-height: 1.8em;height: 583px;margin: 0; padding: 59px 12px 0 0;}
.sec03_item_ttl:before {content: '';position: absolute;width: 100%;height: 100%;top: 0;left: 0;z-index: -1;pointer-events: none;background: #fff;opacity: 0.1;clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);}
.sec03_item_ttl:after {content: '';position: absolute;background: url("../images/sec03_ic3.svg") no-repeat center center/100% auto;width: 68px;height: 21px;right: 115px;bottom: 115px;pointer-events: none;}

.sec03_item_img { position: relative;flex: 1;}
.photo-img-cross { position: relative; overflow: hidden; width: 100%; height: auto;display: block; }
.photo-img-cross:before { content: ""; display: block; position: absolute; width: 0; height: 100%; background-color: #fff; z-index: 1; transform-origin: right center; transform: scaleX(1); transition: width 1s cubic-bezier(0.19, 1, 0.22, 1) 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.9s; }
.photo-img-cross img { position: relative; width: 100%; height: auto; opacity: 0; left: -100%; transition: 1.4s; }
.photo-move-cross img { opacity: 1; left: 0; }
.photo-move-cross.photo-img-cross:before { transform: scaleX(0); width: 100%; }

.sec03_item_img:before {content: '';position: absolute;background: url("../images/sec03_ic2.svg") no-repeat center center/100% auto;width: 196px;height: 139px;top: -107px;right: -8px;pointer-events: none;z-index: 2;}
.sec03_item_ttl .txt {-webkit-writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; writing-mode: vertical-rl; -webkit-text-orientation: mixed; -moz-text-orientation: mixed; -ms-text-orientation: mixed; text-orientation: mixed; -ms-writing-mode: tb-rl; text-orientation: mixed;width: 136px;}
.sec03_item:nth-child(2) .sec03_item_ttl {order: 2;padding: 38px 22px 0 0;}
.sec03_item:nth-child(2) .sec03_item_img:before {background-image: url("../images/sec03_ic4.svg");width: 97px;height: 111px;top: -56px;left: calc(50% - 67px);}
.sec03_item:nth-child(2) .sec03_item_ttl .txt:after {content: '';position: absolute;background: url("../images/sec03_ic6.svg") no-repeat center center/100% auto;width: 65px;height: 45px;left: 65px;bottom: 30px;pointer-events: none;}
.sec03_item:nth-child(2) .sec03_item_ttl:after {background-image: url("../images/sec03_ic5.svg");width: 67px;height: 122px;right: 100px;top: 69px;bottom: auto;}

.sec03_bottom { display: flex; justify-content: space-between; align-items: center; gap: 136px;position: relative;padding-left: 20px;}
.sec03_bottom:before,.sec03_bottom:after {content: '';position: absolute;pointer-events: none;z-index: 2;}
.sec03_bottom:before {background: url("../images/sec03_ic10.svg") no-repeat bottom center/100% auto;width: 238px;height: 197px;bottom: -110px;right: calc(50% + 142px);}
.sec03_bottom:after {background: url("../images/sec03_ic11.svg") no-repeat top center/100% auto;width: 170px;height: 290px;bottom: -110px;left: calc(50% + 185px);}
.sec03_bottom_img {margin: 0;position: relative;filter: blur(6px) brightness(1.5); transition: filter 1.2s cubic-bezier(.61,1,.88,1), scale 2s cubic-bezier(0,.55,.45,1);will-change: filter; transform: translateZ(0) scale(1.05);transition-duration: 0.7s;}
.sec03_bottom_img.view_filter {filter: blur(0) brightness(1);scale: 1;}
.sec03_bottom_img:nth-child(1):before { content: ''; position: absolute; background: url(../images/sec03_ic7.png) no-repeat center center / 100% auto; width: 81px; height: 140px; top: -79px; right: 101px; pointer-events: none; }
.sec03_bottom_img:nth-child(1):after {content: '';position: absolute;background: url("../images/sec03_ic8.svg") no-repeat center center/100% auto;width: 25px;height: 14px;top: 80px;right: -37px;pointer-events: none;}
.sec03_bottom_ttl { position: relative; z-index: 2; width: 302px; height: 660px; border-left: 2px solid rgba(255, 255, 255, 0.5); border-right: 2px solid rgba(255, 255, 255, 0.5); font-size: 52px; font-weight: 700; font-family: var(--f-ttl); display: flex; justify-content: center; align-items: center; text-indent: 28px; flex-shrink: 0; line-height: 1.45em; padding: 29px 2px 0 0;margin: 0; }
.sec03_bottom_ttl .txt {-webkit-writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; writing-mode: vertical-rl; -webkit-text-orientation: mixed; -moz-text-orientation: mixed; -ms-text-orientation: mixed; text-orientation: mixed; -ms-writing-mode: tb-rl; text-orientation: mixed;}
.sec03_bottom_ttl:after {content: '';position: absolute;width: calc(100% - 18px);height: 100%;background: #fff;top: 0;left: 9px;opacity: 0.1;z-index: -2;pointer-events: none;}
.sec03_bottom_ttl:before {content: '';position: absolute;background: url("../images/sec03_ic9.svg") no-repeat center center/100% auto;width: 346px;height: 76px;top: -37px;left: calc(100% - 47px);pointer-events: none;}
.sec03_bottom_img:nth-child(1) { margin: 0 20px 0 -20px; }
/*==================== SEC04 ===================*/
.sec04 {padding: 120px 0;position: relative; overflow: hidden;}
.sec04:before {content: '';position: absolute;width: 100%;height: 100%;top: 0;left: 0;z-index: -2;pointer-events: none;background: url("../images/sec04_bg.jpg") no-repeat center center/cover;background-attachment: fixed;}
/*.sec04.show_bg:before {animation: photo-scale 14s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;}*/
@keyframes photo-scale {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1)
  }
}
.sec04_main { max-width: 1080px; background: #fff; margin: 0 auto; position: relative; padding: 88px 60px 91px; text-align: center; }
.sec04 .idx_ttl { font-size: 38px; z-index: 2; margin: 0 0 62px 14px; letter-spacing: -0.065em; }
.sec04 .idx_ttl:before { background-image: url(../images/idx_ttl_ic2.svg); top: -59px; width: 166px; height: 157px; }
.sec04_txt p {font-weight: 500;color: #000;margin-bottom: 2em;letter-spacing: -0.05em;}
.sec04_txt p:last-child {margin-bottom: 0;}
.sec04_main:before, .sec04_main:after {content: '';position: absolute;pointer-events: none;z-index: -2;background: var(--scolor);}
.sec04_main:before {width: 100px;height: 100px;top: -30px;left: -30px;}
.sec04_main:after {width: 180px;height: 180px;right: -30px;bottom: -30px;}
/*==================== SEC05 ===================*/
.sec05 { padding: 106px 0 118px; background: #fff;position: relative;z-index: 2;}
.sec05 .idx_ttl {text-align: left;margin-bottom: 49px;letter-spacing: -0.15em;}
.sec05 .idx_ttl:before {left: -70px;background-image: url("../images/idx_ttl_ic1.svg")}
.sec05_list {margin: 0 -30px 50px;}
.sec05_item {width: 360px;margin: 0 30px;}
.sec05_item_ttl .en {display: block;color: var(--mcolor);margin: 0 0 3px;}
.sec05_item_ttl .ja {color: #000;font-weight: 700;font-size: 200%;display: block;letter-spacing: -0.02em;}
.sec05_item_txt {color: #000;font-weight: 500;letter-spacing: -0.045em;}
.sec05_item_img { margin: 0 0 33px; }
.sec05_item_img img {width: 100%;}
.sec05_item_ttl { margin: 0 0 16px; }
.progress { display: block; width: 320px; height: 4px; background-color: rgba(255,255,255,0); background-image: linear-gradient(to right, #9e000a, #9e000a); background-repeat: no-repeat; background-size: 0 100%; transition: background-size .4s ease-in-out; position: relative;}
.progress_line {position: relative;z-index: 2;}
.progress_line:after {content: '';position: absolute;width: 100%;height: 2px;left: 0;top: calc(50% - 1px);pointer-events: none;background: #ccc;z-index: -1;}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.sec05_btn { width: 521px; position: absolute; right: 15px; top: 14px; height: 80px; display: flex; align-items: center; justify-content: space-between;z-index: 2; }
.sec05 .slick-arrow {width: 60px;height: 60px;display: flex;border: 1px solid #c5666c;border-radius: 50%;cursor: pointer;transition: all 0.3s;background: url("../images/ic_prev.svg") no-repeat center center/30px auto;top: 220px;transform: none;z-index: 3;}
.sec05 .slick-next {background-image: url("../images/ic_next.svg");right: -70px;}
.sec05 .slick-prev {left: -70px;}
.sec05 .slick-arrow:before {display: none;}
/*==================== SEC06 ===================*/
.sec06 {background: #f6f6f6;padding: 106px 0 120px;}
.sec06 .idx_ttl { letter-spacing: -0.1em; margin: 0 31px 49px 0; }
.sec06 .idx_ttl:before {display: none;}
.sec06_qa { max-width: 980px; margin: 0 auto 40px; }
.sec06_qa dl { background: #fff; border-radius: 5px; margin: 0 0 40px; }
.sec06_qa dl:last-child {margin-bottom: 0;}
.sec06_qa dt {position: relative;font-size: 18px;color: #000;font-weight: 700;padding: 16px 45px 18px 62px;cursor: pointer;transition: all 0.3s;}
.sec06_qa dt .num {font-size: 24px;color: #f80406;position: absolute;left: 26px;top: 16px;font-family: var(--f-en);font-weight: 500;}
.sec06_qa dd { display: none; color: #000; font-weight: 500; position: relative; padding: 18px 20px 20px 62px; }
.sec06_qa dd .num {font-size: 24px;color: #f80406;position: absolute;left: 26px;top: 19px;font-family: var(--f-en);font-weight: 500;}
.sec06_qa dt:before, .sec06_qa dt:after {content: '';position: absolute;width: 20px;height: 2px;background: var(--scolor);right: 25px;top: calc(50% - 1px);transition: all 0.3s;}
.sec06_qa dt:after {transform: rotate(90deg);}
.sec06_qa dt.active:after {transform: rotate(0deg);}
.sec06_qa dd:before {content: '';position: absolute;width: calc(100% - 40px);left: 20px;background: #ccc;top: 0;height: 1px;}
#index section .h_btn{margin: 0 auto;}
#index section .h_btn a:before {display: none;}
/*==========================================================
                        F O O T E R
==========================================================*/
footer{position: relative;z-index: 3;overflow: hidden;background: #fff;}

.ft_top { background: #680007; padding: 100px 0; }
.ft_bnr { display: flex; flex-wrap: wrap; gap: 20px 30px; }
.ft_bnr li { width: 380px;}
.ft_main { padding:118px 0 132px; position: relative; }
.ft_main:before ,.ft_main:after {content: '';position: absolute;z-index: -2;pointer-events: none;} 
.ft_main:before {background: url("../images/ft_ic1.svg") no-repeat center center/100% auto;width: 520px;height: 180px;top: 55px;left: calc(50% - 670px);}
.ft_main:after {background: url("../images/ft_ic2.png") no-repeat center center/100% auto;width: 414px;height: 391px;top: -187px;left: calc(50% + 522px);}
.ft_ttl { font-size: 20px; color: var(--scolor); font-family: var(--f-ttl); font-weight: 600; line-height: 1.8em; margin: 0 0 36px;}
.ft_logo { margin: 0 0 11px 0; }
.ft_info_txt li { font-weight: 500; color: #000; display: flex; gap: 20px;margin: 0 0 8px;}
.ft_info_txt li:last-child {margin-bottom: 0;}
.ft_info_txt li .ttl { color: var(--mcolor); flex-shrink: 0; width: 80px;font-weight: 600; }
.ft_info_txt li a {color: #000;}
.ft_info_note { font-size: 14px; color: #333333; line-height: 2.28em; font-weight: 500; }
.ft_info { display: flex; justify-content: space-between;align-items: flex-start;}
.ft_info_txt { margin: 0 0 38px; }
.ft_info_left { border-right: 1px solid #f2f2f2; flex-shrink: 0; width: 570px; margin-right: 109px; }
.ft_info_right { flex: 1; }

.ft_link li a {color: #000;position: relative;font-weight: 500;display: inline-block;}
.ft_link li a:after {content: '';position: absolute;width: 0;height: 1px;background: #000;left: 0;bottom: 0;transition: width 0.3s ease;}
.ft_link li span { display: block; color: var(--mcolor); font-weight: 600; font-size: 112.5%; margin: 0 0 7px;letter-spacing: -0.05em; }
.ft_link >li { margin: 0 0 19px; }
.ft_link_sub li:not(:last-child) { margin: 0 0 8px; }
.ft_link { display: flex; margin: 0 0 29px;gap: 35px; }
.ft_social { display: flex; flex-wrap: wrap; gap: 10px 20px;display: none; }
.ft_social li {width: calc((100% - 40px)/3);}

.ft_map { padding: 0 33px; line-height: 0;}
.ft_map iframe {width: 100%;height: 300px;}

address { text-align: center; color: #000; font-weight: 500; padding: 31px 0; letter-spacing: -0.01em; }
.bnr_fixed { position: fixed; right: 0; bottom: 130px; z-index: 3; margin: 0; border-radius: 5px; overflow: hidden; transition: all 0.3s; opacity: 0;visibility: hidden;}
.bnr_fixed.show {opacity: 1;visibility: visible;}
/* BACK TO TOP */
.to_top{position:fixed;z-index:9;width:80px;bottom:20px;right:20px;cursor:pointer;transition:all .2s;opacity:0;visibility:hidden;margin: 0;}
.to_top.show{transform:scale(1);opacity:1;visibility:visible}