@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lavishly+Yours&family=Noto+Serif+JP:wght@200..900&display=swap');

:root {
  --font-main: "Noto Serif JP", serif;
  --font-en: "Lavishly Yours", cursive;
  --font-gothic: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif ;
  --txt: #000;     
  --mcolor: #0f274f;
  --scolor: #a37400; 
  --yellow-l: #fdfee6;
  --site_size: 1240px;
  --mfont-size: 18px;
  --border-color: red;
  --gray: #e9e9e9;
}
.bg_yellow{background: var(--yellow-l);}
.bg_gray{background: #f6f6f6}
.font-gothic{font-family: var(--font-gothic);}
/*==========================================================================*/
/*                           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: var(--mfont-size);
-webkit-text-size-adjust: none;
font-weight: 500;
font-family: var(--font-main);
}
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;}
a[href^="tel:"] {word-break: keep-all;}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html{background:#fff;scroll-behavior: smooth}
body{color:var(--txt);-webkit-text-size-adjust:none;min-width:320px;font-size: var(--mfont-size);margin: 0;font-family: var(--font-main);}
table {width: 100%}
h1,h2,h3,h4,h5,h6{line-height: 1.5;margin: 0}
p,
dd,
dt,
li,
th,
td,
address{line-height: 2em;letter-spacing: 0;margin: 0}
p {margin: 0 0 1.5em;font-size: var(--mfont-size);}
p:last-child{margin-bottom: 0}
ul{padding: 0;margin: 0;list-style-type: none;}

.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%;}
.d-flex {display: flex; }
.justify-between {justify-content: space-between; }
.justify-center {justify-content: center; }
.justify-end {justify-content: flex-end; }
.align-center {align-items: center;}
.align-start {align-items: flex-start; }
.align-top{align-self: flex-start;}
.center, .text-center {text-align: center; }
.text-left {text-align: left; }
.text-right {text-align: right; }
.white{color: #fff}
.black{color: #000}
.inline-block{display: inline-block;}
.relative{position: relative;}

#wrapper{overflow: hidden;}
.inner{width: var(--site_size);margin:0 auto;position:relative;max-width: 100%;padding: 0 20px;}
.container {max-width: 1260px; padding: 0 20px; margin: 0 auto; transition: 0.2s; }
.container_sm{padding: 0 120px}

/*==========================================================
                       H E A D E R  
==========================================================*/
header{position: relative;}
header .h_box{position: absolute; z-index: 10;transition: .3s;top: 0;left: 0;width: 100%}
header.show .h_box{position: fixed;top: 0;left: 0;width: 100%;animation: slideDown 0.35s ease-out;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);background-color: #fff;}
header.show .h_left{display: none;}
@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }

  to {
    transform: translateY(0);
  }
}
.header_bg{margin-bottom: 0;padding: 0}
.header_bg img{width: 100%;object-fit: cover;height: 850px;min-height: 100vh}
.h_box{width:100%;padding: 37px 0}
.h_inner{display:flex;justify-content:space-between;align-items: flex-start;height: 100%;}
.h_right{display: flex;align-items: flex-start;gap: 18px}
#logo{width: 76px;margin: 27px auto 15px}
.h_lang{display: flex;align-items: center;gap: 16px}
.h_lang a{color: #fff;display: inline-block;line-height: 1.5em;font-size: 16px}

.h_contact{margin-top: 8px}
.h_contact_mail a{color: #fff;background: #000;border: 2px solid rgba(255, 255, 255, 0.6);border-radius: 50px;display: flex;justify-content: center;align-items: center;writing-mode: vertical-rl;padding: 30px 0;width: 48px;font-size: var(--mfont-size);}

/* 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-block;width:50px;height:72px}
.hamburger-inner{top:50%;display:block;margin-top:-2px}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before{position:absolute;width:50px;height:5px;transition:all ease 0.15s;background-color:#fff}
.hamburger-inner::after,
.hamburger-inner::before{display:block;content:""}
.hamburger-inner::before{top:-18px}
.hamburger-inner::after{bottom:-18px}
.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);top: -11px}
.hamburger--3dxy.is_active .hamburger-inner::after{transform:translate3d(0,-10px,0) rotate(-45deg);bottom: -11px}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main{position: relative;padding-top: 0;z-index: 2;}

/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl{margin-bottom: 50px;font-weight: 400}
.ttl.mb0{margin-bottom: 0}
.ttl .ja{font-size: 60px;display: block;}
.ttl .ja.sm{font-size: 18px}
.ttl .en{font-size: 48px;font-family: var(--font-en);display: inline-block;line-height: 1.5em;margin-bottom: -5px;margin-left: 10px}
.ttl .en.big{font-size: 100px}


.btn_center_box{gap: 20px;margin-bottom: 30px;display: flex;justify-content: center;align-items: center;}
.btn_center_box .btn{margin-bottom: 0}
.btn a{display: flex; align-items: center; position: relative; color: var(--txt); background-color: #fff; width: fit-content; padding: 10px 100px; z-index: 1; border-radius: 50px;border: 1px solid rgba(0, 0, 0, 0.4);transition: .3s;font-size: 16px}
.btn a:hover{background: var(--scolor);color: #fff;border-color: var(--scolor);}
.btn_100{width: 100%}
.btn_100 a{width: 100%;text-align: center;justify-content: center;}
.btn .white{color: #fff}
.btn.center{display: flex;justify-content: center;}

section{padding: 40px 0;}

/*==================== SEC01 ===================*/
.sec01{padding: 0;position: relative;}
.s01_container{position: absolute;width: 100%;height: 100%;left: 0;top: 0;padding: 40px 0}
.s01_bg{margin-bottom: 0}
.s01_bg img{width: 100%;object-fit: cover;height: 700px;}
.s01_ttl{font-size: 56px;color: #fff;font-family: var(--font-en);margin-bottom: 118px}
.s01_list{display: flex;align-items: flex-start;gap: 36px;justify-content: flex-start;writing-mode: vertical-lr;flex-direction: column;margin-right: 0;margin-left: auto;}
.s01_list li{color: #fff;font-size: 18px}

/*==================== SEC02 ===================*/
.sec02{padding-top: 111px}
.s02_ttl{font-size: 24px;color: var(--mcolor);margin-bottom: 26px}
.s02_content{display: flex;gap: 20px;align-items: flex-start;justify-content: flex-start;margin-bottom: 60px}
.s02_l{width: 280px;flex-shrink: 0;}
.s02_r{width: calc(100% - 280px - 20px); flex-shrink: 0;overflow: hidden;}
.s02_list_r{width: 100%}
.s02_item{position: relative;}
.s02_item:hover .item_ttl{color: var(--scolor);}
.s02_item:hover .item_img{opacity: .8}
.s02_item a::after{content: '';position: absolute;width: 100%;height: 100%;left: 0;top: 0;}
.s02_item .item_img img{border-radius: 20px;height: 210px;width: 100%;object-fit: cover;}
.s02_item .item_img{margin-bottom: 18px;width: 280px;border-radius: 20px;transition: .3s}
.s02_item .item_info{display: flex;align-items: center;gap: 20px;margin-bottom: 6px;}
.s02_item .item_info .date{font-size: 16px}
.s02_item .item_info .cate{display: inline-block;padding: 4px 10px;border-radius: 10px;border: 1px solid #000;font-size: 12px;line-height: 1.5em;}
.s02_item .item_ttl{font-size: 16px;transition: .3s}
.s02_item .item_img_dummy{border: 1px solid #f5f5f5}
.s02_bottom{display: flex;justify-content: flex-end;}

/*==================== SEC03 ===================*/
.sec03{padding-top: 20px}
.s03_content{position: relative;}
.s03_img{position: absolute;right: calc(50% - 656px);top: 0}
.s03_content .txt{margin-bottom: 46px}

/*==================== SEC04 ===================*/
.sec04{padding-bottom: 80px}
.s04_ttl{padding-left: 120px}
.s04_content{position: relative;}
.s04_img_box{position: absolute;top: 0;right: 0;display: flex;justify-content: flex-start;align-items: flex-start;gap: 20px}
.s04_img{position: relative;margin-bottom: 0;padding-bottom: 60px}
.s04_img .txt{position: absolute;width: 28px;display: inline-block;padding: 5px;writing-mode: vertical-lr;background: #fff;text-align: center;left: 0;top: calc(100% - 99px);line-height: 1em}
.s04_content_box{padding-left: 120px}
.s04_content_box .txt{margin-bottom: 40px}

/*==================== SEC05 ===================*/
.sec05{background: url(../images/s05_bg.jpg) center /cover no-repeat;padding: 62px 0;}
.sec05 .container{position: relative;}
.s05_content{display: flex;justify-content: flex-end;align-items: flex-start;gap: 50px;}
.s05_img{width: 426px;flex-shrink: 0}
.s05_l p,
.sec05 .ttl,
.ttl_vertical{color: #fff}
.ttl_vertical{display: flex;flex-direction: column;writing-mode: vertical-lr;}
.ttl_vertical .ja{font-size: 48px;display: inline-block;background: #fff;color: #000;padding: 5px 5px;line-height: 1.5em;;font-weight: 400}
.bg_transparent .ja{background: transparent;}
.ttl_vertical .en{color: #fff;font-family: var(--font-en);align-self: flex-end;padding: 10px 0;font-size: 30px}
.sec05 .ttl_vertical{position: absolute;top: 0;left: 0}
.s05_container{width: 72%;margin: 0 0 0 auto}
.s05_btn a{background: transparent;color: #fff;border-color: #fff}
.s05_l .txt{margin-bottom: 108px}

/*==================== SEC06 ===================*/
.sec06{padding: 83px 0}
.s06_content{display: flex;gap:20px;align-items: flex-start;justify-content: space-between;}
.s06_l,
.s06_r{display: flex;gap: 26px;align-items: flex-start;}
.s06_img{margin-bottom: 30px;}
.s06_r .s06_img{padding: 15px;background: #fff5e0;width: 333px;}
.s06_img:last-child{margin-bottom: 0}
.s06_ttl{position: relative;}
.s06_ttl::before{content: '';position: absolute;width: 155px;border-top: 1px solid #cce4f1;top: -24px;left: -50px}
.s06_ttl::after{content: '';position: absolute;height: calc(100% + 50px);top: -64px;left: -7px;border-left: 1px solid #cce4f1}
.s06_img .calendar-bottom {color: #6b3b2f; margin-top: 10px; font-size: 14px}
.s06_img .calendar-bottom .pink{background-color: #ea608e; font-size: 1em; }
.s06_img .calendar-bottom .blue{background-color: #67b4dc; font-size: 1em; }
.s06_img .calendar-bottom .orange{background-color: #f2ab00; font-size: 1em; }
.s06_img .calendar-bottom .circle {display: inline-block; width: 22px; height: 22px; text-align: center; line-height: 18px; vertical-align: middle; border-radius: 50%; border: solid 1px #6b3b2f; }
.s06_img  .wpsbc-container{border: 2px solid #dddfe2}
/*.s06_img .wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date.wpsbc-gap{background: #fff}
.s06_img .wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-6 div:first-of-type{background: #fff}
.s06_img .wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-7 div:first-of-type{background: #ea608e}
.s06_img .wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-8 div:first-of-type{background: #f2ab00}
.s06_img .wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-7 .wpsbc-date-number,
.s06_img .wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-8 .wpsbc-date-number{color: #fff}*/
.s06_img .wpsbc-container .wpsbc-calendars .wpsbc-calendar{margin-bottom: 0}
/*==================== SEC07 ===================*/
.sec07{background: url(../images/s07_bg.jpg) center /cover no-repeat;padding: 80px 0}
.s07_h_ttl{margin-bottom: 60px}
.s07_ttl{font-size: 24px;text-align: center;margin-bottom: 26px}
.s07_tel{margin-bottom: 30px;display: flex;justify-content: center;}
.s07_tel a{font-size: 48px;}
.s07_content .txt{font-size: 14px;line-height: 1.65em}
.s07_content .s07_r .txt{text-align: center;}
.s07_txt{margin-bottom: 65px}
.s07_btn a{border-color: #fff;background: transparent;font-size: 20px;}
.s07_btn a span{position: relative;display: inline-block;}
.s07_btn a span::before{content: '';position: absolute;width: 16px;height: 20px;top: calc(50% - 10px);right: -30px;background: url(../images/s07_btn_ic.png) center /cover no-repeat;}
.s07_content{display: flex;gap: 160px;align-items: flex-start;justify-content: center;position: relative;}
.s07_content::before{content: '';position: absolute;height: 100%;left: calc(50% - 1px);top: 0;border-left: 2px solid rgba(255, 255, 255, 0.4);}
.s07_ttl02{margin-bottom: 20px}

/*==================== SEC08 ===================*/
.sec08{background: #fff;padding-top: 16px}
.s08_content{display: flex;gap: 70px;align-items: flex-start;}
.s08_ttl{position: relative;margin-bottom: 230px}
.s08_ttl::before{content: '';position: absolute;width: 155px;border-top: 1px solid #cce4f1;top: -6px;left: 0}
.s08_ttl::after{content: '';position: absolute;height: calc(100% + 100px);top: -40px;right: 3px;border-left: 1px solid #cce4f1}
.s08_ttl .ja{background: transparent;font-size: 60px}
.s08_btn a{color: var(--txt);text-decoration: underline;text-underline-offset: 4px;position: relative;padding-right: 20px;font-size: 16px}
.s08_btn a::before{content: '';position: absolute;width: 16px;height: 20px;right: 0;top: calc(50% - 10px);background: url(../images/s08_btn_ic.png) center /cover no-repeat;transition: .3s}
.s08_btn a:hover{color: var(--scolor);}
.s08_btn a:hover::before{background-image: url(../images/s08_btn_ic_act.png);}
.s08_r{margin-top: 44px}

/*==================== SEC09 ===================*/
.sec09{background: #fdf4e8}
.s09_btn a{border-color: #000;font-size: 16px;padding: 10px 52px}
.s09_btn a span::before{display: none;}
.s09_h_ttl{margin-bottom: 27px}
.s09_h_ttl .ja{font-size: 36px}
.s09_content::before{border-color: rgba(0,0,0,0.4)}
.s09_ttl{font-size: 18px;}
.s09_tel a{font-size: 36px}

/*==================== SEC10 ===================*/
.s10_content{padding: 55px 235px}
.s10_ttl{font-size: 24px; margin-bottom: 15px; text-align: left; margin-left: 20px;}
.txt01{font-size: 14px; line-height: 1.65em; margin-top: 5px;}
.cancel{text-align:none;}
.cancel_tb{border-collapse:collapse; text-align:center; width:300px; color:#fff;}
/*==========================================================
                        F O O T E R
==========================================================*/
footer{position: relative;z-index: 3;}
.ft_content{padding: 80px 0}
.ft_content .container{display: flex;}
.logo_img{text-align: center;margin-bottom: 10px}
.ft_txt{font-size: 12px;text-align: center;}
.ft_ttl{font-size: 12px;margin-bottom: 0}
.ft_info{font-size: 18px;line-height: 1.5em}
.ft_info a{color: #000}
.ft_box02{margin-left: 50px}
.ft_box03{margin-left: 110px}
.ft_box04{padding-top: 24px;position: relative;}
.ft_info_box{margin-bottom: 30px}
.ft_info_box:last-child{margin-bottom: 0}
.ft_link{display: grid;grid-template-columns: repeat(2, 1fr);grid-gap: 0}
.ft_link li{display: flex;justify-content: flex-start;align-items: flex-start;}
.ft_link a{color: #000;text-decoration: underline;text-underline-offset: 4px}
.ft_link li.ic a{position: relative;}
.ft_link li.ic a::before{content: '';position: absolute;width: 16px;height: 20px;right: -22px;top: calc(50% - 10px);background: url(../images/s08_btn_ic.png) center /cover no-repeat;transition: .3s}
.ft_link li.ic a:hover::before{background-image: url(../images/s08_btn_ic_act.png);}
.ft_link a:hover{color: var(--scolor);}
.ft_btn{position: absolute;left: 0;bottom: 0}
.ft_btn.btn a{padding: 2px 48px 2px 40px;position: relative;border-color: #111111;width: 154px}
.ft_btn a::before{content: '';position: absolute;border-style: solid; border-width: 4px 0px 4px 6px; border-color: transparent transparent transparent #666666;right: 24px;transition: .3s}

/* BACK TO TOP */
.to_top{position:fixed;z-index:9;width:80px;height:80px;bottom:0px;right:20px;cursor:pointer;transition:all .2s;opacity:0;visibility:hidden;background: #000;display: flex;justify-content: center;align-items: center;}
.to_top img{width: 26px}
.to_top.show{transform:scale(1);opacity:1;visibility:visible}