@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import "../fonts/IBM_stylesheet.css";
@import "../fonts/noto_serif_stylesheet.css";
/* @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..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: 400;
}
/* html:focus-within {scroll-behavior: smooth;} */
*,::before,::after{box-sizing:border-box;outline: none;}
img {vertical-align: middle;max-width: 100%;flex-shrink: 0;height: auto;}
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{-webkit-text-size-adjust:none;min-width:320px;color:var(--txt);font-family: var(--f-main)}
table {width: 100%}
h1,h2,h3,h4,h5,h6{line-height: 1.4;}
p,dd,dt,li,th,td,address{line-height: 2em;letter-spacing: 0;}
p{margin: 0 0 30px;}
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;}
.f_big{font-size: 150%;}
.f_sm{font-size: 80%;}
.m0a{display: block;margin-left: auto;margin-right: auto;}

:root {
  --txt: #333;
  --mcolor: #AD061C;
  --scolor: #999999;
  /* --container: 1230px; */
  --f-main: 'IBM Plex Sans JP';
  --f-serif : 'Noto Serif JP';
}

#wrapper{min-width: 1260px;overflow:hidden;margin:0 auto}
.inner{width: var(--container);margin:0 auto;position:relative;max-width: 100%;padding: 0 80px;}
.h_logo{transition: .3s ease-in-out;}
.h_logo a{position: relative;}
.h_logo a::before{content: '';position: absolute;top: 1px;left: 0;width: 150px;height: 23px;background: url(../images/logo_scroll.svg) no-repeat center/100%;transition: .3s ease-in-out;opacity: 0;visibility: hidden;}
.h_logo img{transition: .3s ease-in-out;}
.is_scroll .h_logo img{opacity: 0;visibility: hidden;}
.is_scroll .h_logo a::before{opacity: 1;visibility: visible;}
/*==========================================================
                       H E A D E R
==========================================================*/
/* 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}
.hamburger-box{position:relative;display: inline-flex;width: 50px;height:28px;background: #fff;border-radius: 999px;justify-content: center;align-items: center;padding: 0;}
.hamburger-inner{top:50%;display:block;margin-top:-2px}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before{position:absolute;width:24px;height:2px;transition:all ease 0.15s;background-color:var(--mcolor);margin: -4px 0 0 0;}
.hamburger-inner::after,
.hamburger-inner::before{display:block;content:""}
.hamburger-inner::before{top:-4px;display: none;}
.hamburger-inner::after{bottom: -6px;}
.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: transparent !important;}
/* .hamburger--3dxy.is_active .hamburger-inner{transform: rotate(45deg)} */
.hamburger--3dxy.is_active .hamburger-inner::before{transform: translate3d(0,5px,0) rotate(35deg);display: block;background: #fff;width: 30px;}
.hamburger--3dxy.is_active .hamburger-inner::after{transform: translate3d(0,-9px,0) rotate(-35deg);background: #fff;width: 30px;}
.is_active .hamburger-box{background: transparent;margin: 0 -2px 0 0px;}

header{position: relative; z-index:9;}
.h_box{width:100%;position: fixed;padding: 10px 80px;transition: .3s ease-in-out;}
.is_scroll .h_box{background: #fff;}
.h_inner{display:flex;justify-content:space-between;align-items: center;height: 100%;}
.h_contact a{display: flex;justify-content: center;align-items: center;width: 150px;height: 41px;border: 2px solid #fff;font-size: 15px;color: #fff;padding: 5px 10px 0px 10px;letter-spacing: 0;position: relative;z-index: 1;font-weight: 600;}
.h_contact a::before{content: '';position: absolute;top: -2px;left: -2px;width: 0;height: calc((100% + 4px));background: var(--mcolor);z-index: -1;transition: .3s ease-in-out;}
.is_scroll .h_contact a{border-color: var(--mcolor);color: var(--mcolor);}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main{position: relative;z-index: 2;padding-top: 0;}
.mv{position: relative;padding: 0;}
.mv_bg{position:relative;overflow:hidden;opacity:0;transition:all .3s;}
.mv_bg.init{opacity:1}
.mv_slider{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.mv_bg,.mv_slider_ite{width:100%;height:680px}
.mv_slider_ite .bg{position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;background-size:cover;background-position:center}
.mv_slider_ite.zoomed .bg{animation-name:zoomImg;animation-duration:6s;animation-timing-function:linear;animation-fill-mode:forwards}

.mv_txt{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:auto}
.mv_txt h2{font-size:40px;font-weight:bold;text-align:center}

@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 */
.ttl_h3{text-align: center;font-weight: bold;}
.ttl_h3:not(:last-child){margin-bottom: 30px;}
.ttl_h3 span{display: block;}
.ttl_h3 .ja{font-size: 32px;}
.ttl_h3 .en{font-size: 16px;}

/* DEFAUTL NAME BUTTON */
.under main .btn_contact_custom input,
/* .btn a{display: flex;justify-content: center;align-items: center;font-size: 16px;width: 280px;height: 52px;background: #fff url(../images/btn_ic.svg) no-repeat right 30px center/16px 24px;border: 1px solid #333;padding: 8px 0px 0 5px;letter-spacing: 0.3em;position: relative;z-index: 1;font-weight: 500;} */
/* .btn a{display: flex;justify-content: center;align-items: center;font-size: 16px;width: 280px;height: 52px;background: #fff url(../images/btn_ic.png) no-repeat right 30px center/12px 7px;border: 1px solid #333;padding: 8px 0px 0 5px;letter-spacing: 0.3em;position: relative;z-index: 1;font-weight: 500;}
.btn a::before{content: '';position: absolute;top: -1px;left: -1px;width: 0;height: calc((100% + 2px));background: #333 url(../images/btn_ic_hover.png) no-repeat right 20px center/12px 7px;;z-index: -1;transition: .3s all;} */
.btn a{display: flex;justify-content: center;align-items: center;font-size: 16px;width: 280px;height: 52px;background: #fff;border: 1px solid #333;padding: 8px 0px 0 5px;letter-spacing: 0.3em;position: relative;z-index: 1;font-weight: 500;}
.btn a::after{content: '→';position: absolute;top: 50%;right: 20px;color: #333;font-size: 16px;transform: translateY(-50%);transition: .3s ease-in-out;}
.btn a::before{content: '';position: absolute;top: -1px;left: -1px;width: 0;height: calc((100% + 2px));background: #333 ;z-index: -1;transition: .3s all;}
.btn.center a{margin-left: auto; margin-right: auto;}

.btn_box:not(:last-child){margin-bottom: 30px;}
.btn_box{display: flex;flex-wrap: wrap;align-items: center;justify-content: center;}
.btn_box .btn{margin: 10px;}

section{padding: 40px 0;}

/*============= SEC01 ==============*/
.sec01{padding: 0;}
.s1_bg_item{position: relative;}
.s1_bg_text{position: absolute;bottom: 25px;left: 80px;}
.s1_title h2{color: #fff;font-family: var(--f-serif);font-size: 54px;font-weight: 400;letter-spacing: 0.05em;line-height: 1.5;}
.s1_des p{color: #fff;font-size: 18px;letter-spacing: 0;margin: 0 0 35px 0;}
.s1_title{margin: 0 0 65px 0;}
.s1_bg_list{height: 100%}
.s1_bg_item{height: 100%;}
.s1_bg_img, .s1_bg_img p, .s1_bg_img img{width: 100%;height: 100%;object-fit: cover;}
.sec01 .slick-track,.sec01 .slick-list{height: 100%;}
.sec01 .slick-dots{bottom: 10px;}
.sec01 .slick-dots li button::before{display: none;}
.sec01 .slick-dots li button{width: 10px;height: 10px;border-radius: 50%;padding: 0;background: rgba(255,255,255,.5);}
.sec01 .slick-dots li.slick-active button{background: #fff;}
.sec_ttl_en{text-align: center;margin: 0 0 4px 0;}
.sec_ttl_ja{text-align: center;}
.sec_ttl_en p{font-size: 24px;font-family: var(--f-serif);font-weight: 500;letter-spacing: 0.05em;}
.sec_ttl_ja h3{font-size: 15px;letter-spacing: 0.3em;}
.sec01 .slick-dotted.slick-slider{margin: 0;}
/*============= SEC02 ==============*/
.sec02{padding: 155px 0 19px 0;}
.s2_slide_col{width: 280px;margin: 0 50px;}
.s2_slide_img{text-align: center;margin: 0 0 15px 0;width: 100%;height: 280px;display: flex;justify-content: center;align-items: center;overflow: hidden;}
.s2_slide_img img{width: auto;max-height: 100%;}
.s2_body{margin: 90px 0 0 0;}
.s2_slide_ttl_en{text-align: center;margin: 0 0 0px 0;}
.s2_slide_ttl_en p{font-size: 20px;font-weight: 600;}
.s2_slide_ttl_ja p{font-size: 15px;line-height: 1;}
.s2_slide_ttl_ja{text-align: center;margin: 0 0 22px 0;}
.s2_slide_des p{font-size: 15px;letter-spacing: 0;line-height: 1.7;font-weight: 400;-webkit-line-clamp: 8;-webkit-box-orient: vertical;overflow: hidden;display: -webkit-box;}
.s2_btn{display: flex;justify-content: center;margin: 98px 0 0 0;}
.sec02 .slick-dots{bottom: unset;top: -55px;}
.sec02 .slick-dots li button::before{display: none;}
.sec02 .slick-dots li button{padding: 0;width: 10px;height: 10px;border-radius: 50%;background: #E8E8E8;}
.sec02 .slick-dots li.slick-active button{background: #333;}
/*============= SEC03 ==============*/
.sec03{padding: 40px 0 100px 0;}
.s3_boxes{width: 100%;max-width: 800px;background: #F0F0F0;height: 314px;margin: 0 auto;padding: 20px 20px;}
.s3_ttl{text-align: center;padding: 35px 0 0 0;}
.s3_ttl_ja01 h3{font-size: 30px;letter-spacing: 0.1em;}
.s3_ttl_ja02 p{font-size: 20px;letter-spacing: 0.1em;}
.s3_col{width: 60px;margin: 0 25px;}
.s3_list{display: flex;justify-content: center;}
.s3_content{margin: 30px 0 0 0;}
.s3_icon{width: 60px;height: 60px;border-radius: 50%;background: #fff;margin: 0 0 14px 0;}
.s3_item p{font-size: 15px;text-align: center;letter-spacing: 0.01em;white-space: nowrap;}
/*============= SEC04 ==============*/
.sec04 .inner{height: 100%;padding: 0 73px;}
.sec04{width: 100%;/* height: 550px; */background: url(../images/s4_bg.jpg) no-repeat center/cover;padding: 150px 0 100px 0;}
.s4_ttl h3{font-size: 54px;font-family: var(--f-serif);color: #fff;letter-spacing: 0.05em;}
.s4_flex{display: flex;justify-content: space-between;height: 100%;align-items: flex-end;}
.s4_des p{color: #fff;font-size: 18px;line-height: 2.3;letter-spacing: 0.08em;}
/* .s4_btn .btn a{color: #fff;border-color: #fff;background: transparent url(../images/btn_ic_hover.svg) no-repeat right 30px center/16px;} */
.s4_btn .btn a{color: #fff;border-color: #fff;background: transparent}
.s4_btn .btn a::after{color: #fff;}
.s4_des{margin: 0 0 42px 0;}
/*============= SEC05 ==============*/
.sec05{padding: 93px 0 40px 0;}
.sec05 .inner{padding: 0 70px;}
.s5_flex{display: flex;justify-content: space-between;}
.sec05 .sec_ttl_en p{text-align: left;}
.sec05 .sec_ttl_ja{text-align: left;margin: 5px 0 0 0;}
.s5_ttl{margin: 0 0 43px 0;}
.s5_des p{letter-spacing: 0px;line-height: 1.9;}
.s5_des{margin: 0 0 40px 0;}
.s5_boxes{width: 780px;height: 294px;background: #F0F0F0;margin: 7px 0 0 0;padding: 42px 20px 20px 20px;}
.s5_box_ttl p{font-size: 20px;}
.s5_box_ttl{text-align: center;margin: 0 0 18px 0;}
.s5_box_item_list ul{display: flex;flex-wrap: wrap;justify-content: center;}
.s5_box_item_list li{margin: 10px 10px;}
.s5_box_item_list li a{display: flex;justify-content: center;align-items: center;width: 160px;height: 52px;background: #fff;border-radius: 999px;font-size: 16px;font-weight: 500;}
/*============= SEC06 ==============*/
.sec06{padding: 60px 0 40px 0;}
.s6_flex{display: flex;justify-content: space-between;}
.s6_col{width: 100%;max-width: 620px;height: 314px;}
.s6_box{width: 100%;height: 100%;background: #FAFAFA;display: flex;flex-direction: column;align-items: center;padding: 37px 0 0 0;}
.s6_ttl p{font-size: 15px;}
.s6_ttl{margin: 0 0 28px 0;}
.s6_img{margin: 0 0 40px 0;}
/* .sec06 .btn a{background: transparent url(../images/btn_ic.svg) no-repeat right 30px center/16px;} */
.sec06 .btn a{background: transparent}
/*============= SEC07 ==============*/

/*============= SEC08 ==============*/

/*==========================================================
                        F O O T E R
==========================================================*/
footer{position: relative;z-index: 3;}
.ft_main{width: 100%;height: auto;background: #FAFAFA;padding: 80px 0 80px 0;}
.ft_company p{font-size: 14px;line-height: 1.7;letter-spacing: 0.035em;}
.ft_company p .big{font-size: 15px;font-weight: 600;}
.ft_flex{display: flex;padding: 0 60px 0 75px;justify-content: space-between;}
.ft_logo{margin: 0 0 25px 0;}
.ft_company{margin: 0 0 45px 0;}
.ft_menu_list{display: flex;}
.ft_menu_ttl p{font-size: 15px;letter-spacing: 0.2em;line-height: 1.5;font-weight: 600;}
.ft_menu_ttl a{font-size: 15px;letter-spacing: 0.2em;line-height: 1.5;font-weight: 600;}
.ft_menu_item li a{display: inline-block;font-size: 12px;line-height: 1.2;letter-spacing: 0;font-weight: 500;}
.ft_menu_item li{line-height: 1.2;}
.ft_menu_item li a.link_a{font-size: 15px;letter-spacing: 0.2em;line-height: 1.5;font-weight: 600;}
.ft_menu_ttl{margin: 0 0 17px 0;}
.ft_menu_contact a{display: flex;justify-content: center;align-items: center;width: 150px;height: 41px;border: 1px solid var(--mcolor);font-size: 15px;color: var(--mcolor);padding: 7px 0 0 0;letter-spacing: -1px;position: relative;z-index: 1;font-weight: 600;}
.ft_menu_contact a::before{content: '';position: absolute;top: -1px;left: -1px;width: 0;height: calc((100% + 2px));background: var(--mcolor);z-index: -1;transition: .3s all;}
.ft_menu_contact{margin: 56px 0 0 -40px;}

address{font-size: 12px;letter-spacing: 0.065em;font-weight: 500;color: #070606;}

/* BACK TO TOP */
.to_top{position:fixed;z-index:7;width:60px;height:60px;bottom: 10px;right: 10px;cursor:pointer;transition:all .2s;opacity:0;visibility:hidden;width: 70px;height: 70px;background: var(--mcolor);border-radius: 50%;display: flex;justify-content: center;align-items: center;}
.to_top span{color: #fff;text-transform: uppercase;font-size: 11px;line-height: 1;position: relative;padding: 20px 0 0 0;}
.to_top span::before{content: '';position: absolute;top: 0;left: calc((100% - 8px)/2);width: 8px;height: 14px;background: url(../images/btn_top.svg) no-repeat center/100%;}
.to_top.show{transform:scale(1);opacity:1;visibility:visible}

/* FIREFOX ONLY */
@-moz-document url-prefix() {}

/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}

.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output{font-size: 14px;}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{font-size: 14px;}
.wpcf7-spinner{display: flex;margin: 15px auto 0;}

/* .slick-initialized {
  visibility: visible;
  opacity: 1;
} */

.s1_bg_list,
.s2_slide_list {
  visibility: hidden;
  opacity: 0;
}
.s1_bg_list.slick-initialized,
.s2_slide_list.slick-initialized {
  visibility: visible;
  opacity: 1;
}