@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500&family=Cinzel:wght@400..900&family=Zen+Maru+Gothic:wght@300;400;500;700&display=swap');
/*==========================================================================*/
/*                           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: 400;
}
img {vertical-align: middle;max-width: 100%;flex-shrink: 0;height: auto;}
*,
::before,
::after{box-sizing:border-box;outline: none;}

::before,
::after{pointer-events: none;}
select { visibility: visible !important; }
a{transition:all ease 0.3s;text-decoration:none;color: var(--txt);text-underline-offset: 3px;}
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);font-size: 100%;}
table {width: 100%}
h1,h2,h3,h4,h5,h6{line-height: 1.5;letter-spacing: 0.1em;}
p,
dd,
dt,
li,
th,
td,
address{line-height: 2em;letter-spacing: 0.1em;}
p {margin: 0 0 1.5em;}
p:last-child{margin-bottom: 0}

.ovh {overflow: hidden !important}
.bold{font-weight: bold;}
.center{text-align: center;}
.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: "Zen Maru Gothic", sans-serif;
	--f-klee: "Klee One", sans-serif;
  --en: "Cinzel", serif;
	--f-num:"Barlow", sans-serif;

  --txt: #18254f;     
  --mcolor: #1a62a4;
  --scolor: #bed8f1;     
  --gray: #999;
  --blue: blue;
  --red: red;

  --hamburger: 142px;
  --hamburger-active: 110px;
  --hamburger-lp: 90px;
  --site_size: 1230px;
}

#wrapper{overflow:hidden;}
.inner{width: var(--site_size);margin:0 auto;position:relative;max-width: 100%;padding: 0 15px;}
h1{position: absolute;overflow: hidden;height: 1px;width: 1px;padding: 0;border: 0;pointer-events: none;opacity: 0;}

/*==========================================================
                       H E A D E R  
==========================================================*/
header {position: fixed;top: 0;left: 0;width: 100%;height: var(--hamburger);z-index: 20;}

.ovh header, header.active {background-color: #fff;height: var(--hamburger-active);}
.ovh header .hamburger-btn, header.active .hamburger-btn { top: 45px; }

.header_top {display: flex;flex-wrap: wrap;align-items: center;width: 100%;justify-content: space-between;margin: 0 auto;padding: 0 50px;height: 100%;transition: all 0.3s ease}

.logo {margin: 6px 0 0;}
.logo a {display: block;width: 100%;text-align: center}
.right_head {width: 80%;max-width: 960px;padding-right: 91px;display: flex;flex-wrap: wrap;justify-content: flex-end}
.ovh header .logo a, header.active .logo a {background: url("../images/logo_active.svg") no-repeat center center/100% auto;}
.ovh header .logo img, header.active .logo img {opacity: 0;}
.ovh header .logo, header.active .logo {margin-top: 0;}

/* ===== HAMBUGER BUTTON  ===== */
.hamburger-btn {width: 47px;height: 24px;position: fixed;top: 61px;right: 48px;z-index: 10;transition: all 0.3s;}
.hamburger-btn .button-toggle {position: relative;width: 100%;height: 100%;margin: 0 auto;text-align: center;color: inherit;cursor: pointer;transition: all 0.3s; display: flex;flex-direction: column;align-items: center;justify-content: center;}
.hamburger-btn .button-toggle #menu_btn {color: #fff;font-size: 13px;text-align: center;line-height: 1;letter-spacing: 0;display: none;}

#nav-icon {width: 100%;height: 100%;position: relative;margin: 0 auto 0px;cursor: pointer;transition: 0.3s ease}
#nav-icon span {background-color: #fff;display: block;position: absolute;height: 2px;width: 100%;opacity: 1;left: 0;transform: rotate(0deg);transition: 0.3s ease}
#nav-icon span:first-child {top: 0}
#nav-icon span:nth-child(2),
#nav-icon span:nth-child(3) {top: 11px;width: 27px;left: auto;right: 0;}
#nav-icon span:nth-child(4) {top: 22px}
#nav-icon.open span:first-child {top: 11px;width: 0%;left: 50%}
#nav-icon.open span:nth-child(2) {transform: rotate(45deg);width: 100%;}
#nav-icon.open span:nth-child(3) {transform: rotate(-45deg);width: 100%;}
#nav-icon.open span:nth-child(4) {top: 11px;width: 0%;left: 50%}

.ovh header #nav-icon span, header.active #nav-icon span {background: var(--mcolor);}

/* =====  GNAVI PC =====  */
.pc_navi {width: 100%;border-right: 1px solid #fff;padding-right: 60px;}
.pc_navi>ul {display: flex;flex-wrap: wrap;text-align: center;width: 100%;justify-content: flex-end;gap: 83px;}
.pc_navi>ul>li {position: relative}
.pc_navi>ul>li:not(:last-child):after {content: '/';position: absolute;font-size: 28px;color: #fff;font-weight: 300;right: -48px;top: 15px;}
.pc_navi>ul>li.menu-item-has-children:before {content: '';position: absolute;background: url("../images/nav_arr.svg") no-repeat center center/100% auto;width: 13px;height: 8px;left: calc(50% - 7px);bottom: -2px;transition: all 0.3s;}

.pc_navi>ul>li>a,
.pc_navi>ul>li>p {position: relative;display: flex;flex-wrap: wrap;justify-content: center;align-items: center;margin: 0;height: 60px;text-decoration: none;text-align: center; font-size: 18px;line-height: 1.5;letter-spacing: 0.16em;transition: all 0.3s ease;color: #fff;}

.pc_navi>ul>li>a span,
.pc_navi>ul>li>p span {display: block;width: 100%;padding-top: 0px;font-size: 80%;font-weight: 600}

.pc_navi>ul .subInner {position: absolute;width: 18em;right: 50%;bottom: 0;padding-top: 0px;transform: translate(50%, 100%);transition: all 0.3s ease;opacity: 0;visibility: hidden;z-index: 1}
.pc_navi>ul .subInner.active {opacity: 1;visibility: visible}
.pc_navi>ul .subInner ul {background-color: var(--mcolor);padding-bottom: 10px}
.pc_navi>ul .subInner ul li {padding: 0 10px;font-size: 16px;}
.pc_navi>ul .subInner ul li a {position: relative;display: block;padding: 0.5em;border-bottom: 1px dashed #ccc;font-weight: 500;color: #fff;text-decoration: none;text-align: left}
.pc_navi>ul .subInner ul li a::before {content: "›";display: inline-block;margin-right: 5px;}
.pc_navi>ul>li.menu-item-has-children:hover .subInner {opacity: 1;visibility: visible;}

.ovh header .pc_navi>ul>li>a, .ovh header .pc_navi>ul>li>p, header.active .pc_navi>ul>li>a,  header.active .pc_navi>ul>li>p {color: var(--mcolor);}
.ovh header .pc_navi>ul>li:not(:last-child):after, header.active .pc_navi>ul>li:not(:last-child):after {color: var(--mcolor);}
.ovh header .pc_navi>ul>li:before, header.active .pc_navi>ul>li:before {background-image: url("../images/nav_arr_blue.svg");}
.ovh header .pc_navi, header.active .pc_navi {border-color: var(--mcolor);}

/* =====  NAV FIXED =====  */
.menu_toggle{background:url("../images/sec03_bg.jpg") no-repeat center center/cover;position: fixed;top: var(--hamburger-active);left: 0px;width: 100%;height: calc(100% - var(--hamburger-active));padding: 0px 0px 0px;overflow: hidden;opacity: 0;visibility: hidden;transition: all 0.3s linear}
.menu_toggle.active {opacity: 1;visibility: visible}

.menu_toggle p {margin-bottom: 0}
.menu_toggle .nav_inner {transition: all 0.5s ease;height: 100%;overflow: auto}
.menu_toggle .nav_inner .ft_link {padding: 20px;}
.menu_toggle .ft_link ul li > a {color: var(--txt);}
.menu_toggle .ft_link ul li > a:before,.menu_toggle .ft_link ul li > a:after {background: var(--txt);}

/*==========================================================
                  M A I N    C O N T E N T
============================================================*/

/* ===== DEFAULT TITLE =====  */
.ttl{margin-bottom: 60px;}
.ttl .ja{font-size: 30px;font-weight: 500;letter-spacing: 0.1em;}
.ttl .en { font-size: 80px; font-family: var(--en); line-height: 1.2em; letter-spacing: 0; margin: 0 0 22px; background: linear-gradient(to bottom, #dbeeff, #bed8f1); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ttl .ja:after {content: '';position: relative;display: block;margin: 21px auto 0;width: 225px;height: 1px;background: var(--mcolor);}

/* DEFAUTL NAME BUTTON */
.btn a{width: 240px; height: 60px; display: flex; align-items: center; font-size: 18px; color: var(--mcolor);text-decoration: none;border-bottom: 1px solid var(--mcolor);font-weight: 500;position: relative;padding: 0 0 16px;max-width: 100%;font-family: var(--f-num);}
.btn a:after {content: '';position: absolute;background: url("../images/ic_arr3.svg") no-repeat center center/100% auto;width: 68px;height: 37px;right: 0;transition: all 0.3s;top: 5px;}
.btn.center a{margin-left: auto; margin-right: auto;}
.btn a:before {content: '';position: absolute;width: 0;height: 1px;background: var(--scolor);left: 0;bottom: -1px;transition: width 0.3s;}
.btn_box { display: flex; justify-content: space-between; gap: 58px; }
.btn {margin: 0;}


/* ===== TIME SHEET ===== */
.time_sheet {margin: 0px auto;max-width:540px;text-align: center;}
.time_sheet .note { margin-top: 17px; margin-left: -2px; line-height: 2; letter-spacing: 0.05em; text-align: left; font-size: 16px;}
.time_sheet .note span {display: inline-block}

.time_sheet table {}
.time_sheet table td,
.time_sheet table th {border-top: none;border-right: none;border-left: none;text-align: center; letter-spacing: 0.1em;width: 9%;border-bottom: 1px solid #aaaaaa; font-size: 18px;}

.time_sheet table td:first-child,
.time_sheet table th:first-child {width: auto;}
.time_sheet table td:last-child, .time_sheet table th:last-child { width: 15.5%; padding-right: 4%; }
.time_sheet table th:last-child { letter-spacing: -0.2em; }

.time_sheet table th { padding: 0.95em 0.25em; background: #f2f4f9; border: none; }
.time_sheet table td {padding: 0.7em 0.25em 0.85em;color: var(--mcolor);}
.time_sheet table td:first-child {color: var(--txt)}
.time_sheet table tr:nth-child(3) td {padding-bottom: 1.6em}

footer .time_sheet table th {background: #fff;color: var(--txt);}
footer .time_sheet table td, footer .time_sheet table td:first-child {color: #fff;border-bottom-color: #fff;}

/*==========================================================
                        F O O T E R
==========================================================*/
footer{background: url("../images/ft_bg.jpg") no-repeat top center/cover;color: #fff;padding-top: 120px;}

.ft_info { width: 540px; text-align: center;}
footer .sec04_tel a {color: #fff;}
footer .sec04_tel {text-align: center;margin: 0 0 20px;}
footer .sec04_map {height: 420px;margin: 37px 0 0;}
.ft_logo { margin: 0 0 17px; }
footer .sec04_add { margin: 0 0 13px; }
.ft_top { padding: 0 0 97px; }

/* FOOTER LINK */
.ft_link { display: flex; flex-wrap: wrap; width: 595px; justify-content: space-between;margin: 37px 0 0;}
.ft_link .ft_link_item >ul >li>a { margin: 0 0 15px;display: inline-flex; font-size: 24px; font-weight: 500; align-items: center;gap: 11px; letter-spacing: 0.14em;padding: 0;}
.ft_link .ft_link_item >ul >li>a:before {content: '';position: relative;display: inline-block;background: url("../images/ft_arr.svg") no-repeat center center/100% auto;width: 26px;height: 26px;top: 0;}
.ft_link .ft_link_item >ul >li>a:after {left: 40px;}

.ft_link ul li:not(.big){font-size: 18px;letter-spacing: 0.14em;margin: 0 0 14px 11px;}
.ft_link ul li > a{position: relative;padding-left: 13px;color: #fff;white-space: nowrap;}
.ft_link ul li > a::before{width: 3px;height: 3px;content: '';position: absolute;top: 13px;left: 0;background: #fff;border-radius: 50%;}
.ft_link ul li > a:after {content: '';position: absolute;width: 0;height: 1px;background: #fff;transition: width 0.3s;left: 15px;bottom: 0;}

/* FIXED BANNER */
.fixed_banner {position: fixed;top: 38.5%;right: 0px;z-index: 15;transition: all 0.3s ease}
.fixed_banner>div {position: relative;transition: all 0.3s ease}
.fixed_banner a {content: "";display: block;position: absolute;z-index: 2;top: 0;left: 0;height: 100%;width: 100%}

.fixed_banner p {display: block;width: 100%;height: 100%;margin-bottom: 0;color: #fff;text-align: center;text-decoration: none;line-height: 1.25em;}
.fixed_banner p .tt {display: flex;justify-content: center;align-items: center;height: 100%;flex-direction: column;font-size: 12px;}
.fixed_banner p .tt::before {content: "";display: block;mask-image: var(--mask);mask-repeat: no-repeat;mask-size: 100% auto;mask-position: center;background-color: #fff;height: auto;margin-bottom: 0;}
.fixed_banner .tel{right: 0;}
.fixed_banner .tel p {background-color: var(--mcolor);color: #fff;font-size: 18px;font-family: var(--en);letter-spacing: 0.05em;height: 100%;line-height: 1.33em;display: flex;flex-direction: column;justify-content: center;align-items: center;text-align: center;}
.fixed_banner .tel p:before {content: '';position: relative;display: inline-block;background: url("../images/ic_tel.svg") no-repeat center center/100% auto;width: 22px;height: 22px;margin: 0 0 12px;}

.fixed_banner>div.instagram {background: #fff;display: flex;flex-direction: column;justify-content: center;align-items: center;text-align: center;}
.fixed_banner>div.instagram p {font-size: 12px;font-weight: 300;color: #000;letter-spacing: 0;}
.fixed_banner>div.instagram .tt:before {background: url("../images/ic_instagram.svg") no-repeat center center/100% auto;width: 24px;height: 24px;}

/* BACK TO TOP */
.to_top { position: fixed; z-index: 9; width: 66px; height: 92px; bottom: 20px; right: 20px; cursor: pointer; transition: all .2s; opacity: 0; visibility: hidden; background: #09467e; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; color: #fff; letter-spacing: 0; border-radius: 33px;font-size: 16px; line-height: 2em;}
.to_top .img { width: 36px; height: 36px; display: flex; background: #fff; justify-content: center; align-items: center; border-radius: 50%;margin: 4px 0 -1px; }
.to_top.show{transform:scale(1);opacity:1;visibility:visible}

.copyright{background-color: #275d8d;text-align: center;padding:28px 0; color: #fff;}
.copyright .textwidget p {font-size: 12px;}
.copyright a{display: block;}







/*==================== SEC05 ===================*/
.idx_gallery{position: relative;z-index: 3;margin-top: -379px;padding: 0;}
.idx_gallery_slide {height: 315px;overflow: hidden;}
.idx_gallery_slide.slick-initialized {height: auto;overflow: visible;}
.idx_gallery_item {margin: 0 10px;position: relative;}
.idx_gallery_item img {box-shadow: 0px 23px 60px 5px rgba(26,98,164,0.22);}
.idx_gallery_item:before {content: '';position: absolute;width: 100%;height: 100%;border: 10px solid #fff;opacity: 0.6;left: 0;top: 0;}
.idx_gallery_item.item_top {margin-top: 42px;}
.idx_gallery_item.item_top2 {margin-top: 113px;}
.idx_gallery_slide .slick-list {padding: 0 0 80px;}

.under .idx_gallery {margin-top: 0;}
.under .idx_gallery_slide .slick-list { padding: 40px 0 80px; }










