@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-noto: "Noto Sans JP", serif;
    --f-en: "Josefin Sans","Noto Sans JP", sans-serif;
    --c-base:#364657;
    --c-gray:#99a0a8;
    --c-blue:#004ea2;
    --line:#cdd8e3;
}
html {
    height: 100%;
	scroll-behavior: smooth;
}
.fade-in {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/*------------------------------------------
共通
-----------------------------------------*/
body {
    font-family: var(--f-noto);
    font-size: 16px;
    line-height: 2.3;
    letter-spacing: normal;
    color: var(--c-base);
    word-wrap: break-word;
    font-weight: 400;
    -webkit-text-size-adjust: 100%;
    background-image: url("../images/bg_lead.png");
    background-repeat: no-repeat;
    background-position: right top 120px;
}
.bg-fade {
    background-image: url("../images/bg_body.png");
    background-repeat: no-repeat;
    background-position: center center;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    content: "";
    background-size: cover;
    opacity: 0;
}
.head {
    display: flex;
    align-items: center;
    padding-top: 40px;
    padding-left: 50px;
    padding-right: 50px;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 99;
    line-height: 1.3;
    transition: top 0.3s ease-in-out, left 0.3s ease-in-out, right 0.3s ease-in-out, box-shadow 0.3s ease-in-out, padding 0.3s ease-in-out,background-color 0.3s ease-in-out;;
    
}
.head.fixed {
    background-color: #fff;
    left: 35px;
    right: 35px;
    top: 35px;
    border-radius: 10px;
    box-shadow: 3px 5px 15px 2px rgba(0, 0, 0, 0.11);
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 25px;
    padding-right: 25px;
    
}
.fixed .head__sub-nav {
  margin-bottom: 10px;
}
.head__nav {
    margin-left: auto;
}
.head__site-id a {
    display: inline-block;
}
.head__site-id .st0 {
fill:#004EA2;
    transition: ease-in-out .2s;
    }
.home .head__site-id .st0 {
fill:#fff;
}
.home .fixed .head__site-id .st0 {
fill:var(--c-blue);
}


.head__site-id img,
.head__site-id svg{
    width: 160px;
    transition: ease-in-out .3s;
    overflow: visible;
}
.fixed .head__site-id img,
.fixed .head__site-id svg{
    width: 130px;
}

.head__sub-nav {
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 15px;
    transition: ease-in-out .3s;
}
.head__sub-nav li {
    margin-left: 20px;
}
.head__sub-nav a {
    font-weight: 500;
}
.head__sub-nav a.link-blank {
	background-image: url(../images/icon_blank.png);
	background-repeat: no-repeat;
    background-size: 12px;
    padding-right: 18px;
	background-position: right center;
}
.home .head__sub-nav a {
  color: #fff;
}
.home .head__sub-nav a.link-blank {
  background-image: url(../images/icon_blank_w.png);
}

.home .fixed .head__sub-nav a {
  color: var(--c-base);
}
.home .fixed .head__sub-nav a.link-blank {
  background-image: url(../images/icon_blank.png);
}
.head__sub-nav a:hover {
    text-decoration: underline;
}
.head__main-nav {
    display: flex;
    justify-content: flex-end;
}
.head__main-nav li {
    margin-left: 30px;
}
.head__main-nav > li > a {
    font-size: 15px;
    font-weight: 700;
    overflow: hidden; /* 1つ目の影を隠す */
  color: transparent;
    text-shadow: 0 1.5em 0 var(--c-base), 0 0 0 var(--c-base);
  transition: text-shadow 0.3s;
    display: inline-block;
    line-height: 1.4;
}
.home .head__main-nav > li > a {
  text-shadow: 0 1.5em 0 #fff, 0 0 0 #fff;
}
.home .fixed .head__main-nav > li > a {
  text-shadow: 0 1.5em 0 var(--c-base), 0 0 0 var(--c-base);
}

.head__main-nav > li > a:hover,
.head__main-nav > li:hover > a{
    text-shadow: 0 0 0 var(--c-base), 0 -1.5em 0 var(--c-base);
}
.home .head__main-nav > li > a:hover,
.home .head__main-nav > li:hover > a{
    text-shadow: 0 0 0 #fff, 0 -1.5em 0 #fff;
}
.home .fixed .head__main-nav > li > a:hover,
.home .fixed .head__main-nav > li:hover > a{
    text-shadow: 0 0 0 var(--c-base), 0 -1.5em 0 var(--c-base);
}
@keyframes text-blur {
  0% {
    filter: blur(0);
  }
  50% {
    filter: blur(1px); /* ぼかしの強さ */
  }
  100% {
    filter: blur(0);
  }
}
.head__sp-nav {
    display: none;
}
.head__icon{
    display: none;
}
.head__search {
    display: flex;
}
.head__search .txt {
    background-color: #eff0f2;
    border: none;
    height: 35px;
    font-size: 12px;
    padding: 5px;
    padding-left: 10px;
    box-sizing: border-box;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    width: 120px;
    transition: 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}
.head__search .txt:focus{
    width: 220px;
}
.head__search .btn {
    background-color: var(--c-blue);
    width: 35px;
    height: 35px;
    border: none;
    border-top-right-radius: 40px;
    border-bottom-right-radius: 40px;
    background-image: url("../images/icon_zoom.png");
    background-repeat: no-repeat;
    background-position: 8px center;
    background-size: 14px;
}
.head__main-nav > li {
    position: relative;
}
.head__main-nav > li:hover .head__pc-navi-sub{
    opacity: 1;
    pointer-events: inherit;
    margin-top: 0px;
}
.head__pc-navi-sub {
    position: absolute;
    z-index: 4;
    left: 25%;
    margin-left: -100px;
    padding-top: 10px;
    opacity: 0;
    pointer-events: none;
    transition:ease-in-out .3s;
-moz-transition:ease-in-out .3s;
-webkit-transition:ease-in-out .3s;
-o-transition:ease-in-out .3s;
-ms-transition:ease-in-out .3s;
    margin-top: 10px;
	font-feature-settings: "palt";
    width: 220px;
    
}
.head__pc-navi-sub ul {
    background-color: var(--c-base);
    display: block;
    padding: 25px;
    border-radius: 8px;
}
.head__pc-navi > nav > ul > li:hover .head__pc-navi-sub{
    opacity: 1;
    pointer-events: inherit;
    margin-top: 0px;
}
.head__pc-navi-sub li {
    margin-left: 0;
    
}
.head__pc-navi-sub li:not(:last-child) {
    margin-bottom: 10px;
}
.head__pc-navi-sub li a{
    color: #fff !important;
    display: inline-block;
    transition: ease-in-out .3s;
    font-weight: 500;
    font-size: 14px;
}
.head__pc-navi-sub li a:hover {
    transform: translateX(5px);
    text-decoration: underline;
}
.head__pc-navi-sub li dl dd ul {
    padding: 15px 5px;
}
.head__pc-navi-sub li dl dd ul li a {
    background-image: url(../images/icon_nav.png);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 8px;
    padding-left: 15px;
    font-size: 13px;
}

.sec-mdb {
    margin-bottom: 130px;
}
.topic-path {
    font-size: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    line-height: 1.4;
    margin-top: 65px;
    margin-bottom: 60px;
}
.topic-path li:not(:last-child):after {
    content: "";
    background-color: var(--c-base);
    height: 1px;
    width: 18px;
    display:inline-block;
    vertical-align: middle;
    margin-left: 10px;
    margin-right: 10px;
}
.topic-path li:last-child {
    color: var(--c-gray);
}
.topic-path li a {
    font-weight: 500;
}
.page-ttl {
    margin-bottom: 90px;
}
.page-ttl h1 {
    font-weight: 800;
    font-size: 46px;
    letter-spacing: 0.05em;
    line-height: 1.5;
}
.page-ttl h1:after {
    content:attr(data-eng);
    display: block;
    font-family: var(--f-en);
    color: var(--c-gray);
    font-size: 16px;
    letter-spacing: 0.03em;
    font-weight: 700;
    margin-top: 10px;
}
.com-btn a {
    background-color: var(--c-blue);
  color: rgb(255, 255, 255);
  font-weight: 800;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  border-radius:40px;
  width: 250px;
  margin:auto;
  position: relative;
  font-family: inherit;
  cursor: pointer;
  transition:0.1s ease-in-out;
}
.com-btn a:hover {
  background-color: var(--c-gray);
}
.com-btn a:before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    content: "";
    position: absolute;
    z-index: 1;
    left: 25px;
    top: 50%;
    margin-top: -4px;
    background-color: #fff;   
}
.contents {
    margin-left: 10%;
    margin-right: 10%;
    margin-top: 180px;
}
.contents a.link-blank {
    position: relative;
    color: var(--c-blue);
    text-decoration: underline;
    background-image: url(../images/icon_blank.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 12px;
    padding-right: 20px;
}
.contents a.link-blank:hover {
    text-decoration: none;
}
.lead-copy {
    font-size: 19px;
    font-weight: 500;
    line-height: 2.4;
    margin-bottom: 100px;
}
.lead-copy span.signature {
    font-size: 15px;
}
.middle-copy {
	margin-bottom: 150px;
}
.foot {
    margin-top: 160px;
}
.foot__bnr {
    background-color: #ebf0f3;
    border-radius: 25px;
    padding-top: 80px;
    padding-bottom: 80px;
    padding-left: 10%;
    padding-right: 10%;
    overflow: hidden;
    position: relative;
    z-index: 2;
}
.foot__bnr-slide {
    overflow: hidden;
}
.foot__bnr ul {

}
.foot__bnr li a {
    border-radius: 10px;
    background-color: #fff;
    display: flex;
    padding: 15px;
    background-image: url("../images/icon_blank.png");
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: right 14px top 14px;
    align-items: center;
}
.foot__bnr-img {
    width: 80px;
    flex-shrink: 0;
    margin-right: 15px;
}
.foot__bnr dl {
    line-height: 1.6;
}
.foot__bnr dt {
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 5px;
}
.foot__bnr dd {
    font-weight: 500;
    font-size: 11px;
}
.foot__wrap {
    background-color: var(--c-blue);
    color: #fff;
    padding-left: 10%;
    padding-right: 10%;
    padding-top: 150px;
    padding-bottom: 120px;
    margin-top: -30px;
}
.foot__dtl {
    display: flex;
    padding-bottom: 100px;
}
.foot__bnr-slide {
    position: relative;
}
.foot__bnr .swiper-container {
    overflow: hidden;
    margin-left: 25px;
    margin-right: 25px;
}
.foot__bnr .swiper-button-prev {
    background-image: url("../images/bnr_prev.png");
    background-size:cover;
    width: 25px;
    height: 50px;
    left: 0px;
    top: 50%;
    margin-top: -25px;
    
}
.foot__bnr .swiper-button-next {
    background-image: url("../images/bnr_prev.png");
    background-size:cover;
    width: 25px;
    height: 50px;
    right: 0px;
    transform: scale(-1, 1);
    top: 50%;
    margin-top: -25px;
    
}
.foot__bnr .swiper-button-prev:after,
.foot__bnr .swiper-button-next:after{
    display: none;
}
.foot__dtl-left {
    flex-shrink: 0;
    width: 50%;
}
.foot__dtl-left-logo img {
    width: 150px;
    margin-bottom: 30px;
}
.foot__dtl-left-add {
    font-size: 14px;
    margin-bottom: 60px;
}
.foot__dtl-left-icon {
    background-color: #fff;
    border-radius: 5px;
    overflow: hidden;
    display: flex;
}

.foot__dtl-left-icon .no-link {
    
}
.foot__dtl-left-icon li {
    width: calc(100% / 6 );
    border-right: var(--line) 1px solid;
    box-sizing: border-box;
    text-align: center;
}
.foot__dtl-left-icon li:last-child {
    border-right: none;
}
.foot__dtl-left-icon li a {
    display: block;
    text-align: center;
}
.foot__dtl-right {
    display: flex;
    margin-left: auto;
    gap:15%;
    width: 45%;
    justify-content: flex-end;
}
.foot__dtl-right ul {
    line-height: 1.5;
	flex: 1;
}
.foot__dtl-right ul li:not(:last-child) {
    margin-bottom: 12px;
}
.foot__dtl-right ul li a {
    font-size: 14px;
    color: #fff;
    font-weight: 600;    
}
.foot__dtl-right ul li a:hover {
    text-decoration: underline;
}
.foot__dtl-right ul li a.link-blank {
	background-image: url(../images/icon_blank_w.png);
    background-repeat: no-repeat;
    background-size: 11px;
    padding-right: 16px;
    background-position: right center;
}
.foot__dtl-right ul:nth-child(2) li a {
    font-size: 12px;
    font-weight: 500;
    
}
.foot__dtl-right ul li.mdb {
    margin-bottom: 50px;
}
.foot__copyright {
    border-top: #2d67a6 1px solid;
    color: #cdd1d5;
    font-family: var(--f-en);
    font-weight: 600;
    font-size: 12px;
    text-align: center;
    padding-top: 30px;
}
.foot__fix-icon {
    position: fixed;
    z-index: 9;
    left: 25px;
    top: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    flex-flow: column;
}
.foot__fix-icon li:not(:last-child) {
    margin-bottom: 15px;
}
.foot__fix-icon li a {
    display: block;
}
.foot__fix-icon li a:hover {
    transform: scale(1.05);
}
.foot__fix-icon li img {
    width: 35px;
}
.second-ttl {
    font-weight: 800;
    font-size: 36px;
    background-image: url("../images/icon_ttl.png");
    background-size: 21px;
    background-repeat: no-repeat;
    background-position: left top;
    padding-top: 5px;
    margin-bottom: 50px;
}
.basic-btn {
	background-color: var(--c-blue);
    color: #fff;
    font-weight: 800;
    font-size: 16px;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    border-radius: 40px;
    width: 250px;
    margin: auto;
    position: relative;
    font-family: inherit;
    cursor: pointer;
    transition: ease-in-out .1s;
}
.basic-btn:hover {
	background-color: var(--c-gray);
    color: #fff;
}
.basic-btn:before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    content: "";
    position: absolute;
    z-index: 1;
    left: 25px;
    top: 50%;
    margin-top: -4px;
    background-color: #fff;
}

.sec-mdb10 {
	margin-bottom: 10px;
}
.sec-mdb20 {
	margin-bottom: 20px;
}
.sec-mdb30 {
	margin-bottom: 30px;
}
.sec-mdb40 {
	margin-bottom: 40px;
}
.sec-mdb50 {
	margin-bottom: 50px;
}
.sec-mdb60 {
	margin-bottom: 60px;
}
.sec-mdb70 {
	margin-bottom: 70px;
}
.sec-mdb80 {
	margin-bottom: 80px;
}
.flex {
	display: flex;
}
/* .anchor {
	padding-top: 80px;
	transition: 0.2s ease-in-out;
} */
p.notes {
	font-size: 14px;
}
a.txt-link {
	color: #004ea2;
    text-decoration: underline;
}
.contents a.txt-link:hover {
	text-decoration: none;
}
figure.photo img {
    border-radius: 10px;
}
.rounded-box-w {
	border-radius: 10px;
    box-shadow: 3px 5px 15px 2px rgba(0, 0, 0, 0.11);
    padding: 50px;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.rounded-box-bl {
	border-radius: 10px;
    box-shadow: 3px 5px 15px 2px rgba(0, 0, 0, 0.11);
    padding: 50px;
    background-color: rgba(221, 230, 239, 1);
}
.sp-only {
    display: none;
}
section.movie {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

/* -----------Cookieポリシー ここから------------ */
#cookie-consent-banner {
    /* width: 70% !important; */
    /* margin-left: 15%; */
    /* margin-right: auto; */
    /* right: 10px; */
    box-sizing: border-box;
    padding: 30px !important;
    /* margin-bottom: 15px; */
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    /* border-radius: 10px; */
    background-color: rgb(54 70 87 / 80%) !important;
    /* background-color: rgba(221, 230, 239, 1) !important; */
    /* opacity: 0.9; */
    /* color: #364657 !important; */
    text-align: left !important;
    font-size: 13px;
    line-height: 1.8;
    box-shadow: 3px 5px 15px 2px rgba(0, 0, 0, 0.11);
}
#accept-cookies {
    display: block;
    /* width: 200px; */
    margin-left: 0px !important;
    margin-top: 10px;
    margin-bottom: 15px;
    border-radius: 30px;
    padding: 12px 30px !important;
    font-weight: 700;
}
@media screen and (max-width:980px){
#cookie-consent-banner {
    font-size: 1.2rem;
    font-weight: 500;
    padding: 2rem !important;
}
#accept-cookies {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
    padding: 1.2rem 3rem !important;
    font-size: 1.3rem;
}
}
/* -----------Cookieポリシー ここまで------------ */

@media screen and (max-width:980px){
html {
    font-size: calc(100vw / 37.5);
  }
body {
    font-size: 1.5rem;
    line-height: 1.9;
    background-position:right 8rem;
    background-size: 22rem;
  }
body.no-scroll {
    overflow: hidden;
  height: 100vh;
  }
    .head {
        position: fixed;
        z-index: 999;
        top: 0rem;
        left: 0rem;
        right: 0rem;
        height: 6.5rem;
        padding-top: 0px;
        padding-left: 1.5rem;
        padding-right: 0px;
        background-color: #fff;
        overflow: hidden;
        transition: ease-in-out .3s;
    }
    .head.fixed {
        border-radius: 1rem;
        top: 2rem;
        left: 2rem;
        right: 2rem;
        box-shadow: 3px 5px 15px 2px rgba(0, 0, 0, 0.11);
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 1.5rem;
    }

.head.active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
    .head__icon {
        display: flex;
        gap:2rem;
        justify-content: center;
        margin-top: 2rem !important;;
        border-top: none !important;
    }
    .head__icon li {
        border-bottom: none !important;
    }
    .head__icon li a {
        display: inline-block;
        width: 3rem;
    }
.head__sp-btn {
	background-color:var(--c-blue);
	width: 6.5rem;
    height: 6.5rem;
	position:absolute;
	right:0px;
	top:0px;
	z-index:2;
	text-align:center;
	transition:ease-in-out .3s;
  justify-content: center;
  align-content: center;
}
.head__sp-btn-trigger,
.head__sp-btn-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.head__sp-btn-trigger {
	position: relative;
	width: 2.6rem;
	height: 1.6rem;
	text-align:center;
    margin: auto;
}
.head__sp-btn-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.2rem;
	background-color: #fff;
}
.head__sp-btn-trigger span:nth-of-type(1) {
	top: 0;
}
.head__sp-btn-trigger span:nth-of-type(2) {
	top: 0.7rem;
}
.head__sp-btn-trigger span:nth-of-type(3) {
	bottom: 0;
}

.head__sp-btn.active .head__sp-btn-trigger span {
	background-color: #fff;
}
.head__sp-btn.active .head__sp-btn-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(0.7rem) rotate(-45deg);
	transform: translateY(0.7rem) rotate(-45deg);
}
.head__sp-btn.active .head__sp-btn-trigger span:nth-of-type(2) {
	opacity: 0;
}
.head__sp-btn.active .head__sp-btn-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-0.7rem) rotate(45deg);
	transform: translateY(-0.7rem) rotate(45deg);
}
.head__site-id img,
.head__site-id svg{
  width: 8.5rem !important;
}
.home .head__site-id .st0 {
  fill: var(--c-blue);
}
.head__sp-nav {
    position: fixed;
    left: 0rem;
    right: 0rem;
    bottom: 0rem;
    top: 6.5rem;
    background-color: #fff;
    line-height: 1.8;
    z-index: 99;

    border-top: var(--line) 1px solid;
    padding: 3rem;
    padding-top: 5rem;
    overflow: auto;
    display: none;
    transition: top 0.3s ease-in-out, left 0.3s ease-in-out, right 0.3s ease-in-out, bottom 0.3s ease-in-out;
}
.fixed .head__sp-nav {
    top: 8.5rem;
    left: 2rem;
    right: 2rem;
    bottom: 2rem;
    border-bottom-left-radius: 1.5rem;
    border-bottom-right-radius: 1.5rem;
}
    .head__sp-nav > ul {
        border-top: var(--line) 1px solid;
        margin-top: 5rem;
    }
    .head__sp-nav ul li {
        border-bottom: var(--line) 1px solid;
    }
    .head__sp-nav > ul > li > a {
    background-image: url("../images/nav_arrow.svg");
    background-size: 1.2rem;
    background-repeat: no-repeat;
    background-position: right 1rem center;
    }
    .head__sp-nav ul li a,
    .head__sp-nav > ul > li > dl > dt {
    font-weight: 700;
    font-size: 2rem;
    display: block;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    position: relative;
    cursor: pointer;        
    }
    .head__sp-nav > ul > li > dl > dt:after {
        width: 1.2rem;
        height: 0.2rem;
        background-color: var(--c-base);
        content: "";
        position: absolute;
        z-index: 1;
        right: 1rem;
        top: 50%;
        margin-top: -0.1rem;
        transition: ease-in-out .3s;
    }
    .head__sp-nav > ul > li > dl > dt:before {
        width: 1.2rem;
        height: 0.2rem;
        background-color: var(--c-base);
        content: "";
        position: absolute;
        z-index: 1;
        right: 1rem;
        top: 50%;
        margin-top: -0.1rem;
        transform:rotate(90deg);
        transition: ease-in-out .3s;
    }
.head__sp-nav ul li dt.active:after {
    transform:rotate(-90deg);
    opacity: 0;
    }
    .head__sp-nav ul li dt.active:before {
        transform:rotate(0deg);
    }
    .head__sp-nav > ul > li > dl > dd {
        padding-bottom: 3rem;
        display: none;
    }
    .head__sp-nav > ul > li > dl > dd li {
        border-bottom: none;
    }
    .head__sp-nav ul li dd li:not(:last-child) {
        margin-bottom: 0.5rem;
    }
    .head__sp-nav ul li dd a {
        font-size: 1.5rem;
        background-image: url("../images/icon_nav.png");
        background-position: left center;
        background-repeat: no-repeat;
        background-size: 0.8rem;
        padding-left: 1.8rem;
        padding-top: 0;
        padding-bottom: 0;
        font-weight: 500;
    }
    .head__sp-nav > ul > li > dl > dd > ul > li > dl > dd > ul {
        padding-left: 2rem;
    }
    .head__sp-nav-other {
        border-top: none !important;
        margin-top: 2rem !important;
    }
    .head__sp-nav-other li {
        border-bottom: none !important;
        margin-bottom: 0.7rem !important;
    }
    .head__sp-nav-other li a {
        font-size: 1.5rem !important;
        font-weight: 500 !important;
        padding-bottom: 0 !important;
        padding-top: 0 !important;
        background-image: none !important;
    }	
	.head__sp-nav-other li a.link-blank {
        background-image: url(../images/icon_blank.png) !important;
        background-repeat: no-repeat;
        background-size: 1.2rem;
        padding-right: 1.8rem;
        background-position: 4.5em center;
	}
.head__search .txt {
  height: 5rem;
  font-size: 1.6rem;
  padding:1rem;
  border-top-left-radius: 40rem;
  border-bottom-left-radius: 40rem;
  width: 80% !important;
    flex-shrink: 0;
}
.head__search .btn {
  width:5rem;
  height: 5rem;
  border-top-right-radius: 40rem;
  border-bottom-right-radius: 40rem;
  background-position:1.3rem center;
  background-size: 2rem;
}
.contents {
  margin-top: 9rem;
  margin-left: 6.5%;
  margin-right: 6.5%;
}
.contents a.link-blank {
    background-size: 1.2rem;
    padding-right: 1.8rem;
}
.foot__overlay {
    position: fixed;
    z-index: 7;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.55);
    display: none;
    }
.topic-path {
  font-size: 1.1rem;
  margin-top: 4rem;
  margin-bottom: 4rem;
    line-height: 1.5;
    text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.topic-path li:not(:last-child)::after {
  width: 1.3rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.sp-none {
  display: none;
}
.sp-only {
    display: block;
}
.lead-copy {
  font-size: 1.6rem;
  line-height: 2.1;
  margin-bottom: 5rem;
}
.lead-copy span.signature {
    display: block;
    font-size: 1.4rem;
    padding-top: 2rem;
}
.page-ttl {
  margin-bottom: 4rem;
}
.page-ttl h1 {
  font-size: 3rem;
} 
.page-ttl h1::after {
  font-size: 1.4rem;
  margin-top: 0.8rem;
}    
.foot {
  margin-top: 11rem;
}
.foot__bnr {
  padding-top: 4rem;
  padding-bottom: 4rem;
  padding-left: 3%;
  padding-right: 3%;
    border-radius: 2rem;
}
.foot__bnr-img {
  width: 6rem;
  margin-right: 1rem;
}
.foot__bnr li a {
  border-radius:0.8rem;
  padding:1.2rem;
  background-size: 1.4rem;
  background-position:right 1.2rem top 1.2rem;
}
.foot__bnr dt {
  font-size: 1.4rem;
  margin-bottom: 0.3rem;
}
.foot__bnr dd {
  font-size: 1.1rem;
}
.foot__bnr .swiper-button-prev {
  width: 2.5rem;
  height: 5rem;
  margin-top: -2.5rem;
}
.foot__bnr .swiper-button-next {
  width: 2.5rem;
  height: 5rem;
  margin-top: -2.5rem;
}
.foot__bnr .swiper-container {
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}
.foot__wrap {
    padding-top: 9rem;
    padding-bottom: 6rem;
    margin-top: -2rem;
  } 
.foot__dtl {
  display: block;
  padding-bottom: 7rem;
}  
.foot__dtl-left-logo img {
    width: 13rem;
    margin-bottom: 3rem;
  }
.foot__dtl-left {
  width: 100%;
    margin-bottom: 4rem;
}
.foot__dtl-left-add {
  font-size: 1.3rem;
  margin-bottom: 4rem;
}
.foot__dtl-right {
  display: flex;
  margin-left: auto;
  gap:10%;
  width: 100%;
  justify-content: flex-end;
}
.foot__dtl-right ul {
  line-height: 1.5;
    width: calc((100% - 10%) / 2);
}
.foot__dtl-right ul li a {
  font-size: 1.3rem;
} 
.foot__dtl-right ul li:not(:last-child) {
  margin-bottom: 1rem;
}
.foot__dtl-right ul:nth-child(2) li a {
  font-size: 1.2rem;
}
.foot__dtl-right ul li.mdb {
  margin-bottom: 4rem;
}
.foot__copyright {
  font-size: 1rem;
  padding-top: 3rem;
}
.foot__dtl-left-icon {
    flex-wrap: wrap;
    justify-content: center;
}
.foot__dtl-left-icon li {
  width: calc(100% / 3 );
}
    .foot__dtl-left-icon li img {
        width:6rem;
    }
.foot__dtl-left-icon li:nth-child(1),
.foot__dtl-left-icon li:nth-child(2),
.foot__dtl-left-icon li:nth-child(3){
    border-bottom: var(--line) 1px solid;
}
.foot__fix-icon {
    display: none;
}    
.head__nav {
  display: none;
} 
.second-ttl {
  font-size: 2.4rem;
  background-size: 1.8rem;
  padding-top: 1.5rem;
  margin-bottom: 3rem;
}
.sec-mdb {
  margin-bottom: 7rem;
}
.basic-btn {
  font-size: 1.5rem;
  height: 5.5rem;
  border-radius: 4rem;
  width: 100%;
  max-width: 25rem;
}
.basic-btn:before {
  width: 0.8rem;
  height: 0.8rem;
  left: 2.5rem;
  margin-top: -0.4rem;
}
.com-btn a::before {
  width: 0.6rem;
  height: 0.6rem;
  top: 53%;
  left: 2rem;
  margin-top: -0.4rem;
}
.com-btn a {
  font-size: 1.5rem;
  height: 5.5rem;
  border-radius:4rem;
  width: 100%;
  max-width: 25rem;
}
.rounded-box-w {
    padding: 2.8rem;
}
section.movie {
    width: 100%;
}
.sec-mdb10 {
	margin-bottom: 1rem;
}
.sec-mdb20 {
	margin-bottom: 2rem;
}
.sec-mdb30 {
	margin-bottom: 3rem;
}
.sec-mdb40 {
	margin-bottom: 4rem;
}
.sec-mdb50 {
	margin-bottom: 5rem;
}
.sec-mdb60 {
	margin-bottom: 6rem;
}
.sec-mdb70 {
	margin-bottom: 7rem;
}
.sec-mdb80 {
	margin-bottom: 8rem;
}
}
/*------------------------------------------
事業案内
-----------------------------------------*/
.business__item {
    display: flex;
    align-items: center;
    border-top: var(--line) 1px solid;
    padding-top: 65px;
    padding-bottom: 65px;
}
.business__item:last-child {
    border-bottom: var(--line) 1px solid;
}
.business__item-num {
    font-family: var(--f-en);
    font-weight: 700;
    font-size: 19px;
    color: var(--c-gray);
    width: 18%;
    flex-shrink: 0;
    text-align: center;
}
.business__item-img {
    width: 25%;
    flex-shrink: 0;
}
.business__item-img img {
    border-radius: 10px;
}
.business__item-txt {
    padding-left: 5%;
}
.business__item-txt h2 {
    font-weight: 800;
    font-size: 30px;
    margin-bottom: 10px;
}
.business__internal-link {
    text-align: center;
    padding: 50px 90px;
    border-radius: 25px;
    border: var(--line) 1px solid;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.business__internal-link p {
    font-weight: 600;
    margin-bottom: 50px;
}
.business__internal-link ul {
    justify-content: center;
}
.business__internal-link ul li {
    margin-left: 15px;
    margin-right: 15px;
}
@media screen and (max-width:980px){
.business__item {
  display: block;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.business__item-img {
  width:100%;
    margin-bottom: 2.5rem;
}
.business__item-txt h2 {
  font-size: 2.3rem;
  margin-bottom: 1rem;
  line-height: 1.6;
  text-align: center;
}
.business__item-txt {
  padding-left: 0;
}
.business__item-num {
  font-size: 1.7rem;
  width: auto;
  margin-bottom: 2rem;
}
.business__internal-link {
    padding: 4rem 3rem 2rem 3rem;
    margin-top: 2rem;
}
.business__internal-link p {
    text-align: left;
    margin-bottom: 0;
}
.business__internal-link ul {
    display: block;
}
.business__internal-link ul li {
    margin: 2rem 0;
}
.business__internal-link ul li.com-btn a {
    max-width: 100%;
}
}

/*------------------------------------------
サービス
-----------------------------------------*/
#solution:target,
#sectors-successes:target {
  padding-top: 150px;  /* ヘッダーの高さに合わせて調整 */
  margin-top: -150px;   /* オフセットを引く */
}
.service__flex {
    display: flex;
}
.service__img {
    flex-shrink: 0;
    width: 27%;
    margin-right: 7%;
}
.service__img img {
    border-radius: 10px;
}
.service__txt-item {
    display: flex;
    padding-top: 50px;
    padding-bottom: 50px;
    border-top:var(--line) 1px solid;
}
.service__txt-item:last-child {
    border-bottom:var(--line) 1px solid;
}
.service__txt-icon {
    flex-shrink: 0;
    width: 160px;
    margin-right: 7%;
}
.service__txt-icon img {
    border-radius: 10px;
}
.service__txt-dtl h3 {
    font-weight: 800;
    font-size: 22px;
    margin-bottom: 10px;
}
.service__txt-dtl ul li {
    position: relative;
    padding-left: 15px;
}
.service__txt-dtl ul li:not(:last-child) {
    margin-bottom: 15px;
}
.service__txt-dtl ul li:before {
    width: 7px;
    height: 7px;
    content: "";
    position: absolute;
    z-index: 1;
    border-radius: 50%;
    left: 0;
    top: 16px;
    background-color: var(--c-base);
}
.service__txt-dtl ul li ul {
    font-size: 14px;
    /* color: #8e959d; */
    font-weight: 500;
    margin-top: 10px;
}
.service__txt-dtl ul li ul li:not(:last-child) {
    margin-bottom: 10px;
}
.service__txt-dtl ul li ul li:before {
    display: none;
}
.service__txt-dtl ul li ul li {
    border: 2px solid var(--line);
    border-radius: 8px;
    padding: 0px;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.service__txt-dtl ul li ul li a {
    display: flex;
    align-items: center;
    padding: 10px 15px;
}
.service__txt-dtl ul li ul li a:hover {
    opacity: 0.7;
}
.service__txt-dtl ul li ul li a .img {
    max-width: 70px;
    padding-right: 5%;
}
.service__txt-dtl ul li ul li a .txt {
  
}
.service__txt-dtl ul li ul li a .txt h4 {
    font-size: 16px;
    font-weight: 700;
    display: inline-block;
    color: var(--c-blue);
    text-decoration: underline;
    background-image: url(../images/icon_blank.png);
    background-repeat: no-repeat;
    background-position: right 14px;
    background-size: 12px;
    padding-right: 20px;
}
/*
.service__txt-dtl ul li ul li:before {
    width: 6px;
    height: 6px;
    top: 11px;
    background-color: transparent;
    border: var(--c-base) 1px solid;
}
.service__txt-dtl ul li ul li a.link-blank {
  font-weight: 700;
  margin-right: 0px;
}
*/
.service__txt-mdb {
    margin-bottom: 70px;
}
@media screen and (max-width:980px){
.service__flex {
  display: block;
}
.service__img {
  width: 100%;
  margin-right: 0%;
    margin-bottom: 3rem;
    overflow: hidden;
    height: 20rem;
}
    .service__img img {
        width: 100%;
        object-fit: cover;
        height: 100%;
        
    }
.service__txt-item {
  padding-top: 4rem;
  padding-bottom: 4rem;
    display: block;
}
.service__txt-icon {
  width: 11rem;
  margin-right: auto;
    margin-left: auto;
    margin-bottom: 2.5rem;
}
.service__txt-dtl h3 {
  font-size: 2.1rem;
  margin-bottom: 1rem;
  line-height: 1.6;
    text-align: center;
}
.service__txt-mdb {
  margin-bottom: 4rem;
}
  
.service__txt-dtl ul li ul {
    font-size: 1.4rem;
    margin-top: 1.2rem;
}
.service__txt-dtl ul li ul li:not(:last-child) {
    margin-bottom: 1rem;
}
.service__txt-dtl ul li ul li a {
    padding: 1rem 1.5rem;
}
.service__txt-dtl ul li ul li a .txt h4 {
    font-size: 1.5rem;
    background-position: right 1rem;
    background-size: 1.2rem;
    padding-right: 2rem;
}
.service__txt-dtl ul li ul li a .img {
    width: 100%;
}
}


/*------------------------------------------
事例
-----------------------------------------*/


/*------------------------------------------
特集・レポート
-----------------------------------------*/


/*------------------------------------------
セミナー
-----------------------------------------*/
.seminar__item {
	width: calc((100% - 6%) / 3);
    margin-bottom: 50px;
}
.seminar__item a {
    display: block;
}
.seminar__item a:hover .cms__item-img img {
    transform: scale(1.05);
}
.seminar__item h3 {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.8;
    padding: 0 15px 15px 15px;
	/* min-height: 100px; */
	border-bottom: var(--line) 1px solid;
}
.seminar__item a:hover h3 {
    text-decoration: underline;
}
.seminar__item dl {
	border-bottom: var(--line) 1px solid;
    line-height: 1.8;
	background-color: rgb(255 255 255 / 0%);
	backdrop-filter: blur(5px);
}
.seminar__item dl dt {
    width: 40px;
    font-weight: 700;
    color: #004ea2;
    padding: 10px;
	position: relative;
}
.seminar__item dl dt:after {
    content: "：";
    position: absolute;
    right: 0;
    top: 10px;
}
.seminar__item dl dd {
    flex: 1;
    padding: 10px;
}
.seminar__item .basic-btn {
	margin-top: 20px;
}
.seminar__sng {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.seminar__sng h2 {
	font-size: 31px;
    font-weight: 800;
    margin-bottom: 20px;
    line-height: 1.7;
	text-align: left;	
}
.seminar__sng p.time {
	font-family: var(--f-en);
	color: var(--c-gray);
	text-align: left;
	position: relative;
	margin-left: 25px;
	margin-bottom: 30px;
}
.seminar__sng p.time i {
	content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: 6px;
    margin-left: -25px;
    background-image: url(../images/icon_date.png);
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: center center;
}
.seminar__sng-slider {
	margin-bottom: 30px;	
}
.seminar__sng-slider img {
  max-width: auto;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
	border-radius: 10px;
}

.seminar__sng .seminar__details {
  border-top: var(--line) 1px solid;
  margin-bottom: 50px;
  background-color: rgb(255 255 255 / 0%);
  backdrop-filter: blur(5px);
}
.seminar__sng .seminar__details dl {
  
}
.seminar__sng .seminar__details dl dt {
    border-bottom: var(--line) 1px solid;
    position: relative;
    width: 12%;
    font-weight: 600;
    color: var(--c-blue);
    padding: 20px 20px;
}
.seminar__sng .seminar__details dl dt:after {
    content: "：";
    position: absolute;
    right: 0;
    top: 20px;
}
.seminar__sng .seminar__details dl dd {
    border-bottom: var(--line) 1px solid;
    width: 100%;
    padding: 20px 20px;
}
.seminar__sng-txt-body {
	margin-bottom: 60px;
}
.seminar__sng-txt-body h1 {
    font-size: 23px;
    font-weight: 800;
    margin-bottom: 10px;
}
.seminar__sng-txt-body h2 {
    font-size: 17px;
    font-weight: 800;
    margin-bottom: 10px;
    color: var(--c-blue);
}
.seminar__sng-txt-body h3 {
    display: inline-block;
    background-color: #344564;
    border-radius: 5px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    padding: 0 15px;
    margin: 10px 0;
}
.seminar__sng-txt-body ul {
    background-color: #f5f5f5;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 30px;
}
.seminar__sng-txt-body ul li {
    background-image: url(../images/icon_list.png);
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: left 15px;
    padding: 10px 0 10px 24px;
    font-size: 15px;
    line-height: 1.6;
}
.seminar__sng-txt-body ol {
    background-color: #f5f5f5;
    padding: 15px 15px 15px 25px;
    border-radius: 10px;
    margin-bottom: 30px;
}
.seminar__sng-txt-body ol li {
    margin: 15px;
    padding-left: 5px;
    font-size: 15px;
    line-height: 1.6;
    list-style: decimal;
}
.seminar__sng-txt-body ol li::marker {
    font-weight: bold;
    color: var(--c-blue);
}

.seminar__contact .flex {
    justify-content: center;
    padding: 30px 0;
    /* border-top: var(--line) 1px solid; */
    border-bottom: var(--line) 1px solid;
    margin-bottom: 50px;
}
.seminar__contact .flex li a {
    display: block;
    width: 300px;
    padding: 5px 0;
    text-align: center;
    margin: 0 15px;
    background-color: #ffffff;
    color: #ed6363;
    font-weight: 600;
    border: 1px solid #ed6363;
    border-radius: 5px;
    transition: all .3s;
}
.seminar__contact .flex li:last-child a {
    background-color: #ffffff;
    border: 1px solid var(--c-blue);
    color: var(--c-blue);
}
.seminar__contact .flex li a:hover,
.seminar__contact .flex li:last-child a:hover {
	/* background-color: var(--c-gray);
    border: 1px solid var(--c-gray);
    color: #ffffff; */
	letter-spacing: 0.10em;
}
@media screen and (max-width:980px){
.seminar__item {
    width: 100%;
    margin-bottom: 6rem;
}
.seminar__item h3 {
	font-size: 1.7rem;
	line-height: 1.7;
}
.seminar__item dl {
	/* padding: 1.8rem 1.0rem; */
	font-size: 1.4rem;
}
.seminar__item dl dt {
    width: 12%;
    padding: 1.5rem;
}
.seminar__item dl dt:after {
    top: 1.5rem;
}
.seminar__item dl dd {
    padding: 1.5rem;
}
.seminar__item .basic-btn {
	margin-top: 1.8rem;
}
.seminar__sng h2 {
	font-size: 2rem;
	margin-bottom: 1.5rem;
	line-height: 1.7;
}
.seminar__sng p.time {
	font-size: 1.6rem;
	margin-left: 2.5rem;
	margin-bottom: 1.8rem;
}
.seminar__sng p.time i {
	width: 2.0rem;
	height: 2.0rem;
	top: 0.4rem;
	background-size: 1.6rem;
	margin-left: -1.6em;
}
.seminar__sng-slider {
	margin-bottom: 2.0rem;
}
.seminar__sng .seminar__details dl dt {
    width: 35%;
    padding: 1.5rem;
}
.seminar__sng .seminar__details dl dt:after {
    top: 1.5rem;
}
.seminar__sng .seminar__details dl dd {
    padding: 1.5rem;
}
  
.seminar__sng-txt-body h1 {
    font-size: 2.1rem;
    margin-bottom: 1rem;
}
.seminar__sng-txt-body h2 {
    font-size: 1.7rem;
    margin-bottom: 1rem;
}
.seminar__sng-txt-body h3 {
    font-size: 1.4rem;
    padding: 0 1.5rem;
    margin: 1rem 0;
}
.seminar__sng-txt-body ul {
    padding: 1.5rem 2rem;
    margin-bottom: 3rem;
}
.seminar__sng-txt-body ul li {
    background-size: 1.4rem;
    background-position: left 1.5rem;
    padding: 1rem 0 1rem 2.4rem;
    font-size: 1.5rem;
}
.seminar__sng-txt-body ol {
    padding: 1.5rem 1.5rem 1.5rem 2.5rem;
    margin-bottom: 3rem;
}
.seminar__sng-txt-body ol li {
    font-size: 1.5rem;
    margin: 1.5rem;
    padding-left: 0.5rem;
}
  

.seminar__contact .flex {
	padding: 2.5rem 0;
	margin-bottom: 5rem;
}
.seminar__contact .flex li a {
	width: 15rem;
    margin: 0 0.5rem;
}
}

/*------------------------------------------
企業情報
-----------------------------------------*/
.company__list {
	display: flex;
    flex-wrap: wrap;
    gap: 3%;
}
.company__list .item {
	width: calc((100% - 6%) / 3);
    margin-bottom: 40px;
}
.company__list .company__item-l {
    margin-bottom: 70px;
}
.company__list .item a {
	display: block;
}
.company__list .item h2 {
	position: relative;
	font-size: 17px;
    font-weight: 700;
    line-height: 1.8;
	transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.company__list .item h2:after {
	width: 14px;
    height: 12px;
    top: 30%;
    /* margin-top: -14px; */
    /* margin-right: 10px; */
    content: "";
    position: absolute;
    background-image: url(../images/nav_arrow.svg);
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 50%;
    right: 0;
}
.company__list .item a:hover h2 {
	transform: translateX(5px);
}
.company__list .company__item-l h2:after {
	margin-right: 10px;
}
.company__list .company__item-l h2 {
    padding-left: 10px;
}
.company__list .item a .company__item-img {
	margin-bottom: 10px;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}
.company__list .item a .company__item-img img {
	transition: ease-in-out .2s;
}
.company__list .item a:hover .company__item-img img {
	transform: scale(1.05);
}
.company__list .company__item-s a {
	padding: 30px 20px;
    border: var(--line) 1px solid;
    border-radius: 10px;
	background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
@media screen and (max-width:980px){
.company__list {
    display: block;
}
.company__list .item {
    width: 100%;
	margin-bottom: 2rem;
}
.company__list .company__item-l {
    margin-bottom: 4rem;
}
.company__list .item a .company__item-img {
    margin-bottom: 1rem;
}
.company__list .item h2 {
    font-size: 1.7rem;
}
.company__list .item h2:after {
    width: 1.4rem;
    height: 1.2rem;
    background-size: 1.4rem;
    top: 1rem;
}
.company__list .company__item-l h2:after {
    top: 1rem;
}
}

/* -----------会社概要・沿革------------ */
.outline__flex {
    display: flex;
}
.outline__img {
    flex-shrink: 0;
    width: 40%;
    margin-right: 7%;
}
.outline__img img {
    border-radius: 10px;
}
.outline__img .map iframe {
	border: none;
	border-radius: 10px;
}
.outline__txt {
	width: 60%;
    border-top: var(--line) 1px solid;
}
.outline__txt dl {
	border-bottom: var(--line) 1px solid;
	padding: 30px 10px;
	line-height: 2;
}
.outline__txt dl dt {
	width: 180px;
	font-weight: 600;
}
.outline__txt dl dd {
	flex: 1;
}
.outline__txt dl dd a.txt-link {
    font-size: 16px;
    font-weight: 600;
    color: var(--c-base);
    text-decoration: none;
    padding-right: 34px;
    display: block;
    position: relative;
	transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.outline__txt dl dd a.txt-link:after {
    width: 14px;
    height: 12px;
    top: 35%;
    content: "";
    position: absolute;
    background-image: url(../images/nav_arrow.svg);
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: center center;
    /* border-radius: 50%; */
    left: 130px;
}
.outline__txt dl dd a.txt-link:hover {
	transform: translateX(5px);
}
.outline__txt dl dd li {
	margin-bottom: 20px;
	padding-bottom: 20px;
    border-bottom: var(--line) 1px dashed;
	font-size: 14px;
	line-height: 1.8;
}
.outline__txt dl dd li:last-child {
	border-bottom: none;
	padding-bottom: 0px;
}
.outline__txt dl dd li span {
	display: block;
    font-size: 16px;
	color: #004ea2;
}
.outline__txt dl dd li a {
	position: relative;
	font-family: var(--f-en);
}
.outline__txt dl dd li a:link ,
.outline__txt dl dd li a:visited {
	border: var(--c-blue) 1px solid;
    border-radius: 40px;
    display: flex;
    height: 25px;
    justify-content: center;
    align-items: center;
    padding-right: 10px;
	padding-top: 5px;
    color: var(--c-blue);
    width:120px;
    font-size: 12px;
    font-weight: 600;
    margin-top: 15px;
}
.outline__txt dl dd li a::after {
    content: "";
    position: absolute;
    top: 1px;
    bottom: 0;
    right: 15px;
    width: 6px;
    height: 6px;
    margin: auto;
    border-top: 2px solid var(--c-blue);
    border-right: 2px solid var(--c-blue);
    transform: translateY(-2px) rotate(135deg);
    box-sizing: border-box;
	transition: ease-in-out .2s;
}
.outline__txt dl dd li a:hover {
	background-color: var(--c-blue);
    color: #fff;
}
.outline__txt dl dd li a:hover:after {
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
.outline__txt dl dd span.tel {
	
}
.outline__history .wrap {
	border-top: var(--line) 1px solid;
    padding-top: 30px;
    padding-bottom: 30px;
}
.outline__history .outline__flex {
    width: 100%;
    position: relative;
    padding: 0px 0px 47px;
}
.outline__history .outline__flex.last {
	padding-bottom: 0px;
}
.outline__history .outline__flex:after {
	content: "";
    display: block;
    width: 0px;
    height: 100%;
    position: absolute;
    top: 24px;
    left: 136px;
    z-index: 1;
    border-left: 1px dashed var(--line);
}
.outline__history .outline__flex.last:after {
	content: none;
}
.history__list-year {
	width: 175px;
    position: relative;
    padding-left: 15px;
}
.history__list-year:after {
	content: "";
    display: block;
    width: 18px;
    height: 18px;
    background-color: #fff;
    position: absolute;
    top: 10px;
    right: 44px;
    z-index: 2;
    box-sizing: border-box;
    border-width: 4px;
    border-style: solid;
    border-color: #004ea2;
    border-image: initial;
    border-radius: 9px;
}
.history__list-year p {
	font-family: var(--f-en);
    font-size: 30px;
    font-weight: 600;
    line-height: 1.3;
}
.history__list-year p.history__list-year2 {
	font-size: 14px;
    font-weight: 400;
    color: #8e959d;
}
.history__list-year2 span {
	
}
.history__list-year-event-group {
	flex: 1;
}
.history__list-year-event {
	
}
.history__list-year-event dl {
	margin-bottom: 20px;
}
.history__list-year-event dl dt {
    line-height: 1.8;
	color: #004ea2;
}
.history__list-year-event dl dt span {
	font-family: var(--f-en);
    font-weight: 600;
    font-size: 25px;
    padding-right: 3px;
}
.history__list-year-event dl dd {
	
}
.history__list-year-event dl dd ul {
    padding-left: 12px;
}
.history__list-year-event dl dd li {
	position: relative;
    padding-left: 15px;	
}
.history__list-year-event dl dd li:before {
	content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 16px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.outline__access h2.second-ttl {
	/* margin-bottom: 0px; */
}
.outline__access .access__item {
	margin-bottom: 60px;
}
.outline__access .outline__txt dl dt {
    color: var(--c-blue);
}
.outline__flex.anchor:target {
  padding-top: 150px;  /* ヘッダーの高さに合わせて調整 */
  margin-top: -150px;   /* オフセットを引く */
}
.outline__download {
    text-align: center;
    padding: 100px 90px 40px 90px;
    border-radius: 25px;
    border: var(--line) 1px solid;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.outline__download h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 30px;
}
.outline__download p {
    margin-bottom: 60px;
}

@media screen and (max-width:980px){
.outline__flex {
    display: block;
}
.outline__img {
    width: 100%;
    margin-right: 0px;
    margin-bottom: 3rem;
    overflow: hidden;
    height: 20rem;
}
.outline__img img {
    width: 100%;
    object-fit: cover;
    height: 100%;
}
.outline__txt {
    width: 100%;
}
.outline__txt .flex {
    display: block;
}
.outline__txt dl {
    padding: 2rem 1rem;
}
.outline__txt dl dt {
    width: auto;
    font-size: 1.7rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
}
.outline__txt dl dd {
    width: auto;
}
.outline__txt dl dd li {
    font-size: 1.4rem;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
}
.outline__txt dl dd li:first-child {
    border-top: var(--line) 1px dashed;
    padding-top: 2rem;
}
.outline__txt dl dd li:last-child {
    margin-bottom: 0;
}
.outline__txt dl dd li span {
    font-size: 1.4rem;
	font-weight: 700;
}
.outline__txt dl dd li a::after {
    top: 0;
    bottom: 0.5rem;
    right: 2rem;
    width: 0.8rem;
    height: 0.8rem;
}
.outline__txt dl dd li a:link,
.outline__txt dl dd li a:visited {
    width: 13rem;
    height: 3.8rem;
    padding-top: 0;
    border-radius: 5rem;
    padding-right: 1.3rem;
    font-size: 1.2rem;
    margin-top: 1.5rem;
}
.outline__history .wrap {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.outline__history .outline__flex {
    padding-bottom: 4rem;
}
.outline__history .outline__flex:after {
    top: 2.4rem;
    left: 0.7rem;
    border-left: 1px solid #ebf0f3;
}
.history__list-year {
    width: auto;
    padding-left: 2.5rem;
}
.history__list-year:after {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 1rem;
    border-width: 0.4rem;
    top: 0.5rem;
    right: auto;
    left: -0.1rem;
}
.history__list-year p {
    font-size: 2.5rem;
}
.history__list-year p.history__list-year2 {
    font-size: 1.4rem;
}
.history__list-year-event {
    padding-top: 1.5rem;
    padding-left: 2.5rem;
}
.history__list-year-event dl {
    margin-bottom: 2rem;
}
.history__list-year-event dl:last-child {
    margin-bottom: 0;
}
.history__list-year-event dl dt span {
    font-size: 2rem;
}
.history__list-year-event dl dd li {
    padding-left: 1.3rem;
}
.history__list-year-event dl dd li:before {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 0.6rem;
    top: 1.2rem;
}
.outline__access .outline__txt {
    margin-bottom: 8rem;
}
.outline__download {
    padding: 5rem 3rem 0rem 3rem;
}
.outline__download h2 {
    font-size: 2.5rem;
    line-height: 1.6;
    margin-bottom: 3rem;
}
.outline__download p {
    margin-bottom: 5rem;
    text-align: left;
}
}

/* -----------ご挨拶------------ */
.greeting__flex {
	display: flex;
}
.greeting__img {
	flex-shrink: 0;
    width: 40%;
    margin-right: 7%;
}
.greeting__img img {
	border-radius: 10px;
}
.greeting__txt {
    width: 60%;
}
.greeting__txt h3 {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.8;
    margin-bottom: 30px;
    color: var(--c-blue);
}
.greeting__txt .signature {
    text-align: right;
    font-size: 14px;
}
.greeting__txt .signature span {
    font-size: 18px;
    font-weight: 600;
    margin-left: 10px;
}
@media screen and (max-width:980px){
.greeting__flex {
    display: block;
}
.greeting__img {
    width: 100%;
    margin-right: 0;
	margin-bottom: 3rem;
}
.greeting__txt {
    width: 100%;
}
.greeting__txt h3 {
    font-size: 2.4rem;
	line-height: 1.7;
}
}

/* -----------企業理念------------ */
.philosophy .flex-title {
	padding-right: 80px;
}
.philosophy .flex-txt {
	flex: 1;
    padding-top: 15px;
}
.philosophy .flex-txt dl {
    margin-bottom: 50px;
}
.philosophy .flex-txt dl dt {
    
}
.philosophy .flex-txt dl dt h3 {
	position: relative;
    font-size: 14px;
    font-weight: 800;
    color: #8e959d;
    padding-left: 3%;
}
.philosophy .flex-txt dl dt h3:before {
	width: 2%;
    content: "";
    background: rgb(0, 77, 160);
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    top: 35px;
    left: 0;
}
.philosophy .flex-txt dl dt h3 span {
    font-family: var(--f-en);
    font-size: 32px;
    color: var(--c-blue);
}
.philosophy .flex-txt dl dd {
    padding-top: 12px;
    padding-left: 10px;
    font-size: 18px;
}
.philosophy .flex-txt dl dd li {
	position: relative;
	padding-left: 16px;
}
.philosophy .flex-txt dl dd li:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 18px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.philosophy__movie {
	position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
}
.philosophy__movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width:980px){
.philosophy.rounded-box-w .flex {
	display: block;
}
.philosophy .flex-title {
    width: 100%;
    padding-right: 0;
}
.philosophy .flex-title h2.second-ttl {

}
.philosophy .flex-txt {
    border-top: var(--line) 1px solid;
    padding-top: 3rem;
}
.philosophy .flex-txt dl {
    margin-bottom: 4rem;
}
.philosophy .flex-txt dl:last-child {
    margin-bottom: 0;
}
.philosophy .flex-txt dl dt h3 span {
    font-size: 2.3rem;
}
.philosophy .flex-txt dl dt h3:before {
    top: 1.8rem;
    width: 4%;
}
.philosophy .flex-txt dl dt h3 {
    font-size: 1.3rem;
	padding-left: 6.5%;
}
.philosophy .flex-txt dl dd {
    padding-top: 1rem;
    padding-left: 1.5rem;
    font-size: 1.6rem;
}
.philosophy .flex-txt dl dd li {
    line-height: 1.6;
    margin-bottom: 1.5rem;
}
.philosophy .flex-txt dl dd li:before {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 0.5rem;
    top: 1rem;
}
}

/* -----------組織図・役員一覧------------ */
.org__chart .second-ttl {
    margin-bottom: 0px;
}
.org__chart p {
	margin-bottom: 50px;
	color: var(--c-gray);
}
.org__chart figure {
    padding: 0 50px;
}
.org__executives .flex-title {
	flex-shrink: 0;
    width: 15%;
    margin-right: 7%;
}
.org__executives .flex-txt {
	width: 85%;
    border-top: var(--line) 1px solid;
}
.org__executives .flex-txt dl {
    border-bottom: var(--line) 1px solid;
    padding: 30px 10px;
    line-height: 2;
}
.org__executives .flex-txt dl dt {
    width: 180px;
    font-weight: 600;
}
.org__executives .flex-txt dl dd {
    flex: 1;
}
@media screen and (max-width:980px){
.org__chart p {
    margin-bottom: 2rem;
    font-size: 1.4rem;
}
.org__chart figure {
    padding: 0rem;
}
.org__executives .flex {
    display: block;
}
.org__executives .flex-title {
    width: 100%;
    margin-right: 0;
}
.org__executives .flex-txt {
    width: 100%;
}
.org__executives .flex-txt dl {
    padding: 2rem 1rem;
}
.org__executives .flex-txt dl dt {
    width: auto;
    font-size: 1.7rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
}
}

/* -----------各種認証と宣⾔------------ */
.certification:target {
  padding-top: 150px;  /* ヘッダーの高さに合わせて調整 */
  margin-top: -150px;   /* オフセットを引く */
}
.certification .second-ttl {
    margin-bottom: 10px;
}
.certification .second-ttl span {
	font-size: 18px;
}
.certification h3 {
	font-size: 18px;
    font-weight: 800;
    margin-bottom: 30px;
}
.certification p {
    margin-bottom: 30px;
}
.certifications__img {
	flex-shrink: 0;
    width: 15%;
    margin-right: 7%;
}
.certifications__img img {
	border-radius: 10px;
}
.certifications__txt {
	width: 85%;
	border-top: var(--line) 1px solid;
}
.certifications__txt dl {
	border-bottom: var(--line) 1px solid;
    padding: 30px 10px;
    line-height: 2;
}
.certifications__txt dl dt {
    width: 222px;
    font-weight: 600;
}
.certifications__txt dl dd {
    flex: 1;
}
.certifications__txt dl dd a.txt-link {
	position: relative;
	background-image: url(../images/icon_blank.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 14px;
    padding-right: 25px;
}
.certifications__txt dl dd li {
	margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: var(--line) 1px dashed;
    font-size: 14px;
    line-height: 1.8;
}
.certifications__txt dl dd li span {
    display: block;
    font-size: 16px;
    color: #004ea2;
}
.certifications__txt dl dd li:last-child {
    border-bottom: none;
    padding-bottom: 0px;
}
@media screen and (max-width:980px){
.certification .second-ttl {
    margin-bottom: 2rem;
}
.certification .second-ttl span {
    font-size: 1.5rem;
    display: block;
}
.certification h3 {
    font-size: 1.6rem;
    margin-bottom: 3rem;
}
.certifications__flex.flex {
    display: block;
}	
.certifications__img {
    width: 11rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 2.5rem;
}
.certifications__txt {
    width: 100%;
}
.certifications__txt dl {
    padding: 2rem 1rem;
}
.certifications__txt dl.flex {
    display: block;
}
.certifications__txt dl dt {
    width: auto;
    font-size: 1.7rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
}
.certifications__txt dl dd a.txt-link {
	background-size: 1.4rem;
    padding-right: 2.5rem;
}
.certifications__txt dl dd li {
    font-size: 1.4rem;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
}
.certifications__txt dl dd li:first-child {
    border-top: var(--line) 1px dashed;
    padding-top: 2rem;
}
.certifications__txt dl dd li span {
    font-size: 1.4rem;
    font-weight: 700;
}
}

/* -----------資格・認定試験------------ */
.license .flex-title {
    flex-shrink: 0;
    width: 25%;
    margin-right: 7%;
}
.license .flex-title h3 {
    position: relative;
    font-size: 26px;
    font-weight: 800;
    color: var(--c-blue);
    padding-left: 10%;
    line-height: 1.8;
}
.license .flex-title h3:before {
    width: 6%;
    content: "";
    background: rgb(0, 77, 160);
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    top: 25px;
    left: 0;
}
.license .flex-title h3 span {
    font-size: 16px;
	font-weight: 700;
    font-family: var(--f-en);
    color: var(--c-gray);
    display: block;
}
.license .flex-txt {
	width: 80%;
	border-top: var(--line) 1px solid;
	margin-top: 30px;
}
.license .flex-txt dl {
	border-bottom: var(--line) 1px solid;
    padding: 30px 10px;
    line-height: 2;
    justify-content: space-between;
}
.license .flex-txt dl dt {
    flex: 1;
	font-weight: 600;
}
.license .flex-txt dl dd {
    width: 120px;
    text-align: right;
    color: var(--c-blue);
    font-size: 18px;
    font-weight: 600;
}
.license .flex-txt dl dd span {
    font-size: 15px;
    margin-left: 10px;
    font-weight: 400;
}
@media screen and (max-width:980px){
.license .flex {
    display: block;
}
.license .flex-title {
    width: 100%;
	margin-right: 0;
}
.license .flex-title h3 {
    font-size: 2.2rem;
    padding-left: 8%;
}
.license .flex-title h3 span {
    font-size: 1.6rem;
}
.license .flex-title h3:before {
    width: 5%;
    top: 2rem;
}
.license .flex-txt {
    width: 100%;
    margin-top: 2rem;
}
.license .flex-txt dl.flex {
    display: flex;
    align-items: center;
    padding: 2rem 1rem;
}
.license .flex-txt dl dt {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 0;
    flex-shrink: 0;
}
.license .flex-txt dl dd {
    font-weight: 800;
    font-size: 2.6rem;
}
.license .flex-txt dl dd span {
    font-size: 1.5rem;
    margin-left: 1rem;
}
}
/* -----------DXへの取り組み------------ */
.dx__img {
	background-image: url(../images/company_dx01.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    font-weight: 600;
    line-height: 1.8;
    color: #ffffff;
    /* text-align: center; */
    padding: 140px 120px;
    margin-bottom: 100px;
    text-shadow: 0px 0px 10px rgb(0 0 0 / 40%);
}
.dx__img h2.second-ttl {
    background-position: center top;
    margin-bottom: 60px;
    display: block;
    text-align: center;
}
.dx__item table {
    width: 97%;
    font-size: 95%;
    border-spacing: 0;
    margin: 0 auto 20px auto;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
    margin-left: 3%;
}
.dx__item table thead th {
    border-top: var(--line) 1px solid;
    background-color: #eff0f2;
    color: var(--c-blue);
    vertical-align: middle;
    font-weight: 800;
}
.dx__item table th, .dx__item table td {
    border-bottom: var(--line) 1px solid;
    border-left: none;
    padding: 6px 15px;
}
.dx__item table tbody th {
    text-align: left;
    font-weight: 600;
    width: 230px;
    vertical-align: top;
}
.dx__item .dx__blk {
	
}
.dx__item .dx__blk h3 {
	font-size: 26px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 15px;
    position: relative;
    padding-left: 3%;
}
.dx__item .dx__blk h3:before {
	width: 2%;
    content: "";
    background: rgb(0, 77, 160);
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    top: 30px;
    left: 0;
}
.dx__item .dx__blk ul {
    margin-left: 3%;
    margin-bottom: 30px;
}
.dx__item .dx__blk ul li {
	position: relative;
	padding-left: 15px;
}
.dx__item .dx__blk ul li:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 15px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.dx__item p.quote {
	text-align: right;
	font-size: 13px;
	border-top: var(--line) 1px solid;
	border-bottom: var(--line) 1px solid;
    padding: 8px 10px;
}
.dx__item p.quote a {
	position: relative;
	color: var(--c-blue);
    text-decoration: underline;
	background-image: url(../images/icon_blank.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 12px;
    padding-right: 20px;
}
.dx__item p.quote a:hover {
	text-decoration: none;
}
.dx__item .dx__blk dl {
    background-color: rgb(205 216 227 / 40%);
	backdrop-filter: blur(5px);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    font-weight: 600;
    margin-left: 3%;
}
.dx__item .dx__blk dt {
	font-size: 17px;
    font-weight: 800;
    padding-bottom: 15px;
}
.dx__item .dx__blk dd {
    font-size: 15px;
    font-weight: 500;
    margin-left: 2%;
}
.dx__vision {
	text-align: center;
    padding: 90px;
    border-radius: 25px;
    border: var(--c-blue) 3px solid;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.dx__vision h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 30px;
}
.dx__vision p {
    font-size: 20px;
}
.dx__organization {
	
}
.dx__organization figure {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.dx__organization figcaption {
    padding: 20px 0;
    margin-bottom: 20px;
    text-align: center;
    font-size: 15px;
    color: var(--c-blue);
}
.dx__item .charts {
	display: flex;
    padding-top: 25px;
    padding-bottom: 25px;
    margin-top: 25px;
    margin-bottom: 25px;
    border-top: var(--line) 1px solid;
    border-bottom: var(--line) 1px solid;
}
.dx__item .charts dl {
    width: 23%;
    margin: 10px 1% 30px 1%;
    transition: .6s;
}
.dx__item .charts dl dt {
    /* color: #135fab; */
    font-weight: bold;
    /* font-size: 90%; */
    text-align: center;
    position: relative;
    padding: 10px;
    margin-bottom: 25px;
    transition: .6s;
}
.dx__item .charts dl dt:after {
    width: 15%;
    content: "";
    /* background: rgb(0, 77, 160); */
    display: block;
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    left: 42%;
    bottom: 0;
}
.dx__item .charts dl dd {
	position: relative;
    text-align: center;
    font-weight: 600;
    color: #99a0a8;
    margin-bottom: 15px;
}
.dx__item .charts dl dd.move {
    position: relative;
    /* width: 250px; */
    /* height: 250px; */
    margin: auto;
    transition: .6s;
}
.dx__item .charts canvas {
    width: 185px !important;
    height: 185px !important;
}
.dx__item .charts p {
    clear: both;
    background: #fff;
    padding: 15px;
    /* color: #135fab; */
    font-size: 75%;
    transition: .8s;
}
.dx__item .charts p.count {
    position: absolute;
    text-align: center;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    color: #135fab;
    font-size: 200%;
    font-family: var(--f-en);
    line-height: 155px;
    background: none;
}
.dx__item .charts p.count span.size {
    font-size: 60%;
}


.dx__item.message h2 {
	font-size: 28px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 30px;
	text-align: center;
}
.dx__item.message h2 + p {
	margin-bottom: 20px;
}
.dx__item.message .signature {
    text-align: right;
    font-size: 14px;
    margin-top: 60px;
}
.dx__item.message .signature span {
    font-size: 18px;
    font-weight: 600;
    margin-left: 10px;
}
@media screen and (max-width:980px){
.dx__img {
    padding: 4rem 2rem;
    font-weight: 500;
    margin-bottom: 7rem;
}
.dx__img h2.second-ttl {
    margin-bottom: 2rem;
}
.dx__img h2 + p {
    font-size: 1.4rem;
    line-height: 2;
}
.dx__item table thead th {
    padding: 1rem 1rem;
    /* text-align: center; */
}
.dx__item table tbody th {
    width: 9rem;
}
.dx__item table {
    width: 100%;
    margin-left: 0;
}
.dx__item table td {
    font-size: 1.3rem;
    line-height: 2;
    padding: 0.6rem 1rem;
}
.dx__vision {
    padding: 4rem 2rem;
    font-weight: 500;
    margin-bottom: 7rem;
}
.dx__vision h2 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
}
.dx__vision p {
    font-size: 1.8rem;
}
.dx__item .dx__blk h3 {
    font-size: 2rem;
    padding-left: 8%;
}
.dx__item .dx__blk h3:before {
    width: 5%;
    top: 1.9rem;
}
.dx__item .dx__blk ul {
    margin-bottom: 3rem;
}
.dx__item .dx__blk ul li {
    padding-left: 3.5rem;
    margin-bottom: 2rem;
}
.dx__item .dx__blk ul li:before {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 0.6rem;
    top: 1.2rem;
    left: 1.8rem;
}
.dx__item p.quote {
    font-size: 1.3rem;
    padding: 0.8rem 1rem;
}
.dx__item p.quote a {
    background-size: 1.1rem;
    padding-right: 1.8rem;
}
.dx__item .dx__blk dl {
    padding: 2rem;
    margin-bottom: 2rem;
    margin-left: 0;
}
.dx__item .dx__blk dt {
    font-size: 1.7rem;
    padding-bottom: 1.5rem;
}
.dx__item .dx__blk dd {
    font-size: 1.4rem;
    margin-left: 0;
}
.dx__organization figure {
    width: 100%;
}
.dx__organization figcaption {
    padding: 2rem 1rem;
    margin-bottom: 2rem;
    font-size: 1.3rem;
}
.dx__item .charts {
    display: block;
}
.dx__item .charts dl {
    width: 100%;
    margin: 1rem 1% 6rem 1%;
}
.dx__item .charts dl dt {
    padding: 1rem;
    margin-bottom: 2.5rem;
    font-size: 1.8rem;
}
.dx__item .charts dl dd {
    margin-bottom: 1rem;
}
.dx__item .charts canvas {
    width: 22rem !important;
    height: 22rem !important;
}
.dx__item .charts p {
    padding: 0;
}
.dx__item .charts p.count {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 0;
    font-size: 250%;
}
p.notes {
    font-size: 1.3rem;
}
.dx__item.message h2 {
    font-size: 2.8rem;
    line-height: 1.5;
    margin-bottom: 2rem;
}
.dx__item.message h2 + p {
    margin-bottom: 2rem;
}
.dx__item.message .signature {
    font-size: 1.3rem;
    margin-top: 4rem;
}
}

/* -----------ブランディングムービー------------ */
div.branding_movie {
	position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
}
div.branding_movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*------------------------------------------
サステナビリティ
-----------------------------------------*/
.sustainability__list h2 {
	background-image: url(../images/sustainability_photo01.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    font-size: 30px;
    font-weight: 800;
    color: #fff;
    text-align: center;
    padding: 120px;
    margin-bottom: 20px;
	text-shadow: 0px 0px 10px rgba(39, 39, 39, 0.4);
}
.sustainability__list h2.second {
	background-image: url(../images/sustainability_photo02.jpg);
	margin-top: 60px;
}
.sustainability__list .item ul {
    display: flex;
    flex-wrap: wrap;
    gap: 3%;
}
.sustainability__list .item ul li {
    width: calc((100% - 6%) / 3);
    margin-bottom: 40px;
}
.sustainability__list .item ul li:first-child {
    width: 100%;
}
.sustainability__list .item a {
  padding: 30px 20px;
  border: var(--line) 1px solid;
  border-radius: 10px;
  box-sizing: border-box;
	display: block;
	background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.sustainability__list .item ul li:first-child a {
    border: none;
    border-bottom: 2px solid;
    border-top: 2px solid;
    border-color: var(--c-blue);
    border-radius: 0px;
    color: var(--c-blue);
}
.sustainability__list .item a h3 {
    position: relative;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.8;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.sustainability__list .item ul li:first-child a h3 {
    font-size: 20px;
    font-weight: 800;
}
.sustainability__list .item a h3:after {
    width: 14px;
    height: 12px;
    top: 25%;
    /* margin-top: -14px; */
    /* margin-right: 10px; */
    content: "";
    position: absolute;
    background-image: url(../images/nav_arrow.svg);
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 50%;
    right: 0;
}
.sustainability__list .item ul li:first-child a h3:after {
    background-image: url(../images/nav_arrow_b.svg);
}
.sustainability__list .item a:hover h3 {
    transform: translateX(5px);
}
@media screen and (max-width:980px){
.sustainability__list h2 {
    padding: 8rem 2rem;
    font-weight: 500;
    margin-bottom: 2rem;
    font-size: 2.2rem;
}
.sustainability__list .item ul {
    display: block;
}
.sustainability__list .item ul li {
    width: 100%;
	margin-bottom: 2rem;
}
.sustainability__list .item a {
    padding: 3rem 2rem;
}
.sustainability__list .item ul li:first-child a {
    padding: 3rem 1rem;
}
.sustainability__list .item a h3 {
    font-size: 1.7rem;
}
.sustainability__list .item a h3:after {
	width: 1.4rem;
    height: 1.2rem;
    background-size: 1.4rem;
}
.sustainability__list .item ul li:first-child a h3 {
    font-size: 1.8rem;
}
}
/* -----------環境・社会活動・ガバナンス------------ */
.lead-copy .main-copy {
    font-size: 28px;
	display: block;
    /* color: var(--c-blue); */
}
.sustainability__esg {
	border-top: var(--line) 1px solid;
    padding-top: 65px;
	padding-bottom: 60px;
}
.sustainability__esg .second-ttl span {
    font-size: 18px;
}
.sustainability__esg .esg__blk .flex {
    padding: 0 25px;
}
.esg__blk .esg__img {
	background-image: url(../images/sustainability_environment.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    font-weight: 600;
    line-height: 1.8;
    color: #fff;
    text-align: center;
    padding: 120px;
    margin-bottom: 35px;
    text-shadow: 0px 0px 10px rgba(39, 39, 39, 0.4);
}
.esg__blk.social .esg__img {
	background-image: url("../images/sustainability_social.jpg");
}
.esg__blk.governance .esg__img {
	background-image: url("../images/sustainability_governance.jpg");
}
.esg__blk .esg__img p {
	
}
.esg__blk .esg__img p strong {
	font-size: 28px;
    font-weight: 600;
    margin-bottom: 15px;
    display: block;
}
.esg__blk .esg__icon {
	flex-shrink: 0;
    width: 160px;
    margin-right: 7%;
}
.esg__blk .esg__icon img {
	border-radius: 10px;
}
.esg__blk .esg__txt {
	
}
.esg__blk .esg__txt li {
    border-top: var(--line) 1px solid;
    padding: 30px 15px;
}
.esg__blk .esg__txt li .flex {
	margin-top: 20px;
	padding: 0px;
	flex-wrap: wrap;
}
.esg__blk .esg__txt li a {
	font-size: 18px;
    font-weight: 600;
    padding-right: 35px;
    margin-right: 40px;
    margin-top: 15px;
    display: block;
    position: relative;
}
.esg__blk .esg__txt li a:after {
	width: 14px;
    height: 12px;
    top: 38%;
    content: "";
    position: absolute;
    background-image: url(../images/nav_arrow.svg);
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: center center;
    /* border-radius: 50%; */
    right: 0;
}
.esg__blk .esg__txt li a:hover {
	transform: translateX(5px);
}
.esg__blk .esg__txt li h3 {
    position: relative;
    font-size: 26px;
    font-weight: 800;
    color: var(--c-blue);
    padding-left: 3%;
    line-height: 1.8;
    margin-bottom: 30px;
}
.esg__blk .esg__txt li h3:after {
    width: 2%;
    content: "";
    background: rgb(0, 77, 160);
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    top: 24px;
    left: 0;
}
.esg__blk .esg__txt li dl {
    margin-top: 30px;
    padding: 30px;
	border-radius: 10px;
    border: var(--line) 1px solid;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.esg__blk .esg__txt li dl dt {
    font-weight: 800;
    margin-bottom: 15px;
    color: var(--c-blue);
}
.esg__blk .esg__txt li dl dd {
    font-size: 14px;
}
.esg__blk .esg__txt li ul {
    padding-left: 15px;
    margin-top: 20px;
    margin-bottom: 15px;
}
.esg__blk .esg__txt li li {
    position: relative;
    padding: 9px 15px;
    border: none;
    font-size: 15px;
    font-weight: 700;
    line-height: 2;
}
.esg__blk .esg__txt li li:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 21px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
@media screen and (max-width:980px){
.lead-copy .main-copy {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
}
.esg__blk .esg__img {
    padding: 4rem 2rem;
    font-weight: 500;
    margin-bottom: 2.5rem;
}
.esg__blk .esg__img p {
    font-size: 1.4rem;
    line-height: 2;
	text-align: left;
}
.esg__blk .esg__img p strong {
    font-size: 2.4rem;
    line-height: 1.6;
	margin-bottom: 2rem;
	text-align: center;
}
.sustainability__esg {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.sustainability__esg .esg__blk .flex {
    display: block;
	padding: 0;
}
.esg__blk .esg__icon {
    width: 11rem;
    margin: 0 auto 2.5rem auto;
}
.esg__blk .esg__txt li {
    padding: 3rem 1.5rem;
    font-size: 1.6rem;
}
.esg__blk .esg__txt li:last-child {
    padding-bottom: 0;
}
.esg__blk .esg__txt li h3 {
    font-size: 2.2rem;
    padding-left: 6.5%;
    margin-bottom: 3rem;
}
.esg__blk .esg__txt li h3:after {
    width: 4%;
    top: 2rem;
}
.esg__blk .esg__txt li .flex {
    margin-top: 2rem;
}
.esg__blk .esg__txt li a {
    font-size: 1.7rem;
    padding-right: 3.5rem;
    margin-top: 1.5rem;
    margin-right: 0;
}
.esg__blk .esg__txt li a:after {
	width: 1.4rem;
    height: 1.2rem;
    top: 38%;
    background-size: 1.4rem;
    /* border-radius: 50%; */
}	
.esg__blk .esg__txt li dl {
    margin-top: 2rem;
    padding: 2rem;
}
.esg__blk .esg__txt li dl dt {
    text-align: center;
    margin-bottom: 1.5rem;
}
.esg__blk .esg__txt li dl dd {
    font-size: 1.4rem;
}
.esg__blk .esg__txt li ul {
    padding-left: 0;
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.esg__blk .esg__txt li li {
    font-size: 1.5rem;
    padding: 1rem 0 1rem 2rem;
}
.esg__blk .esg__txt li li:before {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 0.6rem;
    top: 2.2rem;
    left: 0.5rem;
}
}
/* -----------環境方針------------ */
.policy__img {
    background-image: url(../images/sustainability_policy01.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    font-weight: 600;
    line-height: 1.8;
    color: #ffffff;
    padding: 140px 120px;
    margin-bottom: 100px;
    text-shadow: 0px 0px 10px rgb(0 0 0 / 40%);
}
.policy__img h2.second-ttl {
    background-position: center top;
    margin-bottom: 60px;
    display: block;
    text-align: center;
}
.policy__item .second-ttl {
	margin-bottom: 0px;
}
.policy__item h2 + p {
	padding-bottom: 60px;
    border-bottom: 1px solid var(--line);
}
.policy__blk {
    border-bottom: 1px solid var(--line);
    padding-top: 50px;
    padding-left: 20px;
}
.policy__blk h3 {
	display: flex;
	font-size: 26px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 15px;
    position: relative;
    padding-left: 3%;
}
.policy__blk h3:before {
	width: 2%;
    content: "";
    background: rgb(0, 77, 160);
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    top: 30px;
    left: 0;
}
.policy__blk h3 span {
	display: block;
    padding-right: 1.5%;
}
.policy__blk ul {
	margin-left: 3%;
}
.policy__blk ul li {
	position: relative;
    padding-left: 15px;
}
.policy__blk ul li:before {
	content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 15px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.policy__blk + p {
	padding-top: 50px;
}
.policy__item .signature {
	padding-top: 50px;
    text-align: right;
    font-size: 14px;
    font-weight: 700;
}
.policy__item .signature .records {
    font-size: 13px;
    color: var(--c-blue);
    display: block;
    font-weight: 400;
}
@media screen and (max-width:980px){
.policy__img {
    padding: 4rem 2rem;
    font-weight: 500;
    margin-bottom: 7rem;
}
.policy__img h2.second-ttl {
    margin-bottom: 2rem;
}
.policy__img p {
    font-size: 1.4rem;
    line-height: 2;
}
.policy__item .second-ttl {
    margin-bottom: 3rem;
}
.policy__item h2 + p {
    padding-bottom: 6rem;
}
.policy__blk {
    padding-top: 5rem;
    padding-left: 0;
}
.policy__blk h3 {
    font-size: 2rem;
	line-height: 1.6;
    padding-left: 8%;
}
.policy__blk h3:before {
    width: 5%;
    top: 1.9rem;
}
.policy__blk h3 span {
    padding-right: 3%;
}
.policy__blk ul li {
    padding-left: 4.5rem;
    margin-bottom: 2rem;
}
.policy__blk ul li:before {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 0.6rem;
    top: 1rem;
    left: 2.8rem;
}
.policy__blk + p {
    padding-top: 5rem;
}
.policy__item .signature {
    padding-top: 5rem;
    font-size: 1.4rem;
    line-height: 3rem;
}
.policy__item .signature .records {
    font-size: 1.3rem;
}
}
/* -----------環境目標と実績------------ */
.gosls__item h2 + p {
    margin-bottom: 50px;
}
.gosls__item h2 span {
    font-size: 24px;
    padding-left: 8px;
}
.gosls__item table {
	width: 97%;
    font-size: 95%;
    border-spacing: 0;
    margin: 0 auto 20px auto;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
    margin-left: 3%;
}
.gosls__item table thead th {
    border-top: var(--line) 1px solid;
    background-color: #eff0f2;
    color: var(--c-blue);
    vertical-align: middle;
    font-weight: 800;
}
.gosls__item table thead th span {
    display: block;
	font-size: 14px;
}
.gosls__item table tbody th {
    text-align: left;
    font-weight: 600;
    width: 230px;
    vertical-align: top;
}
.gosls__item table tbody th sapn {
	display: block;
	font-size: 14px;
}
.gosls__item table th, .gosls__item table td {
    border-bottom: var(--line) 1px solid;
    border-left: none;
    padding: 6px 15px;
}
.gosls__item table td.year-goal {
    width: 80px;
}
.gosls__item table.achievements {
	text-align: center;
}
.gosls__item table.achievements th {
	line-height: 1.6;
}
.gosls__item table.achievements thead th {
    width: 20%;
    text-align: center;
}
.gosls__item table.achievements thead th:first-child {
    text-align: left;
}
.gosls__item table.carbon-neutral {
    border-top: var(--line) 1px solid;
}
.gosls__item table.carbon-neutral th,
.gosls__item table.carbon-neutral td {
	padding-top: 12px;
    padding-bottom: 12px;
}
.gosls__item table.carbon-neutral th {
	/* background-color: #eff0f2; */
    color: var(--c-blue);
    /* vertical-align: middle; */
    font-size: 16px;
	font-weight: 800;
}
.gosls__item table.carbon-neutral td ul li {
	position: relative;
    padding-left: 15px;
}
.gosls__item table.carbon-neutral td ul li:before {
	content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 15px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
@media screen and (max-width:980px){
.gosls__item h2 {
    line-height: 1.4;
    padding-top: 2rem;
}
.gosls__item h2 span {
    font-size: 2rem;
    padding-left: 0;
}
.gosls__item h2 + p {
    margin-bottom: 0;
}
.gosls__item table {
    font-size: 100%;
    width: 100%;
    margin-left: 0;
}
.gosls__item table thead {
    display: none;
}
.gosls__item table tbody th {
    display: block;
    border-top: var(--line) 1px solid;
    background-color: #eff0f2;
    color: var(--c-blue);
    width: auto;
    font-weight: 800;
    padding: 1rem;
	margin-top: 2rem;
}
.gosls__item table tbody th sapn {
    font-size: 1.3rem;
}
.gosls__item table tbody td {
	display: block;
    font-size: 1.3rem;
    line-height: 2;
    padding: 0.6rem 1rem;
}
.gosls__item table tbody td.year-goal {
    border-bottom: none;
    padding-bottom: 0;
    font-size: 1.3rem;
    font-weight: 800;
	width: auto;
}
.gosls__item table tbody td.year-goal .sp-only {
	display: inline-block;
	padding-left: 0.4em; 
}
.gosls__item table tbody td.note {
    padding-top: 0;
}
.gosls__item table.achievements {
	text-align: left;
}
.gosls__item table.achievements td.target-emissions:before {
        content: "目標排出量：";
        margin-bottom: 2%;
        /* color: var(--c-blue); */
        font-weight: 700;
}
.gosls__item table.achievements td.actual-emissions:before {
        content: "実績排出量：";
        margin-bottom: 2%;
        /* color: var(--c-blue); */
        font-weight: 700;
}
.gosls__item table.achievements td.reduction-rate:before {
        content: "削減率(基準年度比)：";
        margin-bottom: 2%;
        /* color: var(--c-blue); */
        font-weight: 700;
}
.gosls__item table.achievements td.electricity-usage:before {
        content: "電力使用量：";
        margin-bottom: 2%;
        /* color: var(--c-blue); */
        font-weight: 700;
}
.gosls__item table.carbon-neutral {
	border-top: none;
}
.gosls__item table.carbon-neutral th,
.gosls__item table.carbon-neutral td {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
}
.gosls__item table.carbon-neutral th {
        display: block;
        border-top: var(--line) 1px solid;
        background-color: #eff0f2;
        color: var(--c-blue);
        width: auto;
        font-weight: 800;
        padding: 1rem;
        margin-top: 2rem;
        font-size: 1.5rem;
}
.gosls__item table.carbon-neutral td ul li {
        padding-left: 2rem;
        margin-bottom: 2rem;
        line-height: 1.6;
}
.gosls__item table.carbon-neutral td ul li:before {
        width: 0.6rem;
        height: 0.6rem;
        border-radius: 0.6rem;
        top: 0.8rem;
        left: 0.5rem;
}
.gosls__item table.carbon-neutral td ul li:last-child {
	margin-bottom: 0;
}
}
/* -----------地中熱の導入------------ */
.lead-copy.geothermal__copy span {
    font-size: 15px;
}
.geothermal__item {
    padding: 65px 30px;
	border-top: var(--line) 1px solid;
}
.geothermal__item h2 + p {
    margin-bottom: 50px;
}
.geothermal__item figure {
	text-align: center;
}
.geothermal__item p.quote {
    text-align: right;
    font-size: 13px;
}
.geothermal__item p.quote a {
    position: relative;
    color: var(--c-blue);
    text-decoration: underline;
    background-image: url(../images/icon_blank.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 12px;
    padding-right: 20px;
}
.geothermal__item p.quote a:hover {
    text-decoration: none;
}
.geothermal__item .chronology {
	display: flex;
	width: 100%;
    position: relative;
    padding: 0px 0px 47px;
}
.geothermal__item .chronology:last-child {
	padding-bottom: 0px;
}
.geothermal__item .chronology:after {
    content: "";
    display: block;
    width: 0px;
    height: 100%;
    position: absolute;
    top: 24px;
    left: 120px;
    z-index: 1;
    border-left: 1px dashed var(--line);
}
.geothermal__item .chronology:last-child:after {
	content: none;
}
.geothermal__item .chronology dt {
    width: 155px;
    position: relative;
    /* padding-left: 15px; */
	font-family: var(--f-en);
    font-size: 30px;
    font-weight: 600;
    line-height: 1.3;
}
.geothermal__item .chronology dt span {
    font-family: var(--f-noto);
    font-size: 16px;
    padding-left: 6px;
}
.geothermal__item .chronology dt:after {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background-color: #fff;
    position: absolute;
    top: 10px;
    right: 25px;
    z-index: 2;
    box-sizing: border-box;
    border-width: 4px;
    border-style: solid;
    border-color: #004ea2;
    border-image: initial;
    border-radius: 9px;
}
.geothermal__item .chronology dd {
    flex: 1;
	position: relative;
    padding-left: 15px;
	font-weight: 600;
}
.geothermal__item .chronology dd:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 16px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.geothermal__item .blk h3 {
	font-size: 26px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 15px;
    position: relative;
    padding-left: 3%;
}
.geothermal__item .blk h3:before {
    width: 2%;
    content: "";
    background: rgb(0, 77, 160);
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    top: 30px;
    left: 0;
}
.geothermal__item .blk ul {
    margin-left: 3%;
    margin-bottom: 30px;
}
.geothermal__item .blk ul li {
    position: relative;
    padding-left: 15px;
}
.geothermal__item .blk ul li:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 15px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.geothermal__item .blk ul.flex {
    flex-wrap: wrap;
}
.geothermal__item .blk ul.flex li {
    margin-right: 30px;
    font-weight: 600;
}
.geothermal__item .photo ul.flex {
    justify-content: center;
}
.geothermal__item .photo ul.flex li {
    margin: 10px;
}
.geothermal__item .photo ul.flex figcaption {
    text-align: center;
    padding-top: 10px;
    font-size: 15px;
    font-weight: 600;
}
.geothermal__vision {
	text-align: center;
    padding: 90px;
    border-radius: 25px;
    border: var(--c-blue) 3px solid;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.geothermal__vision h2 {
	font-size: 28px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 30px;
}
.geothermal__vision p {
	text-align: left;
}
@media screen and (max-width:980px){
.lead-copy.geothermal__copy span {
    font-size: 1.4rem;
}
.geothermal__item {
    padding: 4rem 0;
}
.geothermal__item h2 + p {
    margin-bottom: 3rem;
}
.geothermal__item p.quote {
    font-size: 1.2rem;
}
.geothermal__item p.quote a {
    background-size: 1.1rem;
    padding-right: 1.8rem;
}
.geothermal__item .chronology {
    display: block;
    padding-bottom: 4rem;
}
.geothermal__item .chronology:after {
    top: 2.4rem;
    left: 0.7rem;
	  border-left: 1px solid #ebf0f3;
}
.geothermal__item .chronology dt {
    width: auto;
    padding-left: 2.5rem;
    font-size: 2.5rem;
}
.geothermal__item .chronology dt:after {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 1rem;
    border-width: 0.4rem;
    top: 0.5rem;
    right: auto;
    left: -0.1rem;
}
.geothermal__item .chronology dt span {
    font-size: 1.6rem;
    padding-left: 0.6rem;
}
.geothermal__item .chronology dd {
    margin-left: 3.5rem;
    padding-left: 1.5rem;
    font-size: 1.4rem;
    font-weight: 500;
}
.geothermal__item .chronology dd:before {
    width: 0.6rem;
    height: 0.6rem;
    top: 1rem;
	border-radius: 1rem;
}
.geothermal__item .blk h3 {
    font-size: 2rem;
    padding-left: 8%;
}
.geothermal__item .blk h3:before {
    width: 5%;
    top: 1.9rem;
}
.geothermal__item .blk ul {
    margin-left: 7%;
    margin-bottom: 3rem;
}
.geothermal__item .blk ul.flex {
    display: block;
}
.geothermal__item .blk figure {
    margin-left: 7%;
}
.geothermal__item .photo ul.flex li {
    margin: 0.8rem;
}
.geothermal__item .photo ul.flex figcaption {
    padding-top: 1rem;
    font-size: 1.3rem;
}
.geothermal__item .blk ul.flex li {
    margin-right: 0;
    margin-bottom: 0.5rem;
}	
.geothermal__item .blk ul.flex li:before {
    top: 1.3rem;
}
	
.geothermal__vision {
    padding: 4rem 2rem;
}
.geothermal__vision h2 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
}
.geothermal__vision p {
    font-size: 1.4rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
}
/* -----------働く環境------------ */
.sustainability__work {
	display: flex;
    align-items: center;
    border-top: var(--line) 1px solid;
    padding-top: 65px;
    padding-bottom: 65px;
}
.sustainability__work-num {
    font-family: var(--f-en);
    font-weight: 700;
    font-size: 19px;
    color: var(--c-gray);
    width: 18%;
    flex-shrink: 0;
    text-align: center;
}
.sustainability__work-img {
    width: 25%;
    flex-shrink: 0;
}
.sustainability__work-img img {
    border-radius: 10px;
}
.sustainability__work-txt {
    padding-left: 5%;
}
.sustainability__work-txt h2 {
    font-weight: 800;
    font-size: 30px;
    line-height: 1.6;
    margin-bottom: 20px;
}
.sustainability__work-txt a {
    font-size: 18px;
    font-weight: 600;
    line-height: 2;
    display: inline-block;
    position: relative;
}
.sustainability__work-txt a.link-blank {
    margin-right: 145px;
    padding-right: 22px;
}
.sustainability__work-txt a.link-blank:after {
	background-image: url(../images/icon_blank.png);
    width: 22px;
    height: 18px;
    background-size: 14px;
    top: 28%;
}
.sustainability__work-txt a:hover {
    transform: translateX(5px);
}
@media screen and (max-width:980px){
.sustainability__work {
    display: block;
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.sustainability__work-num {
    font-size: 1.7rem;
    width: auto;
    margin-bottom: 2rem;
}
.sustainability__work-img {
    width: 100%;
    margin-bottom: 2.5rem;
}
.sustainability__work-txt {
    padding-left: 0;
}
.sustainability__work-txt h2 {
    font-size: 2.3rem;
    margin-bottom: 1rem;
    line-height: 1.6;
}
.sustainability__work-txt a {
    font-size: 1.7rem;
    padding-right: 3.5rem;
    margin-top: 1.5rem;
    margin-right: 0;
}
.sustainability__work-txt a.link-blank {
    margin-right: 0.5rem;
    padding-right: 2.2rem;
    background-position: right 0 bottom 18%;
}
.sustainability__work-txt a.link-blank:after {
    width: 2.2rem;
    background-size: 1.4rem;
    height: 1.8rem;
    top: auto;
    bottom: 7px;
}
}
/* -----------働き方改革------------ */
.sustainability__working-style {
	border-top: var(--line) 1px solid;
    padding: 65px 30px;
}
.sustainability__working-style h3 {
	font-size: 26px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 15px;
    position: relative;
    padding-left: 3%;
}
.sustainability__working-style h3:before {
	width: 2%;
    content: "";
    background: rgb(0, 77, 160);
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    top: 30px;
    left: 0;
}
.sustainability__working-style h3 + p {
	margin-left: 20px;
}
.sustainability__working-style dl {
    background-color: #ebf0f3;
    border-radius: 10px;
    padding: 20px;
    margin-left: 20px;
    margin-bottom: 20px;
    font-weight: 600;
}
.sustainability__working-style dl dt {

}
.sustainability__working-style dl dd {
	font-weight: 400;
    padding-left: 15px;
}
.sustainability__working-style .signature {
    text-align: right;
    font-size: 14px;
}
.sustainability__working-style .signature span {
    font-size: 18px;
    font-weight: 600;
    margin-left: 10px;
}
@media screen and (max-width:980px){
.sustainability__working-style {
    padding: 4rem 0;
}
.sustainability__working-style h3 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    padding-left: 8%;
}
.sustainability__working-style h3:before {
    width: 5%;
    top: 1.9rem;
}
.sustainability__working-style dl {
    margin-left: 0;
    margin-bottom: 2rem;
    padding: 2rem;
}
.sustainability__working-style dl dt {
    margin-bottom: 1rem;
}
.sustainability__working-style dl dd {
    padding-left: 0;
}
.sustainability__working-style h3 + p {
    margin-left: 0;
}
.sustainability__working-style .signature {
    font-size: 1.3rem;
}
}
/* -----------健康経営について------------ */
.sustainability__health {
	border-top: var(--line) 1px solid;
    padding: 65px 30px;
}
.sustainability__health .second-ttl span {
    font-size: 18px;
}
.sustainability__health .health__blk {
	background-color: #ebf0f3;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    font-weight: 600;
    margin-left: 3%;
}
.sustainability__health .health__blk h3 {
	font-size: 17px;
    font-weight: 800;
	color: var(--c-blue);
}
.sustainability__health .health__blk h3 + p {
    padding-top: 10px;
    padding-left: 10px;
	font-weight: 400;
}
.sustainability__health .health__blk ul {
	padding-left: 10px;
}
.sustainability__health .health__blk li {
	display: flex;
	font-weight: 400;
	padding-left: 15px;
	position: relative;
}
.sustainability__health .health__blk li:before {
	content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 15px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.sustainability__health .health__blk li span {
    display: block;
    width: 180px;
}
table.health_certifications th {
    padding-right: 7%;
    vertical-align: top;
}
table.health_certifications th img {
    border-radius: 10px;
}
table.health_certifications td {
    padding: 30px 10px;
    border-bottom: var(--line) 1px solid;
}
table.health_certifications td.line {
    border-top: var(--line) 1px solid;
}
table.health_certifications td.item {
    width: 20%;
    font-weight: 600;
}
table.health_certifications td.detail {
    width: 55%;
}
table.health_certifications td.detail a.txt-link {
    position: relative;
    background-image: url(../images/icon_blank.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 14px;
    padding-right: 25px;
}
@media screen and (max-width:980px){
.sustainability__health {
    padding: 4rem 0;
}
.sustainability__health:last-child {
    padding-bottom: 0;
}
.sustainability__health .second-ttl span {
    display: block;
    font-size: 1.6rem;
}
.sustainability__health .health__blk {
    padding: 2rem;
    margin-bottom: 2rem;
    margin-left: 0;
}
.sustainability__health .health__blk h3 {
    font-size: 1.7rem;
}
.sustainability__health .health__blk h3 + p {
    padding-top: 1rem;
    padding-left: 0;
}
.sustainability__health .health__blk ul {
    padding-left: 0;
	margin-top: 1rem;
}
.sustainability__health .health__blk li {
    display: block;
    padding-left: 1.8rem;
    margin-bottom: 1.5rem;
	line-height: 1.8;
}
.sustainability__health .health__blk li:before {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 0.6rem;
    top: 1.2rem;
    left: 0;
}
table.health_certifications th {
    display: block;
    width: auto;
    padding-right: 0;
    padding-bottom: 2rem;
    text-align: center;
}
table.health_certifications th img {
    width: 16rem;
}
table.health_certifications td {
    padding: 2rem 1rem;
}
table.health_certifications td.item {
    display: block;
    width: auto;
    font-size: 1.7rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
    border-bottom: none;
    padding-bottom: 0;
}
table.health_certifications td.detail {
    display: block;
    width: auto;
    padding-top: 0;
}
table.health_certifications td.detail.line {
    border-top: none;
}
table.health_certifications td.detail a.txt-link {
    background-size: 1.4rem;
    padding-right: 2.5rem;
}
}
/* -----------育成・研修------------ */
.training__img {
	background-image: url(../images/sustainability_training01.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    font-weight: 600;
    line-height: 1.8;
    color: #ffffff;
    padding: 140px 120px;
    margin-bottom: 100px;
    text-shadow: 0px 0px 10px rgb(0 0 0 / 40%);
}
.training__img h2.second-ttl {
	background-position: center top;
    margin-bottom: 60px;
    display: block;
    text-align: center;
}
.training__item h2.second-ttl.mdb {
    margin-bottom: 0px;
}
.training__item h2 + p {
    margin-bottom: 50px;
}
.training__item table {
    width: 97%;
    font-size: 95%;
    border-spacing: 0;
    margin: 0 auto 20px auto;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
    margin-left: 3%;
}
.training__item table thead th {
    border-top: var(--line) 1px solid;
    background-color: #eff0f2;
    color: var(--c-blue);
    vertical-align: middle;
    font-weight: 800;
}
.training__item table th, .training__item table td {
    border-bottom: var(--line) 1px solid;
    border-left: none;
    padding: 6px 15px;
}
.training__item table tbody th {
    text-align: left;
    font-weight: 600;
    width: 230px;
    vertical-align: top;
}
.training__freshers__list {
    display: flex;
    align-items: center;
    /* border-radius: 10px; */
    border-bottom: var(--line) 1px solid;
    /* box-shadow: 3px 5px 15px 2px rgba(0, 0, 0, 0.11); */
    padding: 50px 0;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
    width: 97%;
    margin-left: 3%;
}
.training__freshers__list .item__img {
	width: 25%;
    margin-left: 20px;
    flex-shrink: 0;
}
.training__freshers__list .item__img img {
    border-radius: 10px;
}
.training__freshers__list .item__txt {
    padding-left: 5%;
    margin-right: 20px;
}
.training__freshers__list .item__txt h3 {
    font-weight: 800;
    font-size: 30px;
    margin-bottom: 10px;
}
@media screen and (max-width:980px){
.training__img {
    padding: 4rem 2rem;
    font-weight: 500;
    margin-bottom: 7rem;
}
.training__img h2.second-ttl {
    margin-bottom: 2rem;
}
.training__item table {
	font-size: 100%;
    width: 100%;
    margin-left: 0;
}
.training__item table thead th {
    padding: 1rem 1rem;
    text-align: center;
}
.training__item table tbody th {
    width: 9rem;
}
.training__item table td {
    font-size: 1.3rem;
    line-height: 2;
    padding: 0.6rem 1rem;
}
.training__item.training__freshers table thead th {
    display: none;
}
.training__item.training__freshers table tbody tr {
    display: block;
	margin-bottom: 2rem;
}
.training__item.training__freshers table tbody tr:last-child {
    margin-bottom: 0;
}
.training__item.training__freshers table tbody th {
	display: block;
	border-top: var(--line) 1px solid;
	background-color: #eff0f2;
    color: var(--c-blue);
    width: auto;
	font-weight: 800;
	padding: 1rem;
}
.training__item.training__freshers table tbody td {
	display: block;
	width: auto;
}
.training__item.training__freshers table tbody td:before {
    content: "研修内容：";
    margin-bottom: 2%;
    color: var(--c-blue);
    font-weight: 600;
    display: block;
}
.training__freshers__list {
    display: block;
    margin-left: 0;
    width: 100%;
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.training__freshers__list .item__img {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
}
.training__freshers__list .item__txt h3 {
    font-size: 1.8rem;
    text-align: center;
}
.training__item.training__skillup table thead th {
    display: none;
}
.training__item.training__skillup table tbody tr {
    display: block;
	margin-bottom: 2rem;
}
.training__item.training__skillup table tbody tr:last-child {
    margin-bottom: 0;
}
.training__item.training__skillup table tbody th {
	display: block;
	border-top: var(--line) 1px solid;
	background-color: #eff0f2;
    color: var(--c-blue);
    width: auto;
	font-weight: 800;
	padding: 1rem;
}
.training__item.training__skillup table tbody td {
	display: block;
	width: auto;
}
.training__item.training__skillup table tbody td:before {
    content: "研修内容：";
    margin-bottom: 2%;
    color: var(--c-blue);
    font-weight: 600;
    display: block;
}	
	
.training__item.training__lumpsum table thead th {
    display: none;
}
.training__item.training__lumpsum table tr {
    display: block;
	margin-bottom: 0;
}
.training__item.training__lumpsum table tbody th {
    display: block;
    border-top: var(--line) 1px solid;
    background-color: #eff0f2;
    color: var(--c-blue);
    width: auto;
	font-weight: 800;
	padding: 1rem;
}
.training__item.training__lumpsum table tbody td {
    display: block;
    width: auto;
}
.training__item.training__lumpsum table tbody th + td {
    margin-top: 0;
}
.training__item.training__lumpsum table tbody td.name {
    border-bottom: none;
    color: var(--c-blue);
    font-weight: 600;
    line-height: 1.4;
    padding-top: 1rem;
    padding-bottom: 0;
	padding-left: 2.2rem;
	position: relative;
}
.training__item.training__lumpsum table tbody td.name:before {
    content: "";
    display: block;
    position: absolute;
    background-color: rgb(205, 205, 205);
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 1rem;
    top: 1.6rem;
    left: 1rem;
}
.training__item.training__lumpsum table tbody td.dtl {
	padding-left: 2.5rem;
}
.training__item.training__lumpsum table tr:nth-of-type(4) {
    margin-top: 2rem;
}
}
/* -----------SDGsへの取り組み------------ */
.sustainability__sdgs {
    border-top: var(--line) 1px solid;
    padding-top: 65px;
    padding-bottom: 65px;
}
.sustainability__sdgs.rounded-box-w {
	border: none;
}
.sustainability__sdgs.rounded-box-w h2.second-ttl {
    text-align: center;
    background-position: center top;
}
.sustainability__sdgs.rounded-box-w figure {
	text-align: center;
    margin-bottom: 50px;
}
.sustainability__sdgs.rounded-box-w figure img {
    max-width: 70%;
}
.sustainability__sdgs.rounded-box-w p {
	padding: 0 30px 20px 30px;
}
.sustainability__sdgs h3 {
    font-size: 26px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 30px;
    position: relative;
    padding-left: 3%;
}
.sustainability__sdgs h3:before {
    width: 2%;
    content: "";
    background: rgb(0, 77, 160);
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    top: 30px;
    left: 0;
}
.sustainability__sdgs table {
    width: 97%;
    font-size: 95%;
    border-spacing: 0;
    margin: 0 auto 20px auto;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
	margin-left: 3%;
}
.sustainability__sdgs table th,
.sustainability__sdgs table td {
    border-bottom: var(--line) 1px solid;
    border-left: none;
    padding: 6px 15px;
}
.sustainability__sdgs table thead th {
	border-top: var(--line) 1px solid;
    background-color: #eff0f2;
    color: var(--c-blue);
    vertical-align: middle;
    font-weight: 800;
}
.sustainability__sdgs table tbody th {
    text-align: left;
    font-weight: 600;
    width: 230px;
	vertical-align: top;
}
.sustainability__sdgs h4 {
    font-weight: 800;
    padding-bottom: 15px;
    padding-left: 15px;
    position: relative;
	margin-left: 30px;
}
.sustainability__sdgs h4:before {
    width: 7px;
    height: 7px;
    content: "";
    position: absolute;
    z-index: 1;
    border-radius: 50%;
    left: 0;
    top: 16px;
    background-color: var(--c-base);
}
.sustainability__sdgs ul {
    display: flex;
    gap: 8px;
	margin-left: 30px;
}
.sustainability__sdgs ul li {
    width: 130px;
}
.sustainability__sdgs dl {
    margin-left: 30px;
	margin-bottom: 30px;
    font-size: 14px;
}
.sustainability__sdgs dl a {
    color: var(--c-blue);
    text-decoration: underline;
}
.sustainability__sdgs dl a:hover {
	text-decoration: none;
}
.sustainability__sdgs dl dd {
	
}
@media screen and (max-width:980px){
.sustainability__sdgs {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.sustainability__sdgs h3 {
    font-size: 2rem;
    padding-left: 8%;
	margin-bottom: 1rem;
}
.sustainability__sdgs h3:before {
    width: 5%;
    top: 1.9rem;
}
.sustainability__sdgs table {
    width: 100%;
    font-size: 100%;
    margin-left: 0;
}
.sustainability__sdgs table thead {
    display: none;
}
.sustainability__sdgs table tbody th,
.sustainability__sdgs table tbody td {
    display: block;
    width: auto;
}
.sustainability__sdgs table tbody th {
    border-top: var(--line) 1px solid;
    background-color: #eff0f2;
    color: var(--c-blue);
    font-weight: 800;
    padding: 1rem;
	margin-top: 2rem;
}
.sustainability__sdgs table tbody td {
    position: relative;
    padding-left: 2.2rem;
    font-size: 1.3rem;
}
.sustainability__sdgs table tbody td:before {
    content: "";
    display: block;
    position: absolute;
    background-color: rgb(205, 205, 205);
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 1rem;
    top: 1.6rem;
    left: 1rem;
}
.sustainability__sdgs h4 {
    margin-left: 0;
    padding-bottom: 1.5rem;
    padding-left: 1.5rem;
}
.sustainability__sdgs h4:before {
    width: 0.7rem;
    height: 0.7rem;
    top: 1.2rem;
}
.sustainability__sdgs ul {
    margin-left: 0;
    flex-wrap: wrap;
}
.sustainability__sdgs ul li {
    width: 31.5%;
}
.sustainability__sdgs dl {
    margin-left: 0;
    margin-bottom: 3rem;
    font-size: 1.3rem;
}
.sustainability__sdgs.rounded-box-w {
    padding: 4rem 2.8rem 3.5rem 2.8rem;
}
.sustainability__sdgs.rounded-box-w figure {
    margin-bottom: 3rem;
}
.sustainability__sdgs.rounded-box-w figure img {
    max-width: 100%;
}
.sustainability__sdgs.rounded-box-w p {
    padding: 0;
}
}
/*------------------------------------------
ニュース
-----------------------------------------*/ 
.news__article-nav {
    padding: 30px 40px;
    background-color: rgb(205 216 227 / 40%);
    border-radius: 10px;
    margin-bottom: 50px;
    /* border: var(--line) 1px solid; */
}
.news__article-nav p {
    font-weight: 600;
    font-size: 18px;
    position: relative;
    padding-left: 15px;
    margin-bottom: 15px;
}
.news__article-nav p:before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--c-base);
    position: absolute;
    z-index: 1;
    left: 0;
    top: 17px;
    content: "";
}
.news__category {
    margin-bottom: 25px;
}
.news__category ul {
	flex-wrap: wrap;
    gap: 7px;
}
.news__category ul li a,
.news__category ul li span {
	display: flex;
    align-items: center;
    justify-content: center;
    height: 29px;
    background-color: #fff;
    border: var(--c-blue) 1px solid;
    border-radius: 40px;
    font-size: 13px;
    font-weight: 600;
    padding-left: 12px;
    padding-right: 12px;
    color: var(--c-blue);
}
.news__category ul li a:hover,
.news__category ul li span {
    background-color: var(--c-blue);
    color: #fff;
}
.news__year {
	position: relative;
}
.news__year .select {
    display: inline-flex;
    width: 195px;
    padding: 10px 22px 10px 12px;
    align-items: flex-start;
    gap: 1rem;
    border-radius: 8px;
    border: var(--line) 1px solid;
    background: #FFF;
    font-size: 15px;
    color: var(--c-base);
    font-weight: 500;
    -webkit-appearance: none;
    appearance: none;
    background-image: url(../images/icon_arrow02.png);
    background-repeat: no-repeat;
    background-size: 10px 7px;
    background-position: right 12px center;
}
.news__year .select:hover {
    border-color: var(--c-blue);
}
.news__article-list {
	
}
.news__article-list li {
	border-bottom: var(--line) 1px solid;
    padding: 35px 15px;
}
.news__article-list li a {
    display: flex;
    line-height: 1.8;
    font-weight: 500;
    position: relative;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.news__article-list .news-dtl dl {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    color: #777;
}
.news__article-list .news-dtl dt {
    font-family: var(--f-en);
    font-size: 15px;
    font-weight: 500;
    position: relative;
    padding-left: 25px;
}
.news__article-list .news-dtl dt i {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: 4px;
    margin-left: -24px;
    background-image: url(../images/icon_date.png);
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: center center;
}
.news__article-list .news-dtl dd {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    font-weight: 600;
    height: 25px;
    /* border: var(--c-blue) 1px solid; */
    background-color: #eff0f2;
    border-radius: 40px;
    text-align: center;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: 15px;
    /* color: var(--c-blue); */
}
.news__article-list .news-dtl h3 {
    font-size: 17px;
    font-weight: 700;
    padding-left: 8px;
    margin-bottom: 0px;
    position: relative;
    display: inline-block;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.news__article-list .news-dtl h3:after {
    content: "";
    position: absolute;
    background-color: var(--c-base);
    left: 0;
    bottom: 0px;
    height: 1px;
    width: 100%;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
}
.news__article-list ul li a:after {
    width: 14px;
    height: 12px;
    top: 45%;
    /* margin-top: -14px; */
    margin-right: 30px;
    content: "";
    position: absolute;
    background-image: url(../images/nav_arrow.svg);
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 50%;
    right: 0;
}
.news__article-list li a:hover {
	transform: translateX(3px);
}
.news__article-list li a:hover .news-dtl h3 {
	text-decoration: underline;
}
.news__sng {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.news__sng-head {
    border-bottom: var(--line) 1px solid;
    margin-bottom: 30px;
}
.news__sng h2 {
    font-size: 31px;
    font-weight: 800;
    margin-bottom: 20px;
    line-height: 1.7;
    text-align: left;
}
.news__sng p.time {
    font-family: var(--f-en);
    color: var(--c-gray);
    text-align: left;
    position: relative;
    margin-left: 25px;
    margin-bottom: 5px;
}
.news__sng p.time i {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: 6px;
    margin-left: -25px;
    background-image: url(../images/icon_date.png);
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: center center;
}
.news__sng-cat {
    display: inline-block;
    margin-bottom: 20px;
}
.news__sng-cat li {
	  /* border: var(--c-blue) 1px solid; */
    background-color: #eff0f2;
    border-radius: 40px;
    display: flex;
    height: 25px;
    justify-content: center;
    align-items: center;
    padding-left: 20px;
    padding-right: 20px;
    /* color: var(--c-blue); */
    color: #777;
    font-size: 12px;
    font-weight: 600;
}
.news__sng-txt-body {
    margin-bottom: 60px;
    padding-bottom: 60px;
    border-bottom: var(--line) 1px solid;
}
.news__sng-txt-body a {
	color: #004ea2;
    text-decoration: underline;
}
.news__sng-txt-body a:hover {
    text-decoration: none;
}
@media screen and (max-width:980px){
.news__article-nav {
    padding: 2rem;
    margin-bottom: 0;
}
.news__category {
    margin-bottom: 2rem;
}
.news__article-nav p {
    font-size: 1.7rem;
    padding-left: 1.5rem;
    margin-bottom: 1.2rem;
}
.news__article-nav p:before {
    width: 0.6rem;
    height: 0.6rem;
    top: 1.5rem;
}
.news__category ul {
    gap: 0.5rem;
}
.news__category ul li a {
    height: 2.2rem;
    font-size: 1.2rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
.news__year .select {
    width: 100%;
    padding: 1rem 2.2rem 1rem 1.2rem;
    font-size: 1.4rem;
    background-size: 1rem 0.7rem;
    background-position: right 1.2rem center;
}
.news__article-list li {
    padding: 2.5rem 0.5rem;
}
.news__article-list .news-dtl dl {
    margin-bottom: 1rem;
}
.news__article-list .news-dtl dt {
    font-size: 1.5rem;
    padding-left: 2.5rem;
}
.news__article-list .news-dtl dt i {
    width: 2rem;
    height: 2rem;
    top: 0.2rem;
    margin-left: -2.4rem;
    background-size: 1.6rem;
}
.news__article-list .news-dtl dd {
    height: 2.2rem;
    font-size: 1.2rem;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-left: 1.4rem;
}
.news__article-list li a {
    padding-right: 5rem;
}
.news__article-list ul li a:after {
    width: 1.4rem;
    height: 1.2rem;
    margin-right: 1rem;
	top: 50%;
}
.news__article-list .news-dtl h3 {
    font-size: 1.7rem;
    line-height: 1.7;
    padding-left: 0.7rem;
}
.news__sng-txt-body {
    margin-bottom: 5rem;
    padding-bottom: 5rem;
}
.news__sng h2 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    line-height: 1.7;
}
.news__sng p.time {
    font-size: 1.6rem;
    margin-left: 2.5rem;
    margin-bottom: 1.8rem;
    display: inline-block;
}
.news__sng p.time i {
    width: 2.0rem;
    height: 2.0rem;
    top: 0.4rem;
    background-size: 1.6rem;
    margin-left: -1.6em;
}
.news__sng-cat {
    margin-bottom: 1.8rem;
}
.news__sng-cat li {
    height: 2.2rem;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-left: 0.8rem;
    font-size: 1.2rem;
}
}
/*------------------------------------------
FCSの特徴
-----------------------------------------*/
.features__copy {
	border-bottom: var(--line) 1px solid;
    margin-bottom: 65px;
    padding-bottom: 65px;
}
.features__flex {
    display: flex;
}
.features__img {
    flex-shrink: 0;
    width: 27%;
    margin-right: 7%;
}
.features__img img {
    border-radius: 10px;
}
.features__txt-item {
    padding-top: 50px;
    padding-bottom: 50px;
    border-top: var(--line) 1px solid;
}
.features__txt-item:first-child {
    border-top: none;
}
.features__txt-item h2.second-ttl {
    margin-bottom: 0px;
}
.features__txt-item h3 {
    display: inline-block;
    background-color: #344564;
    border-radius: 5px;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    padding: 0 15px;
	margin-bottom: 30px;
}
.rounded-box-bl .features__txt-item:first-child {
	border-top: none;
}
.features__txt-item.flex .features__txt {
    margin-right: 7%;
}
.features__txt-item.flex .features__img {
    margin-right: 0px;
}
.features__txt-item.flex .features__img img {
    border-radius: 10px;
}
.features__txt-item .com-btn {
    margin-top: 30px;
}
.features__txt-item .com-btn a {
    margin-left: 0;
    margin-right: 0;
}
.features__txt-item .anniversary .com-btn a {
    background-image: url(../images/icon_blank_w.png);
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: right 25px center;
}
.features__txt-item .features__future {
    background-color: #ebf0f3;
    border-radius: 10px;
    padding: 30px;
    margin-top: 30px;
}
.features__txt-item .features__future h4 {
	font-size: 17px;
    font-weight: 800;
    padding-bottom: 15px;
}
.skills .features__flex {
    flex-wrap: wrap;
    gap: 4%;
}
.skills__item {
    width: 48%;
}
.skills__item h2 {
	position: relative;
	border-top: var(--line) 2px solid;
    border-bottom: var(--line) 2px solid;
    padding: 15px 10px;
    background-color: #fff;    
    font-size: 17px;
    font-weight: 700;
    line-height: 1.8;
}
.accordion-box.skills__item h2.btn {
	cursor: pointer;
	transition: 0.3s ease-in-out;
}
.accordion-box.skills__item h2.btn::before {
  background: var(--c-blue); /* 線の色 */
  content: "";
  height: 2px; /* 線の太さ */
  position: absolute;
  right: 25px;
  top: 50%; /* 線の位置を縦中央に */
  transform: rotate(90deg); /* 線を縦に */
  transition: transform .3s ease-in-out;
  width: 10px; /* 線の幅 */
}
.accordion-box.skills__item h2.btn::after {
  background: var(--c-blue); /* 線の色 */
  content: "";
  height: 2px; /* 線の太さ */
  position: absolute;
  right: 25px;
  top: 50%; /* 線の位置を縦中央に */
  transition: opacity .3s ease-in-out;
  width: 10px; /* 線の幅 */
}
.accordion-box.skills__item h2.btn.active::before {
  transform: rotate(180deg);
}
.accordion-box.skills__item h2.btn.active::after {
  opacity: 0;
}
.accordion-box.skills__item .open-inner {
	display: none;
	background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.accordion-box.skills__item dl {
	display: flex;
    border-bottom: var(--line) 1px solid;
}
.accordion-box.skills__item dl dt {
    flex-shrink: 0;
    width: 210px;
    padding: 12px 12px 12px 24px;
    font-weight: 800;
    color: #135fab;
    font-size: 15px;
    position: relative;
}
.accordion-box.skills__item dl dt:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 27px;
    left: 10px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.accordion-box.skills__item h3 {
    padding: 12px 12px 12px 24px;
    font-weight: 800;
    color: #135fab;
    font-size: 15px;
    border-bottom: var(--line) 1px solid;
    position: relative;
}
.accordion-box.skills__item h3:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 27px;
    left: 10px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.accordion-box.skills__item dl dd {
    width: 100%;
}
.accordion-box.skills__item dl dd li {
    border-bottom: var(--line) 1px solid;
    padding: 8px;
}
.accordion-box.skills__item dl dd li:last-child {
	border-bottom: none;
}
@media screen and (max-width:980px){
.features__copy {
    margin-bottom: 5rem;
    padding-bottom: 5rem;
}
.sec-mdb.features__sec {
	margin-bottom: 0;
}
.features__flex {
    display: block;
}
.features__img {
    width: 100%;
    margin-right: 0%;
    overflow: hidden;
    height: 20rem;
}
.features__txt-item {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}
.features__img img {
    width: 100%;
    object-fit: cover;
    height: 100%;
}
.features__txt-item h3 {
    font-size: 1.5rem;
    padding: 0 1.5rem;
    margin-bottom: 2rem;
    margin-top: 0.5rem;
}
.features__sec.rounded-box-bl {
	padding: 4rem 2.8rem 3.5rem 2.8rem;
}
.features__sec.rounded-box-bl .features__txt-item.flex {
    flex-wrap: wrap;
    padding-bottom: 4rem;
    padding-top: 0;
}
.features__sec.rounded-box-bl .features__txt-item {
	padding-top: 4rem;
	padding-bottom: 0;
}
.features__sec.rounded-box-bl .features__txt-item h2.second-ttl {
	line-height: 1.5;
    padding-top: 2rem;
}
.features__sec.rounded-box-bl .features__txt-item h3 {
	margin-top: 1rem;
}
.features__sec.rounded-box-bl .features__txt-item .features__txt {
    order: 2;
    padding-top: 3rem;
    margin-right: 0;
}
.features__sec.rounded-box-bl .features__txt-item .features__img {
    order: 1;
}
.features__txt-item .com-btn a {
    margin-left: auto;
    margin-right: auto;
}
.features__txt-item .anniversary .com-btn a {
    background-size: 1.4rem;
    background-position: right 2rem center;
}
.skills__item.sec-mdb40 {
    margin-bottom: 0;
}
.skills__item {
    width: 100%;
    margin-bottom: 2rem !important;
}
.accordion-box.skills__item h2.btn {
    font-size: 1.7rem;
    padding: 1.5rem 1rem;
}
.accordion-box.skills__item h2.btn::before {
    width: 1rem;
    height: 0.2rem;
    right: 2.5rem;
}
.accordion-box.skills__item h2.btn::after {
    width: 1rem;
    height: 0.2rem;
    right: 2.5rem;
}
.accordion-box.skills__item dl {
    display: block;
    border-bottom: 0;
}
.accordion-box.skills__item dl + dl {
    margin-top: 2rem;
}
.accordion-box.skills__item dl.only + dl.only {
    margin-top: 0;
}
.accordion-box.skills__item dl dt {
    width: auto;
    font-size: 1.5rem;
    padding: 1.2rem 1.2rem 1.2rem 2.4rem;
}
.accordion-box.skills__item dl dt:before {
    width: 0.6rem;
    height: 0.6rem;
    top: 2.4rem;
    left: 1rem;
    border-radius: 3rem;
}
.accordion-box.skills__item h3 {
    font-size: 1.5rem;
    padding: 1.2rem 1.2rem 1.2rem 2.4rem;
}
.accordion-box.skills__item h3:before {
        width: 0.6rem;
        height: 0.6rem;
        top: 2.4rem;
        left: 1rem;
        border-radius: 3rem;
}
.accordion-box.skills__item dl dd li {
    padding: 0.8rem 1.5rem;
}
.accordion-box.skills__item dl dd li:first-child {
    border-top: var(--line) 1px solid;
}
.accordion-box.skills__item dl dd li:last-child {
	margin-bottom: 2rem;
}
.accordion-box.skills__item dl.only dt {
    width: auto;
}
.accordion-box.skills__item dl.only dd {
	display: none;
}
.features__txt-item .features__future {
    padding: 3rem;
    margin-top: 3rem;
}
.features__txt-item .features__future h4 {
    font-size: 1.7rem;
    padding-bottom: 1.5rem;
}
}
/*------------------------------------------
お問い合わせ
-----------------------------------------*/  
.inquiry__lead {
	margin-bottom: 60px;	
}
.inquiry__tel-blk {
	text-align: center;
	margin-bottom: 60px;
}
.inquiry__tel-blk dt a {
    display: flex;
    align-items: center;
    justify-content: center;
	line-height: 1.4;
}
.inquiry__tel-blk dt a img {
    width: 58px;
}
.inquiry__tel-blk dt a span {
	font-family: var(--f-en);
    font-size: 52px;
	padding-left: 20px;
}
.inquiry__tel-blk dd {
	
}
.inquiry__policy {
	border: var(--line) 1px solid;
    border-radius: 10px;
    padding: 30px 50px;
    background-color: #fff;
}
.inquiry__policy a:link ,
.inquiry__policy a:visited {
	text-decoration: underline;
}
.inquiry__policy a:hover {
	text-decoration: none;
}
ul.inquiry__flex {
    display: flex;
}
ul.inquiry__flex li {
    margin: 0 2%;
} 
ul.inquiry__flex li a:link {
    display: block;
    border-radius: 10px;
    background-color: #f2f4f5;
	padding-bottom: 50px;
}
ul.inquiry__flex li a:hover {
	
}
ul.inquiry__flex li a i.icon {
    display: block;
    padding: 20% 20% 15% 20%;
	transition: ease-in-out .2s;
}
ul.inquiry__flex li:hover a i.icon {
	transform: scale(1.05);
	transition: ease-in-out .3s;
}
ul.inquiry__flex li a .basic-btn {
    width: 350px;
}
ul.inquiry__flex li:hover a .basic-btn {
    background-color: var(--c-gray);
}
@media screen and (max-width:1120px){
ul.inquiry__flex li a .basic-btn {
    width: 290px;
    font-size: 14px;
}	
}   
@media screen and (max-width:980px){
.inquiry__lead {
    margin-bottom: 6rem;
}
.inquiry__tel-blk {
    margin-bottom: 3rem;
}
.inquiry__tel-blk dt a span {
    font-size: 4rem;
    padding-left: 1.2rem;
}
.inquiry__tel-blk dt a img {
    width: 3rem;
}
.inquiry__tel-blk dd {
    font-size: 1.2rem;
}
.inquiry__policy {
    padding: 2rem 2rem;
}
.inquiry__policy p {
    font-size: 1.3rem;
}
ul.inquiry__flex {
    display: block;
}
ul.inquiry__flex li:first-child {
    margin-bottom: 3rem;
}
ul.inquiry__flex li a:link {
    padding-bottom: 3rem;
}
ul.inquiry__flex li a i.icon {
    padding: 4rem 5rem 2rem 5rem;
}
ul.inquiry__flex li a .basic-btn {
    width: 26rem;
    font-size: 1.4rem;
}
ul.inquiry__flex li a .basic-btn:before {
    display: none;
}
}

/*-----------------------------------------------
フッターグループ
------------------------------------------------*/
.security h2.lead-ttl {
	
}
.foot__item {
	border-top: var(--line) 1px solid;
    padding: 65px 30px;
}
.foot__item:last-child {
    padding-bottom: 0px;
}
.foot__item-txt {
	
}
.foot__item-txt ul {
    padding-left: 10px;
}
.foot__item-txt ul li {
    position: relative;
    padding-left: 15px;
    line-height: 1.6;
}
.foot__item-txt ul li:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 10px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.foot__item-txt ul li span {
    color: var(--c-blue);
}
.foot__item .signature {
    text-align: right;
    font-size: 14px;
    font-weight: 700;
}
.foot__item .signature .records {
    font-size: 13px;
    color: var(--c-blue);
    display: block;
    font-weight: 400;
}
.foot__item .signature span {
    padding-left: 10px;
}
.privacy__contact {
    text-align: center;
    padding: 40px 90px;
    border-radius: 25px;
    border: var(--line) 1px solid;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
	margin-bottom: 130px;
}
.privacy__contact h2 {
	font-size: 24px;
    font-weight: 800;
    color: var(--c-blue);
	margin-bottom: 30px;
}   
.foot__item-txt dl {
	padding-top: 30px;
	padding-left: 10px;
}
.foot__item-txt dl dt {
    font-weight: 800;
    margin-bottom: 5px;
    margin-top: 20px;
}
.foot__item.temporary__item dl.flex {
	border-top: var(--line) 1px solid;
    padding: 30px 10px;
    line-height: 2;
    justify-content: space-between;
}
.foot__item.temporary__item dl.flex dt {
	flex: 1;
	margin-bottom: 0px;
	margin-top: 0px;	
}
.foot__item.temporary__item dl.flex dd {
	width: 120px;
    text-align: right;
    color: var(--c-blue);
    font-weight: 600;
}
.foot__item.temporary__item .explanation {
    padding: 40px 40px;
	margin-top: 30px;
    border-radius: 25px;
    border: var(--line) 1px solid;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.foot__item.temporary__item .explanation h3 {
	font-size: 20px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 30px;
}
.foot__item.temporary__item .explanation li {
	margin-bottom: 20px;
}
.foot__item.carrier__item dl {
    padding-top: 0px;
}
.foot__item.carrier__item ul li {
	margin-bottom: 10px;
}
.foot__item.carrier__item table {
	width: 97%;
    font-size: 95%;
    border-spacing: 0;
    margin: 0 auto 20px auto;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
    margin-left: 3%;
	margin-top: 20px;
}
.foot__item.carrier__item table th, .foot__item.carrier__item table td {
    border-bottom: var(--line) 1px solid;
    border-left: none;
    padding: 6px 15px;	
}
.foot__item.carrier__item table th {
    border-top: var(--line) 1px solid;
    background-color: #eff0f2;
    color: var(--c-blue);
    vertical-align: middle;
    font-weight: 800;
}
.foot__item.carrier__item table td.type {
    text-align: left;
    font-weight: 600;
    width: 230px;
    vertical-align: top;
}
.foot__item.carrier__item dl dt {
    position: relative;
    padding-left: 20px;
}
.foot__item.carrier__item dl dt.no1::before {
    content: "①";
    position: absolute;
    left: 0;
    top: 0;
}
.foot__item.carrier__item dl dt.no2::before {
    content: "②";
    position: absolute;
    left: 0;
    top: 0;
}

.foot__item.actionplan__item .second-ttl {
    padding-top: 20px;
    line-height: 1.5;
}
.foot__item.actionplan__item dl.objective {
    display: flex;
    background-color: #ebf0f3;
    padding: 20px;
    margin-bottom: 15px;
	font-weight: 600;
}
.foot__item.actionplan__item dl.objective dt {
    width: 70px;
	margin: 0px;	
}
.foot__item.actionplan__item dl.objective dd {
	font-weight: 400;
}
.foot__item.actionplan__item dl.objective.no-flex {
	display: block;
}
.foot__item.actionplan__item dl.objective.no-flex dt {
	width: 100%;
}
.foot__item.actionplan__item h3 {
	font-size: 26px;
    font-weight: 800;
    color: var(--c-blue);
    margin-bottom: 15px;
    position: relative;
    padding-left: 3%;
}
.foot__item.actionplan__item h3:before {
    width: 2%;
    content: "";
    background: rgb(0, 77, 160);
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    top: 30px;
    left: 0;
}
.foot__item.actionplan__item h4 {
	font-size: 16px;
    font-weight: 600;
    padding-bottom: 15px;
}
.foot__item.actionplan__item dl.flex {
    /* border-bottom: var(--line) 1px solid; */
    padding: 15px 10px;
    line-height: 2;
    justify-content: space-between;
}
.foot__item.actionplan__item h4 + dl {
    border-top: var(--line) 1px solid;
}
.foot__item.actionplan__item dl.flex dt {
    margin-bottom: 0px;
    margin-top: 0px;
    padding-right: 20px;
    padding-left: 15px;
    position: relative;
    font-weight: 600;
    color: var(--c-blue);
}
.foot__item.actionplan__item dl.flex dt:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 15px;
    left: 0px;
    background-color: rgb(205, 205, 205);
    z-index: 1;
    border-radius: 3px;
}
.foot__item.actionplan__item dl.flex dd {
	flex: 1;
}
.foot__item.actionplan__item p.end {
    text-align: right;
    padding-top: 20px;
    border-top: var(--line) 1px solid;
}
.foot__item.actionplan__item p strong {
	display: block;
}
.foot__item.actionplan__item table.gender {
    font-size: 95%;
    border-spacing: 0;
    margin: 0 auto 20px auto;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
    margin-top: 20px;
}
.foot__item.actionplan__item table.gender th,
.foot__item.actionplan__item table.gender td {
	border-bottom: var(--line) 1px solid;
    border-left: none;
    padding: 6px 15px;
}
.foot__item.actionplan__item table.gender thead th {
	border-top: var(--line) 1px solid;
    background-color: #eff0f2;
    color: var(--c-blue);
    vertical-align: middle;
    font-weight: 800;
}
.foot__item.actionplan__item table.gender tbody th {
    text-align: left;
	font-weight: 600;
	vertical-align: top;
}
.actionplan__item .foot__item-txt .addition p {
    margin-bottom: 10px;
}
.actionplan__item .foot__item-txt .addition dl {
    border: none;
    padding: 5px 10px;
}
.actionplan__item .foot__item-txt .addition dl dt {
    width: 70px;
}
.actionplan__item .foot__item-txt .addition dl dd {
    flex: 1;
}
.lead-copy.foot__item-copy {
    margin-bottom: 20px;
    padding-bottom: 30px;
}
.foot__item .harassment-counter li {
	line-height: 2;
    margin-bottom: 30px;
    position: relative;
    padding-left: 25px;
}
.foot__item .harassment-counter li:before {
	content: none;	
}
.foot__item .harassment-counter li:last-child {
	margin-bottom: 0px;
}
.foot__item .harassment-counter li span {
    padding-right: 13px;
    position: absolute;
    left: 0;
}
.foot__item .harassment-counter li dl {
    padding-top: 0px;
}
.foot__item .harassment-counter li dl dt {
    margin-bottom: 12px;
    margin-top: 30px;
}
.foot__item .harassment-counter li dl li {
    margin-bottom: 15px;
}
.foot__item .harassment-counter li ul {
    margin-top: 15px;
}
.foot__item .harassment-counter li li {
    margin-bottom: 10px;
}
.foot__item .harassment-counter li p.consultation {
    padding: 20px;
    margin-top: 15px;
    border-radius: 10px;
    border: var(--line) 1px solid;
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(5px);
}
.foot__item.cookie-policy dl {
	background-color: #ebf0f3;
    border-radius: 10px;
    padding: 20px;
    margin-left: 20px;
    margin-top: 20px;
    font-weight: 600;
}
.foot__item.cookie-policy dl dt {
	margin-top: 0px;
}
.foot__item.cookie-policy dl dd {
	font-weight: 400;
    padding-left: 15px;
}
.foot__item.cookie-policy h3 {
	font-size: 26px;
    font-weight: 800;
    color: var(--c-blue);
    margin-top: 20px;
    margin-bottom: 15px;
    position: relative;
    padding-left: 3%;
}
.foot__item.cookie-policy h3:before {
	width: 2%;
    content: "";
    background: rgb(0, 77, 160);
    background: linear-gradient(90deg, rgba(0, 77, 160, 1) 50%, rgba(221, 230, 239, 1) 50%);
    position: absolute;
    height: 2px;
    top: 30px;
    left: 0;
}
.foot__item.cookie-policy h3 + p {
	margin-bottom: 20px;
	margin-left: 20px;
}
.foot__item.cookie-policy ul {
	padding-left: 40px;
}
.foot__item.cookie-policy ul li {
    margin-bottom: 15px;
}
.foot__item.cookie-policy a.link-blank {
	position: relative;
    background-image: url(../images/icon_blank.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 14px;
    padding-right: 25px;
	color: #004ea2;
	text-decoration: underline;
}
.foot__item.cookie-policy a.link-blank:hover {
	text-decoration: none;
}
@media screen and (max-width:980px){
.foot__item {
    padding: 4rem 0;
}
.foot__item-txt ul {
    padding-left: 1rem;
}
.foot__item-txt ul li {
    padding-left: 1.5rem;
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}
.foot__item-txt ul li:before {
    top: 1rem;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 3rem;
}
.foot__item .signature {
    font-size: 1.4rem;
    line-height: 3rem;
}
.foot__item .signature .records {
    font-size: 1.3rem;
}
.foot__item .signature span {
    padding-left: 1rem;
}
.foot__item-txt dl {
    padding-top: 2rem;
    padding-left: 0;
}
.foot__item-txt dl dt {
    margin-top: 2rem;
    margin-bottom: 0.5rem;
}
.foot__item.temporary__item dl.flex dd {
    width: 30%;
}
.privacy__contact {
    padding: 5rem 3rem 5rem 3rem;
    margin-bottom: 4rem;
}
.privacy__contact h2 {
    font-size: 2.2rem;
    margin-bottom: 3rem;
}
.foot__item.temporary__item dl.flex {
    align-items: center;
    padding: 2rem 1rem;
}
.foot__item.temporary__item .explanation {
    padding: 4rem 3rem 4rem 3rem;
    margin-bottom: 0;
    margin-top: 2rem;
}
.foot__item.temporary__item .explanation h3 {
    font-size: 2rem;
    margin-bottom: 3rem;
    text-align: center;
}
.foot__item.temporary__item .explanation ul {
    padding-left: 0;
}
.foot__item.temporary__item .explanation ul li {
    margin-bottom: 1rem;
}
.foot__item.actionplan__item table.gender thead th span {
	display: block;
	font-size: 1.2rem;
}
.foot__item.actionplan__item table.gender th.right,
.foot__item.actionplan__item table.gender td.right {
    text-align: right;
}
.foot__item.carrier__item dl dt {
    padding-left: 2rem;
}
.foot__item.carrier__item table {
    border-right: none;
    border-top: none;
}
.foot__item.carrier__item table thead {
    display: none;
}
.foot__item.carrier__item table tr {
    display: block;
    margin-bottom: 2rem;
    border-top: var(--line) 1px solid;
}
.foot__item.carrier__item table td {
    display: block;
	border-left: none;
    font-size: 1.3rem;
}
.foot__item.carrier__item table td.type {
    border-bottom: var(--line) 1px solid;
    border-right: none;
    background-color: #eff0f2;
    color: var(--c-blue);
    width: auto;
    font-weight: 800;
    padding: 1rem;
	font-size: 1.5rem;
}
.foot__item.carrier__item table td::before {
    margin-bottom: 2%;
    font-weight: 600;
    /* display: block; */
}
.foot__item.carrier__item table td.target::before {
    content: "対象者：";
}
.foot__item.carrier__item table td.method::before {
    content: "実施方法：";
}
.foot__item.carrier__item table td.subject::before {
    content: "実施主体：";
}
.foot__item.carrier__item table td.cost::before {
    content: "対象者の費用負担：";
}
.foot__item.actionplan__item h3 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    padding-left: 8%;
}
.foot__item.actionplan__item h3:before {
    width: 5%;
    height: 0.2rem;
    top: 1.9rem;
}
.foot__item.actionplan__item .rounded-box-w {
    padding: 1rem;
}
.foot__item.actionplan__item dl.objective {
    display: block;
    padding: 2rem;
    margin-bottom: 2rem;
    border-radius: 1rem;
}
.foot__item.actionplan__item dl.objective dt {
    width: auto;
    margin-bottom: 0.5rem;
}
.foot__item.actionplan__item h4 {
    font-size: 1.5rem;
    padding-bottom: 1.5rem;
	text-align: center;
}
.foot__item.actionplan__item dl.flex {
    padding: 2rem 1rem;
}
.foot__item.actionplan__item dl.flex {
    display: block;
    padding: 1rem;
}
.foot__item.actionplan__item dl.flex dt {
    padding-right: 0;
    padding-left: 1.5rem;
	width: auto;
}
.foot__item.actionplan__item dl.flex dt:before {
    width: 0.6rem;
    height: 0.6rem;
    top: 1.3rem;
    border-radius: 3rem;
}
.foot__item.actionplan__item dl.flex dd {
    padding-left: 1.8rem;
}
.foot__item.actionplan__item table.gender th,
.foot__item.actionplan__item table.gender td {
    padding: 1.5rem;
}
.foot__item.actionplan__item table.gender thead th:first-child {
    width: 30%;
}
.foot__item.cookie-policy dl {
    margin-left: 0;
    margin-top: 3rem;
    margin-bottom: 2rem;
    padding: 2rem;
}
.foot__item.cookie-policy dl dt {
    margin-bottom: 1rem;
}
.foot__item.cookie-policy dl dd {
    padding-left: 0;
}
.foot__item.cookie-policy h3 {
    font-size: 2rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
    padding-left: 8%;
}	
.foot__item.cookie-policy h3:before {
    width: 5%;
    top: 1.9rem;
}	
.foot__item.cookie-policy h3 + p {
    margin-bottom: 2rem;
    margin-left: 2.5rem;
}
.foot__item.cookie-policy ul {
    padding-left: 3rem;
}
.foot__item.cookie-policy ul li {
    margin-bottom: 1.5rem;
}
.foot__item.cookie-policy a.link-blank {
    background-size: 1.4rem;
    padding-right: 2.5rem;
}
	
.foot__item .harassment-counter ul {
    padding-left: 0;
}
.foot__item .harassment-counter li {
    margin-bottom: 3rem;
    padding-left: 2.2rem;
}
.foot__item .harassment-counter li span {
    padding-right: 1.3rem;
}
.foot__item .harassment-counter li dl dt {
    margin-bottom: 1.2rem;
    margin-top: 3rem;
    line-height: 1.8;
}
.foot__item .harassment-counter li ul {
    margin-top: 0px;
}
.foot__item .harassment-counter li li {
    margin-bottom: 1rem;
}
.foot__item .harassment-counter li dl li {
    margin-bottom: 0;
}
}
/*------------------------------------------
トップページ
-----------------------------------------*/
.home {
    background-image: none;
}
.home .loading {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    z-index: 9999999999;
    background-image: url("../images/site_id.svg");
    background-size: 180px;
    background-repeat: no-repeat;
    background-position: center center;
}
.home .foot {
    margin-top: 0 !important;
}
.home__visual {
    height: 100vh;
    position: relative;
background-image: url("../images/home_visual001.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}




.scroll_down {
  position: absolute;
  width: 100%;
  height: 100vh;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
    bottom: 0;
    right: 0;
    z-index: 22;
}

.scroll_down:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: linear-gradient(180deg,rgba(#fff, 0) 0, rgba(#fff, .8) 80%, rgba(#fff, .8) 100%);
  }

.scroll_down a {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 13px;
  padding: 10px 10px 110px;
  color: #fff;
  font-size: 13px;
  font-family: var(--f-en);
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: .2s;
    font-weight: 600;
    margin-left: auto;
    margin-right: 30px;
}

.scroll_down a:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 100px;
    background-color: rgba(255,255,255,0.46);
}

.scroll_down a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: #fff;
}

.scroll_down a:hover {
  opacity: .5;
}

.scroll_down a:after {
  animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.home__visual:after {
    background-color: rgba(26,33,41,0.18);
    content: "";
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}
.home__visual canvas {
    width: 100% !important;
    height: 100% !important;
}
#slider canvas {

}
#slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: url("../images/home_visual001.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.home__visual-copy {
    font-size: 77px;
    color: #fff;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
    align-items: center;
    display: flex;
    height: 100%;
    width: 100%;
    justify-content: center;
    letter-spacing: 0.1em;
    position: absolute;
    z-index: 3;
}
.home__visual-copy p span {
    padding-right: 55px;
}
.home__visual-copy p {
    display: flex;
    flex-wrap: wrap;
    width: 510px;
    justify-content: center;
    padding-left: 65px;
}
.home__special {
    padding-left: 10%;
    padding-right: 10%;
    display: flex;
    padding-top: 160px;
    padding-bottom: 160px;
    background-image: url("../images/home_bg_special.png");
    background-repeat: no-repeat;
    background-position: -120px -60px;
    align-items: center;
    background-size: 1500px;
}
.home__special-txt {
    font-weight: 500;
    position: relative;
    padding-left: 7%;
}
.home__special-txt h2 {
    font-size: 44px;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 35px;
    line-height: 1.6;
}
.home__special-txt .com-btn a {
    margin-left: 0;
    margin-top: 50px;
    background-image: url(../images/icon_blank_w.png);
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: right 25px center;
}
.home__special-img {
    flex-shrink: 0;
    margin-left: auto;
    width: 490px;
    text-align: right;
    margin-left: 6%;
}
.home__special-eng {
    font-family: var(--f-en);
    font-weight: 700;
    writing-mode: vertical-rl;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 15px;
}
.home__special-eng:after {
    background-color: var(--c-base);
    content: "";
    height: 100px;
    width: 1px;
    margin-top: 15px;
    display: block;
}
.home__news {
    background-color: var(--c-blue);
    color: #fff;
    border-radius: 25px;
    padding-left: 10%;
    display: flex;
}
.home__second-ttl {
    content: attr(data-eng);
    font-weight: 700;
    font-size: 52px;
    font-family: var(--f-en);
    margin-bottom: 40px;
}
.home__second-ttl span {
    font-size: 15px;
    font-weight: 800;
    vertical-align: middle;
    margin-left: 20px;
    opacity: 0.6;
    letter-spacing: 0.05em;
}
.home__news-l {
    border-right: 1px solid rgba(255,255,255,0.20);
    flex-shrink: 0;
    padding-right: 5%;
    padding-top: 100px;
    padding-bottom: 100px;
}
.home__news-l h3 {
    font-size: 14px;
    font-weight: 700;
    font-family: var(--f-en);
    letter-spacing: 0.05em;
    margin-bottom: 15px;
}
.home__news-l ul{
    font-weight: 800;
    font-size: 14px;
    margin-bottom: 50px;
}
.home__news-l li {
    opacity: 0.7;
    cursor: pointer;
    position: relative;
    transition: ease-in-out .2s;
}
.home__news-l li:hover {
    opacity: 1;
}
.home__news-l li.active {
    opacity: 1;
    padding-left: 17px;
}
.home__news-l li:before {
    transition: ease-in-out .2s;
    left: 0;
    width: 8px;
    height: 8px;
    background-color: #fff;
    border-radius: 50%;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -4px;
    z-index: 1;
    opacity: 0;
}
.home__news-l li.active:before {
    opacity: 1;
}
.home__news-l li:not(:last-child) {
    margin-bottom: 5px;
}
.home__news .com-btn a {
    background-color: #fff;
    color: var(--c-blue);
    margin-left: 0;
}
.home__news .com-btn a:hover {
  background-color: var(--c-base);
    color: #fff;
}
.home__news .com-btn a::before {
  background-color: var(--c-blue);
}
.home__news .com-btn a:hover::before {
  background-color: #fff;
}
.home__news-r {
    flex: 1;
    padding-top: 120px;
    padding-bottom: 120px;
}
.home__news-r .com-btn--sp-btn {
    display: none;
}
.home__news-r ul {
    display: none;
}
.home__news-r ul.show {
    display: block;
}
.home__news-r li {
    border-bottom: 1px solid rgba(255,255,255,0.20);
}
.home__news-r li:first-child{
    border-top: 1px solid rgba(255,255,255,0.20);
}
.home__news-r li a {
    color: #fff;
    display: block;
    padding: 30px;
    line-height: 1.7;
    font-weight: 500;
}
.home__news-r li a:hover p {
    text-decoration: underline;
}
.home__news-r dl {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.home__news-r dt {
    font-family: var(--f-en);
    font-weight: 500;
    font-size: 13px;
}
.home__news-r dd {
    background-color: #fff;
    border-radius: 40px;
    font-size: 12px;
    color: var(--c-blue);
    font-weight: 700;
    min-width: 120px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
}
.home__case {
    padding-left: 10%;
    padding-right: 10%;
    overflow: hidden;
    padding-top: 140px;
    padding-bottom: 140px;
    position: relative;
}
.home__case .case__list {
    flex-wrap: inherit;
    gap:0;
}
.home .swiper-button-next,
.home .swiper-button-prev{
    position: relative !important;
    background-color: var(--c-blue);
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-image: url("../images/icon_arrow01_w.png");
    background-repeat: no-repeat;
    background-size: 10px;
    background-position: center center;
    display: block;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: 0;
}
.home .swiper-button-next:after,
.home .swiper-button-prev:after{
    display: none;
}
.home .swiper-button-prev {
    margin-right: 15px;
    transform: scale(-1, 1);
}
.home__case-pager {
    display: flex;
    align-items: center;
    margin-top: 50px;
}
.home .swiper-scrollbar {
    position: relative !important;
    width: 50% !important;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0 !important;
    margin: 0;
    margin-left: 15px;
    height: 5px !important;
    background-color: #cdd8e3;
}
.home__case-btn {
    position: absolute;
    z-index: 1;
    right: 10%;
    top: 160px;
}
.swiper-scrollbar-drag {
    background-color: var(--c-blue) !important;
}
.home__contents {
    padding-left: 10%;
    padding-right: 10%;
    background-color: #f2f4f5;
    padding-top: 120px;
    padding-bottom: 140px;
    border-radius: 25px;
    overflow: hidden;
    position: relative;
    z-index: 2;
}
.home__contents-item a {
    display: block;
}
.home__contents-item h3 {
    font-weight: 700;
    font-size: 18px;
    margin-top: 5px;
}
.home__contents-item a:hover h3 {
    text-decoration: underline;
}
.home__contents-item-img {
    overflow: hidden;
    border-radius: 10px;
    position: relative;
}
.home__contents-item-img img {
    transition: ease-in-out .2s;
}
.home__contents-item a:hover .home__contents-item-img img {
    transform: scale(1.05);
}
.home__contents-wrap {
    display: flex;
    gap:2%;
}
.home__contents-item-arrow {
    background-color: #f2f4f5;
    position: absolute;
    z-index: 1;
    width: 65px;
    height: 65px;
    right: 0px;
    bottom:0px;
    border-top-left-radius: 35px;
}
.home__contents-item-arrow:before {
    width: 10px;
    height: 10px;
    background-image: url("../images/home_radius.png");
    background-repeat: no-repeat;
    background-position: center center;
    content: "";
    position: absolute;
    z-index: 1;
    background-size: cover;
    right: 65px;
    bottom: 0;
}
.home__contents-item-arrow:after {
    width: 10px;
    height: 10px;
    background-image: url("../images/home_radius.png");
    background-repeat: no-repeat;
    background-position: center center;
    content: "";
    position: absolute;
    z-index: 1;
    background-size: cover;
    right: 0;
    bottom: 65px;
}
.home__contents-item-arrow span{
    background-color: var(--c-blue);
    width: 55px;
    height: 55px;
    border-radius: 50%;
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 0;
    background-image: url("../images/icon_arrow01_w.png");
    background-repeat: no-repeat;
    background-size: 9px;
    background-position: center center;
    display: block;
}

.home__recruit {
    background-color: #1a2129;
    color: #fff;
    padding-left: 10%;
    padding-right: 10%;
    display: flex;
    align-items: center;
    padding-top: 160px;
    padding-bottom: 160px;
    position: relative;
    z-index: 1;
    margin-top: -25px;
    background-image: url("../images/bg_home_recruit.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.home__recruit:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background-color: rgba(26,33,41,0.80);
}
.home__recruit .home__second-ttl {
    line-height: 1.5;
}
.home__recruit .home__second-ttl span {
    display: block;
    margin-left: 0;
}
.home__recruit-txt {
    flex-shrink: 0;
    width: 50%;
    margin-left: auto;
}
.home__recruit-txt h3 {
    margin-bottom: 60px;
}
.home__recruit-txt h3 img {
    width: calc(1018px / 2);
}
.home__recruit-txt p {
    font-weight: 500;
    margin-bottom: 40px;
}
.home__recruit-txt ul {
    display: flex;
    gap:5%;
}
.home__recruit-txt li .com-btn a {
    color: var(--c-blue);
    background-color: #fff;
    background-image: url("../images/icon_blank_b.png");
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: right 25px center;
}

.home__recruit-txt li .com-btn a:hover {
  background-color: var(--c-blue);
    color: #fff;
    background-image: url("../images/icon_blank_w.png");
}
.home__recruit-txt li .com-btn a::before {
  background-color: var(--c-blue);
}
.home__recruit-txt li .com-btn a:hover::before {
  background-color: #fff;
}
@media screen and (max-width:980px){
.home .loading {
  background-size: 10rem;
}
.home__visual {
  height: 59rem;
    }
.scroll_down a {
  font-size: 1.2rem;
  margin-right: 2rem;
    padding-bottom: 8rem;
}
.scroll_down a::before {
  height: 6rem;
    margin-left: 0;
}
.scroll_down a::after {
  height: 6rem;
    margin-left: 0;
}
.home__visual-copy {
  font-size: 4.2rem;
    line-height: 1.3;
}
.home__visual-copy p {
    width: 50rem;
    padding-left: 4.5rem;
}
.home__visual-copy p span {
    padding-left: 2.2rem;
}
.home__special {
  display: block;
    padding-left: 7%;
  padding-right: 7%;
    padding-top: 7rem;
  padding-bottom: 7rem;
    background-position: -27rem -6rem;
  background-size: 124rem;
}
.home__special-txt h2 {
  font-size: 2.5rem;
  margin-bottom: 2rem;
}
.home__special-eng {
  writing-mode:inherit;
  position: relative;
    align-items: center;
    margin-bottom: 1.5rem;
    justify-content: flex-start;
}
.home__special-eng::after {
  height: 1px;
  width: 7rem;
  margin-top: 0;
  display: block;
  margin-left: 1rem;
    margin-bottom: 0.5rem;
    
}
.home__special-txt {
  padding-left: 0;
}
.home__special-txt .com-btn a {
  margin-left: auto;
  margin-top: 3rem;
  margin-bottom: 5rem;
  background-size: 1.4rem;
  background-position: right 2rem center;
}
.home__special-img {
  width: 100%;
  margin-left:0%;
}
.home__news {
  padding-left: 7%;
  display: block;
    border-radius: 2rem;
    padding-top: 7rem;
    padding-bottom: 7rem;
    padding-right: 7%;
}
.home__news-l {
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
    border: none;
}
    
.home__news-r .com-btn--sp-btn {
    display: block;

}
.home__news-r .com-btn--sp-btn a{
    margin-left: auto;
    margin-top: 4rem;
}
.home__second-ttl {
  font-size: 3.5rem;
  margin-bottom: 2.5rem;
    line-height: 1.3;
}
.home__second-ttl span {
  font-size: 1.2rem;
  margin-left: 0px;
    display: block;
}
    .home__news-l .com-btn {
        display: none;
    }
.home__news-r {
  padding-top: 0;
  padding-bottom: 0;
}
.home__news-r li a {
    padding: 2rem 0;
}
.home__news-r dl {
  margin-bottom: 1rem;
}
.home__news-r dt {
  font-size: 1.2rem;
}
.home__news-r dd {
  border-radius: 2rem;
  font-size: 1.2rem;
  min-width: 12rem;
  height: 2.5rem;
  margin-left: 1.5rem;
}
.home__news-l h3 {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
.home__news-l ul {
  font-size: 1.3rem;
  margin-bottom: 4rem;
    display: flex;
    flex-wrap: wrap;
}
.home__news-l li:not(:last-child) {
  margin-bottom: 0;
}
.home__news-l li {
    margin-right: 1.3rem;
}
.home__news-l li.active {
  padding-left: 1.2rem;
}
.home__news-l li::before {
  width: 0.8rem;
  height: 0.8rem;
  margin-top: -0.4rem;
}
.home__case {
  padding-left: 7%;
  padding-right: 7%;
  padding-top: 7rem;
  padding-bottom: 7rem;
}
.home__case-btn {
  position: static;
    margin-top: 4rem;
}
.home__case-pager {
  margin-top: 1rem;
}
.home .swiper-button-next, .home .swiper-button-prev {
  width: 3.5rem;
  height: 3.5rem;
  background-size: 0.8rem;
}
.home .swiper-button-prev {
  margin-right: 1rem;
}
.home__contents {
  padding-left: 7%;
  padding-right: 7%;
  padding-top: 7rem;
  padding-bottom: 7rem;
  border-radius: 2rem;

}
.home__contents-item h3 {
  font-size: 1.7rem;
  margin-top: 0.5rem;
}
.home__contents-item-arrow span {
  width: 5rem;
  height: 5rem;
  background-size: 1rem;

}
.home__contents-item-arrow {
  width: 6rem;
  height: 6rem;
  border-top-left-radius: 3rem;
}
.home__contents-item-arrow::before {
  right: 6rem;
}
.home__contents-item-arrow::after {
  bottom: 6rem;
}
.home__contents .home__case-pager {
    margin-top: 3rem;
  }
.home__recruit {
  padding-left: 7%;
  padding-right: 7%;
  padding-top: 9rem;
  padding-bottom: 7rem;
display: block;
  margin-top: -2rem;

}
.home__recruit-txt li .com-btn a {
  background-size: 1.4rem;
  background-position: right 2rem center;
}
.home__recruit-txt {
  width: 100%;
}
.home__recruit-txt h3 {
  margin-bottom: 3rem;
}
.home__recruit-txt ul {
  display: block;
}
.home__recruit-txt ul li:not(:last-child) {
    margin-bottom: 2rem;
}
.home__recruit-txt p {
  margin-bottom: 4rem;
}
}

/*------------------------------------------
CMS用スタイル
-----------------------------------------*/
.cms__search-btn {
    text-align: center;
    background-color: #fff;
    border: var(--line) 1px solid;
    border-radius: 10px;
    font-weight: 700;
    font-size: 20px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transition: ease-in-out .3s;
    cursor: pointer;
}
.cms__search-btn.active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.cms__search-btn:before {
    height: 1px;
    content: "";
    position: absolute;
    width: 47px;
    z-index: 1;
    right: 40px;
    background-color: var(--c-base);
    transform:rotate(-90deg);
    transition: ease-in-out .3s;    
}
.cms__search-btn.active:before {
    transform:rotate(0deg);    
}
.cms__search-btn:after {
    height: 1px;
    content: "";
    position: absolute;
    width: 47px;
    z-index: 1;
    right: 40px;
    background-color: var(--c-base);    
}
.cms__search-dtl {
    background-color: #f2f4f5;
    padding: 50px;
    border: var(--line) 1px solid;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    display: none;
    border-top: none;
}
.cms__search-dtl dl:not(:last-child) {
    margin-bottom: 25px;
}
.cms__search-dtl dt {
    font-weight: 600;
    font-size: 18px;
    position: relative;
    padding-left: 15px;
    margin-bottom: 15px;
}
.cms__search-dtl dt:before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--c-base);
    position: absolute;
    z-index: 1;
    left: 0;
    top: 17px;
    content: "";
}
.cms__search-dtl ul {
    display: flex;
    flex-wrap: wrap;
    gap:7px;
}
.cms__search-dtl ul li a,
.cms__search-dtl ul li span {
    display: flex;
    align-items:center;
    justify-content: center;
    height: 29px;
    background-color: #fff;
    border: var(--c-blue) 1px solid;
    border-radius: 40px;
    font-size: 13px;
    font-weight: 600;
    padding-left: 12px;
    padding-right: 12px;
    color: var(--c-blue)
}
.cms__search-dtl ul li a:hover,
.cms__search-dtl ul li span {
    background-color: var(--c-blue);
    color: #fff;
}
.cms__result-txt {
    font-weight: 600;
    font-size: 17px;
    margin-top: 30px;
}
.cms__number {
    display: flex;
    align-items: center;
}
.cms__number-m {
    font-size: 20px;
    font-weight: 700;
}
.cms__number-m span {
    font-family: var(--f-en);
    font-weight: 500;
    font-size: 170%;
    margin-left: 3px;
    margin-right: 3px;
}
.cms__number-s {
    font-size: 13px;
    font-weight: 700;
    margin-left: 5px;
}
.cms__list {
    display: flex;
    flex-wrap: wrap;
    gap:3%;
}
.cms__item {
    width: calc((100% - 6% ) / 3 );
    margin-bottom: 50px;
}
.cms__item a {
    display: block;
}
.cms__item-img {
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}
.cms__item-img span {
    background-color: #ed6363;
    color: #fff;
    font-family: var(--f-en);
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    border-bottom-right-radius: 10px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content:center; 
    font-size: 16px;
    padding-left: 30px;
    padding-right: 30px;
    height: 33px;
    line-height: 1;
    padding-top: 2px;    
}
.cms__item-img img {
    transition: ease-in-out .2s;
}
.cms__item a:hover .cms__item-img img{
    transform: scale(1.05);
}
.cms__item h3 {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.8;
    margin-bottom: 15px;
}
.cms__item a:hover h3{
    text-decoration: underline;
}
.cms__item ul {
    display: flex;
    flex-wrap: wrap;
    font-weight: 600;
    font-size: 12px;
    gap:7px;
    margin-bottom: 15px;
}
.cms__item ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 29px;
    background-color: #fff;
    border: var(--c-blue) 1px solid;
    border-radius: 40px;
    font-size: 13px;
    font-weight: 600;
    padding-left: 12px;
    padding-right: 12px;
    color: var(--c-blue);    
}
.cms__item ul li a:hover {
    background-color: var(--c-blue);
    color: #fff;
}
.cms__item-client {
    font-size: 13px;
    line-height: 1.7;
    font-weight: 500;
}
.cms__sng-pickup {
    background-color: #ed6363;
    color: #fff;
    font-family: var(--f-en);
    font-weight: 700;
    border-radius: 5px;
    line-height: 1.2;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    box-sizing: border-box;
    padding-top: 5px;
    margin-bottom: 20px;
}
.cms__sng-main h2 {
    font-size: 31px;
    font-weight: 800;
    margin-bottom: 20px;
    line-height: 1.7;
}
.cms__sng-main h3 {
    font-size: 23px;
    font-weight: 800;
    margin-bottom: 10px;
}
.cms__sng-copy {
    font-weight: 500;
    font-size: 17px;
    margin-bottom: 30px;
    line-height: 1.9;
}
.cms__sng-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.cms__sng-main {
    flex-shrink: 0;
    width: 57%;
    margin-right: 7%;
}
.cms__sng-form {
    width: 30%;
    border: var(--line) 1px solid;
    border-radius: 10px;
    background-color: #fff;
    padding: 30px 30px 0 30px;
}
.cms__sng-cat {
    display: flex;
  flex-wrap: wrap;
  font-weight: 600;
  font-size: 12px;
  gap:7px;
  margin-bottom: 40px;
}
.cms__sng-cat li {
    margin-bottom: 3px;
}
.cms__sng-cat li a{
    border: var(--c-blue) 1px solid;
  border-radius:40px;
  display: flex;
  height: 25px;
  justify-content: center;
  align-items: center;
  padding-left: 10px;
  padding-right: 10px;
    color: var(--c-blue);
}
.cms__sng-cat li a:hover {
    background-color: var(--c-blue);
    color: #fff;
}
.cms__sng-slider {
    overflow:hidden;
    position: relative;
    margin-bottom: 30px;
}
.cms__sng-slider .swiper-container{
    position: relative;
    padding-bottom: 50px;
}
.cms__sng-slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
}
.cms__sng-slider .swiper-pagination-bullet-active {
    background: var(--c-blue);
}
.cms__sng-slider li img {
    border-radius: 10px;
	width: 100%;
}
.cms__sng-slider .swiper-button-next:after,
.cms__sng-slider .swiper-button-prev:after {
    display: none;   
}
.cms__sng-slider .swiper-button-prev {
    background-image: url("../images/case_prev.png");
    width: 35px;
    height: 70px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    left: 0;
    top: 50%;
    margin-top: -60px;
}
.cms__sng-slider .swiper-button-next {
    background-image: url("../images/case_prev.png");
    width: 35px;
    height: 70px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    right: 0;
    top: 50%;
    margin-top: -60px;
    transform: scale(-1, 1);
}
.cms__sng-back-btn {
    margin-top: 100px;
}
.cms__sng-back-btn.com-btn a {
    width: 280px;
}
.cms__sng-txt-body h3 {
    font-size: 23px;
    font-weight: 800;
    margin-bottom: 10px;
}
.cms__sng-txt-body h4 {
    font-size: 17px;
    font-weight: 800;
    margin-bottom: 10px;
    color: var(--c-blue);
}
.cms__sng-txt-body h5 {
    display: inline-block;
    background-color: #344564;
    border-radius: 5px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    padding: 0 15px;
    margin: 10px 0;
}
.cms__sng-txt-body a:link {
    text-decoration: underline;
}
.cms__sng-txt-body a:hover {
    text-decoration: none;
}
.cms__sng-txt-body ul {
    background-color: #f5f5f5;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 30px;
}
.cms__sng-txt-body ul li {
    background-image: url(../images/icon_list.png);
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: left 15px;
    padding: 10px 0 10px 24px;
    font-size: 15px;
    line-height: 1.6;
}
.cms__sng-txt-body ol {
    background-color: #f5f5f5;
    padding: 15px 15px 15px 25px;
    border-radius: 10px;
    margin-bottom: 30px;
}
.cms__sng-txt-body ol li {
    margin: 15px;
    padding-left: 5px;
    font-size: 15px;
    line-height: 1.6;
    list-style: decimal;
}
.cms__sng-txt-body ol li::marker {
  font-weight: bold;
  color: var(--c-blue);
}
.cms__sng-txt-body img {
    border-radius: 10px;
    margin: 15px 0;
    width: 100%;
}

.wp-pagenavi {
    display: flex;
    align-items: center;
    justify-content: center;
    gap:1%;
    font-weight: 600;
    margin-top: 20px;
}
.wp-pagenavi a,.wp-pagenavi span{
    border: var(--c-blue) 1px solid;
    border-radius: 3px;
    display: block;
    line-height: 40px;
    width: 40px;
    text-align: center;
    color: var(--c-blue)
}
.wp-pagenavi .current,
.wp-pagenavi a:hover{
    background-color: var(--c-blue);
    color: #fff;    
}
.wp-pagenavi .extend {
    border: none;
    width: auto;
    line-height: inherit;
}
@media screen and (max-width:980px){
.cms__search-btn {
    border-radius: 0.5rem;
  font-size: 1.5rem;
  height: 5rem;
}
.cms__search-btn::before {
  width: 2.3rem;
  right: 1.4rem;
}
.cms__search-btn::after {
  width: 2.2rem;
  right: 1.4rem;
}
.cms__sng-main {
  width: 100%;
  margin-right: 0%;
  margin-bottom: 3rem;
}
.cms__search-dtl {
  padding:1.5rem;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.cms__search-dtl dt {
  font-size: 1.7rem;
  padding-left: 1.5rem;
  margin-bottom: 1.2rem;
}
.cms__search-dtl dt::before {
  width: 0.6rem;
  height: 0.6rem;
  top: 1.5rem;
}
.cms__search-dtl ul {
  gap:0.5rem;
}
.cms__search-dtl ul li a {
  height: 2.2rem;
  font-size: 1.2rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.cms__result-txt {
  font-size: 1.5rem;
  margin-top: 3rem;
}
.cms__number-m {
  font-size: 1.7rem;
}
.cms__number-s {
  font-size: 1.2rem;
  margin-left: 0.4rem;
}
.cms__sng-form {
  width: auto;
  margin-top: 5rem;
  padding-top: 1rem;
}    
.cms__list {
  display: block;
}
.cms__item {
  width: 100%;
  margin-bottom: 4rem;
}
.cms__number {
    margin-bottom: 1rem;
}
.cms__item h3 {
  font-size: 1.7rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
.cms__item-img {
  margin-bottom: 1.5rem;
  border-radius:1rem;
}
.cms__item-img span {
  border-bottom-right-radius: 1rem;
  font-size: 1.5rem;
  padding-left: 2rem;
  padding-right: 2rem;
  height: 3rem;
  padding-top: 0.1rem;
}
.cms__item ul {
  gap:0.5rem;
  margin-bottom: 1rem;
}
.cms__item ul li a {
  height: 2.2rem;
  font-size: 1.2rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.cms__item-client {
  font-size: 1.2rem;
}  
.cms__sng-wrap {
  display: block;
}
.cms__sng-main h2 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
  line-height: 1.7;
}
.cms__sng-copy {
  font-size: 1.6rem;
  margin-bottom: 2rem;
  line-height: 1.9;
}
.cms__sng-pickup {
  border-radius:0.5rem;
  height: 2.5rem;
  width: 10rem;
  padding-top: 0.4rem;
  margin-bottom: 2rem;
}
.cms__sng-cat {
    font-size: 1.1rem;
    gap:0.5rem;
    margin-bottom: 3rem;
  }
.cms__sng-cat li a {
    height: 2.2rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
.cms__sng-txt-body .list-icon li {
  background-size: 1.3rem;
  background-position:left 0.8rem;
  padding-left: 2rem;
}
.cms__sng-txt-body h3 {
  font-size: 2.1rem;
  margin-bottom: 1rem;
}
.cms__sng-txt-body h4 {
  font-size: 1.7rem;
  margin-bottom: 1rem;
}
.cms__sng-txt-body h5 {
    font-size: 1.4rem;
    padding: 0 1.5rem;
    margin: 1rem 0;
}
.cms__sng-txt-body ul {
  padding: 1.5rem 2rem;
  margin-bottom: 3rem;
}
.cms__sng-txt-body ul li {
  background-size: 1.4rem;
  background-position: left 1.5rem;
  padding: 1rem 0 1rem 2.4rem;
  font-size: 1.5rem;
}
.cms__sng-txt-body ol {
  padding: 1.5rem 1.5rem 1.5rem 2.5rem;
  margin-bottom: 3rem
}
.cms__sng-txt-body ol li {
  font-size: 1.5rem;
  margin: 1.5rem;
  padding-left: 0.5rem;
}
.cms__sng-txt-body img {
    margin: 1.5rem 0;
}
.cms__sng-slider .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
}
.cms__sng-slider .swiper-button-prev {
  width: 2.5rem;
  height: 5rem;
  margin-top: -4.5rem;
}
.cms__sng-slider .swiper-button-next {
  width: 2.5rem;
  height: 5rem;
  margin-top: -4.5rem;
}
.cms__sng-slider .swiper-container {
  padding-bottom: 4rem;
}
.cms__sng-slider {
  margin-bottom: 2rem;
}
.cms__sng-other {
  margin-top: 4rem;
}
.cms__sng-back-btn {
  margin-top: 7rem;
}
.cms__sng-back-btn.com-btn a {
    width: 100%;
} 
.wp-pagenavi {
    font-size: 1.4rem;
    gap:0.5rem;
    margin-top: 3rem;
}
.wp-pagenavi a, .wp-pagenavi span {
  line-height: 2.7rem;
  width: 2.7rem;
}  
}

/*------------------------------------------
検索結果
-----------------------------------------*/
.search__result {
    border-bottom: 1px solid var(--line);
    padding: 0 25px 30px 25px;
}
.search__result-txt {
    font-weight: 600;
    font-size: 17px;
}
.search__result-txt span {
    color: var(--c-blue);
    font-size: 20px;
    font-weight: 700;
    padding: 0 5px;
}
.search__result .cms__number {
    line-height: 1.4;
}
.search__article-list p.no-result {
    padding-top: 30px;
    font-size: 18px;
}
.search__article-list p.no-result span {
    font-weight: 700;
    padding: 0 5px;
}
.search__article-list > ul > li {
    border-bottom: var(--line) 1px solid;
    padding: 35px 15px;
}
.search__article-list > ul > li > h3 > a {
    font-size: 17px;
    font-weight: 700;
    text-decoration: underline;
}
.search__article-list > ul > li > h3 > a:hover {
    text-decoration: none;
}
.search__article-list dl.label {
    display: flex;
    font-size: 12px;
    line-height: 1;
    margin-top: 5px;
    margin-bottom: 20px;
}
.search__article-list dl.label dt {
    font-family: var(--f-en);
    background-color: var(--c-blue);
    color: #fff;
    padding: 7px 5px 4px 5px;
    border-radius: 5px;
    font-size: 11px;
}
.search__article-list dl.label dd {
    padding: 5px;
}
.search__article-list dl.label dd a {
    text-decoration: underline;
}
.search__article-list dl.label dd a:hover {
    text-decoration: none;
}
.search__article-list p {
    padding: 0 5px;
}
.search__article-list p .search__mark {
    background-color: #ffea00;
}
@media screen and (max-width:980px){
.search__result {
    padding: 0 0 2rem 0;
}
.search__result-txt {
    font-size: 1.5rem;
} 
.search__result-txt span {
    font-size: 2rem;
}
.search__article-list p.no-result {
    padding-top: 2rem;
    font-size: 1.7rem;
}
.search__article-list p.no-result span {
    padding: 0 0.5rem;
}
.search__article-list > ul > li {
    padding: 2rem 1rem;
}
.search__article-list > ul > li > h3 > a {
    font-size: 1.7rem;
}
.search__article-list dl.label {
    font-size: 1.2rem;
    margin-top: 0.5rem;
    margin-bottom: 2rem;
}
.search__article-list dl.label dt {
    padding: 0.7rem 0.5rem 0.4rem 0.5rem;
    border-radius: 0.4rem;
    font-size: 1rem;
}
.search__article-list dl.label dd {
    padding-top: 0.4rem;
}
.search__article-list p {
    padding: 0;
}
}

/*------------------------------------------
クッキー同意バナー
-----------------------------------------*/

#cookie-consent-banner a {
    text-decoration: underline;
}
#accept-cookies {
    background-color: #004ea2;
}
