@charset "UTF-8";
/* Googleフォント　Noto Sans,Robot,Open Sans */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url(https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800);
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cabin:wght@400;500;600;700&display=swap");
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
/*****************************************************

 SCSS用
 
*****************************************************/
/*****************************************************

 Telリンク制御　※レスポンシブ
 
*****************************************************/
@media (min-width: 668px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
/*****************************************************

 404
 
*****************************************************/
.not_found_container {
  width: 100%;
  padding: 80px 0; }
  .not_found_container > p {
    font-size: 16px;
    color: #333;
    padding: 30px 0; }
    .not_found_container > p span {
      color: #de0515;
      display: block; }

/*****************************************************

 Common - Layout
 
*****************************************************/
html {
  font-size: 16px; }

body {
  position: relative;
  width: auto;
  height: auto;
  background: #fff;
  z-index: 0;
  color: #333333;
  font-size: 1rem;
  font-family: 'Noto Sans JP', sans-serif, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif , serif;
  font-weight: normal;
  line-height: 1.65;
  letter-spacing: 1px; }

.inner {
  width: 1120px;
  margin: 0 auto;
  position: relative;
  text-align: justify; }

.inner_wide {
  width: 1440px;
  margin: 0 auto;
  position: relative;
  text-align: justify; }

.sp_menu {
  position: absolute;
  top: 20px;
  right: 20px; }
  .sp_menu i {
    font-size: 36px;
    color: #FFF; }

h1:not(#top_h1) {
  font-size: 30px;
  color: #fff;
  font-weight: bold; }
  h1:not(#top_h1) span {
    display: block;
    font-family: 'Cabin', sans-serif;
    font-weight: 600;
    font-size: 70px;
    color: #ee8a1e;
    margin-bottom: -20px; }

h2 {
  font-family: 'Cabin', sans-serif;
  font-weight: 700;
  font-size: 48px;
  letter-spacing: 2px;
  color: #ed2121; }
  h2 span {
    display: block;
    margin-top: 10px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    color: #1f5ab2;
    font-weight: bold;
    letter-spacing: normal; }

h3 {
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
  font-size: 24px; }

section {
  padding: 80px 0;
  position: relative; }
  section:last-of-type {
    padding: 80px 0 120px; }

img {
  width: 100%;
  height: auto;
  max-width: 100%; }

.ofcimage {
  object-fit: cover;
  font-family: 'object-fit:cover;'; }

.txt_indent {
  padding-left: 16px;
  text-indent: -16px; }

.link_btn {
  display: block;
  width: 364px;
  margin: 40px auto;
  box-sizing: border-box;
  padding: 16px 20px;
  position: relative;
  background: #1f4884;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
  font-size: 16px;
  color: #fff;
  margin-bottom: 30px;
  text-decoration: none;
  transition: .2s;
  border: 2px solid #1f4884; }
  .link_btn::after {
    position: absolute;
    top: 15px;
    right: 15px;
    content: "\f0da";
    font-family: 'Font Awesome 5 free';
    color: #ffffff;
    font-size: 18px;
    font-weight: 900; }
  .link_btn:hover {
    background: #fff;
    color: #1f4884;
    transition: .2s; }
    .link_btn:hover::after {
      color: #1f4884; }

@media screen and (min-width: 896px) {
  .pc_none {
    display: none !important; } }
@media screen and (max-width: 896px) {
  h1:not(#top_h1) {
    font-size: 24px; }
    h1:not(#top_h1) span {
      font-size: 40px; }

  h2 span {
    margin-top: 0; }

  h3 {
    font-size: 21px; }

  section {
    padding: 60px 0; }
    section:last-of-type {
      padding: 60px 0 100px; }

  .sp_none {
    display: none !important; }

  .inner_wide, .inner {
    width: 90%;
    margin: 0 auto;
    padding: 0; }

  .sp_menu {
    position: absolute;
    top: 16px;
    right: 16px; }
    .sp_menu i {
      font-size: 30px;
      color: #0573DD; }

  .link_btn {
    width: 100%; }

  .mm-listitem > a {
    font-weight: bold;
    padding: 20px 10px 20px 20px !important;
    color: #333 !important; }

  #mm-1 > ul > li:nth-child(6) > a {
    background: #383435;
    color: #FFF !important;
    width: 80%;
    margin: 0 auto; }

  #mm-1 > ul > li:nth-child(6) {
    margin-top: 20px; }

  #mm-1 > ul > li:nth-child(6)::after {
    border: none; }

  #mm-1 > ul > li:nth-child(7) > a {
    background: #d34471;
    color: #FFF !important;
    width: 80%;
    margin: 10px auto 0; } }
@media print {
  .pc_none {
    display: none !important; }

  .sp_none {
    display: none !important; } }
/*****************************************************

 Header
 
*****************************************************/
.global_header {
  width: 100%;
  padding: 20px 0;
  height: 56px;
  position: fixed;
  z-index: 1; }

.global_nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 40px;
  box-sizing: border-box;
  z-index: 1; }
  .global_nav a {
    text-decoration: none;
    text-shadow: 0px 0px 5px white;
    margin-right: 50px;
    letter-spacing: 1px;
    font-family: 'Noto Serif JP', serif;
    font-size: 16px;
    color: #000;
    font-weight: 700; }
    .global_nav a:last-of-type {
      margin-right: 0; }

.cover_header {
  width: 100%;
  height: 60px;
  position: fixed;
  top: -60px;
  left: 0;
  background: rgba(255, 255, 255, 0.6);
  z-index: -1; }

/*****************************************************

 Footer
 
*****************************************************/
.footer_sitelink_wrap {
  width: 100%;
  background: #1f5ab2;
  padding: 40px 0;
  box-sizing: border-box;
  border-bottom: 1px solid #1f4884; }
  .footer_sitelink_wrap .footer_sitelink_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; }
    .footer_sitelink_wrap .footer_sitelink_container a {
      text-decoration: none;
      padding: 0 76px;
      letter-spacing: 1px;
      font-family: 'Noto Serif JP', serif;
      font-size: 16px;
      color: #fff;
      font-weight: 500;
      position: relative; }
      .footer_sitelink_wrap .footer_sitelink_container a::after {
        content: '';
        display: inline-block;
        width: 1px;
        height: 40px;
        background: #1f4884;
        position: absolute;
        top: -6px;
        right: 0; }
      .footer_sitelink_wrap .footer_sitelink_container a:first-of-type {
        padding: 0 76px 0 0; }
      .footer_sitelink_wrap .footer_sitelink_container a:last-of-type {
        padding: 0 0 0 76px; }
        .footer_sitelink_wrap .footer_sitelink_container a:last-of-type::after {
          display: none; }

.footer_externallink_wrap {
  width: 100%;
  background: #1f5ab2;
  padding: 50px 0 80px;
  box-sizing: border-box; }
  .footer_externallink_wrap .footer_externallink_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start; }
    .footer_externallink_wrap .footer_externallink_container .footer_externallink_item p:nth-of-type(1) {
      font-family: 'Cabin', sans-serif;
      font-size: 42px;
      line-height: 46px;
      color: #222;
      letter-spacing: 1.5px;
      font-weight: 600; }
    .footer_externallink_wrap .footer_externallink_container .footer_externallink_item p:nth-of-type(2) {
      font-size: 16px;
      line-height: 30px;
      color: #222;
      margin-top: 36px; }
      .footer_externallink_wrap .footer_externallink_container .footer_externallink_item p:nth-of-type(2) > a {
        text-decoration: none;
        color: #222; }
    .footer_externallink_wrap .footer_externallink_container .footer_externallink_item p:nth-of-type(3) {
      font-size: 16px;
      color: #1f4884;
      margin-top: 50px; }
    .footer_externallink_wrap .footer_externallink_container .footer_externallink_item > a {
      display: block;
      width: 320px;
      height: 60px;
      box-sizing: border-box;
      padding: 16px 20px;
      position: relative;
      background: #1f4884;
      box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
      font-size: 16px;
      color: #fff;
      margin-bottom: 30px;
      text-decoration: none;
      transition: .2s;
      border: 2px solid #1f4884; }
      .footer_externallink_wrap .footer_externallink_container .footer_externallink_item > a::after {
        font-family: 'Font Awesome 5 free';
        content: '\f35d';
        font-weight: 900;
        color: #FFF;
        position: absolute;
        top: 16px;
        right: 20px; }
      .footer_externallink_wrap .footer_externallink_container .footer_externallink_item > a:hover {
        background: #fff;
        color: #1f4884;
        transition: .2s; }
        .footer_externallink_wrap .footer_externallink_container .footer_externallink_item > a:hover::after {
          color: #1f4884; }
      .footer_externallink_wrap .footer_externallink_container .footer_externallink_item > a:nth-of-type(4) {
        font-size: 15px; }
    .footer_externallink_wrap .footer_externallink_container .footer_externallink_item:nth-of-type(1) {
      width: 28.78%; }
    .footer_externallink_wrap .footer_externallink_container .footer_externallink_item:nth-of-type(2) {
      width: 61.25%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start; }

@media screen and (max-width: 896px) {
  .footer_sitelink_wrap {
    padding: 40px 0 0; }

  .footer_sitelink_wrap .footer_sitelink_container a {
    padding: 0;
    width: 26%;
    margin-bottom: 20px; }

  .footer_sitelink_wrap .footer_sitelink_container a:first-of-type, .footer_sitelink_wrap .footer_sitelink_container a:last-of-type {
    padding: 0; }
    .footer_sitelink_wrap .footer_sitelink_container a:first-of-type::after, .footer_sitelink_wrap .footer_sitelink_container a:last-of-type::after {
      display: inline-block; }

  .footer_externallink_wrap {
    padding: 20px 0 40px; }

  .footer_externallink_wrap .footer_externallink_container {
    flex-direction: column-reverse; }

  .footer_externallink_wrap .footer_externallink_container .footer_externallink_item:nth-of-type(1), .footer_externallink_wrap .footer_externallink_container .footer_externallink_item:nth-of-type(2) {
    width: 100%; }

  .footer_externallink_wrap .footer_externallink_container .footer_externallink_item > a {
    width: 100%;
    margin-bottom: 20px; }
    .footer_externallink_wrap .footer_externallink_container .footer_externallink_item > a:last-of-type {
      margin-bottom: 40px; } }
/* page-top
----------------------------------------------------*/
.page-top {
  position: fixed;
  bottom: 20px;
  right: 20px; }
  .page-top p {
    text-align: center;
    display: block;
    border-radius: 50%;
    height: 60px;
    width: 60px;
    background: #1f5ab2;
    color: #FFF;
    opacity: 0.5;
    transition: all  0.5s ease; }
  .page-top a {
    text-decoration: none;
    background: #1f5ab2;
    color: #FFF; }
    .page-top a:hover {
      text-decoration: none; }
    .page-top a p:hover {
      opacity: 1;
      transition: all  0.5s ease; }
    .page-top a i {
      margin-top: 13px;
      font-size: 35px; }

/* copyright
----------------------------------------------------*/
.copyright_container {
  width: 100%;
  height: 70px;
  text-align: center;
  background: #7F0000; }
  .copyright_container p {
    font-size: 14px;
    color: #FFF;
    line-height: 70px; }
    .copyright_container p::before {
      font-family: FontAwesome;
      content: '\f1f9';
      padding-right: 5px;
      font-weight: 900;
      color: #FFF; }

/*****************************************************

 アーカイブページ
 
*****************************************************/
/* ページャー
----------------------------------------------------*/
.pager {
  padding: 80px 0;
  width: 100%;
  position: relative;
  text-align: center; }
  .pager .page-numbers {
    display: inline-block;
    margin: 12px 0 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    padding: 0;
    font-size: 16px;
    border: 2px #004898 solid;
    color: #004898;
    background: #fff;
    transition: .3s; }
    .pager .page-numbers:hover {
      background: #FFF;
      border: 2px #0E6B9E solid;
      color: #FF7300;
      opacity: 1;
      transition: .3s; }
  .pager a {
    text-decoration: none; }
  .pager .current {
    background: #004898;
    border: 2px #004898 solid;
    color: #FFF; }

/*****************************************************

 シングルページ
 
*****************************************************/
/* エディター内装飾
----------------------------------------------------*/
.editor_area {
  width: 100%;
  margin: 20px 0; }
  .editor_area img {
    max-width: 100%;
    margin: 20px 0;
    border: none !important; }
  .editor_area p {
    margin-top: 16px;
    font-size: 16px;
    color: #444;
    word-break: break-all; }
  .editor_area strong {
    font-weight: 700; }
  .editor_area em {
    font-style: italic; }
  .editor_area ul {
    margin-top: 24px;
    list-style: disc;
    padding-left: 4.2rem; }
    .editor_area ul li {
      margin-top: 8px; }
      .editor_area ul li:first-child {
        margin-top: 0; }
  .editor_area ol {
    margin-top: 24px;
    list-style: decimal;
    padding-left: 4.2rem; }
    .editor_area ol li {
      margin-top: 8px; }
      .editor_area ol li:first-child {
        margin-top: 0; }
  .editor_area hr {
    border-top: 1px #cccccc dotted;
    margin-top: 32px;
    margin-bottom: 32px; }
  .editor_area > h4 {
    margin: 12px 0;
    color: #444;
    font-size: 16px; }
  .editor_area h3 + p, .editor_area h3 + ul, .editor_area h3 + ol {
    margin-top: 10px; }
  .editor_area h4 + p, .editor_area h4 + ul, .editor_area h4 + ol {
    margin-top: 10px; }
  .editor_area a {
    /*text-decoration: none;*/
    color: #DE0515;
    font-size: 16px;
    margin: 10px 0; }
  .editor_area blockquote {
    position: relative;
    padding: 30px 15px 8px 15px;
    box-sizing: border-box;
    font-style: italic;
    background: #efefef;
    color: #555;
    width: 80%;
    margin: 30px auto; }
    .editor_area blockquote:before {
      display: inline-block;
      position: absolute;
      top: 13px;
      left: 15px;
      content: "\f10d";
      font-family: FontAwesome;
      color: #cfcfcf;
      font-size: 28px;
      line-height: 1;
      font-weight: 900; }
    .editor_area blockquote p {
      padding: 0;
      margin: 10px 0;
      line-height: 1.7; }
    .editor_area blockquote cite {
      display: block;
      text-align: right;
      color: #888888;
      font-size: 0.9em; }

/*****************************************************

 フォーム
 
*****************************************************/
.contactform_container {
  width: 80%;
  margin: 100px auto 0; }
  .contactform_container p {
    font-size: 16px;
    text-align: center; }
  .contactform_container table {
    width: 100%;
    margin-top: 50px;
    table-layout: fixed; }
    .contactform_container table tr:last-child th {
      border-bottom: none;
      vertical-align: top; }
    .contactform_container table tr:last-child td {
      border-bottom: none; }
    .contactform_container table th {
      width: 30%;
      border-bottom: 1px solid #004BB4;
      font-size: 16px;
      color: #333;
      padding: 26px 0; }
      .contactform_container table th span {
        font-size: 14px;
        color: #FFF;
        text-align: center;
        padding: 2px 15px;
        background: #dd3128;
        margin-right: 30px; }
      .contactform_container table th .multi_line {
        display: inline-block;
        vertical-align: middle; }
    .contactform_container table td {
      /*width:70%;*/
      border-bottom: 1px solid #ccc;
      font-size: 16px;
      color: #333;
      padding: 20px 40px;
      box-sizing: border-box; }
    .contactform_container table .optionalicon {
      font-size: 14px;
      color: #2D4675;
      text-align: center;
      padding: 2px 15px;
      background: #ABD8FF;
      border-radius: 12px;
      margin-right: 30px; }

.agreementicon {
  font-size: 14px;
  color: #FFF;
  text-align: center;
  padding: 2px 14px;
  background: #dd3128;
  /*margin-right:20px;*/ }

.confirm_box {
  width: 100%;
  margin: 0 auto;
  display: block;
  border: 1px solid #ffFF00;
  background: #F9A638;
  color: #FFF;
  padding: 10px;
  box-sizing: border-box; }

.policy_title {
  font-size: 21px !important;
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  color: #333;
  padding: 10px 0 0;
  text-align: center; }

.privacypolicy {
  box-sizing: border-box;
  position: relative;
  width: 88%;
  height: 300px;
  margin: 24px auto;
  padding: 24px;
  border: 1px #CCCCCC solid;
  background: #efefef;
  overflow-y: scroll;
  text-align: left !important; }
  .privacypolicy p {
    text-align: left !important; }
  .privacypolicy h4 {
    margin: 40px 0 20px;
    font-size: 16px;
    font-weight: bold; }
    .privacypolicy h4:first-child {
      margin-top: 0; }

.privacypolicy::-webkit-scrollbar {
  width: 8px; }

.privacypolicy::-webkit-scrollbar-track {
  background: #ccc; }

.privacypolicy::-webkit-scrollbar-thumb {
  background: #999; }

/*PHP版フォームのスタイル*/
#formWrap {
  padding: 80px 0; }
  #formWrap h3 {
    margin-bottom: 40px; }

.form_table {
  width: 90%;
  margin: 40px auto; }
  .form_table th {
    width: 30%;
    border-bottom: 1px solid #0A1F54;
    font-size: 16px;
    color: #333;
    padding: 26px 20px;
    box-sizing: border-box;
    text-align: center; }
  .form_table td {
    width: 70%;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
    color: #333;
    padding: 20px 40px;
    box-sizing: border-box; }

.form_h3 {
  box-sizing: border-box; }

.form_section {
  padding: 120px 0 80px; }

.form_to_top {
  text-decoration: none;
  margin: 50px auto;
  display: block;
  text-align: center;
  background: #DB621D;
  font-weight: 300;
  font-size: 16px;
  color: #FFF;
  padding: 10px 0;
  width: 30%;
  height: auto; }

@media screen and (max-width: 668px) {
  .contactform_container {
    width: 90%;
    margin: 0 auto; }

  .contact_phone_container span {
    font-size: 24px; }

  .privacypolicy {
    width: 100%; }

  .contactform_container table th {
    width: 100%;
    display: block; }

  .contactform_container table td {
    width: 100%;
    display: block;
    padding: 20px 0; }

  .contactform_container table tr:last-child th {
    border-bottom: 1px solid #22658c; }

  .contactform_container table tr:nth-of-type(1) td, .contactform_container table tr:nth-of-type(2) td {
    flex-direction: column; }

  .contactform_container table tr:nth-of-type(1) td div, .contactform_container table tr:nth-of-type(2) td div {
    width: 80%;
    margin-bottom: 15px; }

  .contactform_container table:nth-of-type(2) tr:nth-of-type(1) td div::before, .contactform_container table:nth-of-type(2) tr:nth-of-type(2) td div::before {
    width: 90px; }

  .form_table th {
    width: 100%;
    display: block;
    text-align: left;
    border-bottom: none;
    padding: 20px 20px 0; }

  .form_table td {
    width: 100%;
    display: block;
    padding: 20px; }

  .form_to_top {
    margin: 20px auto;
    width: 80%; } }
/* フォーム装飾
----------------------------------------------------*/
input[type="text"], input[type="tel"], input[type="email"], textarea, select {
  -webkit-appearance: none;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  padding: 15px;
  background: #f7f7f7;
  border-radius: 3px;
  transition: all .3s; }
  input[type="text"].w100, input[type="tel"].w100, input[type="email"].w100, textarea.w100, select.w100 {
    width: 98%; }
  input[type="text"].w80, input[type="tel"].w80, input[type="email"].w80, textarea.w80, select.w80 {
    width: 80%; }
  input[type="text"].w60, input[type="tel"].w60, input[type="email"].w60, textarea.w60, select.w60 {
    width: 60%; }
  input[type="text"].w40, input[type="tel"].w40, input[type="email"].w40, textarea.w40, select.w40 {
    width: 40%; }
  input[type="text"].w30, input[type="tel"].w30, input[type="email"].w30, textarea.w30, select.w30 {
    width: 30%; }

input[type="checkbox"] {
  padding: 10px 12px;
  background: #efefef;
  transition: all .3s;
  width: 25px;
  height: 25px;
  vertical-align: bottom; }

input[type="file"] {
  padding: 10px 0;
  transition: all .3s; }

/*input[type="text"]:focus , input[type="tel"]:focus , input[type="email"]:focus , textarea:focus {
  box-shadow: 0 0 4px #86BBCD;
  border: 1px solid #86BBCD;
}*/
input[type="radio"] {
  width: 18px;
  height: 18px;
  vertical-align: middle; }

textarea {
  height: 160px;
  margin-bottom: 20px;
  margin-left: 10px; }

::-webkit-input-placeholder {
  color: #cccccc; }

::-moz-placeholder {
  color: #cccccc; }

:-ms-input-placeholder {
  color: #cccccc; }

input[type="submit"] {
  text-decoration: none;
  margin: 40px auto 0;
  display: block;
  text-align: center;
  background: #1f5ab2;
  font-weight: 300;
  font-size: 16px;
  color: #FFF;
  padding: 16px 0;
  width: 40%;
  height: auto;
  transition: .3s;
  position: relative;
  cursor: pointer; }
  input[type="submit"]:hover {
    opacity: 0.7;
    transition: .3s; }

input[type="button"] {
  text-decoration: none;
  margin: 30px auto 0;
  display: block;
  text-align: center;
  background: #FFF;
  border: 1px solid #1f5ab2;
  font-weight: 300;
  font-size: 16px;
  color: #333;
  padding: 16px 0;
  width: 40%;
  height: auto;
  transition: .3s;
  position: relative;
  cursor: pointer; }

@media screen and (max-width: 668px) {
  input[type="button"] {
    width: 80%; }

  input[type="submit"] {
    width: 80%; }

  input[type="text"], input[type="tel"], input[type="email"], textarea, select {
    background: #efefef; }

  input[type="text"].w40, input[type="tel"].w40, input[type="email"].w40, textarea.w40, select.w40 {
    width: 100%;
    margin: 0; }

  input[type="text"].w60, input[type="tel"].w60, input[type="email"].w60, textarea.w60, select.w60 {
    width: 100%;
    margin: 0; }

  input[type="text"].w80, input[type="tel"].w80, input[type="email"].w80, textarea.w80, select.w80 {
    width: 100%;
    margin: 0; }

  input[type="text"].w100, input[type="tel"].w100, input[type="email"].w100, textarea.w100, select.w100 {
    width: 100%;
    margin: 0; }

  textarea {
    margin-left: 0; }

  input[type="file"] {
    font-size: 14px; } }
/*****************************************************

 HOME
 
*****************************************************/
/* main_cover
----------------------------------------------------*/
.main_cover {
  width: 100%;
  height: 760px;
  background: url("../images/home/main_cover.jpg") right/auto no-repeat;
  margin-bottom: 60px; }
  .main_cover .main_txt {
    padding: 150px 0 0 60px;
    box-sizing: border-box; }
    .main_cover .main_txt h1 {
      display: block;
      margin: 0 0 60px;
      font-family: 'Cabin', sans-serif;
      font-size: 72px;
      line-height: 86px;
      color: #222;
      letter-spacing: 1.5px;
      font-weight: 600; }
      .main_cover .main_txt h1 span {
        display: block;
        width: 440px;
        background: #1f5ab2;
        padding: 16px 40px 16px 30px;
        box-sizing: border-box;
        border-left: 10px solid #ed2121;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 16px;
        color: #fff;
        font-weight: 500;
        margin-top: 80px;
        line-height: normal;
        letter-spacing: 0; }
    .main_cover .main_txt p {
      font-size: 48px;
      letter-spacing: 0.5px;
      font-family: 'Noto Serif JP', serif;
      color: #222;
      font-weight: 600; }

@media screen and (max-width: 896px) {
  .main_cover {
    height: 380px;
    background: url("../images/home/main_cover.jpg") -20%/cover no-repeat; }

  .main_cover .main_txt {
    padding: 60px 0 0; }

  .main_cover .main_txt h1 {
    font-size: 38px;
    line-height: 50px;
    margin: 0 0 30px; }
    .main_cover .main_txt h1 span {
      width: 100%;
      font-size: 14px;
      margin-top: 20px;
      padding: 8px 10px 8px 10px;
      border-left: 5px solid #ed2121; }

  .main_cover .main_txt p {
    font-size: 28px; } }
/* section共通
----------------------------------------------------*/
.frontpage > section:nth-of-type(1)::after {
  content: '';
  background-color: #f5f6f7;
  width: calc(((100vw - 1000px) / 2) + 950px + 30px);
  height: 600px;
  position: absolute;
  top: 120px;
  left: 0;
  z-index: -1;
  pointer-events: none;
  border-bottom-right-radius: 300px;
  border-top-right-radius: 300px; }

.frontpage > section:nth-of-type(2) {
  margin-top: 160px; }
  .frontpage > section:nth-of-type(2)::after {
    content: '';
    background-color: #f5f6f7;
    width: calc(((100vw - 1000px) / 2) + 950px + 30px);
    height: 600px;
    position: absolute;
    top: 0px;
    right: 0;
    z-index: -1;
    pointer-events: none;
    border-bottom-left-radius: 300px;
    border-top-left-radius: 300px; }

.frontpage > section:nth-of-type(3) {
  height: auto;
  background: url("../images/home/philosophy_bk.jpg") center/cover no-repeat;
  padding: 0 0 80px;
  box-sizing: border-box; }

.frontpage > section:nth-of-type(4), .frontpage > section:nth-of-type(5) {
  height: auto;
  z-index: 0; }
  .frontpage > section:nth-of-type(4)::after, .frontpage > section:nth-of-type(5)::after {
    content: '';
    background-color: #f5f6f7;
    width: calc(((100vw - 410px) / 2) + 30px);
    height: 230px;
    position: absolute;
    top: 80px;
    left: 0;
    z-index: -1;
    pointer-events: none;
    border-bottom-right-radius: 135px;
    border-top-right-radius: 135px; }

.frontpage > section:nth-of-type(4) {
  background: url("../images/home/overview_bk.jpg") left bottom/auto no-repeat; }

/*#main_content > section:nth-of-type(5) {background:url("../images/home/history_bk.jpg") left bottom / auto no-repeat;}*/
.frontpage > section:nth-of-type(6)::after {
  content: '';
  background: url("../images/home/recruit_top_bk.jpg") center/cover no-repeat;
  width: calc(((100vw - 1000px) / 2) + 950px + 30px);
  height: 547px;
  position: absolute;
  top: 120px;
  left: 0;
  z-index: -1;
  pointer-events: none;
  border-bottom-right-radius: 300px;
  border-top-right-radius: 300px; }

@media screen and (max-width: 896px) {
  .frontpage > section:nth-of-type(1)::after {
    width: 90%;
    top: 0; }

  .frontpage > section:nth-of-type(4)::after, .frontpage > section:nth-of-type(5)::after {
    width: 90%;
    top: 60px; }

  .frontpage > section:nth-of-type(2) {
    margin-top: 0; }
    .frontpage > section:nth-of-type(2)::after {
      width: 90%; }

  .frontpage > section:nth-of-type(4) {
    background: url("../images/home/overview_bk.jpg") center/auto no-repeat; }

  .frontpage > section:nth-of-type(5) {
    background: url("../images/home/history_bk.jpg") center bottom/100% no-repeat; }

  .frontpage > section:nth-of-type(6)::after {
    background: url("../images/home/recruit_top_bk.jpg") 30%/cover no-repeat;
    width: 90%;
    top: 60px; } }
/* MESSAGE
----------------------------------------------------*/
.message_container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; }
  .message_container .h2_container {
    margin: 60px; }
  .message_container .message_item {
    width: 730px; }
    .message_container .message_item figure {
      width: 100%; }
    .message_container .message_item p {
      margin-top: 40px;
      font-size: 16px;
      color: #222;
      line-height: 31px; }

@media screen and (max-width: 896px) {
  .message_container .h2_container {
    margin: 0 0 40px; } }
/* SERVICES
----------------------------------------------------*/
.services_container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start; }
  .services_container .h2_container {
    margin-right: 60px; }
    .services_container .h2_container > h2 {
      margin: 52px; }
  .services_container .services_item {
    width: 332px;
    margin-bottom: 60px;
    margin-right: 60px;
    position: relative;
    z-index: 0;
    transition: .3s; }
    .services_container .services_item > a {
      text-decoration: none;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1; }
    .services_container .services_item figure {
      width: 100%; }
    .services_container .services_item h3 {
      position: relative;
      margin-bottom: 14px;
      padding-bottom: 14px;
      text-align: center;
      color: #1f5ab2; }
      .services_container .services_item h3::after {
        content: '';
        display: inline-block;
        width: 250px;
        height: 1px;
        background: #72b2e8;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0 auto; }
    .services_container .services_item p {
      text-align: center;
      font-family: 'Noto Serif JP', serif;
      font-weight: 600;
      font-size: 16px;
      color: #333;
      line-height: 36px; }
      .services_container .services_item p a {
        text-decoration: none;
        color: #333;
        transition: .2s; }
        .services_container .services_item p a:hover {
          text-decoration: underline;
          transition: .2s; }
    .services_container .services_item:nth-of-type(3), .services_container .services_item:nth-of-type(6) {
      margin-right: 0; }

@media screen and (max-width: 896px) {
  .services_container .h2_container {
    margin-bottom: 40px; }

  .services_container .h2_container > h2 {
    margin: 0; }

  .services_container .services_item {
    margin: 0 auto 40px; }
    .services_container .services_item:nth-of-type(3), .services_container .services_item:nth-of-type(6) {
      margin-right: auto; }

  .services_container .services_item p {
    font-size: 14px;
    line-height: 28px; } }
/* PHILOSOPHY
----------------------------------------------------*/
.philosophy_wrap > .h2_container {
  padding-left: 60px;
  margin-bottom: 30px; }
.philosophy_wrap .philosophy_container {
  width: 89.28%;
  margin: 40px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch; }
  .philosophy_wrap .philosophy_container > h3 {
    width: 100%;
    color: #222;
    margin-bottom: 10px; }
  .philosophy_wrap .philosophy_container > h3 + p {
    width: 100%;
    margin-bottom: 80px;
    font-size: 16px;
    color: #222; }
  .philosophy_wrap .philosophy_container .philosophy_item {
    display: flex;
    flex-direction: column;
    width: 460px;
    background: rgba(31, 90, 178, 0.8);
    box-shadow: 7px 7px 10px rgba(109, 109, 109, 0.4);
    padding: 50px 30px;
    box-sizing: border-box;
    border-radius: 8px; }
    .philosophy_wrap .philosophy_container .philosophy_item > h3 {
      color: #fff;
      margin-bottom: 40px;
      padding-bottom: 20px;
      position: relative; }
      .philosophy_wrap .philosophy_container .philosophy_item > h3::after {
        content: '';
        display: block;
        width: 100px;
        height: 2px;
        background: #ff6d45;
        position: absolute;
        bottom: 0;
        left: 0; }
    .philosophy_wrap .philosophy_container .philosophy_item > h3 + p {
      flex: 1;
      font-family: 'Noto Serif JP', serif;
      font-size: 24px;
      color: #fff;
      font-weight: 600;
      margin-bottom: 40px; }

@media screen and (max-width: 896px) {
  .philosophy_wrap > .h2_container {
    padding-left: 0; }

  .philosophy_wrap .philosophy_container {
    width: 100%; }

  .philosophy_wrap .philosophy_container > h3 + p {
    margin-bottom: 40px; }

  .philosophy_wrap .philosophy_container .philosophy_item {
    padding: 30px; }

  .philosophy_wrap .philosophy_container .philosophy_item:first-of-type {
    margin-bottom: 40px; }

  .philosophy_wrap .philosophy_container .philosophy_item > h3 {
    margin-bottom: 20px; }

  .philosophy_wrap .philosophy_container .philosophy_item > h3 + p {
    margin-bottom: 0; } }
/* OVERVIEW
----------------------------------------------------*/
.overview_container, .history_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; }
  .overview_container .h2_container, .history_container .h2_container {
    margin: 60px; }

.overview_container .overview_item {
  width: 62.5%; }
  .overview_container .overview_item table {
    border-collapse: collapse;
    table-layout: fixed; }
    .overview_container .overview_item table tr {
      border-bottom: 1px solid #282c3c; }
    .overview_container .overview_item table th {
      width: 30%;
      padding: 20px 0;
      font-family: 'Noto Serif JP', serif;
      font-size: 16px;
      color: #282c3c;
      font-weight: 700; }
    .overview_container .overview_item table td {
      width: 70%;
      padding: 20px 0;
      font-size: 16px;
      color: #282c3c; }
      .overview_container .overview_item table td a {
        text-decoration: none;
        color: #282c3c; }

.history_container .history_item {
  width: 62.5%;
  padding-top: 80px; }
  .history_container .history_item .timeline_container {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start; }
    .history_container .history_item .timeline_container .year_item {
      width: 32%;
      padding: 0 10px;
      box-sizing: border-box;
      text-align: center;
      position: relative;
      font-family: 'Noto Serif JP', serif;
      font-size: 36px;
      color: #282c3c;
      font-style: italic;
      font-weight: 600; }
      .history_container .history_item .timeline_container .year_item::after {
        content: '';
        background: #ff6d45;
        border-radius: 50%;
        display: block;
        width: 20px;
        height: 20px;
        position: absolute;
        right: -11px;
        top: 18px;
        z-index: 1; }
    .history_container .history_item .timeline_container .year_content {
      width: 76%;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: flex-start;
      padding: 10px 20px 30px 60px;
      box-sizing: border-box;
      position: relative;
      text-align: left; }
      .history_container .history_item .timeline_container .year_content p:nth-of-type(odd) {
        font-family: 'Noto Serif JP', serif;
        font-size: 18px;
        color: #1d6eaa;
        font-weight: 700;
        margin-right: 20px; }
      .history_container .history_item .timeline_container .year_content p:nth-of-type(even) {
        width: 80%;
        font-family: 'Noto Serif JP', serif;
        font-size: 16px;
        color: #282c3c;
        margin-bottom: 30px;
        font-weight: 600; }
      .history_container .history_item .timeline_container .year_content::before {
        content: '';
        background: #E6E6E6;
        display: block;
        height: 100%;
        top: 18px;
        left: 0;
        position: absolute;
        width: 1px;
        z-index: 0; }
    .history_container .history_item .timeline_container:last-of-type .year_content::before {
      display: none; }

@media screen and (max-width: 896px) {
  .overview_container .h2_container, .history_container .h2_container {
    margin: 60px 0; }

  .overview_container .overview_item {
    width: 100%; }

  .overview_container .overview_item table tr {
    border-bottom: none; }

  .overview_container .overview_item table th {
    width: 100%;
    display: block;
    padding: 20px 0 0; }

  .overview_container .overview_item table td {
    width: 100%;
    display: block;
    padding: 0 0 20px;
    border-bottom: 1px solid #282c3c; }

  .overview_container .overview_item table tr:last-of-type td {
    border-bottom: none; }

  .history_container .history_item {
    width: 100%;
    padding-top: 40px; }

  .history_container .history_item .timeline_container .year_item {
    width: 28%;
    padding: 8px 0;
    font-size: 24px;
    text-align: left; }

  .history_container .history_item .timeline_container .year_content > p:nth-of-type(odd) {
    margin-top: 2px; }

  .history_container .history_item .timeline_container .year_content > p:nth-of-type(even) {
    width: 100%; }

  .history_container .history_item .timeline_container .year_content {
    padding: 10px 20px; } }
/* RECRUIT
----------------------------------------------------*/
.recruit_container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; }
  .recruit_container .h2_container {
    margin: 60px; }
    .recruit_container .h2_container span {
      color: #fff; }
  .recruit_container .recruit_item {
    width: 730px;
    padding-top: 80px; }
    .recruit_container .recruit_item p {
      font-size: 16px;
      color: #fff;
      line-height: 31px;
      text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.8); }
    .recruit_container .recruit_item .recruit_btn_container {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
      padding: 120px 0; }
      .recruit_container .recruit_item .recruit_btn_container > h3 {
        display: block;
        width: 100%;
        color: #fff;
        margin-bottom: 40px;
        padding-bottom: 20px;
        position: relative; }
        .recruit_container .recruit_item .recruit_btn_container > h3::after {
          content: '';
          display: block;
          width: 100px;
          height: 2px;
          background: #ff6d45;
          position: absolute;
          bottom: 0;
          left: 0; }
      .recruit_container .recruit_item .recruit_btn_container > a {
        display: block;
        width: 50%;
        height: 48px;
        background: #1f5ab2;
        position: relative;
        line-height: 48px;
        padding: 0 20px;
        box-sizing: border-box;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        text-decoration: none;
        border: 2px solid #1f5ab2;
        transition: .2s; }
        .recruit_container .recruit_item .recruit_btn_container > a::after {
          font-family: 'Font Awesome 5 free';
          content: '\f105';
          font-weight: 900;
          color: #FFF;
          position: absolute;
          top: 0px;
          right: 20px; }
        .recruit_container .recruit_item .recruit_btn_container > a:hover {
          transition: .2s;
          color: #1f5ab2;
          background: #fff; }
          .recruit_container .recruit_item .recruit_btn_container > a:hover::after {
            color: #1f5ab2;
            transition: .2s; }

@media screen and (max-width: 896px) {
  .recruit_container .h2_container {
    margin: 40px 0; }

  .recruit_container .recruit_item {
    padding-top: 0; }

  .recruit_container .recruit_item .recruit_btn_container > a {
    width: 100%;
    margin-bottom: 20px; }
    .recruit_container .recruit_item .recruit_btn_container > a:last-of-type {
      margin-bottom: 0; }

  .recruit_container .recruit_item .recruit_btn_container {
    padding: 40px 0; } }
/*****************************************************

 下層共通
 
*****************************************************/
.lv1_cover {
  width: 100%;
  height: 547px;
  display: flex;
  justify-content: flex-start;
  align-items: center; }

.recruit::after {
  content: '';
  background: url(../images/home/recruit_top_bk.jpg) center/cover no-repeat;
  width: calc(((100vw - 1000px) / 2) + 1000px + 30px);
  height: 547px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
  border-bottom-right-radius: 300px;
  border-top-right-radius: 300px; }

@media screen and (max-width: 896px) {
  .lv1_cover {
    height: 230px; }

  .recruit::after {
    background: url(../images/home/recruit_top_bk.jpg) 30%/cover no-repeat;
    width: 90%;
    height: 230px; } }
/*****************************************************

 Recruit
 
*****************************************************/
.recruit_wrap section:nth-of-type(1) {
  padding: 80px 0 0; }
.recruit_wrap > section::after {
  content: '';
  background-color: #f5f6f7;
  width: calc(((100vw - 410px) / 2) + 30px);
  height: 230px;
  position: absolute;
  top: 80px;
  left: 0;
  z-index: -1;
  pointer-events: none;
  border-bottom-right-radius: 135px;
  border-top-right-radius: 135px; }
.recruit_wrap .h2_container {
  margin: 60px; }

.recruit_content_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; }
  .recruit_content_container .recruit_content_item {
    width: 62.5%;
    padding-top: 60px; }
    .recruit_content_container .recruit_content_item > h3 {
      display: block;
      width: 100%;
      color: #4d4d4d;
      margin-bottom: 40px;
      padding-bottom: 20px;
      position: relative; }
      .recruit_content_container .recruit_content_item > h3::after {
        content: '';
        display: block;
        width: 100px;
        height: 2px;
        background: #ff6d45;
        position: absolute;
        bottom: 0;
        left: 0; }
      .recruit_content_container .recruit_content_item > h3:nth-of-type(n+2) {
        margin-top: 100px; }
    .recruit_content_container .recruit_content_item table {
      border-collapse: collapse;
      table-layout: fixed; }
      .recruit_content_container .recruit_content_item table tr {
        border-bottom: 1px solid #282c3c; }
      .recruit_content_container .recruit_content_item table th {
        width: 24%;
        padding: 20px 0;
        font-family: 'Noto Serif JP', serif;
        font-size: 16px;
        color: #282c3c;
        font-weight: 700; }
      .recruit_content_container .recruit_content_item table td {
        width: 70%;
        padding: 20px 0;
        font-size: 16px;
        color: #282c3c; }

@media screen and (max-width: 896px) {
  .recruit_wrap > section::after {
    width: 90%;
    top: 60px; }

  .recruit_wrap .h2_container {
    margin: 0 0 60px; }

  .recruit_content_container .recruit_content_item > h3 {
    margin-top: 0; }

  .recruit_content_container .recruit_content_item {
    width: 100%;
    padding-top: 0; }

  .recruit_content_container .recruit_content_item table tr {
    border-bottom: none; }

  .recruit_content_container .recruit_content_item table th {
    width: 100%;
    display: block;
    padding: 20px 0 0; }

  .recruit_content_container .recruit_content_item table td {
    width: 100%;
    display: block;
    padding: 0 0 20px;
    border-bottom: 1px solid #282c3c; }

  .recruit_content_container .recruit_content_item table tr:last-of-type td {
    border-bottom: none; } }
/* Googleリキャプチャ
----------------------------------------------------*/
.grecaptcha-badge {
  visibility: hidden; }

.recaptcha_policy {
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 11px !important;
  color: #888 !important; }

.recaptcha_policy a {
  font-size: 11px !important;
  color: #666 !important; }
