@charset "UTF-8";
.sp {
  display: none !important;
}
.sp-contah {
  display: none !important;
}

/*-------------------------------
    common
-------------------------------*/
html,
body {
  font-family: '游ゴシック', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN',
    'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ ゴシック', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #333333;
}

.inner {
  width: 985px;
}

/*-------------------------------
    ef
-------------------------------*/
.trs {
  -webkit-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.hover-op {
  -webkit-transition: opacity 0.3s ease 0s;
  -o-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
}
.op,
.hover-op:hover {
  opacity: 0.7;
}

/*-------------------------------
    util
-------------------------------*/
/* cur */
.cur-def {
  cursor: text !important;
}

/* elm */
.ovh {
  overflow: hidden;
}

/* la */
.posr {
  position: relative;
}
.posa {
  position: absolute;
}

/* w */
.w100p {
  width: 100%;
}

/* mg */
.m-center {
  margin-left: auto;
  margin-right: auto;
}

/* dis */
.di {
  display: inline;
}
.db {
  display: block;
}
.dn {
  display: none;
}
.dib {
  display: inline-block;
}
.df {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.dif {
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
}

.ai-center {
  -ms-align-items: center;
  align-items: center;
}
.ai-end {
  -ms-align-items: flex-end;
  align-items: flex-end;
}

.jc-between {
  justify-content: space-between;
}
.jc-center {
  justify-content: center;
}
.jc-around {
  justify-content: space-around;
}

.fxw {
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.fxd-column {
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}

/* bg */
.bgr-no {
  background-repeat: no-repeat;
}
.bgz-cover {
  -webkit-background-size: cover;
  background-size: cover;
}

/* txt */
.tal {
  text-align: left;
}
.tac {
  text-align: center;
}
.tar {
  text-align: right;
}
.taj {
  text-align: justify;
}

.fwb {
  font-weight: bold;
}
.fwn {
  font-weight: normal;
}

/* color */
.c-white {
  color: #fff;
}
.c-green {
  color: #50857c;
}
/* va*/
.vat {
  vertical-align: top;
}

/* indent */
.ti {
  text-indent: -1em;
  padding-left: 1em;
}

/* anchor */
a[href^='tel'] {
  pointer-events: none;
  cursor: text;
}
a.tdu {
  text-decoration: underline;
}
a.tdu.hover-tdn:hover {
  text-decoration: none;
}

/* center */
.trf-Y {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.trf-C {
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.fz13 {
  font-size: 13px;
}
.fz14 {
  font-size: 14px;
}
.fz15 {
  font-size: 15px;
}
.fz16 {
  font-size: 16px;
}
.fz17 {
  font-size: 17px;
}
.fz18 {
  font-size: 18px;
}
.fz22 {
  font-size: 22px;
}
.fz24 {
  font-size: 24px;
}
.fz30 {
  font-size: 30px;
}
.fz40 {
  font-size: 40px;
}
.fz60 {
  font-size: 60px;
}
.fz75 {
  font-size: 75px;
}

.head-style {
  text-align: center;
  display: block;
}
.head-style .en {
  display: block;
  font-size: 30px;
  font-weight: bold;
}
.head-style .en:after {
  content: '';
  display: block;
  width: 20px;
  height: 2px;
  margin: 0 auto 13px;
  background: #50857b;
}
.head-style .txt {
  display: block;
}
.u-btn {
  width: 300px;
}
.u-btn.white a {
  background: #fff;
  color: #1b1b1b;
}
.u-btn a {
  box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.34);
  color: #fff;
  -webkit-transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  -o-transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  background: #1b1b1b;
  width: 100%;
  height: 61px;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
}
.u-btn a:hover {
  background: #4197a8;
  color: #fff;
}
.u-btn.white a:hover {
  color: #fff;
  background: #4197a8;
}
.u-btn.white a:before {
  border-left: 4px solid #777777;
}
.u-btn:hover a:before {
  border-left: 4px solid #fff;
}
.u-btn.white a:hover:before {
  border-left: 4px solid #fff;
}
.u-btn a:before {
  content: '';
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-left: 4px solid #fff;
  border-bottom: 5px solid transparent;
  border-right: 3px solid transparent;
  display: inline-block;
  padding-right: 5px;
  -webkit-transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  -o-transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
}
.bg01 {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKUAAAABAQMAAACFaPxhAAAABGdBTUEAALGPC/xhBQAAAAZQTFRFAAAA5eXl+Se62gAAAAF0Uk5TAEDm2GYAAAAMSURBVAjXY2hgwAIACpYAgeod+K0AAAAASUVORK5CYII=');
  background-position: 0 0;
}
.head-style2 {
  font-weight: bold;
  padding-bottom: 40px;
  letter-spacing: 0.2em;
  font-size: 17px;
}
.head-style2:before {
  content: '/';
  display: inline;
  padding-right: 5px;
}
.head-style2:after {
  content: '/';
  display: inline;
  padding-left: 5px;
}
.head-style2 + h2 {
  font-size: 32px;
  line-height: 1.8;
}
/*-------------------------------
    header
-------------------------------*/
.header {
  position: fixed;
  width: 969px;
  top: 48px;
  left: 0;
  z-index: 10;
  background-color: rgba(237, 237, 237, 0.961);
  box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.34);
  -webkit-transition: top 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s,
    left 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s, width 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s,
    height 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s, left 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s,
    border-radius 500ms ease 0s;
  -o-transition: top 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s,
    left 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s, width 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s,
    height 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s, left 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s,
    border-radius 500ms ease 0s;
  transition: top 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s,
    left 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s, width 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s,
    height 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s, left 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s,
    border-radius 500ms ease 0s;
  overflow: hidden;
}
.header.on {
  width: 100px;
  height: 100px;
  border-radius: 100px;
  /*left: 83px;*/
  left: 20px;
  top: 20px;
}
.header > nav img {
  -webkit-transform: all 500ms linear 0s;
  -ms-transform: all 500ms linear 0s;
  -o-transform: all 500ms linear 0s;
  transform: all 500ms linear 0s;
}
.header.on > nav img {
  -webkit-transform: scale(0.7);
  -ms-transform: scale(0.7);
  -o-transform: scale(0.7);
  transform: scale(0.7);
}

.header.on > nav > ul,
.header.on > nav > a:last-child {
  display: none;
}
.header.on .header-inner {
  padding-left: 0;
  height: 100px;
}
.header.on .header-inner > a:first-child {
  left: 17px;
}
.header-inner {
  padding-left: 83px;
}
.header-inner > a,
.header-inner > ul a {
  height: 122px;
  text-align: center;
}
.header-inner > a {
  position: absolute;
}
.header-inner > a:first-child {
  top: 50%;
  margin-top: -40px;
  left: 83px;
  -webkit-transition: left 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  -o-transition: left 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  transition: left 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
}
.header-inner > a:last-child {
  width: 190px;
  top: 0;
  right: 0;
  background-color: rgba(120, 117, 112, 0.961);
}
.header-inner > ul {
  width: 630px;
  padding-left: 120px;
}
.header-inner > ul > li {
  width: 25%;
}
.header-inner > ul > li > a {
  width: 100%;
  position: relative;
}
.header-inner > ul > li > a:after {
  -webkit-transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  -o-transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  content: '';
  background-color: rgb(65, 151, 168);
  width: 0px;
  height: 5px;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
.header-inner > ul > li.stay a:after,
.header-inner > ul > li:hover a:after {
  width: 70px;
}
.header-inner > ul > li > a > span {
  display: inline-block;
}
.overlay {
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(6, 39, 45, 0.6);
  display: none;
  z-index: 9;
}
.sub-nav {
  width: 969px;
  left: 0;
  position: fixed;
  height: 0;
  overflow: hidden;
  background: #2e2e2e;
  -webkit-transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  -o-transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  transition: all 250ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
}
.sub-nav.on {
  height: 182px;
}
.sub-nav .unit {
  padding: 25px;
  padding-left: 83px;
}
.sub-nav .unit ul {
  padding-left: 40px;
}
.sub-nav .unit ul li a {
  padding: 0 26px;
}
.sub-nav .unit ul li a:before {
  content: '';
  display: inline-block;
  width: 0px;
  height: 0px;
  border-top: 3px solid transparent;
  border-left: 3px solid #ddd;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  display: inline-block;
  margin-right: 5px;
  vertical-align: 2px;
}

/*-------------------------------
    footer
-------------------------------*/
.footer > aside {
  width: 100%;
  background: #d4e7ee;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0ms;
  -o-transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0ms;
  transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0ms;
}
.footer > aside a {
  width: 100%;
  height: 177px;
  display: block;
}
.footer > aside a:before {
  content: '';
  height: 600px;
  width: 0vw;
  background: #1b1b1b;
  position: absolute;
  display: block;
  -webkit-transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  -o-transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
}
.footer > aside a > span {
  display: block;
  padding-top: 45px;
  position: relative;
  z-index: 2;
}
.footer > aside .head-style .en {
  letter-spacing: 0.1em;
  font-size: 32px;
}
.footer > aside:hover a:before {
  width: 100vw;
}
.footer > aside:hover {
  color: #fff;
}
.footer > aside .en:after {
  -webkit-transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  -o-transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
}
.footer > aside:hover .en:after {
  background: #fff;
}
.footer > article {
  background: #414141;
}
.footer > article .inner {
  width: 1092px;
}
.footer > article .unit01 {
  font-size: 14px;
  padding: 15px 0px;
  border-bottom: 1px solid #656565;
}
.footer > article .unit01 li {
  padding-right: 55px;
}
.footer > article .unit01 li a:before {
  content: '-';
  display: inline;
  padding-right: 3px;
}
.footer > article .unit02 {
  height: 93px;
  width: 100%;
}
.footer > article .unit02 small {
  font-size: 13px;
  color: #898989;
}
.pad-box {
  height: 92px;
  border-top: 1px solid #eaeaea;
}
.to-top {
  opacity: 0;
  position: fixed;
  display: block;
  z-index: 5;
  bottom: 30px;
  right: 54px;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAtCAMAAAAOcxyAAAAABGdBTUEAALGPC/xhBQAAAWVQTFRFUIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7iYmJUIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7iYmJiYmJiYmJUIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7iYmJUIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7UIV7iYmJiYmJiYmJUIV7UIV7UIV7UIV7UIV7iYmJiYmJiYmJiYmJiYmJiYmJAAAAiYmJUIV7Aj8lmAAAAHV0Uk5TNiFKBxEv13qchSBhi+7853/CtFRJpRyxEswIxJNsMCdLmQPpyuPQNLWnlwuNOyb1q88WZn0CJAnO4Ng8ZFY4cXt3mTOVrmoUUeHH22K3MUiEnd2mjNUQ/XP270AeWevm/hkqv/kGuxFV+/MMBAGIzETuqiIAHujGmAAAAj9JREFUSMftlPdjojAUx7m9995777O7vV7rrtU66651IgoqSMLffwleHo6iqPzo96e8F/LhrYRDllT2VDhrX1r6rORuaFoxfsomoLjU1HRVE2dtAEpbxxoom67NC3x5qA1o/ag1D/BDRRvR29zMwMvxIqMENv3nAfmgPBPwYaLKCPt/SJ6S9wazG59LUwPPpLPseOHv/06IkSbzNZfEqYCtoz12NJNI9g3kxQbzHwcl68DcGjuWiueHrsxHKOVh2CKwHIIzlYMT/vZo7PYIsBS9DiGcNqnHOiRwLz8BKEZ+QJG2JLNO1tLXoMRXk2OAkvcNtPGmOG58k8ZMwRCMAv0bMGivSpPubN6Yen1MR4HbT6DYt8tWHqoD414GNkeAKz/hh2s5ZFF3jZfD830A6HsKJdmb9Jz063UQ3raG2wfA1QtZ48F7jKbSlx3jOu6s6sDlK3DNql99aGr9dsN1fBdcRlz4FzOLn1bQTHrhgVK+D3OwvrWNZta3AGAYcMOP5lHrzv4AsOCV0JyqPSsAMBMRkQ1KXsrowFT0PrJJ+WhK40LnkI16HuKQzVoAF8AFcFqggjF2IIS7ZO0ihoAUFfHUqpMdHENdrO8NmCpdyycDsYrkGBI6mMJlVFeIh2/39lTibBNatz1k0pXQMQFiGhUvOHdJDD2PwiMD2CGByJ0hk652edMIHU6agkKj0z1ORZ4IxJivmwKFmJPkFJP1lDHxuEgZJ6Y8rikCdukp0KY4aFOE3gGVhsya0m+qyiDwHx8dNXzpNLpzAAAAAElFTkSuQmCC');
  width: 80px;
  height: 45px;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-background-size: contain;
  background-size: contain;
  -webkit-transition: opacity 0.3s ease 0s;
  -o-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
}
.to-top:hover {
  opacity: 0.6 !important;
}
.to-top.on {
  opacity: 1;
}
.to-top.fit {
  bottom: 339px;
}

.c-grey {
  color: #aeaeae;
}
.head-stripe {
  width: 100%;
  background: rgba(250, 250, 250, 0.5);
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  background-position: 0 0;
}
.head-stripe .inner {
  position: relative;
}
.head-stripe .inner:before {
  height: 100%;
  width: 5px;
  background: #50857b;
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.head-stripe .unit-inner {
  height: 136px;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  justify-content: center;
  padding-left: 34px;
}
.head-stripe .unit-inner > .en:first-child {
  padding-bottom: 5px;
}
.head-stripe .en {
  line-height: 1;
  letter-spacing: 0.15em;
}
.complate-w p {
  padding-top: 0em !important;
  padding-bottom: 1em !important;
}
.complate-w > .complate {
  padding-bottom: 2em;
}
.complate-w .u-btn {
  margin-left: auto;
  margin-right: auto;
}
.complate-w .u-btn-w {
  padding: 30px 0 60px;
}

.news li {
  position: relative;
}
.news li.is-nolink {
  pointer-events: none;
}
.news li:hover:before {
  width: 100%;
}
.news li:before {
  content: '';
  display: block;
  width: 0%;
  height: 100%;
  background: #1b1b1b;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  -o-transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
}
.news li:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: rotate(45deg) translateY(-50%);
  -ms-transform: rotate(45deg) translateY(-50%);
  -o-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
  width: 10px;
  height: 10px;
  border-top: 2px solid #d9d9d9;
  border-right: 2px solid #d9d9d9;
}
.news li.is-nolink:after {
  display: none;
}
.news li a {
  position: relative;
  z-index: 2;
  padding-left: 24px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  width: 100%;
  height: 62px;
  color: #000;
  border-bottom: 1px solid #d7dfdc;
  -webkit-transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  -o-transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
  transition: all 500ms cubic-bezier(0.6, 0.04, 0.35, 1) 0s;
}
.news li time {
  font-size: 16px;
  font-family: 'Arial';
}
.news li:hover a {
  color: #fff;
}
.news li .category {
  margin-left: 31px;
  color: #fff;
  text-align: center;
}
.news li .category:before {
  vertical-align: 3px;
  display: inline-block;
  color: #fff;
  font-size: 12px;
  padding-left: 10px;
  padding-right: 10px;
  width: 102px;
  padding: 0px 10px;
}
.news li .category.info:before {
  background: #6b87b1;
  content: 'お知らせ';
}
.news li .category.notice:before {
  background: #d66c6c;
  content: '重 要';
}
.news li .title {
  padding-left: 30px;
}
.news .u-btn {
  padding: 76px 0;
}

.is_textwrap {
  display: inline-block;
  width: 80px;
}

/* =====================
  FooterSNS
===================== */
.footer-sns {
  display: flex;
  margin-top: 20px;
  gap: 20px;
}
.footer-sns .footer-youtube img {
  width: 35px;
  height: 25px;
}
.footer-sns .footer-instagram img {
  width: 25px;
  height: 25px;
}
