@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/
/*                                                                          */
/*    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: 180%;
-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;}
iframe{width: 100%;height: 100%;border:none;outline:none;}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html{background:#fff}
body{color:var(--txt);-webkit-text-size-adjust:none;min-width:320px;font-family: var(--font-main)}
select,
input,
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: 1.75em;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%;}

:root {
  --font-main: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif; 
  --txt: #333;     
  --mcolor: #c30e23;
  --scolor: #48ad43; 
  --site_size: 1230px;
  
  --gray: #ccc;
  --blue: blue;
  --red: #b8102a;

}

#wrapper{min-width: 1260px;overflow:hidden;margin:0 auto;max-width: 1920px;}
.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; z-index: 10;}
h1{font-size: 12px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width: 500px;}
.h_box{width:100%;position: fixed;background-color: #fff;box-shadow: -2px 10px 30px  2px  rgb(4 3 3 / 23%);max-width: 1920px;margin: 0 auto;}
.h_inner{display:flex;justify-content:space-between;align-items: center;height: 100%;width: 100%;padding: 15px 67px 18px 237px;}

.h_contact{display: flex;align-items: center;margin-left: 49px;}
.h_contact > p{margin-bottom: 0;}
.h_contact > p:not(:last-child){margin-right: 17px;}
.h_contact_mail a{padding: 4px 0 0 10px;color:#FFF;font-weight: bold;text-align: center;background-color:var(--mcolor);display: flex;justify-content: center;align-items: center;width: 218px;height: 55px;position: relative;}
.h_contact_mail a span{position: relative; z-index: 2;font-size: 20px;display: inline-block;}
.h_contact_tel a{font-size: 30px;color: #000;font-weight: bold;line-height: 1;display: block;text-align: right;position: relative;top: -1px;}
.h_contact_tel a span{font-size: 66.7%;margin-right: 11px;position: relative;top: -2px;}
.h_contact_tel .time{font-size: 12px;display: block;line-height: 1.6; text-align: right;}

.h_contact_tel .location{font-weight: bold;color:#000;font-size: 16px;padding-right: 7px;}
/* HAMBUGER BUTTON */
.hamburger{font:inherit;display:block;overflow:visible;margin:0;padding: 10px 8px 6px;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-block;width: 40px;height: 40px;}
.hamburger-inner{top:50%;display:block;margin-top:-2px}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before{position:absolute;width: 40px;height: 3px;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)}
.scroll_btn{position: fixed;right: 10px;bottom: 71px;transition: 0.3s all ease;}
.scroll_btn_index.show{bottom: 140px}
.scroll_btn .item{margin-bottom: 32px}
.scroll_btn .it2{margin-bottom: 21px}
.scroll_btn .it3{margin-bottom: 0}
.scroll_btn .it2 img,.scroll_btn .it3 img{box-shadow:5px 4px 8px rgb(0,0,0,25%)}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main{position: relative;z-index: 2;}
.mv{position: relative;padding: 0;height: 645px;width: 100%}
.mv::before{width: 1920px;left: -2px;height: 100%;top: 21px;position: absolute;content:"";background: url(../images/mv.jpg) center /cover no-repeat}
.mv_bg{position:relative;overflow:hidden;opacity:0;transition:all .3s;}
.mv_bg.init{opacity:1}
.main_slider{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.mv_bg,
.main_slider .slide_item{width:100%;height:680px}
.main_slider .slide_item .bg{position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;background-size:cover;background-position:center}
.main_slider .slide_item.zoomed .bg{animation-name:moveRight;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 moveRight { 0%{ transform: translateX(-100px);} 100%{transform: translateX(0); }}

/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl{font-weight: bold;}
.ttl span{display: block;}
.ttl .ja{font-size: 50px;}
.ttl .en{font-size: 16px;}

/* DEFAUTL NAME BUTTON */
.btn a{width: 248px; height: 59px; border-radius: 0; display: flex; justify-content: center; align-items: center; background:var(--mcolor);font-size: 18px; color: #fff;text-decoration: none;font-weight: bold}
.btn.center a{margin-left: auto; margin-right: auto;}

section{padding: 40px 0;}

/*==================== SEC01 ===================*/

.sec01{position: relative;padding: 65px 0 30px 0;}
.sec01 .inner{width: 1347px;}
.info_sec01{position: relative;padding-left: 463px;}
.sec01 .ttl{margin-bottom: 9px}
.sec01 .ttl .ja{color:var(--mcolor);line-height: 1.1em}
.sec01 .desc{font-size: 16px;line-height: 1.875em}


/*==================== SEC02 ===================*/
.sec02{padding: 41px 0 39px 0;background: #f8e2e4}
.sec02 .ttl .ja{color:#ba0627}
.sec02 .inner{width: 1800px;margin-left: 59px;}
.info_sec02{display: flex;justify-content: space-between;   }
.info_sec02 .item{width: 100%;max-width: 448px;padding: 0 24px;text-align: center;display: flex;justify-content: center;height: 266px;position: relative}
.info_sec02 .it3{left: -2px}
.info_sec02 .it4{left: -4px}
.info_sec02 .item img{max-height: 100%;width: 100%;object-fit: cover;}
.info_sec02 .it3 img{width: auto}



/*==================== SEC03 ===================*/
.sec03{padding: 17px 0 12px 0;}
.sec03 .inner{width: 1274px;display: flex;justify-content: space-between;}
.sec03 .itl{position: relative}
.sec03 .itl::before{position: absolute;content:"";height: auto;width: 1085px;background: url(../images/txt-en.png) center /cover no-repeat;aspect-ratio: 217 / 64;left: -194px;bottom: 23px;z-index: -1}
.sec03 .ttl{margin-bottom: 4px}
.sec03 .ttl .ja{color:#ba0627;font-size: 48px}
.sec03 .desc{font-weight: bold;line-height: 1.66em}


/*==================== SEC04 ===================*/
.sec04{background: #f0f5f3;padding: 58px 0 75px 0;}
.sec04 .inner{width: 1472px;}
.sec04 .ttl{text-align: center;position: relative;padding-bottom: 14px;}
.sec04 .ttl::before{left: 0;right: 0;margin: 0 auto;position: absolute;content:"";bottom: 0;width: 86px;height: 4px;background:var(--mcolor); }
.sec04 .ttl .ja{color:#ba0627;font-size: 48px}
.sec04 .desc{line-height: 1.85em;font-size: 16px;}
.sec04 .desc,.sec04 .btn{position: relative}
.sec04 .btn{margin: 33px 0 0 0;}
.sec04 .list_ovn{margin: 52px 0 13px 0;}



/* ===========  OVERNOTE ===========  */


.list_ovn {display: flex;flex-wrap: wrap;max-width: 100%;}
.list_ovn li {margin-bottom: 15px;position: relative;margin:0 40px 81px 0;width: calc((100% - 80px) / 3);background: #fff;box-shadow: 2px 4px 8px rgb(0,0,0,25%);}
.list_ovn li .img {width: 100%;height: auto;display: flex;align-items: center;justify-content: center;background: var(--gray);margin-bottom: 10px;}
.list_ovn li .img img {max-width: 100%;max-height: 100%;flex-shrink: 0;width: auto;height: 100%;}
.list_ovn li p {margin-bottom: 0;}
.list_ovn li .info_txt{font-size: 16px;font-weight: bold;color:#fff;background:#c4152a;padding: 6px 49px 1px 12px;display: inline-block;line-height: 1.5em;margin-bottom: 10px;min-width: 157px;}
.list_ovn li a {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.list_ovn li .price{font-size: 48px;font-weight: bold;line-height: 1em;}
.list_ovn li .price .txt-price{font-size: 18px;margin-left: 6px;position: relative;top: -1px;}
.list_ovn .info_box ,.list_ovn .big{padding: 0 17px 0px 11px;}
.list_ovn .info_box {display: flex;justify-content: space-between;margin: 0;align-items: center;}
.list_ovn .info_box{padding-bottom: 3px;}
.list_ovn .info_box .cate{border-radius: 5px;font-size: 24px;font-weight: bold;}
.list_ovn .big {max-width: 100%;text-overflow: ellipsis;max-height: 70px;display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;overflow: hidden;font-weight: bold;margin-bottom: 18px;line-height: 1.5em;}




/*==========================================================
                        F O O T E R
==========================================================*/
footer{position: relative;z-index: 3;}
.ft_link_banner{padding:84px 0 53px;}
.ft_link_banner .inner{width: 1400px;}
.ft_link_banner .info_ft,.list_banner{display: flex;}
.ft_link_banner .info_ft .itl{margin-right: 50px}
.list_banner li{position: relative}
.list_banner .it1{margin-right: 50px}
.list_banner .it1{margin-right: 12px;top: -2px;}
.list_banner .it2{margin-right: 8px;}
.list_banner .it3{margin-right: 17px;top: -1px;}
.list_banner .it4{top: 2px;}

.ft_address{font-size: 16px;font-weight: bold;margin: 20px 0 0 0;}
.ft_address span{margin-right: 15px}

address{text-align:center;background-color: #d90112;color:#fff;font-size: 12px;padding: 15px 0 10px 0;font-weight: bold;}

/* BACK TO TOP */
.to_top{position:fixed;z-index:9;width: 70px;height: 70px;bottom:20px;right:20px;cursor:pointer;transition:all .2s;opacity:0;visibility:hidden}
.to_top.show{transform:scale(1);opacity:1;visibility:visible}