@charset "utf-8";

/* ────────────────────── *
 *                                              *
 * 基本設定                                     *
 *                                              *
 * ────────────────────── */
 
.pc {
  display: block!important;
}
.sp {
  display: none!important;
}
html { font-size: 10px; }
body {
	font-size: 1.6rem;
  line-height: 1;
	font-family: 'Noto Sans JP', sans-serif;
}
img {
  width: 100%;
	height: auto;
}
p  { font-size: 1.6rem; } /* 16px */
li { font-size: 1.6rem; } /* 16px */
header {
  position: fixed;
  width: 100%;
  z-index: 90;
  top: 0;
  left: 0;
}
#logo {
  width: 36.2rem;
  margin-left: 3.0rem;
  padding-top: 3.0rem;
}
#h-btn {
  position: absolute;
  right: 0;
  top: 0;
  text-align: right;
}
#btn-entry,
#btn-entry-w {
  width: 16.0rem;
  position: absolute;
  top: 2.0rem;
  right: 12.0rem;
}
#gmenu {
  padding-top: 15.0rem;
  padding-left: 7.0rem;
  box-sizing: border-box;
}
#gmenu p.toggle_title,
#gmenu p.int {
  width: 13.2rem;
  margin-bottom: 2.0rem;
}
#gmenu ul,
#gmenu .int{
  margin-bottom: 5.0rem;
  display: block;
}
#gmenu ul {
  margin-left: 2.0rem;
}

#gmenu ul li {
  position: relative;
  margin-bottom: 2.0rem;
}
#gmenu ul li:before {
  content :'-';
  color: #fff;
  position: absolute;
  left: 0;
  top: 0;
}
#gmenu ul li a {
  color: #fff;
  font-size: 1.6rem;
  padding-left: 1.5rem;
  transition: 0.5s;
}
#gmenu ul li a:hover {
  opacity: 0.6;
  transition: 0.5s;
  text-decoration: underline;
}
#gmenu p.int a {
  transition: 0.5s;
}
#gmenu p.int a:hover {
  opacity: 0.6;
  transition: 0.5s;
  text-decoration: underline;
}
#gmenu .gnavi-harassment {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fff;
  display: inline-block;
  margin-right: 5.0rem;
  transition: 0.5s;
}
#gmenu .gnavi-harassment:hover {
  opacity: 0.6;
  text-decoration: underline;
}
#menu {
  position: fixed;
  width: 9.0rem;
  height: 9.0rem;
  right: 0;
  top: 0;
  z-index: 999;
}
#btn-menu {
  display: block;
  position: absolute;
  width: 9.0rem;
  height: 9.0rem;
  background: #1c50a1;
  right: 0;
  top: 0;
  z-index: 999;
}
#btn-menu.active {
    background: none;
}
#btn-menu .menu-trigger,
#btn-menu .menu-trigger span {
    display: inline-block;
    -webkit-transition: all .5s;
    transition: all .5s;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#btn-menu .menu-trigger {
    width: 100%;
    height: 100%;
    position: relative;
}
#btn-menu .menu-trigger span {
    background: #fff;
    position: absolute;
    left: 2.0rem;
    height: 0.5rem;
    border-radius: 1.0rem;
}
#btn-menu .menu-trigger span:nth-of-type(1) {
    top: 2.8rem;
    width: 5.0rem;
}
#btn-menu .menu-trigger span:nth-of-type(2) {
    top: 4.2rem;
    width: 4.0rem;
}
#btn-menu .menu-trigger span:nth-of-type(3) {
    top: 5.6rem;
    width: 3.0rem;
}
#btn-menu .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(14px) rotate(-315deg);
    transform: translateY(1.4rem) rotate(-315deg);
}
#btn-menu .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}
#btn-menu .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-14px) rotate(315deg);
    transform: translateY(-1.4rem) rotate(315deg);
    width: 5.0rem;
}

#gnavi {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#003378+1,034184+58,17548c+83,1f5999+100 */
    background: #003378; /* Old browsers */
    background: -moz-linear-gradient(top, #003378 1%, #034184 58%, #17548c 83%, #1f5999 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #003378 1%,#034184 58%,#17548c 83%,#1f5999 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #003378 1%,#034184 58%,#17548c 83%,#1f5999 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003378', endColorstr='#1f5999',GradientType=0 ); /* IE6-9 */
    width: 34.0rem;
    height: 100%;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 100;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
#gnavi::-webkit-scrollbar {
  display: none; /* Chrome, Safari 対応 */
}
#gnavi.active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

#mainvisual {
  margin-bottom: 11.0rem;
}
.title {
  background: rgba(28,80,161,0.85);
  border-top-right-radius: 10.0rem;
  border-bottom-right-radius: 10.0rem;
  display: inline-block;
  margin-top: -7.0rem;
  padding: 5.0rem 13.0rem 5.0rem 11.0rem;
  box-sizing: border-box;
}
.title h1 {
  line-height: 1;
  position: relative;
/*  padding-right: 40.0rem;*/
  box-sizing: border-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  align-items: center;
}
.title h1 img {
  width: 24.8rem;
  margin-right: 4.0rem;
}
.title span {
  color: #fff;
  font-size: 2.8rem;
  font-style: normal;
/*  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 0;*/
}

/* 次のコンテンツ
-------------------------------------------*/
.next-content {
  background: url("../image/common/bg-interview@2x.png");
  backgrund-size: 2.6rem 2.6rem;
  padding: 6.0rem 0 9.0rem;
}
.next-content a {
  display: block;
}
.next-content h2 {
  width: 47.8rem;
  margin: 0 auto 5.0rem;
}
.next-content p {
  position: absolute;
  background: rgba(28,60,161,0.9);
  padding: 2.0rem 8.0rem 2.0rem 8.0rem;
  width: 100%;
  box-sizing: border-box;
  left: 0;
  bottom: 0;
  z-index: 15;
}
.next-content .bg-zoom {
  width: 110.0rem;
  padding-top: 35.0rem;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  background: #1c50a1;
}
.next-content .bg-zoom:hover:after {
  opacity: .7;
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  cursor: pointer;
}
.next-content .bg-zoom:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  z-index: 10;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

/* ────────────────────── *
 *                                              *
 * Facebook                                     *
 *                                              *
 * ────────────────────── */

#facebook {
    color: #fff;
    background: #666;
    padding: 10.0rem 0;
}
#facebook .inner {
    width: 110.0rem;
    margin: 0 auto;
    position: relative;
    display: flex;
	justify-content: space-between;
}
#facebook .inner .inner-in {
    width: 50.0rem;
}
#facebook .inner h3 {
    font-size: 5.0rem;
    font-weight: 700;
    margin-bottom: 3.0rem;
}
#facebook .inner p {
    font-size: 2.0rem;
    line-height: 1.7;
    margin-bottom: 3.0rem;
}
#facebook .inner .fb-page,
#facebook .inner .tw-page {
    width: 100%;
	height: 100%;
    display: block;
}
#facebook .inner .btn-more {
    font-family: "GenJyuuGothicX", sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    width: 480px;
    margin: 0 auto;
}
#facebook .inner .btn-more a {
    color: #1254ae;
    background: #fff;
    display: block;
    padding: 20px;
    border-radius: 12px;
    border: none;
    margin-bottom: 20px;
}
/* フッター
-------------------------------------------*/
footer {
  width: 110.0rem;
  margin: 0 auto;
  padding: 3.0rem 0 6.0rem;
}
footer #pagetop {
  width: 8.9rem;
  margin: 0 auto;
}
footer #f-menu {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
  padding: 7.0rem 0px 8.0rem;
}
footer #f-menu div p {
  line-height: 1;
  margin-bottom: 2.0rem;
  width: 12.0rem;
}
footer #f-menu div ul li {
  margin-bottom: 2.0rem;
  position: relative;
}
footer #f-menu div ul li:before {
  content :'-';
  position: absolute;
  left: 0;
  top: -0.4rem;
}
footer #f-menu div ul li a {
  font-size: 1.4rem;
  color: #000;
  display: block;
  padding-left: 1.5rem;
  transition: 0.5s;
}
footer #f-menu div p a {
  transition: 0.5s;
}
footer #f-menu div ul li a:hover {
  transition: 0.5s;
  opacity: 0.4;
  text-decoration: underline;
}
footer #f-menu div p a:hover {
  transition: 0.5s;
  opacity: 0.4;
}
footer .f-harassment {
  font-size: 1.4rem;
  color: currentColor;
  text-align: right;
  display: inline-block;
}
footer .f-harassment:hover {
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}
footer .flr {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
}
footer .fl p {
  width: 36.2rem;
  margin-bottom: 2.0rem;
}
footer .fl ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
}
footer .fl ul li {
  margin-right: 2.0rem;
  line-height: 1;
  font-size: 0;
  width: 7.2rem;
}
footer .fl ul li.sns {
  width: 2.0rem;
}
footer .fl ul li.sns a {
  transition: 0.5s;
}
footer .fl ul li.sns a:hover img {
  opacity: 0.4;
  transition: 0.5s;
}
footer .fr {
  text-align: right;
}
footer .fr ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: flex-end;
  padding: 2.0rem 0px 3.0rem;
}
footer .fr ul li {
  margin-right: 3.0rem;
}
footer .fr ul li:last-of-type {
  margin-right: 0;
}
footer .fr ul li a {
  color: #000;
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  background: url("../image/common/icon-win@2x.png") no-repeat right center;
  background-size: 1.6rem 1.1rem;
  padding-right: 2.0rem;
  transition: 0.5s;
}
footer .fr ul li a:hover {
  opacity: 0.4;
  transition: 0.5s;
}
footer .fr p {
  font-size: 1.2rem;
  line-height: 1;
}
.entry {
  margin-bottom: 8.0rem;
}
.modaal-close {
  position: absolute!important;
  background: #1c50a1!important;
  transition: 0.5;
  top: auto!important;
  bottom: 2.0rem!important;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.modaal-close:hover,
.modaal-close:hover {
  opacity: 0.5;
  transition: 0.5s;
}

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
  background: #fff!important;
}
.none {
  display: none;
}

.pagetop {
  font-family: "Josefin Sans", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #1c50a1;
  width: 9.0rem;
  aspect-ratio: 1;
  margin: 10.0rem auto 0;
  border: 1px solid currentColor;
  border-radius: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagetop::before {
  content: "";
  background: currentColor;
  width: 1px;
  height: 6.0rem;
  position: absolute;
  top: -3.5rem;
  left: 50%;
}


@media only screen and (min-width: 751px) {

  .mb00pc { margin-bottom: 0px !important; }
  .mb05pc { margin-bottom: 5px !important; }
  .mb10pc { margin-bottom: 10px !important; }
  .mb15pc { margin-bottom: 15px !important; }
  .mb20pc { margin-bottom: 20px !important; }
  .mb25pc { margin-bottom: 25px !important; }
  .mb30pc { margin-bottom: 30px !important; }
  .mb35pc { margin-bottom: 35px !important; }
  .mb40pc { margin-bottom: 40px !important; }
  .mb45pc { margin-bottom: 45px !important; }
  .mb50pc { margin-bottom: 50px !important; }
  .mb55pc { margin-bottom: 55px !important; }
  .mb60pc { margin-bottom: 60px !important; }
  .mb65pc { margin-bottom: 65px !important; }
  .mb70pc { margin-bottom: 70px !important; }
  .mb75pc { margin-bottom: 75px !important; }
  .mb80pc { margin-bottom: 80px !important; }
  .mb85pc { margin-bottom: 85px !important; }
  .mb90pc { margin-bottom: 90px !important; }
  .mb95pc { margin-bottom: 95px !important; }
  .mb100pc { margin-bottom: 100px !important; }
  .mb110pc { margin-bottom: 110px !important; }
  .mb120pc { margin-bottom: 120px !important; }
  .mb130pc { margin-bottom: 130px !important; }
  .mb140pc { margin-bottom: 140px !important; }
  .mb150pc { margin-bottom: 150px !important; }
  .mb160pc { margin-bottom: 160px !important; }
  .mb170pc { margin-bottom: 170px !important; }
  .mb180pc { margin-bottom: 180px !important; }
  .mb190pc { margin-bottom: 190px !important; }
  .mb200pc { margin-bottom: 200px !important; }

}