html {
  font-size:62.5%;
}
body {
  background:#fff;
  color: #221815;
  font-size: 1.4rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  overflow-x:hidden;
  line-height:1.8;
  font-feature-settings: "palt";
  letter-spacing: .1em;
}
@media screen and (max-width:767px) {
  body {
    font-size:1.2rem;
  }
}
img {
	max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
a {
  color:inherit;
}
.forPc {
  display: block;
}
.forSp {
  display: none;
}
@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 100%;
  }
}

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 100%;
  }
}

@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1130px;
  }
}
main {
    letter-spacing:.2em;
}
main p {
    line-height:2;
}
header {
  width:100%;
  height:70px;
  position: fixed;
  background: rgba(255,255,255,.95);
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  box-shadow: 0 0 6px rgba(0,0,0,.25);
}
main {
  padding-top:70px;
}

.site-ttl {
  margin:0 0 0 50px;
  display: flex;
  align-items: center;
  flex: 0 0 20%;
}
.site-ttl img[src$=".svg"] {
    width: 100%;
}
.nav-wrap {
  display: flex;
}
nav > div ,
.menu-global-container {
  height:100%;
}
.global-navi ul {
  height:100%;
  margin:0;
  padding:0 10px;
  list-style: none;
  display: flex;
}
.global-navi li {
  height:100%;
  margin:0 20px;
  display: flex;
  align-items: center;
  position: relative;
}
.global-navi li a {
  height:100%;
  display: flex;
  align-items: center;
  position: relative;
  white-space: nowrap;
  color:#333333;
  font-weight: 400;
}
.global-navi li ul a {
font-weight: 400;	font-weight: 300;
}
.global-navi li a strong {
font-weight: 500;
}
.global-navi li a:hover {
  text-decoration: none;
}
.global-navi li a:hover strong {
  color:#1A3068;
}

.global-navi li ul ,
.menu-item-description ,
.global-navi li.forSp {
  display: none;
}
.header-contact {
  margin-left:2rem;
}
.header-contact a {
  height: 100%;
  min-width: 144px;
  padding: 0 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1A3068;
  color: #fff;
  font-weight: 400;
  white-space: nowrap;
  transition: background .4s ease;
}
.header-contact a:hover {
  text-decoration: none;
  background: rgb(0,104,174);
}
.spnav-menu {
  display: none;
}
footer {
  padding:50px 35px 20px;
  background: #1A3068;
  color: #fff;
}
.foot-ci {
  margin-bottom: 4.4rem;
}
.foot-address ,
.foot-tel {
  font-size:1.2rem;
}
.foot-address address {
  line-height:2;
}
.foot-tel {
  font-family: 'Barlow', sans-serif;
}
.foot-tel a {
  color:#fff;
}
.foot-navi-inner {
  display: flex;
  flex-wrap: wrap;
}
.foot-navi ul {
  margin:0 40px 0;
  padding: 0;
  list-style: none;
}
.foot-navi ul a {
  color:#fff;
}
.foot-navi ul li {
  margin-bottom:1.2rem;
}
.foot-navi ul ul {
  margin:2rem 0 0 0;
  font-size:1.2rem;
}
.foot-navi ul ul li::before {
  content:'-';
  display: inline-block;
  margin-right:5px;
}
.footer-wrap {
  padding-bottom:2rem;
  margin-bottom:1.5rem;
  border-bottom:1px solid #fff;
  position: relative;
}
.copyright {
  text-align:right;
  font-size:1.2rem;
}
.scrolltop {
  position: absolute;
  right:-20px;
  top:40%;
  transform:translateY(-50%);
}
.foot-msg {
  margin-top:10rem;
  margin-bottom: 7.5rem;
  text-align: center;
}
body.blog .foot-msg,
body.contact .foot-msg,
body.error .foot-msg,
body.confirm .foot-msg,
body.thanks .foot-msg {
  display: none;
}
.foot-msg h2 {
  font-size:4rem;
  font-weight: 100;
  margin-bottom: 1.5rem;
  position: relative;
  display: flex;
  align-items: center;
}
.foot-msg h2::before {
  content:'';
  display: inline-block;
  border-top:1px solid #333;
  flex-grow: 1;
  margin-right:3rem;
}
.foot-msg h2::after {
  content:'';
  display: inline-block;
  border-top:1px solid #333;
  flex-grow: 1;
  margin-left:3rem;
}
.foot-msg-info {
  margin-bottom: 3rem;
}
.foot-msg-info .calendar {
  margin-left:4rem;
}
.foot-msg-info a {
  color:#1A3068;
}
.foot-msg-info img {
  position: relative;
  top:-5px;
  margin:0 4px;
}
.foot-msg-h3 {
  font-weight: 500;
  font-size:2rem;
  color:#1A3068;
  margin-bottom: 4rem;
  letter-spacing: .1em;
}
.foot-msg-btn ul {
  margin:0;
  padding:0;
  list-style: none;
  display: flex;
  justify-content: center;
}
.foot-msg-btn li {
  padding:2rem 8rem;
  width:50%;
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
}
.foot-msg-btn .foot-msg-phone {
  align-items: flex-end;
}
.foot-msg-btn .foot-msg-mail {
  align-items: flex-start;
}
.foot-msg-btn li h3 {
  font-size:1.8rem;
  font-weight: 300;
}
.foot-msg-phone::after {
  content:'';
  display: inline-block;
  width:1px;
  height: 100%;
  background: rgb(0,104,174);
background: linear-gradient(180deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
position: absolute;
right:0;
top:0;
}
.foot-msg-phone .phone {
  color:#1A3068;
  font-weight: 700;
  font-family: number,sans-serif;
  letter-spacing: .3em;
}
.foot-msg-phone .phone span {
  font-size:2.2rem;
}
.foot-msg-phone a {
  font-size:4rem;
  color:#1A3068;
}
.foot-msg-phone a:hover {
  text-decoration:none;
}
.foot-msg-mail .mail {
  width:300px;
  background: rgb(0,104,174);
background: linear-gradient(-90deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
	border-radius: 40px;
	padding: 1px;
}
.foot-msg-mail .mail a {
  display: block;
  font-size:1.6rem;
  color:#1A3068;
  padding:1rem 5rem;
  border-radius: 39px;
  transition:background .4s;
  letter-spacing: .1em;
  background: #fff;
}
.foot-msg-mail .mail a:hover {
  background: none;
  color:#fff;
  text-decoration:none;
}
.foot-msg-btn li h3 {
  margin-bottom:1.5rem;
}
.foot-msg-btn li.foot-msg-mail h3 {
  margin-bottom:2.5rem;
}
.foot-msg-btn li.foot-msg-mail h3::before {
  content:'';
  display: inline-block;
  width:19px;
  height:14px;
  background: url(../img/common/mail.svg) no-repeat center center;
  background-size:contain;
  margin-right:10px;
}
.foot-msg-btn li.foot-msg-phone h3::before {
  content:'';
  display: inline-block;
  width:11px;
  height:18px;
  background: url(../img/common/phone.svg) no-repeat center center;
  background-size:contain;
  margin-right:10px;
}

/* ------------------------------------------------------------------------ */
@media screen and (min-width:992px) {
  .global-navi li:hover::after,
  .global-navi .current-menu-item::after,
  .global-navi .current-page-parent::after {
    content:'';
    display: inline-block;
    width:15px;
    height:1px;
    background: #1A3068;
    position: absolute;
    bottom:15px;
    left:50%;
    transform:translateX(-50%);
  }
  .global-navi ul ul .current-menu-item::after {
    content:none;
  }
  .menu-item-has-children .sub-menu {
    height: 0;
	overflow:hidden;
    /*padding:40px 30px;*/
    position: fixed;
    top:70px;
    left:0;
    width:100%;
    background:rgba(26,48,104,.9);
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
	transition:height .3s ease;
  }
  .menu-item-has-children:hover > .sub-menu {
	height:102px;
	max-height:102px;
  }
  .global-navi li .sub-menu li {
    height: auto;
  }
  .global-navi li .sub-menu li:first-child {
    display: none;
  }
  .global-navi li .sub-menu a {
    color:#fff;

  }
  .global-navi li .sub-menu li:hover::after {
    content: '';
    display: inline-block;
    width: 15px;
    height: 1px;
    background: #fff;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
  }
  .global-navi li li a:hover strong {
    color:#fff;
  }
}
@media screen and (min-width:992px) and (max-width:1199px) {
  .site-ttl {
    margin: 0 0 0 20px;
  }
  .global-navi li {
    margin:0 15px;
  }
  .global-navi li.menu-item-home {
    display: none;
  }
}
@media screen and (min-width:768px) {
  .fn-parent ul li:first-child {
	display:none;
  }
}
@media screen and (max-width:991px) {
  .header-contact.forPc {
    display: none;
  }
  .site-ttl {
    margin: 0 0 0 20px;
    position: relative;
    z-index: 101;
  }
  .nav-open .site-ttl {
    margin: 0 0 0 9.8%;
  }
  .nav-open .site-ttl a {
    display: block;
    background:url(../img/common/logo-w.svg) no-repeat center center;
    background-size:contain;
  }
  .nav-open .site-ttl a img {
    opacity: 0;
  }
  .nav-open .spnav-btn {
    margin-right: calc(9vw - 10px);
  }
  .nav-wrap {
    display: flex;
  }
  .global-navi ul {
    /* flex-direction: column; */
    display: block;
    padding:0;
  }
  .global-navi ul.menu {
    /* margin-top:40px; */
    margin-bottom:50px;
  }
  .global-navi {
    position: fixed;
    top: 0px;
    right: 0;
    background: rgb(81, 90, 114,.9);
background: linear-gradient(45deg, rgba(26,48,104,.9) 0%, rgba(0,104,174,.9) 100%);
    transform: translateX(100%);
    transition: all .6s cubic-bezier(0.23, 1, 0.32, 1);
    height: 100%;
    width: 100%;
  }
  .menu-global-container {
    overflow-y:auto;
	margin-top:18.6vw;
    padding: 0 9.8% 40px;
    -ms-overflow-style: none;    /* IE, Edge 対応 */
        scrollbar-width: none;
  }
  .menu-global-container::-webkit-scrollbar {  /* Chrome, Safari 対応 */
    display:none;
  }
  .global-navi li {
    margin: 0;
    height: auto;
    flex-direction: column;
    align-items: flex-start;
  }
  .global-navi li a {
    width: 100%;
    height: auto;
    display: block;
    padding:25px 0px 20px;
    color:#fff;
  }
  .global-navi li a:hover::after {
    content:none;
  }
  .global-navi li ul {
    margin:1rem 0 3rem;
  }
  .global-navi li li a,
  .global-navi li li a strong {
    font-size:1.2rem;
    font-weight: 300;
    padding: 10px 0;
  }
  .global-navi li li a::before {
    content:'-';
    margin-right:.4rem;
    display: inline;
  }
  .global-navi li a strong {
    font-weight: 100;
    font-size:2rem;
    width: 100%;
    display: block;
    position: relative;
  }
  .global-navi li.menu-item-has-children a strong::after {
    content:'';
    display: inline-block;
    width:20px;
    height: 1px;
    background: #fff;
    position: absolute;
    right:0;
    top:50%;
    transform: translateY(-50%);
  }
  .global-navi li.menu-item-has-children a strong::before {
    content:'';
    display: inline-block;
    width:1px;
    height: 20px;
    background: #fff;
    position: absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
  }
  .global-navi li.menu-item-has-children.subopen a strong::before {
      display: none;
  }
  .global-navi li.forSp {
    display: block;
  }
  .global-navi li.menu-item-home {
    display: none;
  }
  .global-navi li.menu-item-home ,
  .global-navi li ul li {
    border-bottom:none;
  }
  .global-navi li {
    border-bottom:1px dashed #fff;
  }
  .global-navi li a .menu-item-description {
    display: block;
    font-size:1rem;
    font-weight: 300;
  }
  .global-navi li a:hover strong {
    color: #ffff;
}
.global-navi li li a strong {

  display: inline;
  position: relative;
}
div.spnav-btn {
  width: 50px;
    height: 100%;
  position: relative;
  cursor: pointer;
  transition: all .2s cubic-bezier(0.23, 1, 0.32, 1);
  z-index: 120;
  margin-right:20px;
}
div.spnav-btn .line {
  position: absolute;
  display: block;
  width: 24px;
  height: 2px;
  background: #1A3068;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
div.spnav-btn .line_01 {
  top: calc(50% - 9px);
  left: 50%;
  transform: translateX(-50%);
}
div.spnav-btn .line_03 {
  top: calc(50%);
  left: 50%;
  transform: translateX(-50%);
}
.spnav-menu {
  font-size: .8rem;
    color: #1A3068;
    font-weight: 500;
    text-align: center;
    position: absolute;
    bottom: 20%;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    line-height: 1;
}
header {
  transition: padding .5s;
}
.nav-open header {
  padding-top: 30px;
  background: rgba(255,255,255,0);
  box-shadow: 0 0 6px rgba(0,0,0,0);
}
.nav-open .spnav-menu {
  display: none;
}

.nav-open .global-navi {
  transform: translateX(0%);
	padding-bottom:5rem;
}
.nav-open div.spnav-btn .line {
  background:#fff;
}
.nav-open div.spnav-btn .line_01 {
  top: calc(50%);
  transform: rotate(45deg) translateX(-50%) translateY(-50%);
  transform-origin: 0;
	height:1px;
}
.nav-open div.spnav-btn .line_02 {
  opacity: 0;
}
.nav-open div.spnav-btn .line_03 {
  top: calc(50%);
  transform: rotate(-45deg) translateX(-50%) translateY(-50%);
  transform-origin: 0;
height:1px;
}
span.spnav-btn {
  content: '';
  display: block;
  width: 0%;
  height: 100vh;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(1px);
  position: fixed;
  top: 0;
  right: 0;
  transition: width .4s cubic-bezier(0.23, 1, 0.32, 1);
  z-index: 20;
}
.nav-open span.spnav-btn {
  width: 100%;
}
.global-navi ul .parent.subopen::before {
transform: rotate(-135deg) translateX(-50%);
}
.global-navi ul .parent ul {
  position: relative;
  flex-direction: column;
  top: inherit;
  background: rgba(0,0,0,.6);
  box-shadow: 0 0 0 0 black;
  border-radius: 0;
  left: inherit;
  transform: translateX(0%) translateY(0px);
  text-align: left;
  padding: 0px;
  visibility: visible;
  transition: .2s ease-in-out;
  max-height: 0;
  width: 100%;
  overflow: hidden;
  transition: all .4s cubic-bezier(0.23, 1, 0.32, 1);
}
.global-navi ul .parent.subopen ul {
  max-height: 100px;
  opacity: 1;
}
.global-navi ul .parent ul a {
  padding: 10px 30px;
}
.global-navi ul .menu-item:last-child {
  margin-bottom:50px;
}
.global-navi ul ul .menu-item:last-child {
  margin-bottom:0px;
}
.foot-msg-btn li {
  padding: 2rem 3rem;
}
.foot-msg-phone a {
  font-size: 3.6rem;
}
}

@media screen and (max-width:767px) {
  .forPc {
    display: none;
  }
  .forSp {
    display: block;
  }
  .container {
    padding-right:30px;
    padding-left:30px;
  }
  main {
    padding-top:50px;
  }
  header {
    height:50px;
  }
  div.spnav-btn {
    width: 50px;
  }
  .site-ttl {
    margin: 0 0 0 20px;
    flex: 0 0 150px;
    line-height: 1;
  }
  div.spnav-btn {
    margin-right: 12px;
  }
  .header-contact a {
    font-size:1.3rem;
  }
  .header-contact a::before {
    width:18px;
    height:16px;
    margin-right:10px;
  }
  .global-navi {
    position: fixed;
  }
  footer {
    padding:50px 5px 20px;
  }
  .foot-ci {
    width:22.4rem;
    margin-bottom: 2.2rem;
  }
  .foot-msg {
    margin-top: 6rem;
    margin-bottom:0;
  }
  .foot-msg-btn ul {
    flex-direction: column;
  }
  .foot-msg-phone::after {
    content:none;
  }
  .foot-msg-btn li {
    padding: 4rem 0rem;
    width: 100%;
    border-top:1px solid #707070;
  }
  .foot-msg h2 {
    font-size: 3.4rem;
    text-align: left;
    line-height: 1.6;
    display: block;
    letter-spacing: 0.2em;
  }
  .foot-msg h2::before,
  .foot-msg h2::after {
    content:none;
  }
  .foot-msg-info {
    text-align: left;
    font-size:1.2rem;
  }
  .foot-msg-info .time {
    padding-bottom:1rem;
    display: inline-block;
  }
  .foot-msg-h3 {
    font-size:1.3rem;
    text-align:left;
  }
  .foot-msg-btn li h3 {
    font-size:1.2rem;
    margin-bottom: .5rem;
  }
  .foot-msg-btn li.foot-msg-mail h3 {
    margin-bottom: 2rem;
  }
  .foot-msg-btn li.foot-msg-phone h3::before {
    width: 7px;
    height: 12px;
  }
  .foot-msg-btn li.foot-msg-mail h3::before {
    width: 12px;
    height: 8px;
  }
  .foot-msg-phone .phone span {
    font-size: 2rem;
  }
  .foot-msg-phone a {
    font-size: 3.5rem;
  }
  .foot-msg-btn .foot-msg-phone {
    align-items: center;
  }
  .foot-msg-btn .foot-msg-mail {
    align-items: center;
  }
  .foot-msg-mail .mail a {
    box-shadow: 2px 2px 5px rgba(0,0,0,.1);
    font-size:1.2rem;
  }
  .scrolltop {
    display: none;
  }
  .footer-wrap .row {
    flex-direction:column-reverse;
  }
  .foot-navi-inner {
    flex-direction: column;
    border-bottom:1px dashed #fff;
  }
  .foot-navi ul {
    margin: 0;
  }
  .foot-navi ul li {
    border-top:1px dashed #fff;
    margin-bottom:0;
  }
  .foot-navi ul ul {
    margin-bottom:2rem;
    margin-left:1.5em;
    display: none;
  }
  .foot-navi ul ul li {
    border-top:0px;
  }
  .foot-navi ul a {
    padding:2rem 0;
    display: block;
	text-decoration:none;
	font-size:1.4rem;
  }
  .foot-navi ul ul a {
    padding:1rem 0;
	font-size: 1.2rem;
  }
  .foot-navi ul ul a::before {
	    content: '-';
    margin-right: .4rem;
    display: inline;
  }
  .foot-navi ul ul {
    margin-top:0;
  }
  .fn-parent {
    position: relative;
  }
  .foot-navi .fn-parent > a {
    padding-right:70px;
  }
  .fn-subbtn {
    position: absolute;
    right:0;
    top:0;
    width:62px;
    height: 62px;
    display: block;
  }
  .fn-subbtn::before {
    content:'';
    display: inline-block;
    width:15px;
    height: 1px;
    background: #fff;
    position: absolute;
    top:50%;
    right:0%;
  }
  .fn-subbtn::after {
    content:'';
    display: inline-block;
    width:1px;
    height: 15px;
    background: #fff;
    position: absolute;
    top:50%;
    right:7px;
    transform:translateY(-50%);
  }
  .fn-subbtn.subopen::after {
    display: none;
  }
  .foot-navi ul ul li::before {
    content:none;
  }
  .foot-navi {
    margin-bottom: 5rem;
  }
  .foot-address address {
    margin-bottom: .5rem;
  }
  .copyright {
    text-align: center;
  }.foot-msg-info .calendar {
  margin-left:0rem;
}
}