@charset "UTF-8";
/*============================
	html5 base style
============================*/
html,body,div,span,object,iframe,
h1,h2,h3,h4,h5,h6,p,pre,address,code,
em,img,a,
small,strong,sub,sup,var,b,i,
dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,figcaption,figure,
footer,header,menu,nav,main,section,
time,mark,audio,video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
  box-sizing: border-box;
}
article,aside,figcaption,figure,
footer,header,menu,nav,main,section {
  display:block;
}
ol,ul {
  list-style:none;
}
a {
  text-decoration:none;
  color: #000;
}
img{
  vertical-align: bottom;
}
table {
  border-collapse:collapse;
  border-spacing:0;
}
input,select {
  vertical-align:middle;
  font-size: 1rem;
  letter-spacing: 0.1em;
  font-family: "Koburina Gothic W6 JIS2004";
}
input,select,button {
  border:0;
  -webkit-appearance:none;
  -moz-appearance:none;
  -ms-appearance:none;
  appearance:none;
}
input:focus,select:focus,button:focus {
  outline:0;
}
button {
  background-color: #fff;
  font-family: "Koburina Gothic W6 JIS2004";
  letter-spacing: 0.1em;
}
textarea {
  resize: none;
  font-size: 1rem;
  border: none;
  height: 175px;
  outline: none;
  font-family: "Koburina Gothic W6 JIS2004";
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color:#98e0ff;
  font-family: "Koburina Gothic W6 JIS2004";
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
 color:#98e0ff;
 font-family: "Koburina Gothic W6 JIS2004";
}
input.sample::-moz-placeholder {
  color:#98e0ff;
  font-family: "Koburina Gothic W6 JIS2004";
}
::placeholder{ /* Others */
color:#98e0ff;
font-family: "Koburina Gothic W6 JIS2004";
}
/*============================
  module style
============================*/
body {
  font-size: 1rem;
  font-family: "Koburina Gothic W6 JIS2004";
  letter-spacing: 0.05em;
}
.font-w3 { font-family:  "Koburina Gothic W3 JIS2004"; }
/*============================
  color
============================*/
.bg-blue {
  background-color: #00b4ff;
  border-radius: 0 5px 5px 0;
  color: #fff;
}
.bg-white {
  background-color: #fff;
  border-radius: 0 5px 5px 0;
  padding: 85px 4% 93px;
}
.bg-black {
  background-color: #000;
  color: #fff;
}
.bg-white-design {
  background-color: #fff;
}
.blue { color: #00b4ff; }
.white { color: #fff; }
.gray {
  color: #636363;
  font-size: .75rem;
}

/*----------------------------
  text
-----------------------------*/
.bold { font-weight: bold; }
.tx-center { text-align: center; }
.tx-right { text-align: right; }
.tx-left { text-align: left; }
.fs-10 { font-size: .625rem; }
.fs-12 { font-size: .75rem;}
.fs-14 {
  font-size: .875rem;
  line-height: 1.85;
}
.fs-15 { font-size: .9375rem; }
.fs-20 { font-size: 1.25rem;}
.fs-24 { font-size: 1.5rem; }
.fs-26 { font-size: 1.625rem; }
.fs-32 {
  font-size: 2rem;
  line-height: 1.75;
}
.l-space { letter-spacing: 0.1em; }
.l-space02 { letter-spacing: 0.2em; }
.lh-175 { line-height: 1.75; }
.lh-2 { line-height: 2; }
.lh-185 { line-height: 1.85;}
.lh-50 { line-height: 50px; }
/*----------------------------
  border
-----------------------------*/
.bd-r {
  border-right: solid #00b4ff 1px;
  padding: 0 13px;
}
/*----------------------------
  space
-----------------------------*/
.p-t-b-100 { padding: 100px 0}
.p-l-r-3 { padding: 0 3%; }
.pl-0 { padding-left: 0; }
.pl-3 { padding-left: 3%; }
.m-auto { margin: auto; }
.max-content {
  width: max-content;
  margin: auto;
}
.mt-20 { margin-top: 20px; }
.mt-220 { margin-top: 220px; }
.mb-15 { margin-bottom: 15px; }
.mb-25 { margin-bottom: 25px;}
.mb-30 { margin-bottom: 30px; }
.mb-35 { margin-bottom: 35px; }
.mb-40 { margin-bottom: 40px; }
.mb-50 { margin-bottom: 50px; }
.mb-60 { margin-bottom: 60px; }
.mb-65 { margin-bottom: 65px; }
.mb-75 { margin-bottom: 75px; }
.mb-80 { margin-bottom: 80px; }
.mb-85 { margin-bottom: 85px; }
.mb-90 { margin-bottom: 90px; }
.mb-100 { margin-bottom: 100px; }
.mb-110 { margin-bottom: 110px; }
.mb-135 { margin-bottom: 135px; }
.mb-140 { margin-bottom: 140px; }
.mb-145 { margin-bottom: 145px; }
.mb-150 { margin-bottom: 150px; }
/*----------------------------
  layout
-----------------------------*/
.inner {
  max-width: 1000px;
  margin: auto;
}
.w-full { width: 100%; }
.w-47 { width: 47%; }
.w-65 { width: 65%; }
.w-74 { width: 74%; }
.w-75 { width: 75%; }
.w-86 { width: 86%; }
.w-80 { width: 80%; }
.w-90 { width: 90%; }
.w-fit { width: fit-content; }
.flex {
  display: flex;
  display: -webkit-flex;
  display: -ms-flex;
}
.block { display: block; }
.block-center {
  display: block;
  margin: auto;
}
.spbr { display: none; }
.flex-rowreverse { flex-direction: row-reverse; }
.flex-wrap { flex-wrap: wrap; }
.jc-between { justify-content: space-between; }
.jc-around { justify-content: space-around; }
.jc-center { justify-content: center; }
.jc-end { justify-content: flex-end; }
.align-items { align-items: center; }
/*----------------------------
  position
-----------------------------*/
.ps-r { position: relative; }
.ps-a { position: absolute; }
/*----------------------------
  その他
-----------------------------*/
.radius-5 { border-radius: 5px;}
/* ページ遷移 */
body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color:#fff;
  z-index: 9999;
  pointer-events: none;  /* 他の要素にアクセス可能にするためにポインターイベントは無効に */
  opacity: 0;  /* 初期値 : 透過状態 */
  -webkit-transition: opacity .8s ease;  /* アニメーション時間は 0.8秒 */
  transition: opacity .8s ease;
}
body.fadeout::after {
  opacity: 1;
}

/* header */
.g-nav {
  width: 200px;
  position: fixed;
  right: 0;
  top: -230px;
  font-family:  "Koburina Gothic W3 JIS2004";  
}
/* Firefox */
@-moz-document url-prefix(){
	.g-nav {
    right: -80px;
    height: 400px;
  }
}
/* Edge */
@supports (-ms-ime-align:auto) {
	.g-nav {
    right: -80px;
  }
  .list-item {
    white-space: nowrap;
  }
}
/* IE11 */
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, .g-nav {
    right: -80px;
    height: 400px;
  }
}
.list {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  margin: auto;
}
.list-item {
  margin-bottom: 50px;
  height: max-content;
  font-size: .9rem;
}

/* IE11 */
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, .list-item {
    display: table;
    margin-bottom: 70px;
  }
}
.list-item a {
  display: block;
}
.list-item a:hover {
  color: #00b4ff;
  -webkit-transition: .2s;
  transition: .2s;
}
.g-nav-move {
  top: 0;
  }
/* footer */
small { display: block; }
.f-bg-blue {
  background-color: #00b4ff;
  padding-bottom: 50px;
  width: 100%;
}
.f-bg-white {
  background-color: #fff;
  color: #000;
  padding-bottom: 50px;
  width: 100%;
}

@media screen and (max-width:767px){
  .spbr { display: block; }
  .display-none { display: none; }
  .sp-none { display: none; }
  .sp-flex-none { display: block; }
  .sp-jc-around { justify-content: space-around; }
  .sp-jc-unset { justify-content: unset; }
  .sp-m-0 { margin: 0; }
  .p-t-b-100 { padding: 65px 0 100px; }
  .p-l-r-3 { padding: 0 4%; }
  .bg-blue { border-radius: 0; }
  .w-75 { width: 95%; }
  .sp-mb-40 { margin-bottom: 40px; }
  .sp-mb-80 { margin-bottom: 80px; }
  .fs-32 { font-size: 1.75rem; }
  .sp-tx-left { text-align: left; }
  .sp-w-95 { width: 95%; }
  .sp-jc-between { justify-content: space-between; }
  body {
    font-size: .875rem;
  }
  input,textarea,select {
    font-size: .875rem;
  }
  /* header */
  .header-bg {
    background-color: rgba(101, 150, 190, 1);
    opacity: 0.5;
    height: 100vh;
    width: 100%;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
  }
  .g-nav,.g-nav-kaso {
    width: 100%;
    right: -100%;
    top: 0;
    background-color: #fff;
    z-index: -1;
    padding: 58px 20px 25px 27px;
    -webkit-transition: 0.2s;
    transition: 0.2s
  }
  .list-item {
    margin: 0;
    padding: 10% 0;
    font-size: .75rem;
    width: 35px;
  }
  .list-item a {
    width: 100%;
  }
  .list-item a img {
    width: 100%;
  }
  /* Edge */
  @supports (-ms-ime-align:auto) {
    .g-nav {
      height: 400px;
    }
  }
  .btnHamburger {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 100;
  }
  .btnHamburger .line {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 3px;
    height: 40px;
    border-left: 5px solid #00215b;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
  }
  .btnHamburger .line_01 { left: 0; }
  .btnHamburger .line_02 { left: 17px; }
  .btnHamburger .line_03 { left: 35px; }

  .btnHamburger.is-active .line_01 {
    left: 20px;
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
  }

  .btnHamburger.is-active .line_02 {
    opacity: 0;
  }
  .btnHamburger.is-active .line_03 {
    -webkit-transform: rotate(-225deg);
    transform: rotate(-225deg);
    left: 20px;
  }
  .btnHamburger.is-active .g-nav {
    right: 0;
  }
  .sp-d-colum {
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
  }
}
@media screen and (max-width:414px){
  .list-item {
    padding: 4% 0;
  }
  .bd-r {
    padding: 0 7px;
}
}