@charset "UTF-8";
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url(" ../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
/* reset
------------------------------------------------- */
body, div,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea,
p, blockquote, th, td, figure {
  margin: 0;
  padding: 0; }

img {
  border: 0;
  vertical-align: bottom; }

p.btm img {
  border: 0;
  vertical-align: top; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

/* html
------------------------------------------------- */
html {
  overflow-y: scroll;
  height: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 80px; }

@media (max-width: 640px) {
  html {
    scroll-padding-top: 50px; } }
/* body
------------------------------------------------- */
body {
  background: #f0f0f0;
  width: 100%;
  height: 100%;
  margin: 0;
  color: #000;
  font-size: 16px;
  line-height: 1.8;
  font-family: 'noto sans';
  _display: inline;
  _zoom: 1; }
  body .pc {
    display: block; }
  body .sp {
    display: none; }

@media (max-width: 640px) {
  body {
    min-width: 320px;
    max-width: 900px;
    font-size: 14px; }
    body img {
      width: 100%;
      height: auto; }
    body .pc {
      display: none; }
    body .sp {
      display: block; } }
/* wrapper
------------------------------------------------- */
#wrapper {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  position: relative; }

/* header
------------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 50%;
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
  transform: translateX(-50%);
  z-index: 10;
  transition: 0.5s; }
  .header__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 0 40px; }
    .header__inner--logo {
      width: 319px;
      padding: 15px 0; }
      .header__inner--logo img {
        width: 100%;
        height: auto; }
    .header__inner nav {
      width: calc(100% - 319px); }
      .header__inner nav ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: center; }
        .header__inner nav ul li {
          padding: 0 20px; }
          .header__inner nav ul li a {
            display: block;
            font-family: 'noto sans bold';
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out; }
            .header__inner nav ul li a:hover {
              color: #999;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; }
          .header__inner nav ul li:last-child {
            width: 240px;
            padding: 0 0 0 20px; }
            .header__inner nav ul li:last-child a {
              border-radius: 50px;
              background: #cc0000;
              filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.25));
              padding: 20px 0;
              text-align: center;
              color: #fff;
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              -o-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
              .header__inner nav ul li:last-child a:hover {
                background: #e72727;
                text-decoration: none;
                -moz-transition: .5s;
                -webkit-transition: .5s;
                -o-transition: .5s;
                -ms-transition: .5s;
                transition: .5s; }
  .header.change {
    background: #fff; }
    .header.change .header__inner .header__inner--logo {
      width: 250px;
      padding: 8px 0; }
    .header.change .header__inner nav {
      width: calc(100% - 250px); }
  .header.low {
    background: #fff; }

@media (min-width: 641px) and (max-width: 1180px) {
  .header__inner {
    padding: 0 10px; }
    .header__inner--logo {
      width: 250px;
      padding: 15px 0; }
    .header__inner nav {
      width: calc(100% - 250px); }
      .header__inner nav ul li {
        padding: 0 10px; }
        .header__inner nav ul li a {
          font-size: 15px; }
        .header__inner nav ul li:last-child {
          width: 160px;
          padding: 0 0 0 10px; }
          .header__inner nav ul li:last-child a {
            padding: 15px 0; } }
@media (max-width: 640px) {
  .header {
    background: #fff; }
    .header__inner {
      padding: 0 3%; }
      .header__inner--logo {
        width: 40%;
        padding: 3% 0; }
      .header__inner .menu_sp {
        width: 40px;
        margin-top: 0.5%;
        margin-left: auto; }
        .header__inner .menu_sp #panel-btn #panel-btn-icon {
          display: block;
          background: url("../img/btn_menu_sp.png") no-repeat center center/cover;
          width: 40px;
          height: 40px;
          padding: 0;
          text-indent: -9999px;
          transition: 0.3s; }
          .header__inner .menu_sp #panel-btn #panel-btn-icon.close {
            background: url("../img/btn_menu_close_sp.png") no-repeat center center/cover;
            transition: 0.3s; }
    .header .menu-box {
      display: block;
      position: fixed;
      top: 100%;
      left: 0;
      bottom: 0;
      background: #fff;
      width: 100%;
      height: 100vh;
      z-index: 9;
      overflow-y: scroll; }
      .header .menu-box:after {
        content: ""; }
      .header .menu-box .menu-box-inner {
        width: 80%;
        margin: 0 auto;
        overflow: scroll; }
        .header .menu-box .menu-box-inner .menu-box-nav {
          padding: 2% 0 10%; }
          .header .menu-box .menu-box-inner .menu-box-nav li a {
            display: block;
            border-bottom: 1px dashed #999;
            padding: 5% 0;
            font-size: 16px;
            position: relative; }
            .header .menu-box .menu-box-inner .menu-box-nav li a:after {
              content: "";
              position: absolute;
              top: 50%;
              right: 3%;
              border-top: 1px solid #333;
              border-right: 1px solid #333;
              width: 6px;
              height: 6px;
              margin-top: -3px;
              transform: rotate(45deg); }
            .header .menu-box .menu-box-inner .menu-box-nav li a:hover {
              text-decoration: none; }
        .header .menu-box .menu-box-inner .btn_entry {
          width: 90%;
          margin: 0 auto 5%; }
          .header .menu-box .menu-box-inner .btn_entry a {
            display: block;
            border-radius: 50px;
            background: #cc0000;
            filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.25));
            padding: 15px 0;
            text-align: center;
            color: #fff;
            font-size: 16px; }
            .header .menu-box .menu-box-inner .btn_entry a:hover {
              text-decoration: none; } }
/* mv
------------------------------------------------- */
.mv {
  background: url("../img/bg_mv.png") no-repeat center top;
  max-width: 1920px;
  margin: 0 auto;
  padding: 250px 0 150px; }
  .mv__inner {
    padding: 0 10%; }
    .mv__inner h2 {
      width: 58%;
      margin-bottom: 70px; }
      .mv__inner h2 img {
        width: 100%;
        height: auto; }
    .mv__inner .btn {
      width: 370px;
      margin-bottom: 30px; }
      .mv__inner .btn a {
        display: block;
        border-radius: 5px;
        background: #cc0000;
        filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.25));
        padding: 20px 0;
        text-align: center;
        color: #fff;
        font-size: 18px;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        .mv__inner .btn a:hover {
          background: #e72727;
          text-decoration: none;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }
    .mv__inner .txt {
      font-size: 30px;
      font-family: 'noto sans bold';
      line-height: 1.4; }

@media (min-width: 641px) and (max-width: 1180px) {
  .mv__inner {
    padding: 0 5%; }
    .mv__inner .btn {
      width: 300px;
      margin-bottom: 30px; }
    .mv__inner .txt {
      font-size: 24px; } }
@media (max-width: 640px) {
  .mv {
    background: none;
    max-width: 1920px;
    margin: 17% auto 0;
    padding: 0; }
    .mv__inner {
      padding: 8% 5% 5%; }
      .mv__inner h2 {
        width: 100%;
        margin: 0 auto 8%; }
      .mv__inner .btn {
        width: 70%;
        margin: 0 auto 6%; }
        .mv__inner .btn a {
          padding: 5% 0;
          font-size: 18px; }
          .mv__inner .btn a:hover {
            background: #cc0000; }
      .mv__inner .txt {
        text-align: center;
        font-size: 20px;
        line-height: 1.6; } }
.mvlow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: url("../img/bg_mv_low.jpg") no-repeat center center/cover;
  max-width: 1920px;
  min-height: 450px;
  margin: 125px auto 0;
  text-align: center; }
  .mvlow__inner {
    max-width: 1200px;
    margin: 0 auto;
    color: #fff; }
    .mvlow__inner .h2_en {
      font-size: 20px;
      letter-spacing: 0.1em; }
    .mvlow__inner h2 {
      font-size: 48px;
      line-height: 1.3; }

@media (max-width: 640px) {
  .mvlow {
    min-height: 280px;
    margin: 17% auto 0; }
    .mvlow__inner {
      max-width: 90%; }
      .mvlow__inner .h2_en {
        font-size: 14px; }
      .mvlow__inner h2 {
        font-size: 28px; } }
.bread {
  margin: 10px 0 80px; }
  .bread__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; }
    .bread__inner ul {
      display: flex;
      flex-wrap: wrap; }
      .bread__inner ul li {
        color: #000;
        font-size: 14px;
        letter-spacing: 0.1em; }
        .bread__inner ul li a {
          font-size: 14px;
          text-decoration: none; }
          .bread__inner ul li a:hover {
            text-decoration: underline; }
        .bread__inner ul li a::after {
          display: inline-block;
          content: '>';
          margin: 0 12px;
          color: #000; }

@media (max-width: 640px) {
  .bread {
    margin: 3% 0 8%; }
    .bread__inner {
      max-width: 90%;
      padding: 0; }
      .bread__inner ul li {
        font-size: 12px; }
        .bread__inner ul li a {
          font-size: 12px; } }
/* article
------------------------------------------------- */
.about {
  max-width: 1920px;
  margin: 0 auto;
  padding: 100px 0 120px; }
  .about h2 {
    margin-bottom: 60px;
    text-align: center;
    font-size: 60px;
    font-family: 'noto sans bold';
    line-height: 1.4; }
  .about__block01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto 60px;
    padding: 0 20px; }
    .about__block01 figure {
      width: 48%;
      position: relative; }
      .about__block01 figure:before {
        content: "";
        position: absolute;
        top: -300px;
        left: -100px;
        background: url("../img/img_illust01.png") no-repeat center center/cover;
        width: 185px;
        height: 400px;
        z-index: 2; }
      .about__block01 figure img {
        filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.25));
        width: 100%;
        height: auto; }
      .about__block01 figure + div {
        width: 40%; }
        .about__block01 figure + div h3 {
          margin-bottom: 50px;
          color: #974025;
          font-size: 48px;
          font-family: 'noto sans bold';
          line-height: 1.4; }
        .about__block01 figure + div p {
          margin-bottom: 20px;
          font-size: 18px;
          line-height: 1.8; }
  .about__block02 {
    background: url("../img/bg_about_b2.png") no-repeat center bottom;
    max-width: 1600px;
    margin: 0 auto;
    padding-bottom: 60px; }
    .about__block02--inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px; }
      .about__block02--inner h3 {
        margin-bottom: 50px;
        color: #974025;
        font-size: 48px;
        font-family: 'noto sans bold';
        line-height: 1.4; }
      .about__block02--inner ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 20px; }
        .about__block02--inner ul li {
          border: 10px solid #974024;
          background: #f0f0f0;
          width: 30%;
          padding: 20px 0;
          text-align: center; }
          .about__block02--inner ul li:last-child h4 {
            padding: 0 0 6%; }
          .about__block02--inner ul li h4 {
            padding: 8% 0;
            font-size: 30px;
            font-family: 'noto sans bold';
            line-height: 1.3; }
          .about__block02--inner ul li figure {
            width: 50%;
            margin: 0 auto; }
            .about__block02--inner ul li figure img {
              width: 100%;
              height: auto; }
      .about__block02--inner .txt {
        text-align: center; }
        .about__block02--inner .txt span {
          background: #974024;
          padding: 2px 20px;
          color: #fff;
          font-size: 40px;
          font-family: 'noto sans bold'; }

@media (min-width: 641px) and (max-width: 1240px) {
  .about__block01 figure + div {
    width: 48%; } }
@media (max-width: 640px) {
  .about {
    padding: 12% 0 12%; }
    .about h2 {
      margin-bottom: 6%;
      font-size: 36px; }
    .about__block01 {
      max-width: 90%;
      margin: 0 auto 8%;
      padding: 0; }
      .about__block01 figure {
        width: 100%;
        margin-bottom: 5%; }
        .about__block01 figure:before {
          top: -100px;
          left: -20px;
          width: 60px;
          height: 130px;
          z-index: 2; }
        .about__block01 figure + div {
          width: 100%; }
          .about__block01 figure + div h3 {
            margin-bottom: 5%;
            text-align: center;
            font-size: 24px; }
          .about__block01 figure + div p {
            margin-bottom: 4%;
            font-size: 16px;
            line-height: 1.8; }
    .about__block02 {
      background: none;
      padding-bottom: 0; }
      .about__block02--inner {
        max-width: 90%;
        padding: 0; }
        .about__block02--inner h3 {
          margin-bottom: 6%;
          text-align: center;
          font-size: 24px; }
        .about__block02--inner ul {
          margin-bottom: 3%; }
          .about__block02--inner ul li {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: center;
            border: 8px solid #974024;
            width: 90%;
            margin-bottom: 5%;
            padding: 3% 5%; }
            .about__block02--inner ul li:last-child h4 {
              padding: 0; }
            .about__block02--inner ul li h4 {
              width: 58%;
              padding: 0;
              font-size: 20px;
              line-height: 1.3; }
            .about__block02--inner ul li figure {
              width: 30%;
              margin: 0; }
        .about__block02--inner .txt {
          line-height: 2.0; }
          .about__block02--inner .txt span {
            padding: 2px 15px;
            font-size: 20px; } }
.job {
  background: url("../img/bg_job.jpg") no-repeat center top #e8e8e8;
  max-width: 1920px;
  margin: 0 auto;
  padding: 100px 0; }
  .job__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; }
    .job__inner h2 {
      margin-bottom: 60px;
      text-align: center;
      font-size: 60px;
      font-family: 'noto sans bold';
      line-height: 1.4; }
    .job__inner--detail {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-bottom: 60px; }
      .job__inner--detail li {
        width: 31%;
        text-align: center; }
        .job__inner--detail li figure {
          filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.25));
          margin-bottom: 20px; }
          .job__inner--detail li figure img {
            width: 100%;
            height: auto; }
          .job__inner--detail li figure + p {
            font-size: 32px;
            font-family: 'noto sans bold';
            line-height: 1.3; }
    .job__inner--box {
      border: 10px solid #d8d8d8;
      background: #f0f0f0;
      padding: 40px 50px; }
      .job__inner--box h4 {
        margin-bottom: 30px;
        text-align: center;
        color: #974024;
        font-size: 44px;
        font-family: 'noto sans bold';
        line-height: 1.4; }
      .job__inner--box figure {
        margin-bottom: 20px; }
        .job__inner--box figure img {
          width: 100%;
          height: auto; }

@media (max-width: 640px) {
  .job {
    padding: 12% 0; }
    .job__inner {
      max-width: 90%;
      padding: 0; }
      .job__inner h2 {
        margin-bottom: 8%;
        font-size: 36px; }
      .job__inner--detail {
        margin-bottom: 6%; }
        .job__inner--detail li {
          width: 100%;
          margin-bottom: 8%; }
          .job__inner--detail li figure {
            margin-bottom: 2%; }
            .job__inner--detail li figure + p {
              font-size: 20px;
              line-height: 1.3; }
      .job__inner--box {
        border: 8px solid #d8d8d8;
        padding: 5% 5%; }
        .job__inner--box h4 {
          margin-bottom: 5%;
          font-size: 24px; }
        .job__inner--box figure {
          width: 90%;
          margin: 0 auto 5%; } }
.global {
  background: #0062b7;
  max-width: 1920px;
  margin: 0 auto;
  padding: 100px 0; }
  .global__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; }
    .global__inner h2 {
      margin-bottom: 50px;
      text-align: center;
      color: #fff;
      font-size: 60px;
      font-family: 'noto sans bold';
      line-height: 1.4; }
    .global__inner ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-bottom: 40px; }
      .global__inner ul li {
        width: 48%;
        position: relative; }
        .global__inner ul li figure img {
          width: 100%;
          height: auto; }
        .global__inner ul li figure + div {
          position: absolute;
          bottom: 20px;
          left: 30px; }
          .global__inner ul li figure + div .cate {
            display: inline-block;
            border-radius: 50px;
            background: #ff9933;
            margin-bottom: 5px;
            padding: 2px 20px;
            font-family: 'noto sans bold'; }
          .global__inner ul li figure + div h3 {
            color: #fff;
            font-size: 20px;
            font-family: 'noto sans bold'; }
    .global__inner .txt {
      text-align: center;
      color: #fff;
      font-size: 24px;
      line-height: 1.4; }

@media (max-width: 640px) {
  .global {
    padding: 12% 0; }
    .global__inner {
      max-width: 90%;
      padding: 0; }
      .global__inner h2 {
        margin-bottom: 8%;
        font-size: 36px;
        line-height: 1.2; }
      .global__inner ul {
        margin-bottom: 8%; }
        .global__inner ul li {
          width: 100%; }
          .global__inner ul li:first-child {
            margin-bottom: 8%; }
          .global__inner ul li figure + div {
            bottom: 5%;
            left: 5%;
            width: 90%; }
            .global__inner ul li figure + div .cate {
              margin-bottom: 5px;
              padding: 2px 15px; }
            .global__inner ul li figure + div h3 {
              font-size: 16px; }
      .global__inner .txt {
        font-size: 16px;
        line-height: 1.6; } }
.voice {
  max-width: 1920px;
  margin: 0 auto;
  padding: 100px 0; }
  .voice__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; }
    .voice__inner h2 {
      margin-bottom: 130px;
      text-align: center;
      font-size: 60px;
      font-family: 'noto sans bold';
      line-height: 1.4; }
    .voice__inner ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start; }
      .voice__inner ul li {
        background: #e4e4e4;
        width: 38%;
        padding: 120px 5% 60px;
        position: relative; }
        .voice__inner ul li:last-child {
          margin-top: 70px; }
        .voice__inner ul li figure {
          position: absolute;
          top: -80px;
          left: 50%;
          transform: translateX(-50%); }
        .voice__inner ul li h3 {
          margin-bottom: 10px;
          color: #974024;
          font-size: 30px;
          font-family: 'noto sans bold';
          font-style: italic;
          line-height: 1.4; }
        .voice__inner ul li p {
          line-height: 1.8; }

@media (max-width: 640px) {
  .voice {
    padding: 12% 0; }
    .voice__inner {
      max-width: 90%;
      padding: 0; }
      .voice__inner h2 {
        margin-bottom: 15%;
        font-size: 36px; }
      .voice__inner ul li {
        width: 100%;
        padding: 90px 5% 5%; }
        .voice__inner ul li:last-child {
          margin-top: 14%; }
        .voice__inner ul li figure {
          top: -40px;
          width: 30%; }
        .voice__inner ul li h3 {
          margin-bottom: 3%;
          font-size: 20px; }
        .voice__inner ul li p {
          font-size: 16px; } }
.requirements {
  background: url("../img/bg_requirements.jpg") no-repeat center top;
  max-width: 1920px;
  margin: 0 auto;
  padding: 180px 0 100px; }
  .requirements__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; }
    .requirements__inner h2 {
      margin-bottom: 180px;
      text-align: center;
      color: #fff;
      font-size: 60px;
      font-family: 'noto sans bold';
      line-height: 1.4; }
    .requirements__inner--box {
      background: #fff;
      padding: 60px 60px; }
      .requirements__inner--box dl {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        border-bottom: 1px solid #ccc;
        margin-bottom: 18px;
        padding-bottom: 18px;
        position: relative; }
        .requirements__inner--box dl.lst {
          margin-bottom: 60px; }
        .requirements__inner--box dl:after {
          content: "";
          position: absolute;
          bottom: -2px;
          left: 0;
          background: #974024;
          width: 200px;
          height: 3px; }
        .requirements__inner--box dl dt {
          width: 200px;
          font-family: 'noto sans bold'; }
        .requirements__inner--box dl dd {
          width: calc(100% - 230px); }
          .requirements__inner--box dl dd p {
            margin-bottom: 30px; }
            .requirements__inner--box dl dd p:last-child {
              margin-bottom: 0; }
            .requirements__inner--box dl dd p span {
              font-family: 'noto sans bold'; }
      .requirements__inner--box .btn_entry {
        width: 370px;
        margin: 0 auto; }
        .requirements__inner--box .btn_entry a {
          display: block;
          border-radius: 50px;
          background: #cc0000;
          padding: 20px 0;
          text-align: center;
          color: #fff;
          font-family: 'noto sans bold';
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          .requirements__inner--box .btn_entry a:hover {
            background: #e72727;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }

@media (max-width: 640px) {
  .requirements {
    background: url("../img/bg_requirements.jpg") no-repeat center top;
    padding: 12% 0 10%; }
    .requirements__inner {
      max-width: 90%;
      padding: 0; }
      .requirements__inner h2 {
        margin-bottom: 12%;
        font-size: 36px; }
      .requirements__inner--box {
        padding: 5% 5%; }
        .requirements__inner--box dl {
          border-bottom: none;
          margin-bottom: 5%;
          padding-bottom: 5%; }
          .requirements__inner--box dl.lst {
            margin-bottom: 8%; }
          .requirements__inner--box dl:after {
            display: none; }
          .requirements__inner--box dl dt {
            border-bottom: 1px solid #974024;
            background: #f0f0f0;
            width: 100%;
            margin-bottom: 2%;
            padding: 1% 2%; }
          .requirements__inner--box dl dd {
            width: 100%; }
            .requirements__inner--box dl dd p {
              margin-bottom: 4%; }
        .requirements__inner--box .btn_entry {
          width: 90%;
          margin: 0 auto; }
          .requirements__inner--box .btn_entry a {
            padding: 15px 0; }
            .requirements__inner--box .btn_entry a:hover {
              background: #cc0000; } }
.fbnr {
  max-width: 1000px;
  margin: 0 auto 100px;
  padding: 0 20px; }
  .fbnr img {
    filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.25));
    width: 100%;
    height: auto; }

@media (max-width: 640px) {
  .fbnr {
    max-width: 90%;
    margin: 0 auto 10%;
    padding: 0; }
    .fbnr img {
      filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.25)); } }
/* エントリーフォーム */
.entryform {
  margin: 0 0 100px; }
  .entryform__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; }
    .entryform__inner .read {
      margin-bottom: 60px;
      text-align: center;
      font-size: 20px; }
    .entryform__inner dl {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      border-top: 1px dashed #aaa;
      padding: 25px 0; }
      .entryform__inner dl.last {
        border-bottom: 1px dashed #aaa;
        margin-bottom: 40px; }
      .entryform__inner dl dt {
        width: 250px;
        padding-top: 10px;
        font-family: 'noto sans bold';
        line-height: 1.3; }
        .entryform__inner dl dt.required:after {
          content: '必須';
          display: inline-block;
          background: #f00;
          margin-left: 10px;
          padding: 2px 5px;
          color: #fff;
          font-size: 12px; }
      .entryform__inner dl dd {
        width: calc(100% - 270px); }
        .entryform__inner dl dd input[type=text] {
          border-radius: 5px;
          border: 1px solid #999;
          padding: 12px 10px;
          font-size: 16px; }
          .entryform__inner dl dd input[type=text].text01 {
            width: 60%; }
          .entryform__inner dl dd input[type=text].text02 {
            width: 200px; }
          .entryform__inner dl dd input[type=text].text03 {
            width: 90%; }
          .entryform__inner dl dd input[type=text].text04 {
            width: 60%;
            margin-right: 10px; }
          .entryform__inner dl dd input[type=text]::placeholder {
            opacity: 0.5; }
        .entryform__inner dl dd .radio {
          display: flex;
          flex-wrap: wrap; }
          .entryform__inner dl dd .radio li {
            margin-right: 20px; }
            .entryform__inner dl dd .radio li input[type=radio] {
              display: none; }
            .entryform__inner dl dd .radio li label {
              display: inline-block;
              border-radius: 2px;
              position: relative;
              cursor: pointer;
              margin-left: 20px;
              padding: 10px 10px;
              text-align: center;
              font-size: 16px;
              line-height: 1; }
              .entryform__inner dl dd .radio li label:before {
                position: absolute;
                content: "";
                top: 50%;
                left: -20px;
                width: 20px;
                height: 20px;
                margin-top: -10px;
                background: #fff;
                border: 1px solid #c6c6c6;
                border-radius: 50%; }
            .entryform__inner dl dd .radio li input[type="radio"]:checked + label:after {
              position: absolute;
              content: "";
              top: 50%;
              left: -16px;
              width: 14px;
              height: 14px;
              margin-top: -6px;
              border-radius: 50%;
              background: #974024; }
        .entryform__inner dl dd input[type=button].search {
          border-radius: 3px;
          border: none;
          background: #999;
          padding: 11px 20px;
          color: #fff;
          font-size: 14px;
          font-weight: bold;
          cursor: pointer; }
        .entryform__inner dl dd select {
          border-radius: 5px;
          border: 1px solid #999;
          width: 254px;
          margin-bottom: 10px;
          padding: 12px 10px;
          font-size: 16px; }
        .entryform__inner dl dd textarea {
          border-radius: 5px;
          border: 1px solid #999;
          width: 90%;
          height: 150px;
          padding: 12px 10px;
          font-size: 16px; }
        .entryform__inner dl dd .zip {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          margin-bottom: 10px; }
          .entryform__inner dl dd .zip li {
            margin-right: 15px; }
        .entryform__inner dl dd .ttl_add {
          margin-bottom: 7px; }
        .entryform__inner dl dd .yearmonth {
          display: flex;
          flex-wrap: wrap;
          align-items: center; }
          .entryform__inner dl dd .yearmonth li {
            width: 200px; }
        .entryform__inner dl dd input[type=file] {
          margin-bottom: 5px;
          font-size: 16px;
          cursor: pointer; }
        .entryform__inner dl dd .sub {
          color: #999;
          font-size: 14px; }
    .entryform__inner .doui {
      margin-bottom: 30px;
      text-align: center; }
      .entryform__inner .doui a {
        margin: 0 5px;
        color: #0066cc;
        text-decoration: underline;
        cursor: pointer; }
        .entryform__inner .doui a:hover {
          text-decoration: underline; }
      .entryform__inner .doui input[type=checkbox] {
        display: none; }
      .entryform__inner .doui label {
        display: inline-block;
        font-size: 16px;
        cursor: pointer; }
      .entryform__inner .doui input[type=checkbox] + span {
        padding-left: 2.2em;
        display: inline-block;
        position: relative; }
      .entryform__inner .doui input[type=checkbox] + span::after,
      .entryform__inner .doui input[type=checkbox] + span::before {
        content: "";
        display: block;
        position: absolute;
        border-radius: 3px;
        border: 1px solid #aaa;
        width: 20px;
        height: 20px;
        top: 3px;
        left: 0; }
      .entryform__inner .doui input[type=checkbox] + span::before {
        background: #fff; }
      .entryform__inner .doui input[type=checkbox] + span::after {
        opacity: 0;
        width: 6px;
        height: 12px;
        transform: rotate(45deg);
        top: 4px;
        left: 6px;
        border: none;
        border-right: 4px solid #974024;
        border-bottom: 4px solid #974024; }
      .entryform__inner .doui input[type=checkbox]:checked + span::after {
        opacity: 1; }
    .entryform__inner button[type=submit] {
      display: block;
      border-radius: 50px;
      border: none;
      background: #cc0000;
      width: 300px;
      margin: 0 auto;
      padding: 20px 0;
      text-align: center;
      color: #fff;
      font-size: 18px;
      font-weight: bold;
      cursor: pointer;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
      .entryform__inner button[type=submit]:hover {
        background: #e72727;
        text-decoration: none;
        -moz-transition: .5s;
        -webkit-transition: .5s;
        -o-transition: .5s;
        -ms-transition: .5s;
        transition: .5s; }
    .entryform__inner .row{
      display:flex;
      flex-flow:row nowrap;
      justify-content: center;
      align-items: center;
      width:100%;
    }
    .entryform__inner .row button[type=button] {
      display: block;
      border-radius: 50px;
      border: none;
      background: #cc0000;
      width: 300px;
      margin: 0 auto;
      padding: 20px 0;
      text-align: center;
      color: #fff;
      font-size: 18px;
      font-weight: bold;
      cursor: pointer;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
      .entryform__inner button[type=button]:hover {
        background: #e72727;
        text-decoration: none;
        -moz-transition: .5s;
        -webkit-transition: .5s;
        -o-transition: .5s;
        -ms-transition: .5s;
        transition: .5s; }

@media (max-width: 640px) {
  .entryform {
    margin: 0 0 12%; }
    .entryform__inner {
      max-width: 90%;
      padding: 0; }
      .entryform__inner .read {
        margin-bottom: 8%;
        font-size: 18px;
        line-height: 1.4; }
      .entryform__inner dl {
        padding: 5% 0; }
        .entryform__inner dl.last {
          margin-bottom: 8%; }
        .entryform__inner dl dt {
          width: 100%;
          margin-bottom: 3%;
          padding-top: 0;
          line-height: 1.2; }
          .entryform__inner dl dt.required:after {
            margin-left: 12px;
            padding: 2px 5px;
            font-size: 11px; }
        .entryform__inner dl dd {
          width: 100%; }
          .entryform__inner dl dd input[type=text] {
            padding: 10px 10px;
            font-size: 14px; }
            .entryform__inner dl dd input[type=text].text01 {
              width: 94%; }
            .entryform__inner dl dd input[type=text].text02 {
              width: 150px; }
            .entryform__inner dl dd input[type=text].text03 {
              width: 94%; }
            .entryform__inner dl dd input[type=text].text04 {
              width: 60%;
              margin-right: 3%; }
          .entryform__inner dl dd .radio li {
            margin-right: 4%; }
            .entryform__inner dl dd .radio li label {
              margin-left: 18px;
              padding: 10px 5px;
              font-size: 14px; }
          .entryform__inner dl dd input[type=button].search {
            padding: 10px 20px;
            font-size: 12px; }
          .entryform__inner dl dd select {
            width: 200px;
            margin-bottom: 3%;
            padding: 10px 10px;
            font-size: 14px; }
          .entryform__inner dl dd textarea {
            width: 94%;
            height: 150px;
            padding: 10px 10px;
            font-size: 14px; }
          .entryform__inner dl dd .zip {
            margin-bottom: 3%; }
            .entryform__inner dl dd .zip li {
              margin-right: 10px; }
          .entryform__inner dl dd .ttl_add {
            margin-bottom: 2%; }
          .entryform__inner dl dd .yearmonth li {
            width: 40%; }
          .entryform__inner dl dd input[type=file] {
            margin-bottom: 2%;
            font-size: 14px; }
          .entryform__inner dl dd .sub {
            font-size: 12px; }
      .entryform__inner .doui {
        margin-bottom: 8%; }
        .entryform__inner .doui a {
          margin: 0 3px; }
        .entryform__inner .doui label {
          font-size: 14px; }
      .entryform__inner button[type=submit] {
        width: 90%;
        padding: 15px 0;
        font-size: 18px; }
        .entryform__inner button[type=submit]:hover {
          background: #cc0000; } }
      .entryform__inner .row{
        display:flex;
        flex-flow:row nowrap;
        justify-content: center;
        align-items: center;
        width:100%;
      }
        .entryform__inner button[type=button] {
          width: 90%;
          padding: 15px 0;
          font-size: 18px; }
          .entryform__inner button[type=button]:hover {
            background: #cc0000; } 
/* プライバシーポリシー */
.privacy {
  margin: 0 0 100px; }
  .privacy__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; }
    .privacy__inner dl dt {
      border-bottom: 1px dashed #aaa;
      margin-bottom: 12px;
      padding-bottom: 10px;
      font-family: 'noto sans bold'; }
    .privacy__inner dl dd {
      margin-bottom: 50px; }
      .privacy__inner dl dd h3 {
        margin: 25px 0 10px;
        font-family: 'noto sans bold'; }
      .privacy__inner dl dd p {
        line-height: 2.0; }
        .privacy__inner dl dd p.consultation {
          display: inline-block;
          border: 1px solid #aaa;
          margin-top: 20px;
          padding: 20px 30px;
          font-family: 'noto sans bold';
          letter-spacing: 0.05em; }
      .privacy__inner dl dd ul {
        margin-top: 10px; }
        .privacy__inner dl dd ul li {
          text-indent: -1.0em;
          margin-left: 1.0em; }

@media (max-width: 640px) {
  .privacy {
    margin: 0 0 12%; }
    .privacy__inner {
      max-width: 90%;
      padding: 0; }
      .privacy__inner dl dt {
        margin-bottom: 3%;
        padding-bottom: 2%; }
      .privacy__inner dl dd {
        margin-bottom: 10%; }
        .privacy__inner dl dd h3 {
          margin: 6% 0 2%; }
        .privacy__inner dl dd p.consultation {
          display: block;
          margin-top: 4%;
          padding: 3% 5%; }
        .privacy__inner dl dd ul {
          margin-top: 10px; }
          .privacy__inner dl dd ul li {
            text-indent: -1.0em;
            margin-left: 1.0em; } }
/* footer
------------------------------------------------- */
.footer {
  background: url("../img/bg_footer.png") no-repeat right 90px #222;
  background-size: 50% auto;
  max-width: 1920px;
  margin: 0 auto;
  padding: 110px 0 0; }
  .footer__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto 60px;
    padding: 0 20px; }
    .footer__inner--logo {
      width: 50%; }
      .footer__inner--logo h1 {
        margin-bottom: 40px; }
      .footer__inner--logo .address p {
        margin-bottom: 30px;
        color: #fff; }
    .footer__inner--block {
      width: 50%;
      padding-top: 120px; }
      .footer__inner--block .txt {
        margin-bottom: 50px;
        text-align: center;
        color: #fff;
        position: relative; }
        .footer__inner--block .txt:after {
          content: "";
          position: absolute;
          bottom: -25px;
          left: 50%;
          border-style: solid;
          border-color: transparent;
          border-width: 0.8em 0.6em;
          border-top-color: currentColor;
          border-bottom: 0;
          width: 0;
          height: 0;
          color: #fff;
          transform: translateX(-50%); }
      .footer__inner--block .btn_entry {
        max-width: 80%;
        margin: 0 auto; }
        .footer__inner--block .btn_entry a {
          display: block;
          border-radius: 50px;
          background: #cc0000;
          padding: 20px 0;
          text-align: center;
          color: #fff;
          font-size: 24px;
          font-family: 'noto sans bold';
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          .footer__inner--block .btn_entry a:hover {
            background: #e72727;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }
  .footer__copy {
    border-top: 1px solid #434343;
    padding: 50px 0; }
    .footer__copy--inner {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px; }
      .footer__copy--inner .link {
        display: flex;
        flex-wrap: wrap; }
        .footer__copy--inner .link li:first-child {
          margin-right: 30px; }
          .footer__copy--inner .link li:first-child a span {
            padding-right: 20px;
            position: relative; }
            .footer__copy--inner .link li:first-child a span:after {
              content: "";
              position: absolute;
              top: 50%;
              right: 0;
              background: url("../img/icon_blank.png") no-repeat center center/cover;
              width: 12px;
              height: 12px;
              transform: translateY(-50%); }
        .footer__copy--inner .link li a {
          color: #fff; }
      .footer__copy--inner .copy {
        color: #999;
        font-size: 14px; }

@media (max-width: 640px) {
  .footer {
    background: #222;
    background-size: 50% auto;
    padding: 10% 0 0; }
    .footer__inner {
      max-width: 90%;
      margin: 0 auto 8%;
      padding: 0; }
      .footer__inner--logo {
        width: 100%; }
        .footer__inner--logo h1 {
          width: 60%;
          margin-bottom: 6%; }
        .footer__inner--logo .address p {
          margin-bottom: 4%;
          color: #fff; }
      .footer__inner--block {
        background: url("../img/bg_footer.png") no-repeat center top/100% auto;
        width: 100%;
        padding-top: 8%; }
        .footer__inner--block .txt {
          margin-bottom: 12%; }
          .footer__inner--block .txt:after {
            bottom: -22px; }
        .footer__inner--block .btn_entry {
          max-width: 80%; }
          .footer__inner--block .btn_entry a {
            padding: 15px 0;
            font-size: 18px; }
            .footer__inner--block .btn_entry a:hover {
              background: #cc0000; }
    .footer__copy {
      padding: 8% 0; }
      .footer__copy--inner {
        max-width: 90%;
        padding: 0; }
        .footer__copy--inner .link {
          justify-content: space-between;
          width: 100%;
          margin-bottom: 6%; }
          .footer__copy--inner .link li {
            width: 50%;
            text-align: center; }
            .footer__copy--inner .link li:first-child {
              margin: 0; }
        .footer__copy--inner .copy {
          width: 100%;
          text-align: center;
          font-size: 14px; } }
/* link
------------------------------------------------- */
a:link,
a:visited {
  color: #000;
  text-decoration: none; }

a:hover,
a:active {
  color: #000;
  text-decoration: underline; }

/* alpha
------------------------------------------------- */
a.alpha img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

a.alpha:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-transition: .5s;
  -webkit-transition: .5s;
  -o-transition: .5s;
  -ms-transition: .5s;
  transition: .5s; }

/* clearfix
------------------------------------------------- */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }
