@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap');
@font-face {
    font-family: "Amalfi Coast";
    src: url("../fonts/Amalfi_Coast.ttf") format("truetype");
}
/*==========================================================================*/
/*                           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;
}
input,textarea{font-family: var(--font-main);}
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                                  */
/*==========================================================================*/
/* container */
.fixed_list_post_slide {
  overflow: hidden;
	min-width:300px;
}

/* wrapper swiper */
.fixed_list_post_slide .swiper-wrapper {
  display: flex !important;
  width: max-content !important;
  min-width:300px;
  animation: ticker linear infinite;
  animation-duration: 25s; 
}

/* item */
.fixed_list_post_slide .swiper-slide {
  width: auto !important;
  flex-shrink: 0;
}

/* text */
.fixed_list_post_item {
  white-space: nowrap;
  padding-right: 15px;
}

/* animation */
@keyframes ticker {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}


html{background:#fff;}
body{color:var(--txt);-webkit-text-size-adjust:none;min-width:320px;font-family: var(--font-main);font-size: var(--mfont-size);margin: 0;}
html,
body{
  height:auto;
}

body{
  overflow-x:hidden;
}
table {width: 100%}
h1,h2,h3,h4,h5,h6{line-height: 1.5;margin: 0}
p,
dd,
dt,
li,
th,
td,
address{line-height: 1.5em;letter-spacing: 0;margin: 0}
p {margin: 0 0 15px;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; }
.align-center {align-items: center;}
.align-start {align-items: flex-start; }
.center, .text-center {text-align: center; }
.text-left {text-align: left; }
.text-right {text-align: right; }

:root {
  --font-main: "Yu Gothic", "YuGothic", "游ゴシック", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
  --font-en: "Amalfi Coast", serif;
  --font-mincho: "Shippori Mincho", serif;
  --txt: #000;     
  --mcolor: #0090FF;
  --blue-txt01: #00afec;
  --scolor: #015fff; 
  --site_size: 1240px;
  --mfont-size: 14px;
  --border-color: red;
  
  --gray: #808080;
  --red: #FF0000;
}

.en{font-family: var(--font-en);}
.f-serif{font-family: var(--font-mincho);}

/*==========================================================
              C O M M O N     P C
==========================================================*/

#wrapper{position: relative;}
#wrapper::before{content: ""; position: fixed; inset: 0; background: url(../images/main_bg.jpg) center / cover no-repeat; z-index: -1; width: 100vw;height: 100vh;}
.wrapper_container{width: 100%;max-width: 444px;margin: 0 auto;position: relative;padding-top: 150px}
.wrapper_bg{padding: 15px 15px 0;background: rgba(255, 255, 255, 0.5);border-radius: 20px 20px 0 0;position: relative;}
.container {max-width: 1240px; padding: 0 15px; margin: 0 auto; transition: 0.2s; width: 100%}
.common_l_top{position: fixed;top: 50px;}
.common_l_bot{position: fixed;bottom: 50px;}
.common_l_top,
.common_l_bot{left: 50px}
.common_r_bot{position: fixed;bottom: 50px;right: 50px;z-index: 10}
.logo_txt{color: #fff;font-weight: 700}
#logo{margin-bottom: 15px;width: 170px}
.logo_box{margin-bottom: 60px}
.common_l_bot{font-size: 67px;line-height: 1.1em;color: #fff;font-weight: 500}

/* BACK TO TOP */
.to_top{cursor:pointer;transition:all .2s;opacity:0;visibility:hidden;text-align: center;color: #fff;text-underline-offset: 5px}
.to_top.show{transform:scale(1);opacity:1;visibility:visible}

/*==========================================================
                       H E A D E R  
==========================================================*/

header{position: absolute;top: 15px;left: 15px;width: calc(100% - 30px);z-index: 3}
.h_box{position: relative;padding: 18px 0 40px;z-index: 1}
.h_box::before{content: '';position: absolute;width: 100%;height: 100%;inset: 0;background: #000000;background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);z-index: -1}
.h_container{display: flex;justify-content: space-between;align-items: center;}
.h_txt{margin-bottom: 0;padding-top: 5px}
.h_txt a{font-size: 18px;font-weight: 700;color: #fff;margin-bottom: 0}
.h_info{font-size: 13px;color: #fff;font-weight: 700;line-height: 1.35em}

/* HAMBUGER BUTTON */
.hamburger_box{display: none !important;} /*hide hamburger*/
.hamburger{font:inherit;display:block;overflow:visible;margin:0;padding:20px 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:35px;height:24px}
.hamburger-inner{top:50%;display:block;margin-top:-2px;}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before{position:absolute;width:35px;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)}


/* nav */
.hamburger{display:none;}
.nav_list{display: flex;gap: 10px;justify-content: center;flex-direction: column;}
.nav_list>li{margin-bottom: 20px}
.nav_list>li>a{display:flex;align-items:center;position:relative;font-weight: 500;color: #fff;font-size: var(--mfont-size);padding-left: 20px}
.nav_list>li>a::before{content: '';position: absolute;width: 6px;height: 6px;border-radius: 50%;left: 0;top: calc(50% - 3px);background: #fff}
.nav_list>li>a .en{font-family: var(--font-en);padding-right: 20px;text-decoration: none;}
.nav_list>li>a .ja{text-underline-offset: 5px}


/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main{position: relative;padding-top: 0;z-index: 2;background: #fff}
.mv{padding: 0;position: relative;}
.mv_txt_box{position: absolute;width: 100%;height: 100%;left: 0;top: 0;display: flex;justify-content: center;align-items: center;z-index: 2;padding-bottom: 330px}
.mv_txt_box h1{font-size: 27px;text-align: center;font-weight: 700;color: #fff;text-align: center;}
.swiper-slide img{width: 100%}

/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.swiper-wrapper {
  transition-timing-function: linear !important;
}
.swiper-slide{
	width:auto !important;
	height:auto;
	flex-shrink: 0;
}
.ttl{display: flex;flex-direction: column;align-items: flex-start;margin-bottom: 15px}
.ttl.center{justify-content: center;align-items: center;}
.ttl .ja{font-size: 32px;font-family: var(--font-mincho);font-weight: 700;line-height: 1.1em}
.ttl .en{font-size: 13px;color: #fff;position: relative;z-index: 1;display: inline-block;padding-bottom: 1px;margin-bottom: 7px}
.ttl .en::before{content: '';position: absolute;width: 100%;height: 100%;left:0;top: 0;background: var(--red);transform: skew(-20deg);z-index: -1}
.s-ttl{display: flex;flex-direction: column;align-items: center;justify-content: center;margin-bottom: 30px}
.s-ttl .en{font-size: 32px;color: var(--mcolor);margin-bottom: -3px}
.s-ttl .ja{font-size: 14px;color: #fff;font-weight: 600;}
.s-ttl .black{color: #000}

.btn_center_box{gap: 20px;margin-bottom: 30px;display: flex;justify-content: center;align-items: center;}
.btn_center_box .btn{margin-bottom: 0}
.btn_single a,
.btn a {display: flex; align-items: center; position: relative; color: #fff; background-color: transparent; width: 200px; padding: 12px 20px; z-index: 1; border: 2px solid #fff;text-align: center;justify-content: center;}
.btn_hvr{position: relative;z-index: 1;cursor: pointer;}
.btn_single a::before,
.btn_hvr::before,
.btn a::before {position: absolute; content: ""; top: 0; left: 0; right: 0; bottom: 0; height: 0; background-color: var(--mcolor); z-index: -1; transition: 0.3s; }
.btn a span {font-size: 15px; transition: 0.25s; font-weight: 500; position: relative; z-index: 2; }
.btn.center a{margin-left: auto;margin-right: auto;}
.btn_100{width: 100%}
.btn_100 a{width: 100%;text-align: center;justify-content: center;}
.btn_gray a{background: var(--gray);border: 0}
.btn_fit a{width: fit-content;}
.btn_radius a{border-radius: 4px}
.btn_radius a::before{border-radius: 4px}

.btn_single a{width: 100px;padding: 6px 6px 4px}

section{padding: 40px 0;}

/*==================== SEC01 ===================*/
.sec01{padding-bottom: 22px;padding-top: 85px;position: relative;z-index: 2}
.sec01::before{content: '';position: absolute;height: 100px;left: calc(50% - 1px);border-left: 2px solid #000;top: -50px;}
.sec01::after{content: '';position: absolute;width: 20px;height: 20px;left: calc(50% - 10px);border: 2px solid #000;border-radius: 50%;top: 40px;}

/*==================== SEC02 ===================*/
.sec02{overflow: hidden;padding-bottom: 0;padding-top: 0}
.s02_content{position: relative;padding-top: 115px}
.s02_ttl_en{position: absolute;left: 80%;transform: translateX(-50%);top: 0;}
.s02_ttl_en_txt{font-size: 74px;font-family: var(--font-mincho);white-space: nowrap;color: var(--gray);font-weight: 400;margin-bottom: 0}
.s02_bg{background: url(../images/s02_bg.png) top center /cover no-repeat #0B0600;padding: 135px 0 30px;border-radius: 20px 20px 0 0}
.list_news_item{border-bottom: 1px solid rgba(255,255,255,0.4)}
.list_news_item{padding: 10px 0}
.list_archive .item_date{color: #fff;font-family: var(--font-main);font-size: 12px;margin-bottom: 0;font-weight: 400}
.list_archive .item_ttl{font-size: var(--mfont-size);color: #fff;}
.marquee {
  overflow: hidden;
  white-space: nowrap;
}

.marquee_inner {
  display: flex;
}
.track {
  display: flex;
  white-space: nowrap;
  animation: marquee 20s linear infinite;
}

.marquee_inner .s02_ttl_en_txt {
  display: inline-block;
  padding-right: 50px;
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/*==================== SEC03 ===================*/
.under main #archive_box,
.sec03{background: url(../images/s03_bg.jpg) top center /cover no-repeat;padding-top: 45px;position: relative;}
.under main #archive_box::before,
.sec03::before{content: '';position: absolute;width: 100%;height: 100%;inset: 0;background: #000000;background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);z-index: -1}
.under main #archive_box .container,
.sec03 .container{max-width: 392px;}
.sec03 .s-ttl .ja{margin-left: 8px}
.list_archive .item_img{margin-bottom: 13px}
.list_archive .item_img img{width: 100%;}
.list_archive .item_ttl_link{display: flex;justify-content: space-between;align-items: flex-start;}
/* .list_archive .item_ttl_link a{width: fit-content;flex-shrink: 0;margin-left: 10px;color: #fff;} */
.list_archive .item_ttl_link a{width: fit-content;flex-shrink: 0;margin-left: 0px;color: #fff;margin-top: auto;display: block;flex-wrap: wrap;}
.list_topics_item{margin-bottom: 26px}
.list_topics_item:last-child{margin-bottom: 0}
.list_topics{margin: 0 0 30px}

/*==================== SEC04 ===================*/
.sec04{background: url(../images/s04_bg_pc.jpg) center /cover no-repeat;padding: 142px 0 64px;margin: 40px 0;position: relative;z-index: 1}
.s04_ttl{display: flex;align-items: center;justify-content: center;flex-direction: column;gap: 4px;margin-bottom: 30px}
.s04_ttl .txt{background: #fff;line-height: 1.2em;padding: 1px 10px 0px;font-weight: 600}
.s04_content01{margin-bottom: 98px}
.s04_img{margin-bottom: -10px}
.s04_btn a{padding: 9px 20px 8px}
.sec04 .ic_t,
.sec04 .ic_b,
.sec04 .border_sp{display: none;}


/*==================== SEC05 ===================*/
.sec05{padding-bottom: 20px}
.about_info{display: flex;align-items: center;gap: 10px;padding: 15px 0;border-bottom: 1px solid #ccc}
.about_label{color: var(--mcolor);width: 78px;flex-shrink: 0;font-size: 13px}
.about_content_flex{display: flex;flex: 1;justify-content: space-between;align-items: center;}
.about_content_flex p{margin-bottom: 0;font-size: 100%;}
.about_content,
.about_content p,
.about_content_flex p{font-family: var(--font-main);}
.about_content_flex .btn{margin-left: 10px}
.about_content{font-size: var(--mfont-size);}
.about_content_flex .btn a{width: 80px;height: 25px;font-size: 10px;padding: 0 5px}
.s05_btn_accor{background: var(--gray);color: #fff;text-align: center;padding: 5px 10px 3px 10px;margin-bottom: 0}
.s05_btn_accor::after{content: '';position: absolute;width: 12px;height: 8px;right: 10px;top: calc(50% - 4px);background: url(../images/btn_ic_arr.png) center /cover no-repeat;transform: rotateX(180deg);}
.box_map{width:100%;height:250px}
.box_map iframe{width:100%;height:100%;border:none;outline: none;}
.s05_btn_accor.active::after{transform: rotateX(0);}
.about_info_box_accor{display: none;margin-top: 15px}

.about_content_list_num{display:flex;align-items: flex-start}

/*==================== SEC06 ===================*/
.sec06{padding-bottom: 0}
.s06_ttl .en{margin-bottom: -2px}
/*==================== SEC07 ===================*/
.sec07{background: #1A1A1A;border-top: 18px solid var(--mcolor);padding-top: 63px;padding-bottom: 34px}
.s07_ttl{margin-bottom: 39px}
.s07_ttl .en{margin-bottom: 13px}
.s07_ttl .ja{color: #fff}
.sec07 p{margin-bottom: 6px}
.sec07 p:last-child{margin-bottom: 0}
.white{color: #fff}
.link{color: var(--red);}
.contact_form dt{color: #fff;margin-bottom: 6px;display: flex;align-items: center;}
.contact_form dt .must{background: #C1272D;color: #fff;border-radius: 3px;font-size: 8px;padding: 3px 4px;margin-left: 4px;line-height: 1em}
.f-control{width: 100%;height: 50px;border-radius: 5px;background: #fff;padding: 10px 15px;border: 0;font-size: 16px}
textarea.f-control{height: 250px;width: 100%;max-width: 100%;}
.contact_form dl{padding-bottom: 20px;border-bottom: 1px solid rgba(255,255,255,0.5);margin-bottom: 20px;margin-top: 0}
.contact_form dl:last-child{border-bottom: 0;padding-bottom: 0;}
.f-note{color: #ED1E79;font-size: 11px;margin-top: 10px;position: relative;padding-left: 10px}
.f-note::before{content: '※';position: absolute;font-family: var(--mfont-size);font-size: 9px;color: #ED1E79;left: 0}
.btn-back,
.btn-form{background: var(--mcolor);color: #fff;text-align: center;border: 0;width: 200px;height: 38px;font-size: 16px;transition: .3s;max-width: 50%;cursor: pointer;}
.btn-back{background: var(--blue-txt01);}
.contact_form .mw_wp_form_confirm  dd{color: #fff}
.contact_form .mw_wp_form_confirm .f-note{display: none;}
.form-button_complete{margin-top: 30px}
.form-button{display: flex;justify-content: center;}
.s07_box{display: flex;gap: 20px;align-items: center;margin-bottom: 13px}
.s07_box p{margin-bottom: 0}
.sec07 .s07_btn a{font-size: 10px;padding: 2px 7px;border-radius: 3px}
.s07_btn a::before{border-radius: 3px}
.contact_form .form-tks{margin: 15px 0}
.contact_form .mw_wp_form .error{color: #ED1E79;position: relative;padding-left: 10px;animation: blink 1s infinite;}
@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}
/*==================== SEC08 ===================*/
.sec08{padding: 0}
.s08_slider img{height: 500px;width: 100%;object-fit: cover;}

/*==========================================================
                        F O O T E R
==========================================================*/
footer{position: relative;z-index: 3;padding: 124px 0 0;background: #fff}
.ft_logo{text-align: center;margin-bottom: 87px}
.ft_logo .txt{font-size: 25px;font-family: var(--font-mincho);font-weight: 700;line-height: 1.2em}
.ft_link{display: flex;justify-content: center;gap: 20px;flex-wrap: wrap;margin-bottom: 27px}
.ft_link a{display: inline-block;position: relative;padding-left: 10px;font-weight: 700}
.ft_link a::before{content: '';position: absolute;width: 8px;height: 12px;left: 0;top: calc(50% - 6px);background: url(../images/ft_link_ic.png) center /cover no-repeat;}
.ft_btn a{background: var(--gray);display: block;text-align: center;padding: 7px 10px;border-radius: 4px;overflow: hidden;}
.ft_address{background: var(--mcolor);padding: 10px 15px 86px}
.ft_address address{color: #fff;text-align: center;font-family: var(--font-main);font-weight: 700;font-style: normal;font-size: 12px;padding: 2px 0}
.ft_txt{font-size: 14px;line-height: 1.75em}
.ft_txt .big{font-size: 18px}
.ft_btn{margin-bottom: 27px}
.ft_content{margin-bottom: 40px}

.fixed_bottom{position: fixed;bottom: 0;left: 0;width: 100%;transition: .3s;z-index: 9;transform: translateY(100%);}
.fixed_bottom.show{transform: translateY(0);}
.fixed_bottom .container{width: 414px;}
.fixed_list_label{font-size: 9px;color: var(--blue-txt01);line-height: 1.3em;margin-bottom: 0;padding-top: 4px;position: relative1px;}
.fixed_list_post_box{position: relative;z-index: 2;padding: 10px 15px 10px 24px}
.fixed_list_post_box::before{content: '';position: absolute;width: calc(100% + 1px);height: 100%;z-index: -1;left: 7px;top: 0;background: #333333;transform: skew(-20deg);}
.fixed_list_post{display: flex;align-items: center;gap: 16px}
.fixed_list_post_item{color: #fff;overflow: hidden;display: block;height: auto;overflow: visible;font-size:13px;width: auto !important;white-space: nowrap;}
.fixed_btn_bottom{display: flex;}
.fixed_btn_bottom .fixed_btn{font-size: 16px;width: 50%;margin-bottom: 0;position: relative;z-index: 2}
.fixed_btn_bottom .fixed_btn::before{content: '';position: absolute;width: 100%;height: 100%;left: -7px;top: 0;z-index: -1;transform: skew(-20deg);}
.fixed_btn_bottom .fixed_btn01::before{background: var(--mcolor);}
.fixed_btn_bottom .fixed_btn02::before{background: var(--scolor);left: -14px;width: calc(100% + 8px)}
.fixed_btn_bottom .fixed_btn01 .sm{font-size: 8px}
.fixed_btn_bottom .fixed_btn a::before{content: '';position: absolute;width: 100%;height: 100%;left: -13px;top: 0;z-index: -1;transform: skew(-20deg);}
.fixed_btn_bottom .fixed_btn a{display: flex;align-items: center;justify-content: center;text-align: center;color: #fff;padding: 9px 20px 8px 0;font-size: 16px}
.fixed_btn_bottom .fixed_btn a .ic{display: inline-block;margin-right: 5px}
.fixed_btn_bottom .fixed_btn01 a .ic{width: 12px;height: 14px;background: url(../images/ic_phone.png) center /cover no-repeat;}
.fixed_btn_bottom .fixed_btn02 a .ic{width: 14px;height: 10px;background: url(../images/ic_mail.png) center /cover no-repeat;}
.fixed_btn_bottom .fixed_btn:hover::before{background: var(--blue-txt01);}