@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..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, del{
  font-size: 1.6rem;
  -webkit-text-size-adjust: none;
  font-weight: 400;
}
*,::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;}
video{max-width: 100%;height: auto;}
figure{margin: 0;}
figure:not(:last-child){margin-bottom: 20px;}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html{background:#fff;font-size: 62.5%;}
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: 1.75;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_u{text-decoration: underline;}
.f_big{font-size: 150%;}
.f_sm{font-size: 80%;}
.m0a{display: block;margin-left: auto;margin-right: auto;}

:root {
  --txt: #000000;
  --mcolor: #00A0B1;
  --scolor: #57A238;
  --container: 123.2rem;

  --gray: #E5F5F7;
  --red: red;

  --f-main:'Noto Sans JP', sans-serif;
  --gradient1: linear-gradient(to right,#00A0B1, #86C46D);
  --shadow1: 0 0 6px rgba(0,0,0,0.16);
}

#wrapper{overflow:hidden;margin:0 auto}
.inner{width: var(--container);margin:0 auto;position:relative;max-width: 100%;padding: 0 16px;}

/*==========================================================
                       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-block;width:24px;height:24px}
.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:#05433A}
.hamburger-inner::after,
.hamburger-inner::before{display:block;content:""}
.hamburger-inner::before{top:-8px}
.hamburger-inner::after{bottom:-8px}
.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,8px,0) rotate(45deg)}
.hamburger--3dxy.is_active .hamburger-inner::after{transform:translate3d(0,-8px,0) rotate(-45deg)}

header{position: relative; z-index:9;}
.h_box{width:100%;position: fixed;background-color: #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;font-size: 1.8rem;font-weight: bold;color: #FFF;background:var(--gradient1);height: 100%;width: 100%;}
.h_contact a span{padding-left: 3.6rem;position: relative;display: inline-block;}
.h_contact a span::before{content: '';position: absolute;width: 2.3rem;height: 2.7rem;background: url('../images/ic_tel.png') no-repeat center /contain;left: 0; top: calc(50% - 1.3rem);}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main{position: relative;z-index: 2;padding-top: 9.6rem;}
.mv_box{margin: 0 auto !important;}
.mv_ite{display: flex !important;justify-content: center;align-items: center;overflow: hidden;}
.slick-dots{padding: 0.8rem 2rem;background-color: #FFF;border-radius: 99.9rem;width: fit-content;left: 50%;transform: translateX(-50%);bottom: 3.2rem;}
.slick-dots li{width:1.6rem;height:1.6rem;border-radius:50%;background-color:#ABABAB}
.slick-dots li:not(:last-child){margin-right: 1.1rem;}
.slick-dots li:hover{opacity:.7}
.slick-dots li.slick-active:hover{opacity:1}
.slick-dots li.slick-active{background:var(--gradient1)}
.slick-dots li button:before{content:""}
.slick-list{z-index:1}
.slick-dots{z-index:2}

/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
.ttl_h2{font-size: 3.2rem;font-weight: bold;text-align: center;color: #05433A;position: relative;margin-bottom: 3.2rem;}
.ttl_h2::before{content: "";width: 4.8rem;height: 4.8rem;margin: 0 auto 0.5rem;display: block;}

.btn a{width: 26.4rem;height: 5.6rem;border-radius: 0.5rem;display: flex;justify-content: center;align-items: center;background: url('../images/ic_btn.png') no-repeat right 1rem center /1.7rem #FFF;font-weight: 500;border: 0.1rem solid #202020;}
.btn.center a{margin-left: auto; margin-right: auto;}

.mv{position: relative;}
/*============= SEC01 ==============*/
.sec01{background: url('../images/sec01_bg.jpg') no-repeat top center /1920px;}
.sec01 .ttl_h2::before{background: url('../images/sec01_h3_ic.png') no-repeat center /contain;}
.sec01_list {display: flex;justify-content: center;margin-bottom: 1.3rem;}
.sec01_list li:not(:last-child){margin-right: 0.8rem;}
.sec01_list li{text-align: center;display: flex !important;flex-direction: column;justify-content: center;align-items: center;border: 0.1rem solid var(--mcolor);box-shadow: var(--shadow1);border-radius:1rem;width: 16rem;min-height: 14.6rem;background-color: #FFF;}
.sec01_list li .tt {font-size: 1.5rem;font-weight: bold;margin-bottom: 0;line-height: 1.7;}
.sec01_list li .des {font-size: 1rem;margin-bottom: 0.1rem;}
.sec01_list li .sys {display: flex;gap: 0.6rem;align-items: center;line-height: 1.6;margin-bottom: 0.5rem;}
.sec01_list li .sys:last-child{margin-bottom: 0;}
.sec01_list li .sys .key {font-size: 1.1rem;font-weight: bold;color: #FFF;width: 4.3rem;height: 1.8rem;display: flex;justify-content: center;align-items: center;background-color: var(--mcolor);}
.sec01_list li .sys:nth-of-type(even) .key{background-color: var(--scolor);}
.sec01_list li .sys .val {font-size: 1.8rem;font-weight: bold;}
.sec01_list li .sys .val span{font-size: 1rem;transform: translateY(0.2rem);display: inline-block;}
@media screen and (min-width: 751px) {
  .h_contact{margin: 0;height: 100%;width: 15%;max-width: 24rem;}
  #logo{margin-right: 2rem;max-width: 25%;}
  .sec01{padding: 4rem 0;}
  .sec01_des{padding-left: 2.4rem;line-height: 1.6;}
  .sec02{padding: 4.3rem 0;}
  .sec02_box {display: flex;gap: 4.8rem;align-items: center;}
  .sec03{padding: 7.4rem 0 8.4rem;}
  .sec02_head .ttl_h2 {margin-bottom: 4rem;}
  .ft_box02_inner{padding: 6.2rem 0;display: flex;justify-content: space-between;}
  .ft_links li:not(:last-child){margin-bottom: 1.2rem;}

}
/*============= SEC02 ==============*/
.sec02{background: url('../images/sec02_bg.jpg') no-repeat center /cover;}
.sec02 .ttl_h2::before{background: url('../images/sec02_h3_ic.png') no-repeat center /contain;}
.sec02_head {flex-shrink: 0;}
.sec02_frame {background-color: #FFF;padding: 2.9rem 3.1rem 3.1rem;border: 0.1rem solid var(--mcolor);border-radius: 1rem;box-shadow: var(--shadow1);width: 100%;}
.sec02_list li{padding: 1.4rem 0 1.4rem;border-bottom: 0.1rem solid #C7C7C7;}
.sec02_list li:first-child{padding-top: 0;}
.sec02_list li .date {margin-bottom: 0.1rem;gap: 1.3rem;display: flex;}
.sec02_list li .date .cat {transform: translateY(0.2rem);}
.cat {font-size: 1.4rem;font-weight: bold;color: var(--mcolor);padding: 0.5rem 1.5rem 0.4rem;border-radius: 0.3rem;border: 0.1rem solid var(--mcolor);line-height: 1;display: flex;justify-content: center;align-items: center;height: 100%;}

/*============= SEC03 ==============*/
.sec03_list {display: grid;grid-template-columns: repeat(2,1fr);gap: 3.2rem;}
.sec03_list dl {position: relative;}
.sec03_list dl dt{position: absolute;width: 27.2rem;height: 20.8rem;border-radius: 0.5rem;color: #FFF;display: flex;justify-content: center;align-items: center;text-align: center;font-weight: bold;left: 3rem;top: calc(50% - 10.4rem);flex-direction: column;line-height: 1.3;padding-top: 0.2rem;}
.sec03_list dl dt .sm {margin-bottom: 1.5rem;}
.sec03_list dl dt .lg {font-size: 2.8rem;}
.sec03_list dl dd{border-radius:1rem;display: flex;justify-content: center;align-items: center;overflow: hidden;}
.sec03_list dl:nth-of-type(1) dt{background-color: rgba(0,160,177,0.8);}
.sec03_list dl:nth-of-type(2) dt{background-color: rgba(116,188,87,0.8);}
.sec03_list dl:nth-of-type(3) dt{background-color: rgba(28,132,28,0.8);}
.sec03_list dl:nth-of-type(4) dt{background-color: rgba(35,133,120,0.8);}

/*==========================================================
                        F O O T E R
==========================================================*/
footer{position: relative;z-index: 3;}
.ft_cta a{width: 89.6rem;display: flex;justify-content: center;align-items: center;flex-direction: column;padding: 4.3rem 1.5rem;font-size: 3rem;font-weight: bold;color: #FFF;background: var(--gradient1);margin: 0 auto;border-radius: 0.5rem;line-height: 1.9;max-width: 90%;}
.ft_cta a::before{content: '';width: 2.8rem;height: 3.4rem;background: url('../images/ic_tel2.png') no-repeat center /contain;margin: 0 auto;display: block;}
.ft_add{line-height: 1.5;}
.ft_box01{padding: 5.2rem 0 7.2rem;background: url(../images/ft_bg.png) no-repeat center /1920px;border-bottom: 0.4rem solid var(--mcolor);}
.ft_logo{margin-bottom: 3.3rem;}
.ft_box02{padding-bottom: 4rem;}
.ft_links{display: flex;gap: 4.8rem;margin-left: auto;padding-top: 0.2rem;}
.ft_links li a{padding-left: 3.1rem;position: relative;}
.ft_links li a::before{content: '';position: absolute;width: 1.5rem;height: 0.2rem;background:var(--mcolor);left: 0;top: calc(50% + 1px);}
address{text-align: center;font-size: 1.4rem;}

/* BACK TO TOP */
.to_top{position:fixed;z-index:9;width:5.6rem;height:5.6rem;bottom:6rem;right:2rem;cursor:pointer;transition:all .2s;opacity:0;visibility:hidden}
.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) {}