 @charset "UTF-8";

 /* CSS Document */
 html {
   font-size: 62.5%;
   /* 16px * 62.5% = 10px */
   width: 100%;
   scroll-behavior: smooth;
 }

 :root {
   --orange: #f95639;
   --yellow: #ffa22f;
   --blue: #00afcc;
   --navy: #1554A2;
   --gray: #B7B7B7;
   --text-color: #333333;
   --en: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
   --def: "Zen Kaku Gothic New", serif;
 }

 body {
   color: var(--text-color);
   background: url(../img/bg.webp) repeat center center / 50%;
   font-family: var(--def);
   font-style: normal;
   font-size: clamp(1.4rem, 3.3vw, 1.8rem);
   letter-spacing: 0.1rem;
   line-height: 1.8;
   text-align: center;
 }

 .en {
   font-family: var(--en);
   font-weight: 600;
   font-style: normal;
   letter-spacing: 0.1em;
 }

 h2,
 h3,
 h4 {
   font-weight: 600;
   letter-spacing: 0;
 }

 .vertical {
   position: static;
   display: inline-block;
   -webkit-writing-mode: vertical-rl;
   -ms-writing-mode: tb-rl;
   writing-mode: vertical-rl;
   text-align: left;
 }

 .vertical span {
   writing-mode: vertical-rl;
   text-orientation: upright;
   display: inline-block;
 }

 .vertical span.horizontal {
   writing-mode: horizontal-tb;
   line-height: 1;
 }

 a {
   color: var(--text-color);
 }

 a:hover {
   opacity: 0.8;
 }

 a.clarity:hover {
   opacity: 1;
 }

 *,
 *:before,
 *:after {
   box-sizing: border-box;
 }

 img {
   width: 100%;
   display: block;
 }

 .pc_none {
   display: block;
 }

 .sp_none {
   display: none;
 }

 .is-hide {
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.3s ease, visibility 0.3s ease;
 }

 .left {
   text-align: justify;
 }

 .bold {
   font-weight: 700;
 }

 .orange {
   color: var(--orange);
 }

 .yellow {
   color: var(--yellow);
 }

 .blue {
   color: var(--blue);
 }

 .gray {
   color: var(--gray);
 }

 .navy {
   color: var(--navy);
 }

 .fadeInUpTrigger,
 .fadeInLeftTrigger,
 .fadeInRightTrigger {
   opacity: 0;
 }

 .flex {
   display: flex;
   flex-direction: column;
   gap: 40px;
 }

 .flex.row {
   display: flex;
   flex-direction: row;
   gap: 20px;
 }

 /* header */
 header {
   width: 100%;
   height: 60px;
   position: fixed;
   z-index: 100;
   transition: 0.5s all;
 }

 header.fixed {
   background-color: var(--navy);
 }

 .header_inner {
   width: 100%;
   height: 100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 4px 4px 4px 2vw;
 }

 header .logo {
   width: 235px;
 }

 /* ham_menu */
 .ham_btn {
   position: relative;
   cursor: pointer;
   width: 50px;
   height: 50px;
   z-index: 999;
   margin: 0;
   background: var(--yellow);
 }

 .ham_btn span {
   display: inline-block;
   transition: all .4s;
   position: absolute;
   right: 10px;
   height: 2px;
   background: #ffffff;
   width: 30px;
 }

 .ham_btn span:nth-of-type(1) {
   top: 18px;
 }

 .ham_btn span:nth-of-type(2) {
   top: 25px;
 }

 .ham_btn span:nth-of-type(3) {
   top: 32px;
 }

 .ham_btn.active span:nth-of-type(1) {
   top: 19px;
   left: 10px;
   transform: translateY(6px) rotate(-45deg);
 }

 .ham_btn.active span:nth-of-type(2) {
   opacity: 0;
 }

 .ham_btn.active span:nth-of-type(3) {
   top: 30px;
   left: 10px;
   transform: translateY(-6px) rotate(45deg);
 }

 .nav_wrap {
   padding: 60px 0;
   overflow-y: auto;
   overflow-x: hidden;
   background: var(--navy);
   position: fixed;
   top: 0;
   right: 0;
   z-index: 900;
   height: 100%;
   visibility: hidden;
   opacity: 0;
   width: 100%;
   transition: opacity .6s ease, visibility .6s ease;
   line-height: 1.45;
 }

 .nav_wrap ul {
   width: 90%;
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   margin-bottom: 40px;
 }

 .nav_wrap li {
   list-style: none;
   text-align: left;
   font-size: 1.8rem;
   line-height: 1;
 }

 nav li a {
   font-weight: 600;
   text-decoration: none;
   padding: 20px 10px;
   display: flex;
   flex-direction: column;
   align-items: center;
   color: #ffffff;
 }

 nav li a span {
   font-family: var(--en);
   color: var(--yellow);
   font-size: 1.6rem;
 }

 .nav_wrap.show {
   visibility: visible;
   opacity: 1;
 }

 .nav_wrap nav .sp_nav {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
 }

 .nav_wrap .tel {
   width: 80%;
   max-width: 274px;
   margin: 0 auto;
 }

 /* MV */
 .MV {
   position: relative;
   overflow: hidden;
   height: 90vh;
 }

 .MV_slide {
   width: 100%;
 }

 .MV_slide .slide {
   width: 100%;
   height: 90vh;
   background-image: url("../img/mv_02.webp");
   background-size: cover;
   background-position: center;
 }

 .MV_slide .slide:nth-child(2) {
   background-image: url(../img/mv_02.webp);
 }

 .MV-text {
   position: absolute;
   width: 90%;
   max-width: 1000px;
   left: 50%;
   bottom: 5%;
   transform: translate(-50%, -50%);
   z-index: 10;
 }

 .MV::before {
   content: "";
   width: 100%;
   aspect-ratio: 3719/318;
   background-image: url(../img/mv_deco.webp);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center bottom;
   position: absolute;
   bottom: 28%;
   left: 0;
   z-index: 1;
 }

 .band {
   position: absolute;
   width: 50%;
   height: 100%;
   overflow: hidden;
   bottom: -5vw;
   right: 0;
   z-index: 1;
 }

 .band::before {
   content: "";
   position: absolute;
   top: 100%;
   left: 0;
   width: 150%;
   height: min(15vw, 200px);
   background-color: #001a57;
   transform: rotate(-40deg);
   transform-origin: top left;
 }

 /* 共通 */
 section {
   position: relative;
   padding: min(12vw, 100px) 0 min(14vw, 200px);
 }

 .inner {
   width: 90%;
   display: flex;
   flex-direction: column;
   gap: min(10vw, 80px);
   margin: 0 auto;
 }

 .section_ttl {
   display: flex;
   flex-direction: column;
   line-height: 1.2;
 }

 #top_news {
   padding: min(8vw, 100px) 0 min(10vw, 200px);
 }

 #top_news .inner {
   gap: min(5vw, 40px);
   align-items: flex-start;
 }

 #top_news .section_ttl {
   font-size: clamp(1.8rem, 5vw, 2.4rem);
   align-items: flex-end
 }

 #top_news .section_ttl span {
   color: var(--yellow);
   font-size: clamp(2rem, 6.8vw, 3.3rem);
 }

 .news_wrap li {
   padding: 10px 0;
   margin-bottom: 2%;
   text-align: left;
   line-height: 1.5;
   justify-content: flex-start;
 }

 .news_wrap li a {
   display: flex;
   align-items: flex-start;
   flex-direction: column;
   gap: 10px;
   font-weight: 600;
 }

 .news_wrap li a .ttl {
   width: 100%;
 }

 #top_recruit {
   background-image: url(../img/top_recruit-bg.webp);
   background-size: cover;
   display: flex;
   padding: 0;
 }

 #top_recruit::before {
   content: "";
   width: min(20%, 196px);
   height: 100%;
   background-image: url(../img/RECRUIT.webp);
   background-size: cover;
   background-repeat: no-repeat;
   background-position: center top;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
 }

 #top_recruit::after {
   content: "";
   width: 3px;
   height: 100%;
   background-color: #ffffff;
   position: absolute;
   top: 0;
   left: 15%;
   z-index: 1;
 }

 #top_recruit .section_ttl {
   width: 20%;
 }

 #top_recruit .section_ttl h2 {
   font-size: clamp(1.8rem, 10.4vw, 5rem);
   color: #ffffff;
   height: 100%;
   padding-right: 20%;
   position: relative;
 }

 #top_recruit .text_area {
   padding: min(10vw, 80px) 0;
   width: 85%;
   background-color: rgba(255, 255, 255, 0.85);
   text-align: justify;
 }

 #top_recruit .text_area .inner {
   gap: min(5vw, 40px);
   width: 100%;
 }

 #top_recruit .section_lead {
   font-size: min(6vw, 6.0rem);
   text-align: left;
   line-height: 1.5;
 }

 #top_recruit .section_lead span {
   font-size: min(9vw, 9.0rem);
   margin: 0 -2%;
 }

 #top_recruit .text_area p {
   width: 90%;
   margin: 0 auto;
   font-weight: bold;
 }

 .more a {
   display: block;
   width: 80%;
   max-width: 290px;
   aspect-ratio: 290/76;
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto;
   background-image: url(../img/btn.webp);
   background-size: contain;
   background-repeat: no-repeat;
 }

 .more a p {
   width: calc(100% - 62px);
   padding: 0 0 4px 40px;
   line-height: 1;
   text-align: center;
   font-weight: bold;
   font-size: min(4vw, 2.4rem)
 }

 #top_recruit .more a p {
   width: calc(100% - 58px);
   text-align: center;
 }

 #top_feature .band {
   width: 100%;
   height: 100%;
   bottom: auto;
   top: 0;
   right: auto;
   z-index: 1;
 }

 #top_feature .band::before {
   top: 0%;
   left: 0;
   width: 200%;
   height: min(15vw, 200px);
   transform: rotate(40deg);
 }

 #top_feature .band:nth-of-type(2) {
   width: 50%;
   top: min(25vw, 350px);
 }

 #top_feature .band:nth-of-type(2)::before {
   background-color: var(--blue);
 }

 #top_feature .inner {
   position: relative;
   z-index: 2;
 }

 #top_feature .content_textWrap {
   text-align: justify;
   background-color: #ffffff;
   padding: min(8%, 60px) min(5%, 40px);
   display: flex;
   flex-direction: column;
   gap: min(3vw, 40px);
 }

 #top_feature .content_textWrap h3 {
   font-size: clamp(2.4rem, 6vw, 5rem);
   line-height: 1.5;
   color: var(--blue);
   word-break: keep-all;
   text-align: left;
 }

 #top_business {
   padding: 0;
 }

 #top_business .left_area {
   position: relative;
   padding-top: min(2vw, 20px);
 }

 #top_business .left_area::before {
   content: "";
   width: min(25%, 164px);
   height: 100%;
   background-image: url(../img/BUSINESS.webp);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center top;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
 }

 #top_business .left_area::after {
   content: "";
   width: 3px;
   height: 100%;
   background-color: #ffffff;
   position: absolute;
   top: 0;
   left: 27%;
   z-index: 1;
 }

 #top_business .left_area {
   background-image: url(../img/top_business-bg.webp);
   background-size: cover;
   display: flex;
   padding: 0;
   gap: min(2vw, 20px);
   padding: 0;
 }

 #top_business .section_ttl {
   width: 25%;
 }

 #top_business .section_ttl h2 {
   font-size: clamp(1.8rem, 10.4vw, 5rem);
   color: #ffffff;
   background-position: left top;
   position: relative;
 }

 #top_business .left_body {
   padding: min(10vw, 80px) 0 min(10vw, 80px);
   width: 75%;
   margin: 0;
 }

 #top_business .left_body ul {
   width: 90%;
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   gap: min(2vw, 20px);
 }

 #top_business .left_body ul li a {
   max-width: 338px;
   width: 100%;
   aspect-ratio: 300/120;
   background-color: var(--yellow);
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
   margin: 0 auto
 }

 #top_business .left_body ul li a p {
   font-size: clamp(1.8rem, 5vw, 2.2rem);
   color: #ffffff;
   padding-right: 10px;
   position: relative;
   width: 85%;
 }

 #top_business .left_body ul li a p::before {
   content: "";
   width: 8px;
   aspect-ratio: 8/15;
   background-image: url(../img/arrow.png);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center bottom;
   position: absolute;
   top: 50%;
   right: 0;
   transform: translateY(-50%);
 }

 #top_business .left_body ul li a:hover {
   opacity: 1;
 }

 #top_business .left_body ul li a::before {
   content: "";
   width: 100%;
   height: 100%;
   background-color: #ffffff;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
   opacity: 0;
   transition: 0.5s opacity;
 }

 #top_business .left_body ul li a:hover::before {
   opacity: 0.3;
 }

 #top_business .right_area {
   padding: min(10vw, 80px) 0;
   position: relative;
   background-color: #ffffff;
   overflow: hidden;
 }

 #top_business .right_area::before {
   content: "";
   width: 100%;
   aspect-ratio: 100/180;
   background-image: url(../img/sp_map.webp);
   background-size: cover;
   background-position: 50% 0%;
   position: absolute;
   bottom: 0;
   left: 0;
   z-index: 1;
 }

 #top_business .right_body {
   width: 90%;
   margin: 0 auto 0;
   padding-bottom: 70vw;
   gap: min(3vw, 40px);
   display: flex;
   flex-direction: column;
   justify-content: center;
   text-align: justify;
 }

 #top_business .right_body h3 {
   font-size: clamp(2rem, 6vw, 3.6rem);
   margin: 0;
   z-index: 2;
 }

 #top_business .right_body p {
   z-index: 2;
 }

 #top_works {
   display: flex;
   flex-direction: column;
   gap: min(10vw, 80px);
 }

 #top_works .section_ttl {
   align-items: flex-end;
   margin: 0 auto 0 0;
   font-size: min(10vw, 50px);
 }

 #top_works .section_ttl span {
   font-size: min(20vw, 100px);
   color: var(--blue);
   font-weight: 600;
 }

 .works_slide .slide {
   margin-right: 5vw;
   width: 80vw;
 }

 #top_company {
   background-image: url(../img/company_bg.webp);
   background-size: cover;
 }

 #top_company {
   padding: 0 0 min(14vw, 200px);
   padding-top: 2vw;
   display: flex;
   flex-direction: column;
   gap: min(10vw, 80px);
   overflow: hidden;
 }

 #top_company .section_ttl {
   margin: 0 auto 0 0;
   font-size: min(10vw, 50px);
   gap: 10px;
 }

 #top_company .inner {
   z-index: 2;
 }

 #top_company .content.inner {
   width: 100%;
 }

 #top_company dl {
   width: 100%;
   max-width: 460px;
   margin: 0 auto;
   text-align: left;
   font-size: clamp(1.4rem, 3.2vw, 1.6rem)
 }

 .description-item {
   display: flex;
   width: 100%;
   padding: 4px 0;
   border-bottom: 1px solid var(--text-color);
 }

 .description-item dt {
   width: 100px;
 }

 .description-item dd {
   width: calc(100% - 100px);
 }

 #top_company .content_imgWrap {
   width: 90%;
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   gap: min(5vw, 40px);
 }

 #top_company .band::before {
   background-color: var(--blue);
 }

 .contact {
   background-image: url(../img/contact_bg.webp);
   background-size: cover;
   background-position: center;
   color: #ffffff;
 }

 .contact .section_ttl {
   margin: 0 auto 0 0;
   font-size: min(8vw, 40px);
   gap: 10px;
 }

 .contact .text_area {
   display: flex;
   flex-direction: column;
   gap: min(8vw, 40px);
 }

 .contact .text_area p {
   margin: 0 auto;
 }

 .contact_btnWrap {
   width: 80%;
   max-width: 355px;
   margin: 0 auto;
   gap: min(8vw, 40px);
 }

 .bnr_area {
   width: 100%;
   max-width: 420px;
   margin: 0 auto;
 }

 footer .inner {
   padding: min(8vw, 40px) 0;
 }

 footer .logo {
   width: 100%;
   max-width: 445px;
   margin: 0 auto;
 }

 footer .pc_nav {
   display: flex;
   align-items: flex-end;
   flex-wrap: wrap;
   gap: min(10vw, 40px);
 }

 footer .pc_nav li a {
   display: flex;
   flex-direction: column;
   line-height: 1;
   font-weight: 600;
 }

 footer .pc_nav li a span {
   color: var(--yellow);
   font-size: clamp(1rem, 3vw, 1.6rem);
 }

 #go_top {
   position: fixed;
   bottom: 10px;
   right: 10px;
   width: 40px;
   z-index: 50;
   box-shadow: 0 0 4px rgba(255, 255, 255, 0.1);
 }

 .cr {
   padding: 10px;
   color: #ffffff;
   font-size: 1.2rem;
   background-color: var(--navy);
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   .sp_none {
     display: block;
   }

   .pc_none {
     display: none;
   }

   header {
     height: 120px;
     line-height: 1.2;
     padding: 0 2vw;
   }

   .header_inner {
     width: 100%;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 4px;
     padding-left: 0;
   }

   header .logo {
     width: calc(100% - 400px);
     max-width: 480px;
   }

   .header_right {
     width: calc(100% - 400px);
     max-width: 560px;
     display: flex;
     flex-direction: column;
     justify-content: space-evenly;
     align-items: flex-end;
     gap: 8px;
   }

   .header_right-upper {
     display: flex;
     align-items: center;
     gap: 20px;
     height: 60px
   }

   .header_right-upper a {
     display: flex;
     align-items: center;
     justify-content: center;
     height: 60px;
   }

   .header_right-upper a img {
     width: auto;
     height: 60px;
   }

   .header_right-upper .tel a img {
     width: auto;
     height: 28px;
   }

   .header_right .pc_nav {
     width: 100%;
     display: flex;
     flex-direction: row;
     align-items: flex-end;
     justify-content: space-between;
   }

   .header_right .pc_nav a {
     padding: 0;
     line-height: 1;
   }

   .MV::before {
     bottom: 50%;
     transform: translateY(50%);
   }

   .MV .band {
     position: absolute;
     width: 30%;
     height: 100%;
     overflow: hidden;
     bottom: -5vw;
     right: 0;
     z-index: 1;
   }

   .flex {
     flex-direction: row;
     justify-content: space-between;
   }

   .flex.reverse {
     flex-direction: row-reverse;
   }

   #top_news {
     padding: 80px 0 60px;
   }

   #top_news .band {
     position: absolute;
     width: 50%;
     height: 100%;
     overflow: hidden;
     bottom: auto;
     top: 0;
     right: auto;
     left: 0;
     z-index: 1;
   }

   #top_news .band::before {
     content: "";
     position: absolute;
     top: 0%;
     left: 0;
     width: 150%;
     height: min(12vw, 200px);
     background-color: #001a57;
     transform: rotate(40deg);
     transform-origin: top left;
   }

   #top_news .inner {
     width: 80%;
     max-width: 960px;
     flex-direction: row;
     align-items: flex-start;
     gap: 10%;
     position: relative;
     z-index: 2;
   }

   #top_news .band::before {
     content: "";
     position: absolute;
     top: 23%;
     left: 0;
     width: 200%;
     height: min(15vw, 200px);
   }

   .news_wrap {
     width: 80%;
   }

   .news_wrap li {
     padding: 20px 0;
   }

   .news_wrap li a {
     display: flex;
     align-items: flex-start;
     flex-direction: row;
     gap: min(5vw, 80px);
     font-weight: 600;
   }

   .news_wrap li a .ttl {
     text-align: left;
   }

   #top_recruit {
     justify-content: space-between;
   }

   #top_recruit::before {
     width: 15%;
     background-size: contain;
     background-position: center;
   }

   #top_recruit::after {
     left: 16%;
   }

   #top_recruit .section_ttl {
     height: auto;
   }

   #top_recruit .text_area {
     max-width: 1280px;
     padding-left: min(10vw, 200px);
   }

   .more a {
     margin: 45px auto 0;
   }

   #top_feature .inner {
     max-width: 1600px;
     gap: 12vw;
   }

   #top_feature .inner .content {
     display: flex;
     position: relative;
   }

   #top_feature .content_textWrap {
     width: 60%;
     z-index: 2;
     margin-top: min(3vw, 80px);
   }

   #top_feature .content_img {
     position: absolute;
     width: 60%;
     right: 0;
     top: 0;
   }

   #top_feature .inner .content:nth-of-type(2) {
     flex-direction: row-reverse;
   }

   #top_feature .inner .content:nth-of-type(2) .content_img {
     right: auto;
     left: 0;
   }

   #top_business {
     background-image: url(../img/map.webp);
     background-size: cover;
     background-position: right center;
   }

   #top_business .section_ttl {
     width: 15%;
     height: 100%;
   }

   #top_business::before {
     content: "";
     height: 100%;
     background-image: url(../img/BUSINESS.webp);
     background-repeat: no-repeat;
     width: 15%;
     background-size: contain;
     background-position: center;
     position: absolute;
     top: 0;
     left: 0;
     z-index: 2;
   }

   #top_business::after {
     content: "";
     width: 70%;
     height: 100%;
     background-image: url(../img/top_business-bg.webp);
     background-size: cover;
     background-repeat: no-repeat;
     background-position: 100% 50%;
     position: absolute;
     top: 0;
     left: 0;
     z-index: 1;
   }

   #top_business .bar {
     width: 3px;
     height: 100%;
     background-color: #ffffff;
     position: absolute;
     top: 0;
     left: 17%;
     z-index: 2;
   }

   #top_business .left_area::before {
     display: none;
   }

   #top_business .left_area::after {
     display: none;
   }

   #top_business .left_area {
     background: none;
     position: relative;
     z-index: 2;
   }

   #top_business .right_area::before {
     display: none;
   }

   #top_business .right_area {
     background: none;
     width: 60%;
   }

   #top_business .left_body ul {
     flex-direction: row;
     flex-wrap: wrap;
   }

   #top_business .left_body ul li {
     width: 30%;
   }

   #top_business .left_body ul li a p {
     font-size: clamp(1.8rem, 1.6vw, 2.2rem);
   }

   #top_business .right_area {
     max-width: 1230px;
     margin: 0 auto;
     padding: 0;
     position: relative;
     z-index: 2;
   }

   #top_business .right_body {
     padding: 0 0 80px;
     width: 65%;
     margin: 0 auto 0 0;
     color: #ffffff;
   }

   #top_works {
     display: flex;
     flex-direction: row;
     gap: 0;
     margin: 8vw 0;
   }

   #top_works .ttl_area.inner {
     width: 440px;
   }

   #top_works .section_ttl {
     margin: 0 auto;
   }

   .works_slide {
     width: calc(100% - 440px);
   }

   .works_slide .slide {
     width: 34vw;
     margin-right: 20px;
   }

   #top_company {
     padding: min(12vw, 100px) 0
   }

   #top_company .section_ttl {
     width: 15%;
     height: 100%;
     position: absolute;
     top: 20px;
     left: 0;
     z-index: 5;
   }

   #top_company .section_ttl h2 {
     position: static;
     display: inline-block;
     -webkit-writing-mode: vertical-rl;
     -ms-writing-mode: tb-rl;
     writing-mode: vertical-rl;
     text-align: left;
   }

   #top_company .content.inner {
     width: 60%;
     max-width: 1100px;
     flex-direction: row-reverse;
     align-items: center;
   }

   #top_company::before {
     content: "";
     width: 15%;
     height: 100%;
     background-image: url(../img/COMPANY.webp);
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center;
     position: absolute;
     top: 0;
     left: 0;
     z-index: 1;
   }

   #top_company::after {
     content: "";
     width: 3px;
     height: 100%;
     background-color: #ffffff;
     position: absolute;
     top: 0;
     left: 18%;
   }

   #top_company .band {
     position: absolute;
     width: 40%;
     height: 100%;
     overflow: hidden;
     bottom: -5vw;
     right: 0;
     z-index: 1;
   }

   .contact {
     padding: min(12vw, 100px) 0
   }

   .contact .inner {
     width: 90%;
     max-width: none;
     flex-direction: row;
     justify-content: space-between;
     gap: 0;
   }

   .contact .ttl_area {
     width: 24%;
   }

   .contact .section_ttl h2 {
     margin: 0 0 0 auto;
     font-size: min(3vw, 4.0rem);
   }

   .contact .text_area {
     gap: min(8vw, 60px);
     align-items: center;
     width: 60%;
     max-width: 900px;
   }

   .contact .text_area .logo {
     width: 80%;
     max-width: 445px;
   }

   .contact_btnWrap {
     align-items: flex-end;
     width: 100%;
     max-width: none;
     margin: 0 auto;
     justify-content: space-between;
   }

   .contact_btnWrap .contact_btn {
     width: 45%;
     max-width: 355px;
   }

   .contact_btnWrap .contact_btn:nth-of-type(2) {
     width: 50%;
     max-width: 440px;
   }

   .bnr_area {
     display: flex;
     align-items: center;
     width: 20%;
     max-width: 420px;
     margin: 0;
   }

   footer .inner {
     padding: min(8vw, 60px) 0;
     max-width: 1800px;
     flex-direction: row;
     gap: 5vw;
     justify-content: flex-start;
   }

   footer .logo {
     margin: 0;
   }

   .footer_nav {
     width: 90%;
     max-width: 700px;
     margin: 0 auto;
     padding-bottom: 80px;
   }

   .footer_nav ul {
     width: 100%;
     display: flex;
     flex-direction: row;
     justify-content: space-between;
     align-items: flex-start;
   }

   .footer_nav ul li {
     position: relative;
     padding-left: 20px;
   }

   .footer_nav ul li.U_line::before {
     content: "";
     width: 14px;
     height: 2px;
     background-color: #ffffff;
     position: absolute;
     top: 50%;
     left: 0;
   }

   .footer_nav ul li a {
     color: #ffffff;
     font-size: 2.0rem;
   }

   .footer_nav .nav_child {
     position: absolute;
     top: 64px;
     left: 0px;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     width: 100%;
   }

   .footer_nav .nav_child li {
     padding: 0 0 0 12px;
   }

   .footer_nav .nav_child li a {
     font-size: 12px;
     width: 280px;
     padding: 0;
     align-items: flex-start;
   }

   .footer_nav .nav_child li::before {
     content: "";
     width: 8px;
     height: 1px;
     background-color: #ffffff;
     position: absolute;
     top: 50%;
     left: 0;
   }

   .cr {
     position: relative;
   }

   #go_top {
     position: fixed;
     bottom: 40px;
     right: 40px;
     width: 60px;
     z-index: 50;
   }
 }

 .h2_ttl {
   background: url(../img/h2_bg.webp) center / cover;
   padding: max(16vw, 14rem) 0 0;
 }

 .h2_ttl h2 {
   letter-spacing: 0.08em;
   line-height: 1;
   color: #ffffff;
   font-size: min(8vw, 9.6rem);
   font-weight: 900;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   width: 90%;
   max-width: 1280px;
   margin: 0 auto;
 }

 .h2_ttl h2 span {
   font-size: min(4vw, 3.1rem);
 }

 #business_01 .inner {
   width: 96%;
   max-width: 1280px;
   gap: 0;
 }

 #business_01 .content_wrap {
   display: flex;
   gap: 2vw;
   justify-content: space-between;
 }

 #business_01 .content {
   width: 50%;
   background: linear-gradient(180deg, #1c6fb1 10%, #00295b 90%);
   color: #ffffff;
   padding: min(2vw, 30px) min(2vw, 30px) min(4vw, 60px);
   display: flex;
   flex-direction: column;
   gap: min(1vw, 20px);
 }

 #business_01 .content_ttl {
   font-size: min(6vw, 6.3rem);
   border-bottom: 1px solid #ffffff;
   width: 90%;
   max-width: 340px;
   margin: 0 auto;
   font-weight: 700;
 }

 #business_01 .content_lead {
   font-size: min(4vw, 4rem);
   font-weight: 700;
 }

 #business_01 ul {
   text-align: left;
   margin: 0 auto;
 }

 .business_01-center {
   width: 80%;
   max-width: 760px;
   margin: 0 auto;
 }

 #business_service {
   background-image: url(../img/business02_bg.webp);
   background-size: cover;
 }

 #business_service .inner {
   width: 90%;
   max-width: 1280px;
   margin: 0 auto;
 }

 .u-section_ttl {
   font-size: min(4vw, 4rem);
   font-weight: 900;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   line-height: 1.2;
 }

 .u-section_ttl span {
   font-size: min(10vw, 11.5rem);
   font-weight: 900;
   text-transform: uppercase;
 }

 #business_service .content_wrap {
   margin-top: min(10vw, 80px);
   display: flex;
   flex-direction: column;
   gap: min(12vw, 200px);
 }
  #business_service .content{
    margin-top: -80px;
    padding-top: 80px;
  }

 #business_service .content_textWrap {
   background-color: rgba(255, 255, 255, 0.85);
   padding: min(12vw, 120px) min(4vw, 40px) min(4vw, 40px);
   text-align: left;
   position: relative;
 }

 #business_service .content_ttl {
   font-size: min(8vw, 8.4rem);
   font-weight: 700;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   text-shadow: 0 5px 0 #ffffff;
   transform: translateY(max(-4vw, -4.2rem));
   line-height: 1;
   position: absolute;
   top: 0;
 }

 #business_service .content_ttl span {
   font-size: min(4vw, 3.6rem);
   text-shadow: none;
   text-align: left;
   line-height: 2;
   padding-left: 10px;
 }

 #business_service .content_lead {
   font-size: min(5vw, 4.5rem);
   font-weight: 700;
   margin-bottom: min(2vw, 20px);
 }

 #business_service .content_textWrap.wrap02 {
   padding: min(4vw, 40px);
 }

 #business_service .content_textWrap.wrap02 .content_ttl {
   position: relative;
   transform: none;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   #business_service {
     padding-bottom: min(40vw, 400px);
   }

   #business_service .content {
     display: flex;
     position: relative;
     padding-bottom: 40px;
     padding-top: 180px;
     margin-top: -180px;
   }

   #business_service .content_textWrap {
     width: 65%;
     z-index: 2;
   }

   #business_service .content_ttl {
     font-size: min(6vw, 8.4rem);
     transform: translateY(max(-4vw, -4.2rem));
   }

   #business_service .content_ttl span {
     font-size: min(3vw, 3.6rem);
   }

   #business_service .content_img {
     width: 50%;
     position: absolute;
     right: 0;
     bottom: 0;
   }

   #business_service .content:nth-of-type(even) {
     display: flex;
     flex-direction: row-reverse;
   }

   #business_service .content:nth-of-type(even) .content_img {
     right: auto;
     left: 0;
   }

   #business_service .content:nth-of-type(5) {
     padding-bottom: 80px;
   }

   #business_service .content_textWrap.wrap02 {
     width: 80%;
     max-width: 940px;
     position: absolute;
     top: 90%;
     left: 50%;
     transform: translateX(-50%);
   }
 }

 #company_01 .u-section_ttl,
 #company_strong .u-section_ttl,
 #company_history .u-section_ttl,
 #company_philosophy .u-section_ttl,
 #company_about .u-section_ttl,
 #company_access .u-section_ttl {
   font-size: min(6vw, 2.6rem);
 }

 #company_01 .u-section_ttl span,
 #company_strong .u-section_ttl span,
 #company_history .u-section_ttl span,
 #company_philosophy .u-section_ttl span,
 #company_about .u-section_ttl span,
 #company_access .u-section_ttl span {
   font-size: min(10vw, 7.5rem);
 }

 #company_01 .inner {
   gap: min(5vw, 40px);
   max-width: 1280px;
   text-align: left;
 }

 #company_01 .section_lead {
   font-size: min(5vw, 4rem);
   font-weight: 600;
   text-align: left;
   position: relative;
 }

 #company_01 .section_lead::after {
   content: "";
   width: calc(100% - min(85%, 600px));
   height: 2px;
   background-color: var(--text-color);
   position: absolute;
   top: 50%;
   right: 0;
   z-index: 1;
 }

 #company_01 .name {
   display: flex;
   gap: 10px;
   justify-content: flex-end;
   align-items: flex-end;
   font-size: min(5vw, 4rem);
   line-height: 1;
   font-weight: 600;
 }

 #company_01 .name .sub {
   font-size: min(3vw, 3.0rem);
 }

 #company_01 .name .gray {
   font-size: min(3vw, 2.4rem);
 }

 #company_strong {
   background-color: #F3F3F3;
 }

 #company_strong .inner {
   width: 86%;
   max-width: 1280px;
 }

 #company_strong .u-section_ttl {
   align-items: center;
 }

 #company_strong ol {
   list-style: none;
   display: flex;
   flex-direction: column;
   gap: min(5vw, 70px);
 }

 #company_strong ol li {
   position: relative;
   background-color: #1554A2;
   color: #ffffff;
   width: 100%;
   padding: min(6vw, 40px);
   text-align: center;
   transform: skew(-20deg);
 }

 #company_strong ol li .num {
   color: var(--text-color);
   font-size: min(10vw, 9.5rem);
   font-weight: 700;
   text-shadow: 3px 3px 0 #ffffff;
   position: absolute;
   top: 0;
   left: 5%;
   transform: translateY(-50%) skew(20deg);
 }

 #company_strong ol li p {
   transform: skew(20deg);
   margin: 0 auto;
   font-size: min(4vw, 3.2rem);
   font-weight: 600;
 }

 #company_strong ol li:nth-child(2) {
   background-color: #2C9FFA;
 }

 #company_history {
   background-color: #ffffff;
 }

 #company_history .u-section_ttl {
   align-items: center;
 }

 #company_history dl {
   text-align: left;
   font-weight: 600;
   margin: 0 auto;
 }

 #company_history .description-item {
   border: none;
   padding: 8px 0;
 }

 #company_history dt {
   width: 80px;
 }

 #company_history dd {
   width: calc(100% - 80px);
 }

 #company_philosophy {
   background-image: url(../img/Philosophy_bg.webp);
   background-size: cover;
   background-position: center;
   padding: min(10vw, 150px);
 }

 #company_philosophy::before {
   content: "";
   width: 80%;
   height: 1px;
   background-color: #ffffff;
   position: absolute;
   top: min(5vw, 70px);
   right: 0;
 }

 #company_philosophy::after {
   content: "";
   width: 80%;
   height: 1px;
   background-color: #ffffff;
   position: absolute;
   bottom: min(5vw, 70px);
   left: 0;
 }

 #company_philosophy .u-section_ttl {
   align-items: center;
   color: #ffffff;
 }

 .philosophy_body {
   max-width: 770px;
   margin: 0 auto;
 }

 .company_infoWrap {
   padding-bottom: min(14vw, 200px);
   background-color: #ffffff;
 }

 #company_about {
   padding-bottom: 0;
 }

 #company_about .inner {
   gap: min(5vw, 40px);
 }

 #company_about .u-section_ttl {
   flex-direction: row-reverse;
   align-items: flex-end;
   gap: 10px;
   justify-content: flex-start;
   margin: 0 auto 0 0;
   line-height: 1;
 }

 #company_about dl {
   width: 100%;
   text-align: left;
   font-weight: 600;
   margin: 0 auto;
 }

 #company_about .description-item {
   border: none;
   padding: 8px 0;
   gap: 5vw;
 }

 #company_about dt {
   width: 200px;
   height: 43px;
   background-color: var(--blue);
   display: flex;
   align-items: center;
   justify-content: center;
   color: #ffffff;
 }

 #company_about dd {
   width: calc(100% - 80px);
 }

 #company_access .u-section_ttl {
   flex-direction: row-reverse;
   align-items: flex-end;
   gap: 10px;
   justify-content: flex-start;
   margin: 0 auto 0 0;
   line-height: 1;
 }

 #company_access .inner {
   gap: min(5vw, 40px);
 }

 #company_access .content {
   text-align: left;
   font-size: min(4vw, 3rem);
   font-weight: 600;
 }

 #company_access .map {
   aspect-ratio: 560/370;
 }

 .note {
   width: 90%;
   max-width: 1280px;
   margin: 0 auto;
   border: 2px solid var(--text-color);
   font-size: min(4vw, 2.5rem);
 }

 .note h4 {
   background-color: var(--text-color);
   color: #ffffff;
   line-height: 2;
 }

 .note ul {
   padding: min(4vw, 4rem) min(4vw, 3rem);
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
 }

 .note ul li {
   text-align: left;
   width: min(50vw, 296px);
   font-weight: 600;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   #company_strong ol li {
     transform: translateX(-10%) skew(-20deg);
   }

   #company_strong ol li:nth-child(2) {
     transform: translateX(10%) skew(-20deg);
   }

   #company_history {
     padding: 80px 0;
   }

   #company_history .inner {
     gap: 40px;
   }

   #company_history dl {
     font-size: 2.5rem;
   }

   #company_history .description-item {
     border: none;
     padding: 12px 0;
   }

   #company_history dt {
     width: 140px;
   }

   #company_history dd {
     width: calc(100% - 140px);
   }

   #company_philosophy .inner {
     position: relative;
   }

   #company_philosophy .u-section_ttl {
     position: absolute;
     -webkit-transform: rotate(-90deg);
     -ms-transform: rotate(-90deg);
     transform: rotate(-90deg) translate(16%, -100%);
     top: 50%;
     left: 0;
   }

   #company_philosophy .u-section_ttl span {
     font-size: min(10vw, 5rem);
   }

   .company_infoWrap .flex {
     width: 90%;
     margin: 0 auto;
   }

   #company_about {
     width: 50%;
   }

   #company_access {
     width: 50%;
   }

   #company_access dl {
     font-size: 2.5rem;
   }

   #company_access {
     padding-bottom: 80px;
   }
 }

 #recruit_merit .u-section_ttl span,
 #recruit_description .u-section_ttl span {
   font-size: min(10vw, 7.5rem);
 }

 #recruit_01 .inner {
   gap: min(5vw, 40px);
   max-width: 1280px;
   font-weight: 600;
   text-align: left;
 }

 #recruit_01 .section_lead {
   font-size: min(5vw, 4rem);
   font-weight: 600;
   position: relative;
   text-align: center;
 }

 #recruit_01 .content_img {
   max-width: 780px;
   margin: 0 auto;
 }

 #recruit_merit {
   background-color: #F3F3F3;
 }

 #recruit_merit .inner {
   position: relative;
   z-index: 2;
 }

 #recruit_merit .content_wrap {
   margin-top: min(10vw, 80px);
   display: flex;
   flex-direction: column;
   gap: min(12vw, 200px);
 }

 #recruit_merit .u-section_ttl {
   flex-direction: row-reverse;
   align-items: flex-end;
   gap: 10px;
   justify-content: flex-start;
   margin: 0 auto 0 0;
   line-height: 1;
   text-align: left;
   word-break: keep-all;
 }

 #recruit_merit .content_textWrap {
   background-color: #ffffff;
   padding: min(4vw, 40px);
   z-index: 2;
   position: relative;
 }

 #recruit_merit .content_textWrap ul {
   color: #1554A2;
   font-weight: 600;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   gap: min(2vw, 20px);
   justify-content: space-between;
 }

 #recruit_merit .content_textWrap ul li {
   width: 48%;
   padding: 4px 0;
   text-align: left;
   border-bottom: 1px dotted var(--text-color);
 }

 #recruit_merit .content_textWrap.blue_box {
   background-color: #5398CE;
   color: #ffffff;
   padding: min(8vw, 80px) min(4vw, 40px);
 }

 #recruit_merit .content_textWrap.blue_box ul {
   color: #ffffff;
   font-weight: 600;
   display: flex;
   flex-direction: column;
   flex-wrap: wrap;
   justify-content: space-between;
 }

 #recruit_merit .content_textWrap.blue_box ul li {
   width: 100%;
   border-bottom: none;
 }

 #recruit_merit .band {
   position: absolute;
   width: 100%;
   height: 100%;
   overflow: hidden;
   bottom: 0;
   right: 0;
   z-index: 1;
 }

 #recruit_merit .band::before {
   content: "";
   position: absolute;
   top: 20%;
   left: 0;
   width: 200%;
   height: min(15vw, 200px);
   background-color: #1554A2;
   transform: rotate(50deg);
   transform-origin: top left;
 }

 #recruit_description .inner {
   background-color: #ffffff;
   padding: min(8vw, 80px) min(4vw, 40px);
   max-width: 1280px;
 }

 #recruit_description dl {
   font-size: clamp(1.8rem, 3.7vw, 2.3rem);
   font-weight: 700;
   text-align: left;
 }

 #recruit_description .description-item {
   text-align: left;
   border-bottom: none;
   flex-direction: column;
   margin-bottom: 8px;
 }

 #recruit_description dt {
   width: 100%;
   border-bottom: 1px solid #1554A2;
   padding: 4px 0;
 }

 #recruit_description dd {
   width: 100%;
   border-bottom: 1px solid #BCBCBC;
   padding: 4px 0;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   #recruit_01 .inner {
     text-align: center;
   }

   #recruit_merit .inner {
     max-width: 1280px;
   }

   #recruit_merit .content {
     position: relative;
     display: flex;
     padding-bottom: 40px;
   }

   #recruit_merit .content_textWrap {
     width: 55%;
     box-shadow: 0 0 20px rgba(0, 0, 0, 0.16);
   }

   #recruit_merit .content_img {
     position: absolute;
     width: 50%;
     right: 0;
     bottom: 0;
   }

   #recruit_merit .content:nth-of-type(2) {
     flex-direction: row-reverse;
   }

   #recruit_merit .content:nth-of-type(2) .content_img {
     right: auto;
     left: 0;
   }

   #recruit_merit .band::before {
     content: "";
     position: absolute;
     top: -10%;
     left: 0;
     width: 200%;
     height: min(15vw, 300px);
     background-color: #1554A2;
     transform: rotate(40deg);
     transform-origin: top left;
   }

   #recruit_description .inner {
     gap: 60px;
     padding: min(8vw, 80px) min(4vw, 60px);
   }

   #recruit_description .u-section_ttl {
     flex-direction: row-reverse;
     align-items: flex-end;
     gap: 10px;
     justify-content: flex-start;
     margin: 0 auto 0 0;
     line-height: 1;
     text-align: left;
     word-break: keep-all;
   }

   #recruit_description .description-item {
     text-align: left;
     border-bottom: none;
     flex-direction: row;
     margin-bottom: 8px;
   }

   #recruit_description dt {
     width: 200px;
     border-bottom: 2px solid #1554A2;
     padding: 8px;
   }

   #recruit_description dd {
     width: calc(100% - 200px);
     border-bottom: 2px solid #BCBCBC;
     padding: 8px;
   }
 }

 #works_01 {
   padding: min(5vw, 60px) 0 min(14vw, 200px);
 }

 #works_01 .outer {
   width: 90%;
   margin: 0 auto;
   background-color: #F4F4F4;
   padding: min(5vw, 200px) 0;
 }

 #works_01 .content {
   width: 100%;
   margin: 0 auto;
 }

 #works_01 .content_itemWrap {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
   gap: min(2vw, 20px);
 }

 #works_wrapper #top_recruit {
   display: none;
 }

 @media screen and (min-width: 960px) {
   #works_01 .inner {
     gap: min(5vw, 40px);
     max-width: 1280px;
   }

   #works_01 .content_itemWrap {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
     gap: 40px;
   }
 }

 /* モーダル */
 .modal {
   display: none;
   position: fixed;
   z-index: 9999;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   overflow: auto;
   background-color: rgba(0, 0, 0, 0.7);
 }

 .modal-content {
   position: relative;
   margin: 15% auto;
   width: 80%;
   background-color: #fefefe;
   padding: 10px;
 }

 .modal-close {
   position: absolute;
   bottom: 100%;
   right: 0px;
   font-size: 20px;
   cursor: pointer;
   font-weight: 900;
   color: #ffffff;
   line-height: 1;
 }

 @media screen and (min-width: 960px) {
   .modal-content {
     padding: 20px;
   }

   .modal-close {
     position: absolute;
     bottom: 100%;
     right: 0px;
     font-size: 40px;
     cursor: pointer;
     font-weight: 900;
     color: #ffffff;
   }
 }

 #contact_01 .right {
   text-align: right;
 }

 #contact_01 h3 {
   font-size: clamp(2rem, 5vw, 3.0rem);
 }

 .form_outer {
   width: 100%;
   max-width: 1280px;
   margin: 0 auto;
   padding-bottom: min(5vw, 40px);
 }

 form {
   margin: 0 auto;
   max-width: 1160px;
   text-align: left;
   line-height: 3;
   container-type: inline-size;
   container-name: form;
   font-size: clamp(1.4rem, 4vw, 2.0rem);
 }

 .form_item--ttl {
   background-color: #1554A2;
   color: #ffffff;
   line-height: 2;
   font-weight: 400;
   padding: 2%;
   border: 1px solid #28325B;
   border-bottom: none;
 }

 .must {
   color: #FF0000;
 }

 .form_item--input {
   padding: 2%;
   background-color: #F6F6F6;
   border: 1px solid #28325B;
   border-bottom: none;
 }

 .form_item--input.privacy_area {
   border-bottom: 1px solid #28325B;
   margin-bottom: 40px;
 }

 .form_item--input span {
   color: #28325B;
   line-height: 1;
   display: block;
   padding: 8px 0;
 }

 .postal_codewrap {
   display: flex;
   align-items: center;
   justify-content: flex-start;
   gap: 5px;
   margin-bottom: 2%;
 }

 #postal_code_1,
 #postal_code_2 {
   max-width: 96px;
 }

 label {
   display: inline-block;
 }

 input[type="text"],
 input[type="tel"],
 input[type="email"],
 select,
 textarea {
   display: block;
   height: 48px;
   width: 100%;
   font-size: 2.0rem;
   padding: 6px;
   background-color: #ffffff;
   border: none;
 }

 textarea {
   height: 252px;
   resize: vertical;
 }

 .privacy {
   height: 200px;
   overflow-y: scroll;
   line-height: 1.5;
   font-size: clamp(1.2rem, 3vw, 1.5rem);
   padding: 2%;
   background-color: #ffffff;
   margin-bottom: 2%;
 }

 .privacy p {
   padding-bottom: min(4vw, 30px);
 }

 .agree_privacy {
   font-size: clamp(1.2rem, 3vw, 1.5rem);
 }

 .form_submit button {
   width: 80%;
   max-width: 345px;
   margin: 0 auto;
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   border: none;
   transition: all 0.5s;
   padding: 0;
 }

 .form_submit button:hover {
   opacity: 0.7;
 }

 .form_submit button p {
   font-size: 2.2rem;
   color: #ffffff;
   text-align: left;
   font-weight: 400;
   letter-spacing: 0.1rem;
 }

 #contact_wrapper #top_recruit {
   display: none;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   #contact_01 .inner {
     max-width: 1080px;
   }

   form {
     max-width: 1080px;
   }

   .form_item {
     display: flex;
     justify-content: center;
     align-items: flex-start;
     max-width: 1100px;
     margin: 0 auto;
   }

   .form_item--ttl {
     padding: 30px 40px;
     width: 40%;
     margin: 0;
     height: 80px;
     line-height: 1;
     text-align: center;
     border-right: none;
   }

   .form_item--input {
     width: calc(100% - 300px);
     margin: 0;
     padding: 20px 30px;
     line-height: 1;
     height: 80px;
   }

   .form_item:nth-of-type(3) .form_item--ttl {
     height: 150px;
   }

   .form_item:nth-of-type(3) .form_item--input {
     height: 150px;
   }

   .form_item--input label {
     line-height: 1;
   }

   .form_item:nth-of-type(8) .form_item--ttl {
     height: 300px;
     border-bottom: 1px solid #28325B;
   }

   .form_item:nth-of-type(8) .form_item--input {
     height: 300px;
   }

   .form_submit button {
     margin: 40px auto 0;
   }
 }