@charset "utf-8";
/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse; width:100%;}
fieldset,img{border:0; vertical-align:top;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#000;}
del,ins{text-decoration:none;}
section{display:block;}
figure,figcaption{margin:0; padding:0;}
main {display:block;padding:0;margin:0;position: relative;z-index: 2;}
small {font-size: 100%;}
.cf:after{content:".";display:block;height:0;clear:both;visibility:hidden;font-size: 0.1em;}
.cf	{display:inline-block;zoom:1;}
ul.col {
	letter-spacing:-0.5em;
}
ul.col li {
	display:inline-block;
	vertical-align:top;
	letter-spacing:0.01em;
}
/* \*/
* html .cf	{height:1%;}
.cf	{display:block;}
/* */
a:link,a:visited {
    backface-visibility:hidden;
-webkit-backface-visibility: hidden;  
    transition: ease-in-out .2s;
	
	text-decoration:none;
	color:var(--c-base);
}
a:hover {
    outline:none;
}
a:focus, *:focus { outline:none; }
img {
	max-width: 100%;
    height: auto;
}
:root {
    --f-maru: "M PLUS Rounded 1c", sans-serif;
    --f-noto: "Noto Sans JP", sans-serif;
    --f-en: "Montserrat", sans-serif;
    --c-base:#000;
    --c-line:#d0d6dd;
    --c-blue:#0c488e;
}

/*------------------------------------------
共通
-----------------------------------------*/
.fade {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.8s ease-out, transform 0.7s ease-out;
}

.fade.visible {
  opacity: 1;
  transform: translateY(0);
}
.fade-zoom {
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 0.8s ease-out, transform 1.5s ease-out;
    overflow: hidden;
}
.fade-zoom.visible {
  opacity: 1;
  transform: scale(1);
}
body {
    font-family: var(--f-noto);
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
    color: var(--c-base);
    word-wrap: break-word;
    font-weight: 400;
    -webkit-text-size-adjust: 100%;
    background-color: #e7e4db;
}
br.sp-only {
    display: none;
}
.fancybox__container {
    z-index: 99999 !important;
}
.loading {
    background-color: #e7e4db;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.loading__spinner {
    width: 40px;
    height: 40px;
    border: 7px solid rgba(0, 0, 0, 0.1); /* Or use a CSS var for this color */
    border-radius: 50%;
    border-top-color: var(--c-blue);
    animation: spin 1s ease-in-out infinite;

}

@keyframes spin { to { transform: rotate(360deg); } }
.com-btn a {
    background-color: var(--c-blue);
    color: #fff;
    font-weight: 700;
    justify-content: center;
    align-items: center;
    height: 70px;
    max-width: 350px;
    width: 100%;
    display: flex;
    border-radius: 10px;
    margin: auto;
    position: relative;
    font-size: 17px;
    letter-spacing: 0.06em;
    border: var(--c-blue) 1px solid;
}
.com-btn a:after {
  background-color: var(--c-blue);
  width: 28px;
  height: 28px;
  border-radius: 5px;
  background-image: url("../images/arrow_b.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 12px;
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  margin-top: -14px;
  right: 20px;
  transition: ease-in-out .2s;
  background-color: #fff;
    
}
.com-btn a:hover {
    background-color: #fff;
    color: var(--c-blue);
}

.header {
    display: flex;
    align-items: center;
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 140px;
    padding-right: 60px;
    position: fixed;
    z-index: 9999;
    left: 0;
    right: 0;
    top: 0;
    transition: ease-in-out .3s;
}
.header.fixed {
    background-color: #fff;
    padding-top: 10px;
    padding-bottom: 10px;
}
.header__logo a{
    display: flex;
    align-items: flex-end;
}
.header__logo span {
    font-family: var(--f-en);
    color: var(--c-blue);
    font-weight: 600;
    font-size: 22px;
    line-height: 1.1;
    margin-left: 15px;
    margin-bottom: -5px;
    
}
.header__logo img {
    width: 150px;
}
.header__nav {
    font-weight: 600;
}
.header__nav-primary {
    font-size: 13px;
    display: flex;
    gap:2%;
    justify-content: flex-end;
    padding-top: 12px;
}
.header__nav-primary a {
    color: #757575;;
}
.header__nav-primary a:hover {
    color: var(--c-blue);
}
.header__nav-primary li:nth-child(3) {
    background-image: url("../images/blank_icon.svg");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 12px;
    padding-right: 18px;
}
.header__nav-secondary {
    font-size: 16px;
    display: flex;
    gap:3%;
    justify-content: flex-end;
}
.header__nav-secondary li {
    position: relative;
}
.header__nav-secondary a {
    position: relative;
    padding-left: 22px;
    background-image: url("../images/nav_cion.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 14px;

}
.header__nav-secondary > li:hover > a{
    color: var(--c-blue);
}
.header__nav-secondary > li > a:hover {
    color: var(--c-blue);
    
}
.header__nav-secondary-local {
    position: absolute;
    background-color: var(--c-blue);
    padding: 20px;
    border-radius: 10px;
    z-index: 4;
    line-height: 1.5;
    width: 200px;
    left: 50%;
    margin-left: -100px;
    box-sizing: border-box;
    opacity: 0;
    pointer-events: none;
    transition:ease-in-out .2s;
    margin-top: 10px;
}
.header__nav-secondary > li {
    padding-bottom: 12px;
    padding-top: 12px;
}
.header__nav-secondary > li:hover .header__nav-secondary-local{
    opacity: 1;
    pointer-events: inherit;
    margin-top: 10px;
}
.header__nav-secondary-local li:not(:last-child) {
    margin-bottom: 10px;
}
.header__nav-secondary-local a {
    color: #fff;
    font-size: 15px;
    background-image: none;
    padding-left: 15px;
    line-height: 1.2;
    display: inline-block;

}
.header__nav-secondary-local a:before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: "";
    position: absolute;
    z-index: 1;
    left: 0;
    top: 50%;
    margin-top: -3px;
    background-color: #fff;
}
.header__nav-secondary-local a:hover {
    transform: translateX(5px);
    text-decoration: underline;
}
.header__nav {
    flex: 1;
}
.header__left-fix {
    width: 80px;
    position: fixed;
    left: 0;
    top: 0;
    background-color: var(--c-blue);
    z-index: 9;
    bottom: 0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl;
    font-weight: 700;
    letter-spacing: 0.1em;
    font-size: 15px;
}
.header__left-fix ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
}
.header__left-fix ul li {
    text-align: center;
}
.header__left-fix ul li:not(:last-child) {
    margin-bottom: 20px;
}
.header__left-fix ul li a {
    display: flex;
}
.header__left-fix ul li a:hover {
    opacity: 0.8;
}
.header__left-fix img {
    width: 25px;
    margin: auto;
}
.header__sp-btn,
.header__overlay,
.header__sp-nav{
    display: none;
}
.main {
    padding-left: 80px;
    position: relative;
    padding-bottom: 130px;
    padding-top: 115px;
}
.main:before {
    width: 300px;
    background-image: url("../images/bg_left.png");
    background-repeat: repeat-y;
    background-position: left top;
    content: "";
    left: 80px;
    top: 0;
    bottom: 0;
    position: absolute;
    z-index: -1;
}
.main:after {
    width: 300px;
    background-image: url("../images/bg_right.png");
    background-repeat: repeat-y;
    background-position: right top;
    content: "";
    right: 0px;
    top: 140px;
    bottom: 0;
    position: absolute;
    z-index: -1;
}
.content-wrap {
    margin: auto;
    max-width: 1080px;
    margin: auto;
    width: 86%;
    padding-top: 70px;
}
.topic-path {
    color: var(--c-blue);
    font-size: 12px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-weight: 500;
}
.topic-path li:not(:last-child):after {
    content: ">";
    margin-left: 10px;
    margin-right: 10px;
}
.topic-path a{
    color: var(--c-blue);
    text-decoration: underline;
}
.topic-path a:hover {
    text-decoration: none;
}
.page-ttl-wrap {
    height: 200px;
    display: flex;
    flex-flow: column;
    justify-content: center;
}
.page-ttl {
    font-size: 48px;
    font-weight: 700;
    color: var(--c-blue);
    font-family: var(--f-maru);
    line-height: 1.4;
    opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.8s ease-out, transform 0.7s ease-out;
}
.page-ttl.visible {
  opacity: 1;
  transform: translateX(0);
}


.page-ttl span {
    display: block;
    font-size: 15px;
    margin-bottom: 5px;
    background-image: url("../images/nav_cion.png");
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 22px;
}
.inner-white {
    border-radius: 15px;
    background-color: #fff;
    padding: 80px;
    overflow: hidden;
}
.inner-white--nopad {
    padding: 0 !important;
    
}
.second-ttl {
    font-family: var(--f-maru);
    font-size: 34px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 30px;
    color: var(--c-blue);
    position: relative;
}
.second-ttl span {

}
.footer {
    background-color: var(--c-blue);
    padding-left: 80px;
    padding-top: 80px;
    padding-bottom: 80px;
}
.footer a {
    color: #fff;
    font-weight: 600;
    font-size: 14px;
}
.footer a:hover {
    text-decoration: underline;
}
.footer__primary {
    display: flex;
}
.footer__sitemap {
    margin-left: auto;
}
.footer__logo ul {
    display: flex;
    gap:25px;
    margin-top: 30px;
}
.footer__logo ul li img {
    width: 25px;
}
.footer__logo ul li a {
    display: block;
}
.footer__logo ul li a:hover {
    opacity: 0.8;
}
.footer__logo img {
    width: 150px;
}
.footer__sitemap-list {
    display: grid;
  grid-auto-columns: max-content;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, auto);
  gap: 15px 50px;
  list-style: none;
  padding: 0;
  margin: 0;
    line-height: 1.6;
  align-items: start; /* 上詰めにするためのポイント */
}
.footer__sitemap-list-blank {
    background-image: url("../images/blank_icon_w.svg");
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 18px;
}
.footer__sitemap-list ul {
margin-top: 5px;
}
.footer__sitemap-list ul li a{
    font-size: 12px;
    position: relative;
    padding-left: 15px;
}
.footer__sitemap-list ul li a:before {
    width: 5px;
    height: 1px;
    background-color: #fff;
    content: "";
    position: absolute;
    z-index: 1;
    left: 0;
    top: 50%;
}
.footer__inner {
    max-width: 1080px;
    margin: auto;
}
.footer__secondary {
    display: flex;
    align-items: center;
    margin-top: 30px;
}
.footer__secondary ul {
    display: flex;
    gap:30px;
}
.footer__secondary ul a{
    font-size: 12px;
    background-image: url(../images/blank_icon_w.svg);
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 18px;
    font-size: 12px;
}
.footer__secondary-copy {
    color: #fff;
    font-size: 13px;
    margin-left: auto;
    font-family: var(--f-en);
    font-weight: 600;
}
.txt-link:link {
    color: var(--c-blue);
    text-decoration: underline;
    font-weight: 500;
}
.txt-link:hover {
    text-decoration: none;
}
.txt-link--blank {
    background-image: url("../images/blank_icon.svg");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 14px;
    padding-right: 20px;
}
.structure {
    background-color: #f2f2f2;
    padding: 50px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}
.structure h2 {
    position: relative;
    z-index: 2;
    color: var(--c-base);
}
.structure:before {
    content: "";
    background-image: url("../images/bg_wavy01.svg");
    width: 230px;
    height: 200px;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% 100%;
}
.structure:after {
    content: "";
    background-image: url("../images/bg_wavy02.svg");
    width: 200px;
    height: 200px;
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 100% 100%;
}
.structure__item:not(:last-child) {
    border-bottom: var(--c-line) 1px solid;
}
.structure__item a {
    display: flex;
    padding-top: 20px;
    padding-bottom: 20px;
    position: relative;
    z-index: 1;
}
.structure__item:last-child a {
    padding-bottom: 0px;
}
.structure__item-img {
    width: 100px;
    flex-shrink: 0;
    margin-right: 25px;
}
.structure__item-img img {
    border-radius: 5px;
}
a:hover .structure__item-txt h3 {
    text-decoration: underline;
    color: var(--c-blue);
    transition: ease-in-out .2s;
}
.structure__item-txt h3 {
    display: inline-block;
    margin-top: 5px;
    font-weight: 600;
    font-size: 21px;
    font-family: var(--f-maru);
    position: relative;
    padding-right: 45px;
}
.structure__item-txt h3:after {
    background-color: var(--c-blue);
    width: 28px;
    height: 28px;
    border-radius: 5px;
    background-image: url("../images/arrow_w.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 12px;
    content: "";
    position: absolute;
    z-index: 1;
    top: 50%;
    margin-top: -14px;
    right: 0;
    transition: ease-in-out .2s;
}
a:hover .structure__item-txt h3:after {
    background-color: #1060BE;
}
.structure__item-txt-sub span{
    font-size: 90%;
    font-weight: 500;
    background-image: url("../images/blank_icon.svg");
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: right center;
    display: inline-block;
    padding-right: 18px;
    margin-right: 5px;
}
.sec-line {
    
}
.sec-btm {
   border-bottom: var(--c-line) 1px solid;
    padding-bottom: 80px;
    margin-bottom: 80px;
}
.sec-btm--no-line {
   border-bottom: none ;
    padding-bottom: 0px !important;
}
.inq-box__lead {
    text-align: center;
    margin-bottom: 40px;
}
.inq-box__tel {
    text-align: center;
    background-color: #f2f2f2;
  padding: 40px;
  border-radius: 10px;
    margin-top: 50px;
}
.inq-box__tel a {
    font-family: var(--f-en);
  font-size: 25px;
  color: var(--c-blue);
  font-weight: 700;
}
.inq-box__tel span:after {
    content: "：";
}
br.sp-only {
    display: none;
}
.inner1080 {
    max-width: 1080px;
    width: 86%;
    margin: auto;
}
.basic-tbl tbody tr:last-child th,
.basic-tbl tbody tr:last-child td{
    border-bottom: none;
}
.basic-tbl th {
    border-bottom: var(--c-line) 1px solid;
    padding-bottom: 20px;
    padding-top: 20px;
    width: 165px;
    font-weight: 700;
    vertical-align: top;
}
.basic-tbl td {
    border-bottom: var(--c-line) 1px solid;
    padding-bottom: 20px;
    padding-top: 20px;
}
.basic-tbl__dot li {
    position: relative;
    padding-left: 18px;
}
.basic-tbl__dot li:before {
    width: 8px;
    height: 1px;
    left: 0;
    content: "";
    background-color: var(--c-base);
    position: absolute;
    z-index: 1;
    top: 15px;
}
.third-ttl {
    font-size: 24px;
  font-weight: 600;
  border-bottom: var(--c-line) 2px solid;
  padding-bottom: 20px;
  position: relative;
  margin-bottom: 25px;
}
.third-ttl:after {
  width: 20px;
  height: 2px;
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: -2px;
  background-color: var(--c-blue);
}









@media screen and (max-width: 1080px) {
html {
    font-size: calc(100vw / 37.5);
  }
body {
    font-size: 1.4rem;
    line-height: 1.8;
}
br.sp-none {
    display: none;
}
br.sp-only {
    display: inherit;
}
.header {
    padding-left: 2rem;
    padding-top: 2.5rem;
    padding-right: 0;
    position: static;
    background-color: transparent !important;
}
    .header__left-fix {
        display: none;
    }
    .header__nav {
        display: none;
        
    }
.header__logo span {
  font-size: 1.5rem;
  margin-left: 1.5rem;
    margin-bottom: -0.3rem;
}
.header__logo img {
  width: 10rem;
}
 .header__sp-btn {
    background-color: var(--c-blue);
    width: 7rem;
    height: 3.5rem;
    position: fixed;
    right: 2rem;
    top: 3rem;
    z-index: 999;
    text-align: center;
    transition: ease-in-out .3s;
    justify-content: center;
    border-radius: 2.5rem;
    align-content: center;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

.header__sp-btn-trigger,
.header__sp-btn-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.header__sp-btn-trigger {
    position: relative;
    width: 2.8rem;
    height: 1rem;
    text-align: center;
    margin: auto;
  }
.header__sp-btn-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.2rem;
	background-color: #fff;
}
.header__sp-btn-trigger span:nth-of-type(1) {
	top: 0;
}
.header__sp-btn-trigger span:nth-of-type(2) {
	bottom: 0;
}
.header__sp-btn.active .header__sp-btn-trigger span {
	background-color: #fff;
}
.header__sp-btn.active .header__sp-btn-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(0.4rem) rotate(-45deg);
	transform: translateY(0.4rem) rotate(-45deg);
}
.header__sp-btn.active .header__sp-btn-trigger span:nth-of-type(2) {
	-webkit-transform: translateY(-0.4rem) rotate(45deg);
	transform: translateY(-0.4rem) rotate(45deg);
}
    .header__sp-nav {
        position: fixed;
        z-index: 88;
        left: 1rem;
        right: 1rem;
        bottom: 2rem;
        top:2rem;
        border-radius: 1.5rem;
        padding: 3rem;
        padding-top: 5rem;
        overflow: auto;
        background-color: #fff;
        
    }

    .header__sp-nav-logo {
        display: block;
        margin-bottom: 3.5rem;
        
    }
    .header__sp-nav-logo dl {
        display: flex;
        align-items: flex-end;
    }
    .header__sp-nav-logo dt {
        flex-shrink: 0;
        width: 9rem;
        margin-right: 1.2rem;
    }
    .header__sp-nav-logo dd {
        font-family: var(--f-en);
        font-weight: 600;
        line-height: 1.2;
        color: var(--c-blue);
        margin-bottom: -0.4rem;
    }
    .header__sp-nav-link > li {
        margin-bottom: 3.5rem;
        
    }
    .header__sp-nav-link > li > a > span{
        
    }
    .header__sp-nav-link > li > a.blank span{
    background-image: url("../images/blank_icon.svg");
    background-size: 1.4rem;
    background-repeat: no-repeat;
    background-position: right center;
        padding-right: 2.2rem;
    }
    .header__sp-nav-link > li > a {
        font-weight: 600;
        font-size: 1.9rem;
        display: block;
        padding-bottom: 1.5rem;
        border-bottom: var(--c-line) 1px solid;
    }
    .header__sp-nav-link ul {
        padding-top: 1.5rem;
    }
    .header__sp-nav-link ul li:not(:last-child) {
        margin-bottom: 1rem;
    }
    .header__sp-nav-link ul li a {
        font-weight: 500;
    }
    
    .header__overlay {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(95,121,151,0.8);
    z-index: 7;
    }
    .header__sp-nav-sns {
        display: flex;
        gap:2rem;
        justify-content: center;
    }
    .header__sp-nav-sns img {
        width: 2.8rem;
    }
.main {
  padding-left: 0px;
  position: relative;
  padding-bottom: 7rem;
    padding-top: 0;
}

.main::before {
  background-size: 14rem;
    width: 14rem;
    left: 0;
}
.main::after {
  background-size: 14rem;
    width: 14rem;
}
.topic-path {
    color: var(--c-blue);
    font-size: 1.1rem;
    margin-bottom: 0;
}
.content-wrap {
    padding-top: 1rem;
}
.inner-white {
  border-radius: 1.5rem;
  padding: 4rem 2rem;
}
.second-ttl {
  font-size: 2rem;
    margin-bottom: 3.2rem;
    line-height: 1.4;
}
    .page-ttl-wrap {
        height: 12rem;
    }
.page-ttl {
  font-size: 3.3rem;
}
.page-ttl span {
  font-size: 1.3rem;
  margin-bottom: 0.3rem;
  background-size: 1.2rem;
  padding-left: 1.7rem;
}
.structure {
  padding: 2.5rem 1.5rem;
  border-radius: 1rem;
}
.structure__item-img {
  width: 5rem;
  margin-right: 1.5rem;
}
.structure__item a {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.structure__item-txt h3 {
  margin-top: 0.8rem;
  font-size: 1.6rem;
  padding-right: 3.5rem;
}
.structure::before {
  width: 9rem;
  height: 9rem;
}
.structure::after {
  width: 10rem;
  height: 9rem;
}
.structure h2 {
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }
.structure__item-txt {
    font-size: 1.2rem;
    line-height: 1.5;
}
.structure__item-txt h3::after {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 0.5rem;
  background-size: 1rem;
  margin-top: -1.2rem;

}
.footer__primary {
  display: block;
}
.footer {
  padding-left: 8%;
    padding-right: 8%;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.footer__logo img {
  width: 12rem;
}
.footer__logo ul li img {
  width: 2.5rem;
}
.footer__logo ul {
  gap: 2rem;
  margin-top: 3rem;
}
.footer__sitemap-list {
  gap: 1rem 2rem;
  line-height: 1.4;
  align-items: start;
}
.footer a {
  font-size: 1.2rem;
}
.footer__sitemap-list ul li a {
  font-size: 1.1rem;
}
.footer__secondary ul a {
  font-size: 1.2rem;
    background-size: 1rem;
        padding-right: 1.5rem;
} 
    
.footer__secondary ul {
  display: block;
    margin-bottom:2rem;
    
}
.footer__sitemap-list-blank {
    background-size: 1rem;
    padding-right: 1.5rem;
}
.footer__secondary {
  display: block;
  margin-top: 3rem;
}
.footer__secondary-copy {
    text-align: center;
  font-size: 1.1rem;
}
    .footer__logo {
        margin-bottom: 4rem;
    }
.sec-btm {
  padding-bottom: 4rem;
  margin-bottom: 4rem;
}
.inq-box__tel {
  padding: 2rem;
  border-radius: 1rem;
  margin-top: 3rem;
}
    .inq-box__tel span {
        display: block;
        font-weight: 600;
    }
.inq-box__tel span::after {
  display: none;
}
    .inq-box__tel dt {
        margin-bottom: 1rem;
    }
    .inq-box__tel dd {
        font-size: 1.3rem;
    }
.inq-box__tel a {
  font-size: 2.5rem;
  display: block;
    line-height: 1.3;
}
.com-btn a {
  height: 5.5rem;
  max-width: 25rem;
  border-radius: 1rem;
  font-size: 1.5rem;
}
.com-btn a:after {
  width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.5rem;
    background-size: 1rem;
    margin-top: -1.2rem;
    right: 1.5rem;
}
.third-ttl {
  font-size: 1.6rem;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
.txt-link--blank {
  background-size: 1.4rem;
  padding-right: 2rem;
}
}
/*-------------------------------
トップページ
--------------------------------*/
.home .main {
  padding-bottom: 0px;
}
.home .main:before {
    display: none;
}
.home .main:after {
    display: none;
}
.home__main-visual {
    position: relative;
    padding-bottom: 20px;
    overflow: hidden;
}
.home__main-visual-copy {
    position: absolute;
    z-index: 3;
    left: 10%;
    width: 500px;
    top: 50px;
}
.home__main-visual img {
    border-radius: 25px;
}
.home__main-visual-main {
    align-items: flex-start !important;
    padding-top: 70px;
}
.home__main-visual-main > div {
    margin-right: 100px;
}
.home__main-visual-main .slide01 {
    width: 600px;
    margin-top: 70px;
}

.home__main-visual-main .slide02-01 {
    width: 280px;
    margin-bottom: 90px;
    margin-top: 40px;
}
.home__main-visual-main .slide02-02 {
    width: 350px;
    margin-bottom: 70px;
    margin-left: 50px;
}
.home__main-visual-main .slide03 {
    width: 440px;
}
.home__main-visual-main .slide04 {
    width: 540px;
    margin-top: 150px;
    margin-left: -40px;
}
.home__main-visual-main .slide05 {
    margin-top: 0px;
}
.home__main-visual-main .slide05-01 {
    width: 350px;
    margin-left: 90px;
    margin-bottom: 60px;
}
.home__main-visual-main .slide05-02 {
    width: 250px;
    margin-left: -30px;
}
.home__main-visual-sub {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}
.home__main-visual-sub div {
    width: 250px;
    opacity: 0.6;
    margin-right: 200px;
    -webkit-filter: blur(10px);
  filter: blur(10px);
}
.home__main-visual-sub img {
    
}

.home__main-visual-sub .infiniteslide_clone {
    -webkit-filter: blur(10px);
  filter: blur(10px);
}
.home__main-visual-sub .bg-slide02{
    transform: translateY(-100px);
}
.home__main-visual-sub .bg-slide03{
    transform: translateY(120px);
    transform: translateX(-30px);
    width: 450px;
}
.home__main-visual-sub .bg-slide04{
    transform: translateY(220px);
    transform: translateX(30px);
}
.home__main-visual-sub .bg-slide05{
    transform: translateY(20px);
    transform: translateX(30px);
    width: 460px;
}
.home-lead {
    background-color: var(--c-blue);
    padding-top: 90px;
    padding-bottom: 90px;
}
.home-lead .inner1080 {
    display: flex;
    gap:5%;
}
.home-lead a {
    display: flex;
    color: #fff;
}
.home-lead__item-img {
    flex-shrink: 0;
    width: 42%;
    margin-right: 5%;
}

.home-lead__item-img img {
    border-radius: 10px;
    transition: ease-in-out .2s;
}
a:hover .home-lead__item-img img{
    opacity: 0.8;
    
}
.home-lead__item-txt h2 {
    font-weight: 700;
    font-family: var(--f-maru);
    font-size: 21px;
    letter-spacing: 0.07em;
    position: relative;
    display: inline-block;
    padding-right: 40px;
    margin-bottom: 5px;
    transition: ease-in-out .3s;
}
a:hover .home-lead__item-txt h2 {
    transform: translateX(5px);
    text-decoration: underline;
    opacity: 0.8;
}
.home-lead__item-txt h2:after {
  background-color: var(--c-blue);
  width: 28px;
  height: 28px;
  border-radius: 5px;
  background-image: url("../images/arrow_b.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 12px;
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  margin-top: -14px;
  right: 0;
  transition: ease-in-out .2s;
    background-color: #fff;
}
.home-lead__item-txt p {
    font-size: 15px;
}
.home__culture {
    position: relative;
    overflow: hidden;
    padding-bottom: 110px;
    padding-top: 110px;
}
.home__culture::before {
  content: "";
  position: absolute;
  z-index: -1;
  background-image: url("../images/wavy04.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  left: -60px;
  top: -100px;
  width: 290px;
  height: 300px;
    
}
.home__culture::after {
  content: "";
  position: absolute;
  z-index: -1;
  background-image: url("../images/wavy05.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  right: -60px;
  bottom: -100px;
  width: 290px;
  height: 300px;
    transform:rotate(95deg); 
}
.home__culture .inner1080{
    background-color: #fff;
    border-radius: 20px;
  padding: 80px;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}
.home__culture .inner1080:before {
  content: "";
  background-image: url("../images/bg_wavy03.svg");
  width: 300px;
  height: 210px;
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% 100%;
}
.home__culture .inner1080:after {
  content: "";
  background-image: url("../images/bg_wavy04.svg");
  width: 230px;
  height: 310px;
  position: absolute;
  z-index: 0;
  bottom: 0;
  right: 0;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% 100%;
}
.home__culture-ttl {
    display: flex;
    align-items: center;
    
    font-weight: 500;
    line-height: 1.9;
    margin-bottom: 60px;
    position: relative;
    z-index: 2;
    
}
.home__culture-ttl h2 {
    font-weight: 700;
    color: var(--c-blue);
    font-size: 37px;
    font-family: var(--f-maru);
    margin-right: 45px;
}
.home__culture ul {
    display: flex;
    flex-wrap: wrap;
    gap:30px;
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
}
.home__culture ul li {
    width: calc((100% - 30px) / 2);
}
.home__culture ul li a {
    display: flex;
    height: 85px;
    border: var(--c-line) 1px solid;
    border-radius: 10px;
    align-items: center;
    font-weight: 600;
    font-size: 19px;
    padding-left: 25px;
    position: relative;
    background-color: #fff;
}
.home__culture ul li a:hover {
    background-color: var(--c-blue);
    color: #fff;
    border-color: var(--c-blue);
}
.home__culture ul li a:after {
  background-color: var(--c-blue);
  width: 28px;
  height: 28px;
  border-radius: 5px;
  background-image: url("../images/arrow_w.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 12px;
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  margin-top: -14px;
  right: 25px;
  transition: ease-in-out .2s;
}
.home__culture .com-btn {
    position: relative;
    z-index: 2;
}
.home__interview {
    background-image: url("../images/bg_interview.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top: 100px;
    padding-bottom: 100px;
    position: relative;
    color: #fff;
    text-align: center;
    margin-bottom: 100px;
}
.home__interview .inner1080 {
    position: relative;
    z-index: 2;
}
.home__interview:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 1;
}
.home__interview h2 {
    font-weight: 700;
  font-size: 37px;
    font-family: var(--f-maru);
    text-align: center;
    margin-bottom: 25px;
}
.home__interview-slide {
    position: relative;
    z-index: 2;
    margin-top: 60px;
    margin-bottom: 60px;
}
.home__interview-slide li {
    margin-right: 25px;
    width: 280px;
}
.home__interview-slide li img {
    border-radius: 10px;
}
.home__other {
    margin-bottom: 120px;
    position: relative;
}

.home__other::before {
  content: "";
  background-image: url("../images/wavy01.svg");
  width: 300px;
  height: 327px;
  position: absolute;
  top: -155px;
  left: -52px;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% 100%;
  z-index: -1;
}

.home__other .inner1080{
    display: flex;
    gap:30px;
    flex-wrap: wrap;
    margin-bottom: 120px;
}
.home__other-item {
    width: calc((100% - 60px) / 3 );
}
.home__other-item h2 {
    font-weight: 600;
    font-size: 21px;
    margin-top: 10px;
    transition: ease-in-out .2s;
    font-family: var(--f-maru);
}
.home__other-item-img img {
    border-radius: 15px;
    transition: ease-in-out .2s;
}
a:hover .home__other-item-img img {
    opacity: 0.8;
}
.home__other-item a {
    display: block;
}
.home__other-item a:hover h2 {
    color: var(--c-blue);
    text-decoration: underline;
}
.home__other-item--blank h2 {
    display: inline-block;
    background-image: url("../images/blank_icon.svg");
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 25px;
    
}
.home__recruit {
    position: relative;
    overflow: hidden;
    padding-bottom: 130px;
}

.home__recruit::before {
  content: "";
  position: absolute;
  z-index: -1;
  background-image: url("../images/wavy02.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  right: -140px;
  width: 350px;
  height: 340px;
  top: 100px;
}
.home__recruit::after {
  content: "";
  position: absolute;
  z-index: -1;
  background-image: url("../images/wavy03.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  left: -150px;
  bottom: -200px;
  width: 350px;
  height: 340px;
}
.home__recruit h2 {
    text-align: center;
    font-family: var(--f-maru);
    font-weight: 700;
    font-size: 32px;
    color: var(--c-blue);
    margin-bottom: 20px;
}
.home__recruit p {
    font-weight: 500;
    text-align: center;
    margin-bottom: 50px;
}
.home__recruit ul {
    display: flex;
    flex-wrap: wrap;
    gap:30px;
    justify-content: center;
}
.home__recruit ul li {
    width: calc((100% - 30px) / 2);
}
.home__recruit ul li a {
    display: flex;
  height: 85px;
  border: var(--c-line) 1px solid;
  border-radius: 10px;
  align-items: center;
  font-weight: 600;
  font-size: 19px;
  padding-left: 25px;
  position: relative;

    background-color: #fff;
}
.home__recruit ul li a:hover {
    background-color: var(--c-blue);
    color: #fff;
}
.home__recruit ul li:nth-child(3) a {
    background-color: var(--c-blue);
    color: #fff;
    border-color: var(--c-blue);
}
.home__recruit ul li:nth-child(3) a:hover {
    background-color: #fff;
    color: var(--c-blue);
}
.home__recruit ul li a:after {
  background-color: var(--c-blue);
  width: 28px;
  height: 28px;
  border-radius: 5px;
  background-image: url("../images/arrow_w.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 12px;
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  margin-top: -14px;
  right: 25px;
  transition: ease-in-out .2s;
}
.home__recruit ul li:nth-child(3) a:after {
  background-color: #fff;
  background-image: url("../images/arrow_b.svg");
}
@media screen and (max-width: 1080px) {
    .home__main-visual {
        padding-top: 3rem;
        padding-bottom: 2rem;
    }
.home__main-visual-copy {
  left: 3rem;
  width: 25rem;
  top: 6rem;
}
.home__main-visual-main .slide01 {
  width: 31rem;
  margin-top: 7rem;
}
.home__main-visual img {
  border-radius: 1.8rem;
}
.home__main-visual-main .slide02-01 {
  width: 19rem;
  margin-bottom: 5rem;
  margin-top: 3rem;
}
.home__main-visual-main > div {
  margin-right: 5rem;
}
.home__main-visual-main .slide02-02 {
  width: 25rem;
  margin-bottom: 5rem;
  margin-left: 3rem;
}
.home__main-visual-main .slide03 {
  width: 31rem;
    margin-top: 10rem;
}
.home__main-visual-main .slide04 {
  width: 24rem;
  margin-top: 4rem;
  margin-left: 0rem;
}
.home__main-visual-main .slide05-02 {
  width: 14rem;
  margin-left: -8rem;
}
.home__main-visual-main .slide05-01 {
  width: 30rem;
  margin-left: 6rem;
  margin-bottom: 4rem;
    margin-top: 1rem;
}
.home__main-visual-sub div {
  width: 19rem;
  margin-right: 10rem;
}
.home__main-visual-sub .bg-slide01 {
  transform: translateY(5rem);
}
.home__main-visual-sub .bg-slide02 {
  transform: translateY(-18rem);
}
.home__main-visual-sub .bg-slide03 {
  transform: translateX(-2rem);
  width: 21rem;
}
.home__main-visual-sub .bg-slide04 {
  transform: translateY(8rem);
}
.home__main-visual-sub .bg-slide05 {
  transform: translateY(14rem);
  transform: translateX(3rem);
  width: 27rem;
}
.home__main-visual-sub {
  top: 8rem;
}
.home-lead {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.home-lead .inner1080 {
  display: block;
}
    .home-lead__item:not(:last-child) {
        margin-bottom: 2rem;
    }
.home-lead__item-img {
  width: 11rem;
  margin-right: 2rem;
}
.home-lead__item-img img {
  border-radius: 0.8rem;
}
.home-lead__item-txt h2 {
  font-size: 1.6rem;
  padding-right: 3.5rem;
  margin-bottom: 0.3rem;
}
.home-lead__item-txt h2::after {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.5rem;
    background-size: 1rem;
    margin-top: -1.2rem;
  }
.home-lead__item-txt p {
  font-size: 1.3rem;
}
.home__culture {
  padding-bottom: 5rem;
  padding-top: 5rem;
}
.home__culture .inner1080 {
  border-radius: 1.5rem;
  padding: 2.5rem;
}
.home__culture-ttl {
  display: block;
  margin-bottom: 3rem;
}
.home__culture-ttl h2 {
  font-size: 2.6rem;
  margin-right: 0;
  text-align: center;
    margin-bottom: 1rem;
}
.home__culture ul {
  display: block;
    margin-bottom: 2rem;
}
.home__culture ul li {
  width: auto;
}
    .home__culture ul li:not(:last-child) {
        margin-bottom: 1rem;
    }
.home__culture ul li a {
  height: 5.5rem;
  border-radius: 1rem;
  font-size: 1.5rem;
  padding-left: 1.5rem;
}
.home__culture ul li a::after {
  width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.5rem;
    background-size: 1rem;
    margin-top: -1.2rem;
    right: 1.5rem;
}
.home__culture::before {
  left: -6rem;
  top: -10rem;
  width: 18rem;
  height: 22rem;
}
.home__culture::after {
  right: -7rem;
  bottom: 21rem;
  width: 22rem;
  height: 20rem;
}
.home__culture .inner1080::before {
  width: 10rem;
    height: 10rem;
}
.home__culture .inner1080::after {
  width: 9rem;
    height: 16rem;
}
.home__interview h2 {
  font-size: 2.6rem;
  margin-bottom: 2rem;
}
.home__interview {
  padding-top: 5rem;
  padding-bottom: 5rem;
  margin-bottom: 5rem;
}
.home__interview-slide li {
  margin-right: 1rem;
  width: 12rem;
}
.home__interview-slide li img {
  border-radius: 0.8rem;
}
.home__interview-slide {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.home__other {
  margin-bottom: 0px;
}
.home__other .inner1080 {
  display: block;
  margin-bottom: 0px;
    padding-bottom: 0;
}

.home__other-item {
  width: auto;
}
    .home__other-item:not(:last-child) {
        margin-bottom: 3rem;
    }
.home__other-item h2 {
  font-size: 1.7rem;
  margin-top: 1rem;
}
.home__other::before {
  width: 16rem;
  height: 21rem;
  top: -15rem;
  left: -5rem;
}
.home__other-item--blank h2 {
  background-size: 1.4rem;
  padding-right: 2.5rem;
}
.home__recruit {
  padding-bottom: 8rem;
    padding-top: 8rem;
}
.home__recruit h2 {
  font-size: 2.4rem;
  margin-bottom: 2rem;
  line-height: 1.5;
}
.home__recruit p {
  margin-bottom: 3rem;
}
.home__recruit ul {
  display: block;
}
.home__recruit ul li {
  width: auto;
}
    .home__recruit ul li:not(:last-child) {
        margin-bottom: 1rem;
    }
.home__recruit ul li a {
    height: 5.5rem;
    border-radius: 1rem;
    font-size: 1.5rem;
    padding-left: 1.5rem;
  }
.home__recruit ul li a::after {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.5rem;
    background-size: 1rem;
    margin-top: -1.2rem;
    right: 1.5rem;
  }
.home__recruit::after {
  left: -9rem;
  bottom: -19rem;
  width: 21rem;
  height: 35rem;
}
.home__recruit::before {
  right: -9rem;
  width: 19rem;
  height: 19rem;
  top: 4rem;
} 
    
}

/*-------------------------------
社員インタビュー
--------------------------------*/
.interview__row {
    display: flex;
    flex-wrap: wrap;
    gap:70px 50px;
}
.interview__item {
    width: calc((100% - 50px) / 2);
}
.interview__item a {
    display: block;
}
.interview__item a:hover {
    opacity: 0.8;
}
.interview__item h2 {
    font-weight: 700;
    font-size: 20px;
    margin-top: 15px;
    margin-bottom: 10px;
}
.interview__item-img {
    position: relative;
}
.interview__item-img span {
    font-family: var(--f-en);
    color: #fff;
    position: absolute;
    z-index: 1;
    right: 20px;
    top: 20px;
    font-size: 35px;
    font-weight: 700;
    line-height: 1;
    border-bottom: #fff 2px solid;
}
.interview__item-img:after {
  background-color: var(--c-blue);
  width: 35px;
  height: 35px;
  border-radius: 5px;
  background-image: url("../images/arrow_w.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 12px;
  content: "";
  position: absolute;
  z-index: 1;
    bottom: 20px;
  right: 20px;
  transition: ease-in-out .2s;
}
a:hover .interview__item-img:after {
  background-color: #fff;
  background-image: url("../images/arrow_b.svg");
}
.interview__item-img img {
    border-radius: 15px;
}
.interview__item-pos {
    line-height: 1.4;
    display: flex;
    align-items: center;
}
.interview__item-pos dd {
    font-size: 14px;
    font-weight: 500;
}
.interview__item-pos dt {
    font-family: var(--f-en);
    font-weight: 700;
    font-size: 21px;
    margin-right: 10px;
    color: var(--c-blue);
    flex-shrink: 0;
    width: 50px;
}
.interview__visual {
    position: relative;
}


.interview__visual-img {
    height: 680px;
    position: relative;
}
.interview__visual-img:after {
    height: 200px;
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #000;
    background: linear-gradient(0deg,rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
}
.interview__visual img {
    width: 100%;
    object-fit: cover;
    height: 100%;
}
.interview__visual-num {
    position: absolute;
    z-index: 1;
    font-family: var(--f-en);
  color: #fff;
  position: absolute;
  z-index: 1;
  right: 30px;
  top: 30px;
  font-size: 50px;
  font-weight: 700;
  line-height: 1;
  border-bottom: #fff 2px solid;
}
.interview__visual-txt {
    position: absolute;
    z-index: 1;
    bottom: 100px;
    left: 80px;
    color: #fff;
    text-shadow: 0px 0px 5px rgba(0,0,0,0.3), 0px 0px 8px rgba(0,0,0,0.3), 0px 0px 8px rgba(0,0,0,0.3);
    line-height: 1.7;
}
.interview__visual-txt h2{
    
    font-size: 40px;
    font-weight: 700;
    font-family: var(--f-maru);
}
.interview__visual-txt dt {
    font-family: var(--f-en);
    font-weight: 700;
    font-size: 24px;
    margin-top: 10px;
}
.interview__visual-txt dd {
    font-weight: 500;
    font-size: 14px;
}
.interview__profile {
    display: flex;
    background-color: #fff;
    margin-top: -130px;
    position: relative;
    z-index: 1;
    justify-content: center;
    gap:50px;
    padding-top: 50px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    margin-bottom: 70px;
}
.interview__profile dl {
    text-align: center;
    line-height: 1.5;
}
.interview__profile dt {
    flex-shrink: 0;
    width: 110px;
    margin: auto;
}
.interview__profile dt img {
    border-radius: 50%;
}
.interview__inner {
    padding: 80px;
}
.interview__profile dd {
    font-size: 14px;
    margin-top: 10px;
}
.interview__profile dd span {
    display: block;
    font-size: 20px;
    font-weight: 700;
    font-family: var(--f-en);
}
.interview__comment:not(:last-child) {
    margin-bottom: 80px;
}
.interview__comment h3 {
    font-weight: 700;
  font-size: 28px;
  color: var(--c-blue);
  margin-bottom: 40px;
  font-family: var(--f-maru);
  position: relative;
  padding-left: 55px;
}
.interview__comment h3::before {
  width: 35px;
  height: 2px;
  background-color: var(--c-blue);
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: calc( (28px * 2) / 2 );
}
.interview__comment-dtl {
    display: flex;
    margin-bottom: 20px;
}
.interview__comment-dtl dt{
    width: 55px;
    text-align: center;
    flex-shrink: 0;
    margin-right: 30px;
}

.interview__comment-dtl dt span {
    display: block;
    font-weight: 700;
    font-family: var(--f-en);
    line-height: 1.5;
    margin-top: 2px;
    font-size: 14px;
}
.interview__comment-dtl img {
    border-radius: 50%;
}
.interview__comment-dtl dd {
    padding-top: 12px;
}
.interview__middle-img {
    margin-bottom: 80px;
    max-width: 780px;
    margin-inline:auto;
}
.interview__middle-img img {
    border-radius: 15px;
}
.interview__comment__txt:not(:last-child) {
    margin-bottom: 40px;
}
@media screen and (max-width: 1080px) {
.interview__inner {
  padding: 2rem;
}
.interview__comment h3 {
    font-size: 1.7rem;
    margin-bottom: 2rem;
    padding-left: 3.5rem;
    line-height: 1.5;
  }
.interview__comment h3::before {
    width: 2.2rem;
    top: calc( (1.7rem * 1.5) / 2 );
  }
.interview__comment-dtl dt {
  width: 3.3em;
  margin-right: 1.5rem;
}
.interview__comment-dtl dd {
  padding-top: 0px;
}
.interview__comment-dtl dt span {
  margin-top: 0.4rem;
  font-size: 1.3rem;
}
.interview__comment:not(:last-child) {
  margin-bottom: 5rem;
}
.interview__middle-img img {
  border-radius: 1rem;
}
.interview__middle-img {
  margin-bottom: 5rem;
}
    .interview__back-btn {
        margin-bottom: 3rem;
    }
.interview__profile {
    padding: 1rem 0rem 1rem 0rem;
    display: block;
    margin-bottom: 4rem;
    margin-top: 0rem;
}
.interview__profile dl {
    display: flex;
    justify-content: flex-start;
}
    .interview__profile dl:not(:last-child) {
        margin-bottom: 2rem;
    }
.interview__profile dt {
  width: 6.5rem;
    margin-right: 1.5rem;
    margin-left: 0;
}
.interview__profile dd {
    text-align: left;
    font-size: 1.2rem;
  margin-top: 0.1rem;
}
.interview__profile dd span {
  font-size: 1.8rem;
}
.interview__visual-txt h2 {
  font-size: 2.2rem;
  line-height: 1.5;
    color: var(--c-blue);
}
.interview__visual-txt {
    position: static;
    padding: 2rem;
    padding-top: 3rem;
    text-shadow: inherit;
    color: var(--c-base);
    padding-bottom: 0;
}
.interview__visual-txt dl {
    margin-bottom: 2rem;
}
.interview__visual-txt dt {
    font-size: 2rem;
    margin-top: 1rem;
}
.interview__visual-txt dd {
    font-size: 1.3rem;
}
.interview__visual-num {
  right: 1.5rem;
  top: 1.5rem;
  font-size: 3rem;
}
.interview__visual-img {
  height: 23rem;
}
.interview__comment__txt:not(:last-child) {
  margin-bottom: 3rem;
}
.interview__visual-img:after {
    display: none;
}
.interview__row {
  display: block;
}
.interview__item {
  width: auto;
}
.interview__item h2 {
  font-size: 1.8rem;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  line-height: 1.6;
}
    .interview__item:not(:last-child) {
        margin-bottom: 4rem;
    }
.interview__item-img img {
  border-radius: 1rem;
}
.interview__item-img span {
  right: 1rem;
  top: 1rem;
  font-size: 2.5rem;
}
.interview__item-img::after {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 0.5rem;
    background-size: 1rem;
    bottom: 1.5rem;
  right: 1.5rem;
  }
    .interview__item-pos {
        align-items: flex-start;
    }
    .interview__item-pos:not(:last-child) {
        margin-bottom: 1rem;
    }
.interview__item-pos dt {
  font-size: 1.4rem;
  margin-right: 0rem;
  width: 4rem;
}
.interview__item-pos dd {
  font-size: 1.2rem;
}
}
/*-------------------------------
新卒採用情報
--------------------------------*/
.newgrad__lead {
    text-align: center;
    margin-bottom: 50px;
}
.newgrad__bnr {
    text-align: center;
    margin-bottom: 50px;
}
.newgrad__bnr a {
    display: inline-block;
    border: var(--c-line) 1px solid;
    margin: auto;
}
.newgrad__bnr a:hover {
    opacity: 0.8;
}
.newgrad__tel {
    text-align: center;
}
.newgrad__tel a {
    font-family: var(--f-en);
    font-size: 25px;
    color: var(--c-blue);
    font-weight: 700;
}
.newgrad__tel dd span:after {
    content: "：";
}
.newgrad__flow {
    background-color: #f2f2f2;
  padding: 50px;
  border-radius: 20px;
}
.newgrad__flow-sp {
    display: none;
}
@media screen and (max-width: 1080px) {
.newgrad__lead {
  margin-bottom: 3rem;
}
.newgrad__tel a {
  font-size: 2.5rem;
    line-height: 1.3;
    display: block;
}
    .newgrad__tel dd span {
        display: block;
        margin-top: 1rem;
        font-weight: 700;
    }
.newgrad__tel dd span:after {
    display: none;
}
.newgrad__bnr {
  margin-bottom: 3rem;
}
    .newgrad__flow {
        border-radius: 1rem;
        padding: 1.5rem;
    }
.newgrad__flow-pc {
    display: none;
}
.newgrad__flow-sp {
    display: block;
}
}
/*-------------------------------
お問い合わせ
--------------------------------*/

.contact__item {
    display: flex;
    border-bottom: var(--c-line) 1px solid;
    padding-top: 50px;
    padding-bottom: 50px;
    align-items: center;
}
.contact__item--line {
    border-top: var(--c-line) 1px solid;
}
.contact__item h2 {
    font-weight: 700;
    font-size: 18px;
    flex-shrink: 0;
    width: 290px;
}
.contact__flex section:nth-child(2) h2 {
    margin-bottom: 30px;
    
}
.contact__item-txt {
    flex: 1;
    line-height: 1.5;
}
.contact__item-txt .com-btn a {
    margin-left: 0;
}
.contact__tel-box h3 {
    font-weight: 700;
    font-size: 16px;
}
.contact__tel-box a {
    font-weight: 700;
    font-size: 39px;
    font-family: var(--f-en);
    color: var(--c-blue);
}
.contact__tel-box a span {
    font-family: var(--f-noto);
    font-size: 14px;
}
.contact__tel-box-name {
    font-size: 14px;
    font-weight: 500;
}
.contact__tel-box-add {
    margin-top: 10px;
    line-height: 1.9;
    font-size: 14px;
}
.contact__caution {
    font-size: 14px;
    margin-top: 50px;
}
.contact__btn {
    display: flex;
    padding: 15px;
}
@media screen and (max-width: 1080px) {
.contact__item {
    display: block;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
.contact__item h2 {
  font-size: 1.7rem;
  width: auto;
  margin-bottom: 1.5rem;
}
.contact__item-txt .com-btn a {
    max-width: inherit;
    justify-content: flex-start;
    padding-left: 2rem;
    box-sizing: border-box;
}
.contact__tel-box h3 {
  font-size: 1.5rem;
    margin-bottom: 0.5rem;
}
.contact__tel-box a {
  font-size: 2.6rem;
}
.contact__tel-box a span {
    display: block;
  font-size: 1.3rem;
}
.contact__tel-box-add {
  margin-top: 1.5rem;
  font-size: 1.3rem;
}
.contact__caution {
  font-size: 1.3rem;
  margin-top: 3rem;
}
.contact__item-txt {
  line-height: 1.3;
}
}
/*-------------------------------
中途採用情報
--------------------------------*/
.career__bonus-tbl thead th {
    width: auto;
    border-bottom-width: 2px;
}
.career__bonus-tbl tbody th {
    width: 250px;
}
.career__bonus-tbl tbody td {
    padding-right: 25px;
}
.career__type-item {
    border: var(--c-line) 1px solid;
    border-radius: 20px;
    padding: 50px;
}
.career__type-item:not(:last-child) {
    margin-bottom: 40px;
}
.career__type h3 {
    font-size: 22px;
    font-weight: 600;
    border-bottom: var(--c-line) 2px solid;
    padding-bottom: 20px;
    position: relative;
    margin-bottom: 25px;
 }
.career__type h3:after {
    width: 20px;
    height: 2px;
    content: "";
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: -2px;
    background-color: var(--c-blue);
}

.career__type-item h4 {
    font-weight: 600;
    font-size: 18px;
    color: var(--c-blue);
    margin-bottom: 10px;
}
.career__type-item ul li {
    position: relative;
    padding-left: 15px;
    line-height: 1.7;
}
.career__type-item ul li:not(:last-child) {
    margin-bottom: 10px;
}
.career__type-item ul li:before {
    position: absolute;
    width: 6px;
    height: 6px;
    content: "";
    background-color: var(--c-blue);
    z-index: 1;
    border-radius: 50%;
    left: 0;
    top: 12px;
}
.career__type-item-list--mdb {
    margin-bottom: 30px;
}
.career__flow {
    background-color: #f2f2f2;
  padding: 50px;
  border-radius: 20px;
}
.career__flow ul {
    display: flex;
    gap:25px;
    
    
}
.career__flow ul li {
    writing-mode: vertical-rl;
    flex: 1;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
    font-weight: 500;
    letter-spacing: 0.08em;
    border-radius: 7px;
    border: var(--c-line) 2px solid;
    color: #3f3f3f;
    font-size: 18px;
    position: relative;
}
.career__flow ul li:not(:last-child):after {
    width: 36px;
    height: 36px;
    background-image: url("../images/flow_arrow.svg");
    background-size: cover;
    content: "";
    position: absolute;
    z-index: 1;
    top: 50%;
    right: -36px;
    margin-top: -18px;
}
.career__flow p {
    font-size: 90%;
    margin-top: 15px;
}
@media screen and (max-width: 1080px) {
.basic-tbl th {
  padding-bottom: 1.5rem;
  padding-top: 1.5rem;
  width: 8.5rem;
}
.basic-tbl td {
  padding-bottom: 1.5rem;
  padding-top: 1.5rem;
}
.career__type-item h4 {
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
}
.career__type-item ul li:not(:last-child) {
  margin-bottom: 1rem;
}
.career__type-item ul li {
  padding-left: 1.5rem;
}
.career__type h3 {
  font-size: 1.6rem;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  line-height: 1.6;
}
.career__type-item ul li::before {
  width: 0.6rem;
  height: 0.6rem;
  top: 0.9rem;
}
.career__type-item:not(:last-child) {
  margin-bottom: 2rem;
}
.career__flow {
    border-radius: 1rem;
    padding: 1.5rem;
  }
.career__flow ul {
  display: block;
}
.career__flow ul li {
  writing-mode: inherit;
  height: 4rem;
  letter-spacing: 0.08em;
  border-radius: 0.7rem;
  font-size: 1.4rem;
}
.career__flow ul li:not(:last-child) {
    margin-bottom: 1rem;
}
.career__flow ul li:not(:last-child)::after {
  width: 2rem;
  height: 2rem;
  top: inherit;
  right: inherit;
  margin-top: 0;
  left: 50%;
  margin-left: -1rem;
  bottom: -2rem;
  transform: rotate(90deg);
}
.career__flow p {
  margin-top: 1rem;
}
    .career__bonus-tbl thead {
        display: none;
    }
    .career__bonus-tbl tbody th{
        display: block;
        width: auto;
    }
    .career__bonus-tbl-name {
        border-bottom: none !important;
        padding-bottom: 0 !important;
        padding-top: 1rem !important;
    }
    .career__bonus-tbl-name:before {
        content: "・";
    }
    .career__bonus-tbl-dtl {
        padding-top: 0.5rem !important;
    }
    .career__bonus-tbl-dtl:before {
        content: "一時金・支援内容：";
        font-weight: 500;
    }
    .career__bonus-tbl tbody td{
        display: block;
        width: auto;
        padding-right: 0;
    }
    .career__bonus-tbl-ttl {
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }
    .career__bonus-tbl-name--none {
        display: none !important;
    }
.career__type-item {
  border-radius: 1rem;
  padding: 2rem;
}
.career__type-item-list--mdb {
  margin-bottom: 3rem;
}
.career__bonus-tbl-dtl--before:before {
    display: none;
}
}
/*-------------------------------
社長メッセージ
--------------------------------*/
.message__inner {
    padding: 80px;
}
.message__item h2 {
    font-weight: 700;
    font-size: 28px;
    color: var(--c-blue);
    margin-bottom: 20px;
    font-family: var(--f-maru);
    position: relative;
    padding-left: 55px;
}
.message__item h2:before {
    width: 35px;
    height: 2px;
    background-color: var(--c-blue);
    content: "";
    position: absolute;
    z-index: 1;
    left: 0;
    top: calc( (28px * 2) / 2 );
}
.message__name {
    text-align: right;
    margin-top: 50px;
    line-height: 1.8;
}
@media screen and (max-width: 1080px) {
.message__inner {
  padding: 3rem 2rem;
}
.message__item h2 {
  font-size: 1.7rem;
  margin-bottom: 1.5rem;
  padding-left: 3.5rem;
  line-height: 1.5;
}
.message__item h2::before {
  width: 2.2rem;
  top: calc( (1.7rem * 1.5) / 2 );
}
.message__name {
  margin-top: 4rem;
  font-size: 1.3rem;
}
}
/*-------------------------------
求める人物像
--------------------------------*/
.candidate__item {
    border-radius: 15px;
    padding: 50px;
    background-color: #eff3f7;
    display: flex;
    align-items: center;

}
.candidate__item:not(:last-child) {
    margin-bottom: 30px;
}
.candidate__item-img {
    flex-shrink: 0;
    width: 250px;
    margin-left: 30px;
}
.candidate__item-img img {
    border-radius: 10px;
}
.candidate__item-txt h2 {
    color: var(--c-blue);
    font-weight: 700;
    font-size: 24px;
    font-family: var(--f-maru);
    margin-bottom: 30px;
    display: flex;
    align-items: flex-start;
    line-height:1.7;
}
.candidate__item-txt h2 span {
    width: 45px;
    line-height: 45px;
    background-color: var(--c-blue);
    color: #fff;
    text-align: center;
    border-radius: 5px;
    margin-right: 20px;
    flex-shrink: 0;
    margin-top: -2px;
}
@media screen and (max-width: 1080px) {

.candidate__item {
  display: block;
    padding: 2rem;
}
.candidate__item:not(:last-child) {
  margin-bottom: 2rem;
}
.candidate__item-txt h2 {
    margin-top: 1rem;
  font-size: 1.7rem;
  margin-bottom: 1.5rem;
    align-items: center;
    line-height: 1.5;
}
.candidate__item-txt h2 span {
  width: 4rem;
  line-height: 4rem;
  border-radius: 0.5rem;
  margin-right: 1.5rem;
  margin-top: 0;
  font-size: 1.7rem;
}
.candidate__item-img {
  width: auto;
  margin-left: 0px;
    margin-top: 2rem;
}
.candidate__item-img img {
    border-radius: 1rem;
}
}
/*-------------------------------
文化・制度
--------------------------------*/
.culture__index {
    background-image: url("../images/bg_interview.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
    color: #fff;
}
.culture__index .inner {
    position: relative;
    z-index: 2;
    text-align: center;
    font-weight: 500;
}
.culture__index:after {
    background-color: rgba(0,0,0,0.25);
    content: "";
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    position: absolute;
    z-index: 1;
}
.culture__index ul {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  position: relative;
  z-index: 2;
    margin-top: 70px;
}
.culture__index ul li {
  width: calc((100% - 30px) / 2);
}
.culture__index ul li a {
    display: flex;
  height: 85px;
  border-radius: 10px;
  align-items: center;
  font-weight: 600;
  font-size: 19px;
  padding-left: 25px;
  position: relative;
  background-color: #fff;
}
.culture__index ul li a:hover {
    background-color: var(--c-blue);
    color: #fff;
}
.culture__index ul li a:after {
  background-color: var(--c-blue);
  width: 28px;
  height: 28px;
  border-radius: 5px;
  background-image: url("../images/arrow_w.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 12px;
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  margin-top: -14px;
  right: 25px;
  transition: ease-in-out .2s;
}
.culture__lead-txt {
    text-align: center;
    margin-bottom: 70px;
    font-weight: 600;
    font-size: 20px;
}
.culture__environment-row {
    display: flex;
    gap:20px;
    flex-wrap: wrap;
}
.culture__environment-item {
    border-radius: 15px;
    text-align: center;
    padding: 40px;
    width: calc((100% - 20px) / 2 );
    box-sizing: border-box;
    border: var(--c-blue) 1px solid;
    
}
.culture__environment-item h2 {
    color: var(--c-blue);
    font-size: 23px;
    margin-bottom: 20px;
    font-weight: 700;
}
.culture__environment-item p {
    text-align: left;
}
.culture__environment-item-img {
    margin-bottom: 20px;
}
.culture__environment-item-img img {
    width: 150px;
}
.culture__environment-cau {
    font-size: 14px;
    margin-top: 40px;
}
.culture__benefits-item {
    margin-bottom: 80px;
 }
.culture__benefits-item-flex {
    display: flex;
    margin-top: 40px;
}
.culture__benefits-item-txt {
    flex: 1;
}
.culture__benefits-item-img {
    flex-shrink: 0;
    width: 120px;
    margin-right: 50px;
}
.culture__benefits-item-txt ul {
margin-top: 30px;
    padding: 30px;
    border-radius: 5px;
    background-color: #f2f2f2;
}
.culture__benefits-item-txt ul li {
    position: relative;
    padding-left: 15px;
}
.culture__benefits-item-txt ul li::before {
  position: absolute;
  width: 6px;
  height: 6px;
  content: "";
  background-color: var(--c-blue);
  z-index: 1;
  border-radius: 50%;
  left: 0;
  top: 15px;
}
.culture__benefits-item h2 {
  font-size: 27px;
}
.culture__communication-lead {
    margin-top: -20px;
    margin-bottom: 70px;
}
.culture__communication-lead span{
    background: linear-gradient(transparent 60%, #e6ecf3 60%);
    color: var(--c-blue);
    font-weight: 600;
}
.culture__communication-row {
    display: flex;
    gap:90px 50px;
    flex-wrap: wrap;
}
.culture__communication-item {
    width: calc((100% - 50px) / 2);
}
.culture__communication-item-img img {
    border-radius: 10px;
}
.culture__communication-item h3 {
    color: var(--c-blue);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
    margin-top: 20px;
    border-bottom: var(--c-line) 1px solid;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
.culture__communication-other {
    display: flex;
    flex-wrap: wrap;
    gap:20px;
    align-items: flex-start;
}
.culture__communication-other-item {
    width: calc((100% - 20px) / 2 );
    border: var(--c-line) 1px solid;
    box-sizing:  border-box;
    border-radius: 8px;
}
.culture__communication-other-item h3 {
    font-weight: 700;
    font-size: 17px;
    padding: 20px;
    position: relative;
    cursor: pointer;
}
.culture__communication-other-item h3:hover {
    text-decoration: underline;
    color: var(--c-blue);
}
.culture__communication-other-item h3:after {
    position: absolute;
    background-color: var(--c-blue);
    content: "";
    width: 20px;
    height: 2px;
    right: 15px;
    top: 50%;
    z-index: 1;
}
.culture__communication-other-item h3:before {
    position: absolute;
    background-color: var(--c-blue);
    content: "";
    width: 20px;
    height: 2px;
    right: 15px;
    top: 50%;
    z-index: 1;
    transform: rotate(90deg);
    transition: ease-in-out .3s;
}
.culture__communication-other-item h3.active:before {
    transform: rotate(0deg);
}
.culture__communication-other-item p {
    display: none;
    padding: 0px 20px 20px;
    font-size: 15px;
    margin-top: -10px;
}
.culture__gallery-row {
    display: flex;
    gap:40px 30px;
    flex-wrap: wrap;
}
.culture__gallery-row li {
    width: calc((100% - 60px) / 3);
}
.culture__gallery-row li a {
    display: block;
}
.culture__gallery-row li a:hover {
    opacity: 0.8;
}
.culture__gallery-row li img {
    border-radius: 10px;
}
.culture__gallery-row li span {
    display: block;
    font-weight: 500;
    margin-top: 5px;
}
.fancybox__backdrop {
    background-color: rgba(0,8,18,0.65) !important;
}
.culture__engineer-lead {
    background-color: #f2f2f2;
  padding: 50px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
    margin-bottom: 70px;
}
.culture__engineer-lead:before {
    background-image: url("../images/bg_wavy05.svg");
    content: "";
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    width: 200px;
    height: 250px;
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 100%;
}
.culture__engineer-lead:after {
    background-image: url("../images/bg_wavy06.svg");
    content: "";
    position: absolute;
    z-index: 1;
    right: 0;
    top: 0;
    width: 200px;
    height: 250px;
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 100%;
}
.culture__engineer-lead h2 {
    text-align: center;
    font-weight: 700;
    font-size: 23px;
    color: var(--c-blue);
    font-family: var(--f-maru);
    position: relative;
    z-index: 2;
}
.culture__engineer-lead ul {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
    margin-top: 30px;
    gap:25px;
}
.culture__engineer-lead ul li {
    background-color: #fff;
    width: calc((100% - 25px) / 2 );
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
    font-weight: 700;
    padding: 0 25px;
    box-sizing: border-box;
    text-align: center;
    flex-flow: column;
    line-height: 1.8;

}
.culture__engineer-lead ul li span {
    width: 80px;
    display: block;
    margin-bottom: 20px;
}
.culture__engineer-txt {
    margin-bottom: 50px;
}
.culture__engineer-item:not(:last-child) {
    margin-bottom: 60px;
}
.culture__engineer-item-copy {
    font-weight: 500;
    color: var(--c-blue);
    font-size: 17px;
    margin-bottom: 30px;
}
.culture__engineer-item-dtl li {
    background-color: #eff3f7;
    border-radius: 5px;
    padding: 25px 25px 25px 40px;
    position: relative;
}
.culture__engineer-item-dtl li:not(:last-child) {
    margin-bottom: 15px;
}
.culture__engineer-item-dtl li h4 {
        font-weight: 700;
        color: var(--c-blue);
    }
.culture__engineer-item-dtl li:before {
    content: "";
    background-color: var(--c-blue);
    width: 14px;
    height: 14px;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 50%;
    margin-top: -7px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}
.culture__engineer-item-img {
    display: flex;
    gap:40px;
    margin-top: 40px;
}
.culture__engineer-item-img img {
    border-radius: 15px;
}
.culture__engineer-copy {
    text-align: center;
    font-weight: 700;
    background-image: url("../images/bg_copy01.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 180px;
    margin-bottom: 30px;
    border-radius: 10px;
    font-size: 22px;
    font-family: var(--f-maru);
    padding: 20px;
}
.culture__engineer-copy--second {
    background-image: url("../images/bg_copy02.jpg");
}
@media screen and (max-width: 1080px) {
.culture__lead-txt {
  margin-bottom: 3rem;
    text-align: left;
    font-size: 1.4rem;
}
.culture__environment-row {
  display: block;
}
.culture__environment-item {
  border-radius: 1rem;
  padding: 2rem;
  width: auto;
}
    .culture__environment-item:not(:last-child) {
        margin-bottom: 2rem;
    }
.culture__environment-item h2 {
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
}
.culture__environment-item-img {
  margin-bottom: 1.5rem;
}
.culture__environment-item-img img {
  width: 11rem;
}
.culture__index ul {
    display: block;
    margin-bottom: 2rem;
    margin-top: 3rem;
  }
.culture__index ul li {
    width: auto;
  }
.culture__index ul li:not(:last-child) {
    margin-bottom: 1rem;
  }
.culture__index ul li a {
    height: 5.5rem;
    border-radius: 1rem;
    font-size: 1.5rem;
    padding-left: 1.5rem;
  }
.culture__index ul li a::after {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.5rem;
    background-size: 1rem;
    margin-top: -1.2rem;
    right: 1.5rem;
  }

.culture__environment-cau {
  font-size: 1.2rem;
  margin-top: 2rem;
}
.culture__benefits-item-flex {
  display: block;
  margin-top: 2rem;
}
.culture__benefits-item-img {
  width: 10rem;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 2rem;
}
.culture__benefits-item-txt ul {
  margin-top: 2.5rem;
  padding: 2rem;
  border-radius: 1rem;
}
.culture__benefits-item-txt ul li {
  padding-left: 1.5rem;
}
.culture__benefits-item-txt ul li::before {
    width: 0.6rem;
    height: 0.6rem;
    top: 1.1rem;
  }
.culture__benefits-item h2 {
  font-size: 2.1rem;
}
.culture__benefits-item {
  margin-bottom: 5rem;
}
.culture__benefits-item:last-child {
  margin-bottom: 0rem;
}
.culture__communication-row {
  display: block;
}
.culture__communication-item {
  width: auto;
}
    .culture__communication-item:not(:last-child) {
        margin-bottom: 4.5rem;
    }
.culture__communication-lead {
  margin-top: -.5rem;
  margin-bottom: 5rem;
}
.culture__communication-item h3 {
  font-size: 1.8rem;
  margin-top: 1.5rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.culture__communication-item-img img {
  border-radius: 1rem;
}
.culture__communication-other {
  display: block;
}
.culture__communication-other-item {
  width: auto;
  border-radius: 0.5rem;
}
    .culture__communication-other-item:not(:last-child) {
        margin-bottom: 1rem;
    }
.culture__communication-other-item h3 {
  font-size: 1.4rem;
  padding: 1.3rem;
}
.culture__communication-other-item p {
  display: none;
  padding: 0.5rem 1.5rem 1.5rem;
  font-size: 1.4rem;
    margin-top: -1rem;
}
.culture__gallery-row {
  display: flex;
  gap: 2rem 2rem;
  flex-wrap: wrap;
}
.culture__gallery-row li {
  width: calc((100% - 2rem) / 2);
}
.culture__gallery-row li img {
  border-radius: 1rem;
}
.culture__gallery-row li span {
  margin-top: 0.5rem;
  line-height: 1.4;
  font-size: 1.2rem;
}
.culture__engineer-lead {
  padding: 1.5rem;
  border-radius: 1rem;
    margin-bottom: 4rem;
}
.culture__engineer-lead h2 {
  font-size: 1.5rem;
  line-height: 1.6;
    margin-top: 1rem;
}
.culture__engineer-lead ul {
  display: block;
}
.culture__engineer-lead ul li {
  width: auto;
    padding: 0 1.5rem;
    height: 18rem;
    border-radius: 1rem;
}
    .culture__engineer-lead ul li:not(:last-child) {
        margin-bottom: 1.2rem;
    }
.culture__engineer-lead ul li span {
  width: 6.5rem;
  margin-bottom: 1.5rem;
}
.culture__engineer-item-copy {
  font-size: 1.4rem;
  margin-bottom: 2rem;
}
.culture__engineer-item-dtl li:not(:last-child) {
  margin-bottom: 1rem;
}
.culture__engineer-item-dtl li {
  border-radius: 0.5rem;
  padding: 1.5rem 1.5rem 1.5rem 2.5rem;
}
    
.culture__engineer-item-dtl li::before {
  width: 1rem;
  height: 1rem;
  margin-top: -0.5rem;
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
}

.culture__engineer-item:not(:last-child) {
  margin-bottom: 4rem;
}
.culture__engineer-item-img {
  display: block;
    margin-top: 2.5rem;
}
    .culture__engineer-item-img li:not(:last-child) {
        margin-bottom: 1.5rem;
    }
.culture__engineer-txt {
  margin-bottom: 3rem;
    margin-top: -1rem;
}
.culture__engineer-lead::before {
  width: 13rem;
  height: 16rem;
}
.culture__engineer-lead::after {
  width: 8rem;
  height: 13rem;
}
.culture__engineer-item-img img {
  border-radius: 1rem;
}
.culture__engineer-copy {
  height: 11rem;
  margin-bottom: 2rem;
  border-radius: 1rem;
  font-size: 1.6rem;
  padding: 1.5rem;
  line-height: 1.7;
}
}






























