/* 共通CSS */
@charset "UTF-8";
:root {
--aas-red-color: #E60121;
--aas-blue-color: #0154A7;
--aas-green-color: #68A701;
--txt-black-color:#333333;
--txt-white-color:#fff;
--gradient-color: linear-gradient(90deg,var(--aas-red-color) 0%,var(--aas-blue-color) 82.92%) ;
--font-biz:"BIZ UDPGothic", sans-serif;
--font-noto:"Noto Sans JP", sans-serif;
--space-8:8px;
--space-16:16px;
--space-24:24px;
--space-32:32px;
--space-40:40px;
--space-48:48px;
--space-64:64px;
--space-72:72px;
--space-80:80px;

--nav-height: 1rem;
--container-padding: 0 4rem;
--gap: 2rem;
--bg-color: rgb(240, 240, 240);
}

html{
font-family: "BIZ UDPGothic", sans-serif;
font-weight: 400;
font-style: normal;
}

*{
margin: 0;
padding: 0;
list-style-type: none;
box-sizing: border-box;
}

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

a{
text-decoration: none;
color: var(--txt-black-color);
}

img{
max-width: 100%;
}

body{
font-family: var(--font-biz);
color: var(--txt-black-color);
box-sizing: border-box;
line-height: 1.5;
font-feature-settings: "palt";
}

.sp-only{
display: none;
}

/*SP_ナビゲーション*/
.sp-header{
display: none;
}

.el_humburger {
position: fixed;
width: 46px;
height: 25px;
padding-top: 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding-top: 0px;
z-index: 20;
cursor: pointer;
pointer-events: auto;
color: #000;
text-align: center;
}


/* contact form7 */
.screen-reader-response{
color:var(--aas-red-color);
margin-bottom:20px;
}
.screen-reader-response ul{
display:none;
}
.wpcf7-not-valid-tip{
color:var(--aas-red-color);
display:block;
}

.wpcf7-list-item.first{
margin-left: 0;
}

.wpcf7-list-item{
margin-left: 10px;
}

.prefectures-area select{
border-radius: 5px;
border: solid 1px;
display: block;
max-width: 31%;
width: 100%;
padding: 12px 14px;    
}

.recruite-type-area select{
border-radius: 5px;
border: solid 1px;
display: block;
max-width: 100%;
width: 100%;
padding: 12px 14px;    
}



@media screen and (max-width: 1100px) {
.sp-header{
display: flex;
padding: 20px;
align-items: center;
justify-content: space-between;
}
.sp-header h1{
width: 60%;
}
.el_humburger {
display: block;
right: 20px;
position: sticky;
}
#factory .el_humburger {
display: none;
} 
}

.el_humburger_wrapper {
margin-bottom: 5px;
width: 42px;
display: inline-block;
}

@media screen and (max-width: 1100px) {
.el_humburger_wrapper {
margin-bottom: 5px;
width: 30px; }
}

.el_humburger_text {
font-size: 12px;
letter-spacing: 0.1em;
font-family: var(--font-biz);
}

.js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
display: none;
}

.el_humburger_text.el_humburger_text__close {
display: none;
}

.js_humburgerOpen .el_humburger_text.el_humburger_text__close {
display: block;
}

@media screen and (max-width: 1100px) {
.el_humburger_text {
font-size: 10px;
padding-top: 2px; }
}

@media screen and (max-width: 1100px) {
.el_humburger_text svg path {
-webkit-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
-o-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
fill: #000; }
}

@media screen and (max-width: 1100px) {
.js_humburgerOpen .el_humburger_text svg path {
fill: #000; }
}

.el_humburger span.el_humburger_bar {
display: block;
width: 100%;
margin: 0 auto 9px;
height: 1px;
background: #000;
-webkit-transition: all .2s ease-in-out;
-o-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}

.el_humburger span.el_humburger_bar:last-child {
margin-bottom: 0;
}

.js_humburgerOpen .el_humburger span.el_humburger_bar {
background: var(--txt-white-color);
}

@media screen and (max-width: 1100px) {
.el_humburger span.el_humburger_bar {
left: 0;
top: 0;
background: var(--aas-blue-color);
}
}

.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
-webkit-transform: translateY(9px) rotate(-45deg);
-ms-transform: translateY(9px) rotate(-45deg);
transform: translateY(9px) rotate(-45deg);
}

.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
opacity: 0;
}

.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
-webkit-transform: translateY(-11px) rotate(45deg);
-ms-transform: translateY(-11px) rotate(45deg);
transform: translateY(-11px) rotate(45deg);
}

.el_humburgerButton.el_humburgerButton__close {
top: 2%;
right: 2%;
}

.el_humburgerButton__close span.el_humburger_bar {
display: block;
width: 35px;
margin: 0 auto;
height: 4px;
background: #000;
}

.el_humburgerButton__close span.el_humburger_bar.top {
-webkit-transform: translateY(5px) rotate(-45deg);
-ms-transform: translateY(5px) rotate(-45deg);
transform: translateY(5px) rotate(-45deg);
background: var(--txt-white-color);
}

.el_humburgerButton__close span.el_humburger_bar.bottom {
-webkit-transform: translateY(-6px) rotate(45deg);
-ms-transform: translateY(-6px) rotate(45deg);
transform: translateY(-6px) rotate(45deg);
background: var(--txt-white-color);
}

.navi {
position: fixed;
right: 0;
height: 100%;
background-color: rgba(51, 51, 51, 0.9);
width: 450px;
z-index: 3;
padding: 100px 20px 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all 600ms ease-out;
-o-transition: all 600ms ease-out;
transition: all 600ms ease-out;
transform:translateZ(0) translateX(100%);
overflow: auto;
}

.js_humburgerOpen .navi {
transform:translateZ(0) translateX(0);
top: 5px;
}

@media screen and (max-width: 1100px) {
.navi {
padding: 100px 5% 0;
}
.js_humburgerOpen .navi {
width: 100%;
} 
}

.navi_item {
position:relative;
font-size: 14px;
font-family: var(--font-biz);
white-space: nowrap;
color: var(--txt-white-color);
border-bottom: 1px solid white;
padding: 20px 0;
}

.navi_item a{
color: var(--txt-white-color);
}

.navi_item.op_innerLink {
cursor: pointer;
}

@media screen and (max-width: 1100px) {
.navi_item {
margin-left: 0;
} 
}

.el_spChildNavOpen {
position: absolute;
top: 10px;
right: 0;
z-index: 20;
-webkit-transition: all 200ms ease-out;
-o-transition: all 200ms ease-out;
transition: all 200ms ease-out;
-webkit-transform-origin: center;
-ms-transform-origin: center;
transform-origin: center;
padding: 10px;
}

.js_openParent.js_fire > .el_spChildNavOpen {
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
.js_openParent.js_fire > .el_spChildNavOpen > .el_spChildNavOpen_wrapper:after {
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
opacity: 0;
}

.el_spChildNavOpen_wrapper {
position: relative;
width: 15px;
height: 15px;
-webkit-transition: all 200ms ease-out;
-o-transition: all 200ms ease-out;
transition: all 200ms ease-out;
-webkit-transform-origin: center;
-ms-transform-origin: center;
transform-origin: center;
}
.el_spChildNavOpen_wrapper:before {
content: "";
width: 100%;
height: 1px;
background-color: var(--txt-white-color);
position: absolute;
top: calc(50% - 1px); 
}

.el_spChildNavOpen_wrapper:after {
content: "";
width: 1px;
height: 100%;
background-color: var(--txt-white-color);
position: absolute;
left: calc(50% - 1px);
-webkit-transition: all 200ms ease-out;
-o-transition: all 200ms ease-out;
transition: all 200ms ease-out;
}

.nav_child{
padding-top:20px;
}

.nav_child_item{
position: relative;
padding-left:20px;
border-bottom: 1px solid;
padding: 20px;
}

.nav_child_item:last-child{
border: none;
}

.nav_child_item > a{
position:absolute;
left:0;
right:0;
bottom:0;
top:0;
}

.nav_child_item:last-child{
margin-bottom:0px;
}

.js_openSwitch {
cursor: pointer; }

.js_openTarget {
display: none;
}
/*SP_ナビゲーションここまで*/


/*PC_ナビゲーション*/
.pc-header {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 20px;
position: relative;
z-index: 9999;
}

.pc-header h1{
margin-right: 30px;
line-height: 0;
}

.header-border {
border-top: 5px solid;
border-image: linear-gradient(to right, #FF0000 0%, #FF407E 50.5%, #1085F8 100%) 1;
}

@media screen and (max-width: 1100px){
.pc-header{
display: none;
}
}

nav ul {
list-style: none;
padding: 0;
margin: 0;
}

/* サブメニューのスタイル */
.menu .submenu {
display: none;
position: absolute;
background-color: rgba(51, 51, 51, 0.9);
padding: 10px;
}

.menu-parent{
position: relative;
}

.menu-parent::after{
content: "";
position: absolute;
width: 10px;
height: 10px;
border: 2px solid;
border-color: transparent transparent #333 #333;
top: calc(50% - 4px);
right: -30%;
transform: translateY(-50%) rotate(315deg);
}

.menu-child{
position: absolute;
left: -56px;
}

.menu li:hover .submenu {
display: block;
width: 170px;
}

.menu .submenu li {
border-top: 1px solid white;
margin-right: 0;
}

.menu .submenu li{
position: relative;
}
.menu .submenu li:first-child {
border-top: none;
}

.menu .submenu li a {
display: block;
padding: 10px 20px;
color: white;
text-decoration: none;
}

.menu .submenu li a:hover {
background-color: rgba(51, 51, 51, 1);
color: var(--txt-white-color);
}

/* メニューの基本スタイル */
.menu {
display: flex;
align-items: center;
font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
gap: 40px;
}

@media screen and (max-width: 1000px){
.menu{
gap: 20px;
}
}

.menu li:last-child {
margin-right: 0;
}

.menu li a {
text-decoration: none;
color:var(--txt-black-color);
}

.menu li a:hover{
color: var(--aas-blue-color);
}

.nav-contact a{
display: inline-block;
background-color: var(--aas-red-color);
padding: 10px 16px 10px 45px;
border-radius: 5px;
color: var(--txt-white-color)!important;
position: relative;
}

.nav-contact a::before{
content: "";
position: absolute;
background: url(../img/mail.svg) no-repeat;
width: 18px;
height: 14px;
top: 50%;
transform: translateY(-50%);
left: 14%;
}

.nav-contact a:hover{
opacity: .7;
}
/*PC_ナビゲーション ここまで*/


/* コンテンツレイアウト */
.wrapper{
max-width: 100%;
width: 100%;
}

.no-scroll{
overflow-x: hidden;
}

/* TOPページヒーロー */
.hero{
position: relative;
display: flex;
align-items: center;
}

.hero::after{
content: "";
position: absolute;
background: var(--gradient-color);
opacity: 0.1;
border-radius: 100px 0px 100px 100px;
width: 75%;
height: 100%;
bottom: -10%;
left: 7%;
z-index: -1;
}

.mv-txt{
position: absolute;
left: 15%;
z-index: 1;
text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.7);
}

.main-txt{
font-size: clamp(1.875rem, 1.307rem + 2.84vw, 3.438rem);
line-height: 1.3;
color: var(--txt-white-color);
}

.mv-txt p{
font-size: clamp(0.875rem, 0.705rem + 0.73vw, 1.25rem);
color: var(--txt-white-color);
line-height: 1.5;
margin-top: 16px;
letter-spacing: 0.08em;
font-weight: bold;
}

.main-txt-lead span{
background-color: rgba(255, 255, 255, 1);
display: inline-block;
padding: 5px 8px;
}
.lead-txt-first{
margin-bottom: 8px;
}

.slide-wrap-top{
position: relative;
height: 500px;
width: 90%;
overflow: hidden;
margin-left: auto;
border-radius: 50px 0px 0px 50px;
}

.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
animation: zoomUp 7s linear 0s normal both;
}
.swiper-img{
height: 100%;
}
.swiper-slide img {
height: 100%;
width: 100%;
object-fit: cover;
}

@media screen and (max-width: 640px){

.hero::after{
display: none;
}
.slide-wrap{
width: 100%;
border-radius: 0;
height: auto;
}

.slide-wrap-top {
position: relative;
height: auto;
width: 100%;
overflow: hidden;
margin-left: auto;
border-radius:0;
}

.slider{
width: 100%;
}

.swiper-slide img{
aspect-ratio: 1 / 1;
}

.mv-txt {
position: absolute;
z-index: 1;
left: 5%;
}

.sp-header h1 {
    width: 80%;
    line-height: 0;
}

.swiper .swiper-slide {
	height: auto;
}

.swiper .swiper-slide-img { 
	height: 100%;
}
}

@keyframes zoomUp {
0% {
transform: scale(1);
}
100% {
transform: scale(1.15);
}
}
/* TOPページヒーローここまで */

/* TOPページNEWS */
.news-wrap{
max-width: 1000px;
margin: 100px auto 0;
padding: 0 20px;
}

.news-content{
margin-top: 24px;
}

.news-t{
text-align: center;
font-size: clamp(1.25rem, 1.193rem + 0.24vw, 1.375rem);
}

.news-item{
border-bottom: 1px solid #DBDADA;
border-top: 16px;
margin-bottom: 16px;
padding-bottom: 16px;
}

.news-item dl{
display: flex;
align-items: center;
gap: 16px;
}

.news-item dl dt{
display: inline-block;
font-size: clamp(0.625rem, 0.568rem + 0.24vw, 0.75rem);
}

.news-item span:nth-of-type(1){
display: inline-block;
font-size: clamp(0.625rem, 0.568rem + 0.24vw, 0.75rem);
color: var(--txt-white-color);
padding: 8px 10px;
width: 130px;
border-radius: 5px;
margin-right: 10px;
text-align: center;
}

.c-blue{
background-color: var(--aas-blue-color);
}

.c-red{
background-color: var(--aas-red-color);
}

.c-green{
background-color: var(--aas-green-color);
}

.news-item a:hover{
color: var(--aas-blue-color);
}

.news-item dl dt span,.news-item dl dd{
font-size: 14px;
}

.common-btn{
max-width: 240px;
margin-inline: auto;
width: 100%;
}

.common-btn a{
display: block;
margin: 0 auto;
position: relative;
border: solid 1px var(--txt-black-color);
padding: 16px 40px;
font-size: 14px;
border-radius: 5px;
background-color: var(--txt-white-color);
transition: all .2s;
text-align: center;
}

.common-btn a:hover{
background-color: var(--txt-black-color);
color: var(--txt-white-color);
}

.common-btn a::after{
content: "";
position: absolute;
width: 10px;
height: 10px;
border: 2px solid;
border-color:  transparent transparent #333 #333;
top: 50%;
right: 10%;
transform: translateY(-50%)rotate(227deg);
transition: all .2s;
}

.common-btn a:hover:after{
right: 7%;
border-color:  transparent transparent #ffffff #ffffff;
}

@media screen and (max-width: 870px){
.news-wrap {
margin: 40px auto 0;
}
.news-item dl {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 16px;
}
.news-item dl dt{
display: flex;
align-items: center;
}
}
/* TOPページNEWS ここまで */

/* TOPページ  紹介コンテンツ*/
.introduce-wrap{
background-color: #EBF5FF;
border-bottom: var(--aas-blue-color) 5px solid;
position: relative;
margin-top: 135px;
height: 400px;
z-index: 1;
}

.introduce-wrap::after{
content: "";
position: absolute;
background: url(../img/aas_img01.png) no-repeat top right;
top: -10%;
right: 0;
border-radius: 50px 0px 0px 50px;
width: 636px;
height:100%;
background-size: contain;
z-index: -1;
}

.sp-introduce-wrap{

padding: 0 20px;

}

.left-txt{
max-width: 1000px;
width: 100%;
margin: 0 auto;
padding-left: 0;
position: relative;
}

.introduce-img{
overflow: hidden;
position: absolute;
top: -10%;
right: 0;
border-radius: 50px 0px 0px 50px;
margin-left: auto;
}

.corp-name{
position: absolute;
top: -40px;
left: 0;
z-index: 1;
display: inline-block;
font-size: clamp(1.875rem, 1.25rem + 2.67vw, 3.25rem);
font-family: var(--font-noto);
font-weight: bold;
font-variant-ligatures:none;
letter-spacing: 5px;
}

.corp-name-sp{
display: none;
font-size: clamp(1.875rem, 1.25rem + 2.67vw, 3.25rem);
font-family: var(--font-noto);
font-weight: bold;
font-variant-ligatures:none;
letter-spacing: 5px;
text-align: center;
}

.corp-name span,.corp-name-sp span{
color: var(--aas-red-color);
}

.corp-lead{
position: absolute;
width: 480px;
z-index: 2;
top: 90px;
}

.corp-lead h2{
font-size: clamp(1.5rem, 1.33rem + 0.73vw, 1.875rem);
line-height: 1.5;
}

.corp-lead p{
line-height: 2;
margin-top: 24px;
font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}

.corp-name .sp_br{
display: none;
}

.corp-name-sp .sp_br{
display: none;
}

@media screen and (max-width: 870px){
.introduce-wrap {
background-color: transparent;
border-bottom: none;
position: relative;
margin-top: 40px;
margin-right: 20px;
margin-left: 20px;
height: 540px;
padding: 5%;
display: flex;
align-items: center;
}

.introduce-wrap::after{
content: "";
position: absolute;
background: url(../img/aas_img01.png) no-repeat top center;
top: 0;
right: 0;
border-radius: 20px;
width: 100%;
height:100%;
background-size: cover;
z-index: -1;
}
.sp-introduce-wrap{
padding: 2%;
background-color: rgba(255, 2555, 255, 0.8);
height: auto;
padding: 5%;
border-radius: 10px;
}
.introduce-img {
overflow: hidden;
position: absolute;
top: 0;
right: 0;
border-radius: 20px;
margin-left: 0;
z-index: -1;
}

.introduce-img img{
object-fit: cover;
aspect-ratio: 1/1;
}

.corp-name {
display: none;
}

.corp-name-sp{
    display: block;
}

.corp-lead {
position: static;
width: 100%;
}

.left-txt {
padding-top: 0;
padding-left: 0;

}

.corp-name .sp_br{
display: block;
}

.corp-lead h2 {
text-align: center;
}
}
/* TOPページ  紹介コンテンツ ここまで*/

/* TOPページ  BUSINESS GUIDE*/
.business-wrap{
max-width: 1000px;
margin: 64px auto 100px;
width: 100%;
padding-left: 20px;
padding-right: 20px;
}

.title-h3{
display: flex;
flex-direction: column;
margin-bottom: 64px;
}

.title-h3 span{
font-family: var(--font-noto);
color: var(--aas-blue-color);
font-size: clamp(1.25rem, 1.136rem + 0.48vw, 1.5rem);
letter-spacing: 1px;
font-weight: bold;
display: inline-block;
margin-bottom: 8px;
}

.title-h3 h3{
font-size: clamp(1.75rem, 1.409rem + 1.45vw, 2.5rem);
position: relative;
margin-bottom: 16px;
padding-left: 40px;
/* width: fit-content; */
}

.title-h3 h3::before{
content: "";
position: absolute;
background: url(../img/title-deco.svg) no-repeat;
width: 33px;
height: 35px;
top: 50%;
left: 0;
transform:translateY(-50%);
}

.title-h3-border{
border-bottom: 3px solid var(--aas-blue-color);
}

.business-col{
display: grid;
grid-template-columns: repeat( auto-fill, minmax(300px,1fr) );
justify-content: space-between;
gap:30px ;
}

.col-item{
/* max-width: 300px; */
display: flex;
flex-direction: column;
}


.col-item img{
border-radius: 10px 10px 0 0;
object-fit: cover;
object-position: center center;
width: 100%;
height: 100%;
}

.col-content{
background-color: #F9F8F8;
padding: 16px 16px 24px;
border-radius: 0 0 10px 10px;
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-around;
}

.col-t{
font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
border-left: var(--aas-red-color) 6px solid;
padding-left: 8px;
margin-bottom: 8px;
}
.col-content span{
display: inline-block;
font-size: 16px;
padding-left: 14px;
margin-bottom: 14px;
}
.col-content p{
font-size: 14px;
margin-bottom: 14px;
line-height: 1.5;
}

@media screen and (max-width: 870px){
.business-wrap{
padding: 0 20px;
width: 100%;
margin: 24px auto;
}

.title-h3 {
align-items: center;
margin-bottom: 24px;
}
}
/* TOPページ  BUSINESS GUIDE ここまで*/

/* TOPページ  特集動画*/
.movie-wrap{
background: var(--aas-blue-color) url(../img/movie_bg.png) no-repeat top center;
background-size: cover;
position: relative;
background-blend-mode: screen;
padding: 100px 0;
}

.movie-content{
width: 960px;
margin: 0 auto;
}

.movie-panel{
display: flex;
flex-direction: column;
row-gap: 30px;
border-radius: 5px;
}

.movie-panel .movie-panel-item:nth-child(even){
flex-direction: row-reverse;
}

.movie-panel-item{
background-color: var(--txt-white-color);
padding: 66px 20px;
display: flex;
gap:30px;
align-items: center;
}

.movie-panel-item div{
position: relative;
z-index: 1;
}

.movie-panel-item div iframe{
width: 450px;
height: 275px;
}

.movie-panel-item div::before{
position: absolute;
content: "";
background: url(../img/movie-deco.png);
width: 289px;
height: 342px;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%); 
z-index: -1;
}

.movie-panel-item p{
line-height: 1.8;
}

@media screen and (max-width: 870px){
.movie-wrap{
background: var(--aas-blue-color) url(../img/movie_bg.png) no-repeat top center;
background-size: cover;
position: relative;
background-blend-mode: screen;
padding: 24px 20px;
}
.movie-content{
width: 100%;
margin: 0 auto;
}

.movie-panel-item,.movie-panel .movie-panel-item:nth-child(even){
flex-direction: column;
}

.movie-panel-item{
gap:60px;
}

.movie-panel-item div iframe{
width: 100%;
aspect-ratio: 16/9;
object-fit: cover;
}
}
/* TOPページ  特集動画 ここまで*/

/* TOPページ  採用情報*/
.recruite-wrap{
width: 960px;
margin: 72px auto 0;
}

.recruite-item{
background: url(../img/recruit.png) no-repeat;
position: relative;
width: 960px;
height: 300px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 24px;
}

.recruite-item p{
color: var(--txt-white-color);
line-height: 1.5;
text-align: center;
}

@media screen and (max-width: 870px){
.recruite-wrap{
width: 100%;
margin: 24px auto;
}
.recruite-item {
background: url(../img/recruit.png) no-repeat;
position: relative;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 24px;
padding: 40px;
}
}
/* TOPページ  採用情報ここまで*/

/* フッター 共通*/
footer{
border-top: 1px solid #E6E6E6;
padding-top: 24px;
margin-top: clamp(42px,10vw,100px);
}

.footer-wrap{
width: 960px;
margin: 0 auto;
}

.footer-content{
display: flex;
justify-content: space-between;
align-items: center;
}

.footer-logo{
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
}

.footer-logo img{
width: 129px;
height: 68px;
}

.footer-logo span{
font-size: 12px;
}

.footer-content ul{
display: flex;
gap: 40px;
font-size: 14px;
}

.footer-content ul li{
position: relative;
}

.footer-content ul li::after{
content: "";
position: absolute;
width: 10px;
height: 10px;
border: 2px solid;
border-color: transparent transparent #333 #333;
top: 50%;
right: -12px;
transform: translateY(-50%) rotate(227deg);
}

.footer-content ul li:hover::after{
border-color: transparent transparent var(--aas-blue-color) var(--aas-blue-color);
}

.footer-content ul li a:hover{
color: var(--aas-blue-color);
}

@media screen and (max-width: 870px){
.footer-wrap {
width: 100%;
margin: 0 auto;
padding: 0 20px;
}
.footer-logo {
margin-bottom: 40px;
}
.footer-content {
flex-direction: column;
}
.footer-content ul {
flex-direction: column;
width: 100%;
gap: 0;
}
.footer-content ul li{
border-bottom: 1px solid #D9D8D8;
padding-bottom: 16px;
margin-bottom: 16px;
}
.footer-content ul a{
display: block;
}
.footer-content ul li::after{
right: 0;
}
}
/* フッター 共通 ここまで*/

/* 下層ページ共通 */
.common-title-wrap{
margin-bottom: clamp(32px,6.4vw, 64px);
}
.common-title{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
height: 200px;
color: var(--txt-white-color);
}

.title-bg{
background-position: top center;
background-color:rgba(82, 75, 75, .5);
background-size: cover;
width: 100%;
background-blend-mode:multiply;
}

.title-bg_shop {
background-image: url(../img/shop_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}

.common-title h2{
font-size: clamp(1.875rem, 1.655rem + 0.94vw, 2.5rem);
line-height: 1;
}
.common-title h2 span{
font-size: 20px;
}


/* パンくずリスト */
.crumbs-wrap{
background-color: #F2F8FF;
font-size: 12px;
padding: var(--space-16) 0;
}

.crumbs-wrap ul{
display: flex;
flex-wrap: wrap;
max-width: 960px;
margin: 0 auto;
gap: 10px 20px;
color: #6a6464;
}

.crumbs-wrap .crumbs-wrap-list{
display: block;
position: relative;
}

.crumbs-list-blue{
color: var(--aas-blue-color);
}

.crumbs-wrap .crumbs-wrap-list::after{
position: relative;
display: inline-block;
content: "";
width: 10px;
height: 10px;
border: 2px solid;
border-color: transparent transparent #B2B2B2 #B2B2B2;
top: 28%;
left: 25%;
transform: translateX(-50%) translateY(-50%) rotate(227deg);
}

@media screen and (max-width: 960px){
.crumbs-wrap ul {
padding: 0 20px;
}
}



/* ショップ一覧ページ アコーディオン */
.accordion-area{
max-width: 1000px;
margin: 0 auto;
padding: 0 20px;
}

.accordion-item-wrap{
padding: var(--space-16);
max-width: 952px;
width: 100%;
}

.accordion-001:not([open]) {
margin-bottom: 7px;
}

.accordion-001 summary {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
padding: 1em 2em;
background: var(--txt-white-color);
border: 1px solid var(--aas-blue-color);
color:var(--aas-blue-color);
font-weight: 600;
cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
display: none;
}

.accordion-001 summary::after,.accordion-001 summary::before {
content: "";
position: absolute;
right: 1.25em;
top: 1.25em;
width: 2px;
height: 0.75em;
background-color: var(--aas-blue-color);
transition: all 0.3s;
}

.accordion-001 summary::before{
transform: rotate(90deg);
}

.accordion-001[open] summary::after {
transform: rotate(90deg);
}

.accordion-001 .accordion-content {
transform: translateY(-10px);
opacity: 0;
margin: 0;
color: #333333;
transition: transform .5s, opacity 1s;
}

.accordion-001[open] .accordion-content {
transform: none;
opacity: 1;
}

.flex-item{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
gap: 8px;
}

.flex-item a{
font-size: clamp(0.875rem, 0.831rem + 0.19vw, 1rem);
max-width: 300px;
width: 100%;
display: block;
background-color: var(--txt-white-color);
color: var(--txt-black-color);
border: 1px var(--txt-black-color) solid;
border-radius: 5px;
text-align: center;
padding: 10px 16px;
transition: all 0.8s;
display: flex;
align-items: center;
justify-content: center;
}
@media (min-width: 376px) and (max-width: 1000px) {
.flex-item a {
max-width: 48%;
}
}
@media screen and (max-width: 375px){
.flex-item a {
max-width: 100%;
}
}

.flex-item a:hover{
background-color:var(--txt-black-color);
color: var(--txt-white-color);
}

.highway-name{
margin-bottom: var(--space-16);
border-left: var(--txt-black-color) solid 5px;
padding-left: var(--space-8);
}



/* ショップ一覧ページ アコーディオン */


/* ショップ一覧コンテンツ */
.common-wrap{
max-width: 1000px;
padding-left: 20px;
padding-right: 20px;
margin: 0 auto;
padding-top: clamp(24px, 6.4vw, 64px);
}

.common-wrap:last-child{
margin-bottom: clamp(24px, 10vw, 100px);
}

.common-inner{
padding: 16px 0;
}

.common-inner-flex{
display: flex;
flex-wrap: wrap;
}

.common-title{
height: 200px;
}

.area-title{
font-size: clamp(1.5rem, 1.368rem + 0.56vw, 1.875rem);
background-color: var(--aas-blue-color);
color: var(--txt-white-color);
padding: 20px 16px;
}

.time-alert{
color: var(--aas-red-color);
font-size: 14px;
display: inline-block;
margin-bottom: clamp(16px, 4vw, 40px);
}

.shop-wrap{
display: flex;
margin-bottom: 16px;
}
.swiper1{
position: relative;
height: 100%;
}
.shop-wrap .left-item{
max-width: 400px;
width: 100%;
overflow: hidden;
aspect-ratio: 100/79;
}

.swiper1 img{
width:100%;
height:100%;
object-fit: cover;
}

.swiper-slide{
height: auto;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
background-repeat: no-repeat;
background-size: contain;
content: "";
height: 20px;
margin: auto;
width: 20px;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
background-image: url(../img/btn_pre.svg);
content: ""!important;
}
/* 次への矢印カスタマイズ */
.swiper-button-next::after {
background-image: url(../img/btn_pre.svg);
transform: rotate(180deg);
content: ""!important;
}

.shop-wrap .right-item{
background-color: #F9F8F8;
width: 100%;
padding: 20px;
}
.right-item p{
font-size: 14px;
line-height: 1.8;
margin-bottom: 10px;
}
.shop-name{
font-size: clamp(1.25rem, 1.162rem + 0.38vw, 1.5rem);
display: inline-block;
font-weight: bold;
position: relative;
padding-left: 10px;
margin-bottom: 10px;
}

.shop-name::before{
content: "";
position: absolute;
width: 6px;
height: 21px;
background-color: var(--aas-red-color);
top: 50%;
left: 0;
transform: translateX(-50%) translateY(-50%);
}

.shop-area,.shop-info{
display: flex;
gap: 8px;
font-size: 14px;
flex-wrap: wrap;
margin-bottom: 10px;
}

.shop-area span,.shop-info span{
display: inline-block;
padding: 6px 10px;
line-height: 1.5;
}

.shop-area .area1{
background-color: var(--aas-blue-color);
color: var(--txt-white-color);
}

.shop-area .area2{
background-color: var(--txt-white-color);
color: var(--aas-blue-color);
border: solid 1px var(--aas-blue-color);
}

.shop-info .info1,.shop-info .info2{
position: relative;
}

.shop-info .info1,.shop-info .info2{
padding-left: 25px;
}

.shop-info .info1::before{
content: "";
position: absolute;
background: url(../img/time-icon.svg) no-repeat;
width: 18px;
height: 18px;
top: 50%;
left: 0;
transform: translateY(-50%); 
}

.shop-info .info2::before{
content: "";
position: absolute;
background: url(../img/phone-icon.svg) no-repeat;
width: 18px;
height: 18px;
top: 50%;
left: 0;
transform: translateY(-50%); 
}

.shop-info-link {
display: flex;
gap: 25px;
font-size: clamp(0.75rem, 0.706rem + 0.19vw, 0.875rem);
align-items: center;
justify-content: flex-end;
}

.shop-info-link a{
display: flex;
}

.sns-link:hover{
opacity: 0.5;
}

.shop-info-link .official-link:hover{
color: #fff;
background-color: #333;
border-radius: 5px;
}

.shop-info-link span{
display: inline-block;
border: var(--txt-black-color) 1px solid;
border-radius: 5px;
line-height: 1;
padding: 10px 32px;
position: relative;
}

.shop-info-link .official{
display: inline-block;
border: var(--txt-black-color) 1px solid;
border-radius: 5px;
line-height: 1;
padding: 10px 32px 10px 10px;
position: relative;
}

.shop-info-link .x-link::before{
content: "";
position: absolute;
background-image: url(../img/x-icon.svg);
background-repeat: no-repeat;
width: 21px;
height: 21px;
top: 50%;
left: 5%;
transform: translateY(-50%); 
}

.shop-info-link .x-link:hover:before{
content: "";
position: absolute;
background-image: url(../img/x-icon-white.svg);
background-repeat: no-repeat;
width: 21px;
height: 21px;
top: 50%;
left: 2%;
transform: translateY(-50%); 
}



.shop-info-link .official::after{
content: "";
position: absolute;
background-image: url(../img/external-link-icon.svg);
background-repeat: no-repeat;
width: 20px;
height: 20px;
top: 64%;
right: 2%;
transform: translateY(-50%); 
}

.shop-info-link .official:hover:after{
background-image: url(../img/external-link-icon-white.svg);
}

.col-group{
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: clamp(16px, 4vw, 40px);
}

.col-group .time-alert{
margin-bottom: 0;
}

.col-group .instagram{
display: inline-block;
border: var(--txt-black-color) 1px solid;
border-radius: 5px;
line-height: 1;
padding: 10px 32px;
position: relative;
text-align: center;
}

.col-group .instagram::before{
content: "";
position: absolute;
background-image: url(../img/instagram-icon-s.svg);
background-repeat: no-repeat;
width: 21px;
height: 21px;
top: 50%;
left: 2%;
transform: translateY(-50%); 
}

.col-group .instagram:hover:before{
background-image: url(../img/instagram-icon-s-white.svg);
}

.col-group .instagram::after{
content: "";
position: absolute;
background-image: url(../img/external-link-icon.svg);
background-repeat: no-repeat;
width: 20px;
height: 20px;
top: 64%;
right: 2%;
transform: translateY(-50%); 
}

.col-group .instagram:hover:after{
background-image: url(../img/external-link-icon-white.svg);
}
.col-group a:hover{
color: #fff;
background-color: #333;
border-radius: 5px;
}


/* @media (min-width: 641px) and (max-width: 959px) {
.common-wrap {
padding-left: 20px;
padding-right: 20px;
}
.shop-wrap {
flex-direction: column;
}
.shop-wrap .right-item{
max-width: 400px;
}
} */
@media screen and (max-width: 640px){
.sp-only{
display: block;
}
.common-wrap{
padding-left: 20px;
padding-right: 20px;
}
.common-title{
height: 150px;
}
.common-inner {
padding: 10px;
}
.swiper1 img{
width:100%;
height:100%;
object-fit: cover;
/* aspect-ratio: 16/9; */
}
.shop-wrap {
flex-direction: column;
width: 100%;
}
.swiper-slide {
/* max-height:250px ; */
max-width: 100%;
}
.shop-wrap .left-item {
max-width: none;
}
.shop-name::before {
top: 13%;
transform: none;
}
.col-group{
display: flex;
flex-direction: column;
}
.col-group .time-alert {
margin-bottom: 10px;
}
.shop-area {
gap:8px;
}
.shop-info{
gap: 0;
}
}
/* ショップ一覧コンテンツ ここまで */

/* お問い合わせ */
.title-bg_contact {
background-image: url(../img/contact_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}

.contact-wrap{
max-width: 960px;
width: 100%;
margin: 0 auto;
}

.contact-h3{
border-bottom:solid 3px var(--aas-blue-color) ;
padding-bottom: 16px;
}

.contact-sitepolicy-txt{
line-height: 1.8;
}

.contact-h4{
text-align: center;
font-size: clamp(1.75rem, 1.486rem + 1.13vw, 2.5rem);
margin-bottom: clamp(24px, 3.2vw, 32px);
}

.contact-comment{
font-size: 14px;
color: var(--aas-red-color);
margin-bottom: clamp(16px,2.4vw,24px);
}

.box-alert-red{
display: inline-block;
color: var(--txt-white-color);
background-color: var(--aas-red-color);
border-radius: 2px;
padding: 4px 8px;
margin-right: 4px;
}

.contact-content{
padding:20px;
background-color: #EFF7FF;
margin-bottom: clamp(24px,10vw,100px);
}

.contact-inner{
background-color: #fff;
padding-top:24px;
padding-bottom: 24px;
padding-right: clamp(10px, 6vw, 60px);
padding-left: clamp(10px, 6vw, 60px);
border-bottom: 3px var(--aas-blue-color) solid;
}

.contact-group{
border-bottom: 1px solid #D0D0D0;
padding-bottom: 16px;
margin-bottom: clamp(16px, 2.4vw, 24px);
}

.contact-group:last-child{
border: none;
padding-bottom: 0;
margin-bottom: 0;
}

.form-title{
font-size:clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
}

.item-name{
margin-bottom:16px ;
}

.check-flex{
display: flex;
gap: 10px 20px;
flex-wrap: wrap;
}

.check-flex label{
margin-left: 4px;
}

.contact-message{
width: 100%;
max-width: 100%;
border-radius: 5px;
padding: 1%;
line-height: 1.5;
font-size: 16px;
}

.name-area{
display: flex;
gap: 10px;
margin-top: 16px;
}

.name-area div{
width: 100%;
}

.area-item input[type="text"],
.area-item input[type="email"],
.area-item input[type="number"],
.area-item input[type="tel"]{
border-radius: 5px;
border: solid 1px;
display: block;
max-width: 100%;
width: 100%;
padding: 12px 14px;
font-size: 16px;
}

.name-area span{
display: block;
}

.mail-area,
.local-area{
margin-top: 16px;
}

.phone-area,
.fax-area,
.postcode-area,
.recruite-type-area{
display: flex;
gap: 10px;
margin-top: 16px;
align-items: center;
}

.phone-area div:nth-of-type(odd),
.fax-area div:nth-of-type(odd){
width: 100%;
}

.postcode-area div:nth-of-type(odd){
width: 31%;
}

.search-postNum{
display: block;
width: fit-content;
position: relative;
color: var(--aas-blue-color);
text-decoration: underline;
}

.search-postNum::after {
content: "";
position: absolute;
background-image: url(../img/external-link-icon-blue.svg);
background-repeat: no-repeat;
width: 20px;
height: 20px;
top: 70%;
right: -14%;
transform: translateY(-50%);
}

.search-postNum:hover{
text-decoration: none;
}

.prefectures{
border-radius: 5px;
border: solid 1px;
display: block;
max-width: 31%;
width: 100%;
padding: 12px 14px;
}

.contact-button-wrap {
margin-top: 32px;
}

.contact-button{
display: flex;
justify-content: center;
gap: 24px;
}
.privacy-txt {
text-align: center;
margin-bottom: clamp(24px,4vw,40px);
}

.reset-buttton,
.confirmation-button{
width: 100%;
max-width: 300px;
}
.reset{
background-color: var(--txt-white-color);
border: 1px solid var(--txt-black-color);
border-radius: 5px;
padding: 20px;
font-size: 18px;
cursor: pointer;
width: 100%;
}

.reset-buttton input:hover{
opacity: .7;
}

.anchorText {
padding: 20px;
font-size: 18px;
width: 100%;
border: none;
pointer-events: none; /* リンクを無効にする */
background-color: #b0abab; /* 無効時の背景色 */
color: #fff !important;
text-decoration: none;
display: inline-block;
border-radius: 5px;
transition: background-color 0.3s ease; /* スムーズな色変更 */
}

.confirmation-button{
position: relative;
}
.confirmation-button::after{
content: "";
position: absolute;
width: 10px;
height: 10px;
border: 2px solid;
border-color: transparent transparent #ffffff #ffffff;
top: 50%;
right: 10%;
transform: translateY(-50%) rotate(227deg);
}

.anchorText.active {
pointer-events: auto; /* リンクを有効にする */
cursor: pointer;
background-color: var(--aas-blue-color); /* 有効時の背景色 */
}
.anchorText.active:hover{
opacity: 7;
}

.privacy-link {
color: var(--aas-blue-color);
text-decoration: underline;
}

@media screen and (max-width: 640px){
.contact-button {
flex-direction: column;
align-items: center;
}
}

@media screen and (max-width: 960px){
.title-bg_contact {
background-position: top center;
background-size: cover;
}
.title-h3 {
padding: 0 20px;
}
.contact-comment {
padding: 0 20px;
}
}
/* お問い合わせ ここまで*/

/* 採用問い合わせフォーム */
.title-bg_recruit {
background-image: url(../img/recruit_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}

.recruit-txt{
margin-bottom:24px ;
}

.recruit-txt-note{
margin-top: 10px;
display: inline-block;
}

.recruite-type1{
border-radius: 5px;
border: solid 1px;
display: block;
max-width: 31%;
width: 100%;
padding: 12px 14px;
}

@media screen and (max-width: 640px){
.recruite-type-area {
flex-direction: column;
width: 100%;

}
.recruite-type1{
width: 100%;
max-width: 100%;
}
}
/* 採用問い合わせフォーム ここまで*/

/* 事業案内 */
.title-bg_business {
background-image: url(../img/business_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}

.area-guide{
display: flex;
padding: 0 20px;
justify-content: center;
align-items: center;
gap: 40px;
}

.area-guide-txt{
display: flex;
flex-direction: column;
row-gap: 24px;
max-width: 640px;
width: 100%;
}

.area-guide-title{
font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);
}

.area-guide-lead{
font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
line-height: 2;
}
.business-guide-h3{
margin-bottom: clamp(24px,4vw,40px);
}
.business-guide-h3 h3{
margin-bottom: 0;
}

.area-guide-image img{
width: 100%;
border-radius: 10px;
}

@media screen and (max-width: 960px){
.area-guide{
flex-direction: column;
}
.title-bg_business {
background-position: bottom left;
}
.area-guide-txt {
padding-top: 0;
}
}
/* 事業案内 ここまで*/

/* エアポート */
.title-bg_airport {
background-image: url(../img/airport_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}
@media screen and (max-width: 960px){
.title-bg_airport {
background-position: bottom left;
}
}

.airport-anc{
max-width: 960px;
width: 100%;
margin: 0 auto;
}

.airport-anc-flex{
display: flex;
gap: 16px;
padding:64px 20px;
}

@media screen and (max-width: 870px){
.airport-anc-flex {
padding: 30px 20px;
}
}

.anc-box{
width: 100%;
}

.anc-box a{
display: block;
position: relative;
border: var(--aas-blue-color) solid 1px;
border-radius: 5px;
font-size:clamp(1rem, 0.909rem + 0.45vw, 1.25rem) ;
padding: 16px 16px 24px;
color: var(--aas-blue-color);
text-align: center;
}

.anc-box a::after{
content: "";
position: absolute;
bottom: 15%;
left: 50%;
width: 10px;
height: 10px;
border: 2px solid;
border-color: transparent transparent var(--aas-blue-color) var(--aas-blue-color);
transform: translateX(-50%) translateY(-50%) rotate(313deg);
}

.anc-box a:hover::after{
bottom: 10%;
}

.servive-main{
background-color: #eef5ff;
width: 100%;
padding: 64px 20px;
border-top: 5px var(--aas-blue-color) solid;
}

@media screen and (max-width: 870px){
.servive-main {
padding: 32px 20px;
}
}

.servive-inner{
max-width: 960px;
width: 100%;
margin: 0 auto;
}

.servive-inner-title{
display: flex;
justify-content: center;
margin-bottom: clamp(16px,4vw,40px);
}

.servive-title-h3 {
font-size: clamp(1.5rem, 1.148rem + 1.5vw, 2.5rem);
position: relative;
margin-bottom: 16px;
padding-left: 40px;
}

.servive-title-h3::before {
content: "";
position: absolute;
background: url(../img/title-deco.svg) no-repeat;
width: 33px;
height: 35px;
top: 50%;
left: 0;
transform: translateY(-50%);
}


.servive-title-h4{
font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);
color: var(--txt-white-color);
background-color: var(--aas-blue-color);
padding: 16px;
text-align: center;
margin-bottom: clamp(24px,3.2vw,32px);
}

.service-box-flex{
display: flex;
gap:40px;
justify-content: center;
align-items: flex-start;
}
@media screen and (max-width: 870px){
.service-box-flex {
flex-direction: column;
align-items: center;
gap: 24px;
}
}

.service-box-space{
margin-bottom: clamp(40px,10vw,100px);
}

.service-box-left{
max-width: 460px;
width: 100%;
line-height: 1.7;
}

.servive-title-h5{
color: var(--aas-blue-color);
font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.35rem);
margin-bottom: 16px;
letter-spacing: 2px;
}

.servive-title-lead{
line-height: 2;
}

.aas-shadow,.aas-shadow-reverse{
position: relative;
}

.aas-shadow img,.aas-shadow-reverse img{
position: relative;
z-index: 1;
border-radius: 10px;
}

.aas-shadow::after{
content: "";
position: absolute;
background: var(--gradient-color);
opacity: 0.1;
border-radius: 10px;
width: 70%;
height: 80%;
top: 25%;
right: -5%;
z-index: 0;
}

.aas-shadow-reverse::after{
content: "";
position: absolute;
background: var(--gradient-color);
opacity: 0.1;
border-radius: 10px;
width: 70%;
height: 80%;
top: 25%;
left: -5%;
z-index: 0;
}

.certification-box{
max-width: 600px;
width: 100%;
margin: 0 auto;
position: relative;
}
.certification-heading-wrap{
position: absolute;
top: -15%;
left: 50%;
transform: translateX(-50%);
z-index: 1;
max-width: 280px;
width: 100%;
}
@media screen and (max-width: 870px){
.certification-heading-wrap{
top: -9%;
}
}
.certification-heading{
font-size: clamp(1.25rem, 1.136rem + 0.57vw, 1.563rem);
color: var(--txt-white-color);
background-color:var(--txt-black-color);
padding: 2% 5%;
border-radius: 40px;
text-align: center;
}

.certification-box-inner{
display: flex;
justify-content: center;
align-items: center;
gap: 16px;
border: var(--txt-black-color) solid 1px;
padding: 16px;
position: relative;
margin-bottom: clamp(32px,12vw,120px);
}

@media screen and (max-width: 870px){
.certification-box-inner{
flex-direction: column;
gap: 8px;
}
}

.certification-right{
display: flex;
flex-direction: column;
gap: 10px;
}

.certification-right p{
font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}

.certification-right a{
width: fit-content;
display: inline-block;
position: relative;
text-decoration: underline;
color: var(--aas-blue-color);
font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
}

.certification-right a:hover{
text-decoration: none;
}

.certification-right a::after{
content: "";
position: absolute;
background-image: url(../img/external-link-icon-blue.svg);
background-repeat: no-repeat;
width: 20px;
height: 20px;
top: 70%;
right: -14%;
transform: translateY(-50%);
}

.kinaishoku-wrap{
background: var(--txt-white-color);
padding: 64px 40px 40px;
border: var(--aas-blue-color) solid 2px;
position: relative;
}
@media screen and (max-width: 870px){
.kinaishoku-wrap {
background: var(--txt-white-color);
padding: 32px 10px 32px;
border: var(--aas-blue-color) solid 2px;
position: relative;
}
}

.kinaishoku-heading-wrap{
position: absolute;
top: -1%;
left: 50%;
transform: translateX(-50%);
width: clamp(310px,35.5vw,355px);
z-index: 1;
}
@media screen and (max-width: 870px){
.kinaishoku-heading-wrap {
top: -0.5%;
}
}
.kinaishoku-heading{
font-size: clamp(1.25rem, 1.136rem + 0.57vw, 1.563rem);
color: var(--txt-white-color);
background-color:var(--aas-blue-color);
padding: 2% 5%;
border-radius: 40px;
text-align: center;
}


/* .kinaishoku-wrap::before{
content: "AASの機内食ができるまで";
position: absolute;
font-size: clamp(1.25rem, 1.136rem + 0.57vw, 1.563rem);
color: var(--txt-white-color);
background-color:var(--aas-blue-color);
padding: 8px 32px;
display: block;
border-radius: 40px;
top: -1%;
left: 50%;
transform: translateX(-50%);
max-width: 354px;
min-width: 277px;
} */

.cook-block-border{
border-bottom:1px solid #BEB6B6;
padding-bottom: clamp(32px,7.2vw,72px);
}

.cook-step-txt{
color: var(--aas-blue-color);
text-align: center;
font-size: clamp(1.375rem, 1.193rem + 0.91vw, 1.875rem);
margin-bottom: clamp(24px,4vw,40px);
}
.cook-step-wrap{
display: flex;
/* grid-template-columns: 1fr 1fr 1fr; */
flex-wrap: wrap;
gap:24px;
margin-bottom: clamp(24px,4vw,40px);
}
@media screen and (max-width: 870px){
.cook-step-wrap{
gap:15px;
}
}

.cook-panel{
display: flex;
flex-direction: column;
max-width: 276px;
}

.cook-panel-arrow,.cook-panel-arrow2{
position: relative;
}

.cook-panel-arrow:nth-of-type(1):after,
.cook-panel-arrow:nth-of-type(2):after,
.cook-panel-arrow:nth-of-type(3):after,
.cook-panel-arrow:nth-of-type(4):after,
.cook-panel-arrow:nth-of-type(5):after,
.cook-panel-arrow2:after
{
content: "";
position: absolute;
background: url(../img/right-arrow.svg) no-repeat;
width: 16px;
height: 16px;
bottom: 50%;
right: -8.5%;
transform:translateY(-50%);
}

.cook-panel-arrow:nth-of-type(3):after,
.cook-panel-arrow2:after{
background: none;
}
@media screen and (max-width: 640px){
.cook-step-wrap{
justify-content: center;
gap: 24px;
}
.cook-panel {
max-width: 100%;
width: 100%;
}
.cook-image img {
object-fit: cover;
height: 100%;
width: 100%;
}
.cook-panel-arrow:nth-of-type(1):after,
.cook-panel-arrow:nth-of-type(2):after,
.cook-panel-arrow:nth-of-type(3):after,
.cook-panel-arrow:nth-of-type(4):after,
.cook-panel-arrow:nth-of-type(5):after,
.cook-panel-arrow2:after{
background: url(../img/right-arrow.svg) no-repeat;
bottom: -7%;
right: 45%;
transform:translateX(-50%) translateY(0) rotate(90deg);
}

}
@media (min-width: 641px) and (max-width: 1000px) {
.cook-step-wrap {
justify-content: center;
}
.cook-panel-arrow:nth-of-type(1):after,
.cook-panel-arrow:nth-of-type(3):after,
.cook-panel-arrow:nth-of-type(5):after
{
background: url(../img/right-arrow.svg) no-repeat;
right: -7%;
}
.cook-panel-arrow:nth-of-type(2):after,
.cook-panel-arrow:nth-of-type(4):after
{
background: none;
}
}

.cook-image{
position: relative;
}

.cook-image img{
object-fit: cover;
height: 100%;
}

.step-badge{
position: absolute;
top: 3%;
left: 3%;
width: 36px;
height: 36px;
line-height: 1;
border-radius: 50%;
background-color: var(--aas-red-color);
color: var(--txt-white-color);
font-size: 14px;
display: block;
text-align: center;
}
.step-badge span{
font-size: 7px;
}

.cook-txt{
background-color: #F9F8F8;
padding: 16px;
display: flex;
flex-direction: column;
gap: 10px;
flex: 1;
}

.step-name{
font-size:clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem) ;
font-weight: bold;
border-left: var(--aas-red-color) solid 5px;
padding-left: 10px;
}

.cook-txt p{
font-size: 12px;
}

.service-box-flex-reverse{
display: flex;
gap:40px;
justify-content: center;
flex-direction: row-reverse;
align-items: center;
}

@media screen and (max-width: 870px){
.service-box-flex-reverse {
flex-direction: column;
gap: 24px;
}
}

.service-point{
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}

.point-label{
color: var(--txt-white-color);
background-color: var(--aas-red-color);
font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
padding: 10px 70px;
width: fit-content;
border-radius: 30px;
}

.point-heading{
font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
color: var(--aas-red-color);
}

.point-txt{
text-align: center;
font-size: 14px;
}

.cook-message-wrap{
    text-align: center;
}

.cook-message{
padding: 24px;
position: relative;
text-align: center;
color: var(--aas-red-color);
font-size: clamp(1.25rem, 0.909rem + 1.7vw, 2.188rem);
}

.cook-message::after,
.cook-message::before{
content:'';
width: 18px;
height: 26px;
position: absolute;
display: inline-block;
}

.cook-message::before{
border-left: solid 3px var(--aas-red-color);
border-top: solid 3px var(--aas-red-color);
top:0;
left: 0;
}

.cook-message::after{
border-right: solid 3px var(--aas-red-color);
border-bottom: solid 3px var(--aas-red-color);
bottom:0;
right: 0;
}

.airport_mounted{
padding-top: clamp(32px, 7.2vw, 72px);
}
.kinaishoku-imagecut{
padding-top: clamp(24px, 4vw, 40px);
padding-bottom: clamp(24px, 4vw, 40px);
}

.servive-title-h5-center{
text-align: center;
margin-bottom:24px ;
}
@media screen and (max-width: 870px){
.servive-title-h5-center {
text-align: left;
}
}


.shop-box-facility{
display: flex;
justify-content: center;
margin-bottom: clamp(16px, 2.4vw, 24px);
}

@media screen and (max-width: 870px){
.shop-box-facility{
display: flex;
justify-content: center;
margin-bottom: clamp(16px, 2.4vw, 24px);
}
}

.facility {
font-size: clamp(1.25rem, 1.136rem + 0.57vw, 1.563rem);
color: var(--txt-white-color);
background-color: var(--txt-black-color);
border-radius: 40px;
padding: 8px 32px;
max-width: 277px;
width: 100%;
text-align: center;
}

@media screen and (max-width: 870px){
.facility{
text-align: center;
width: 100%;
max-width: 100%;
}
}

.shop-box-group{
display: grid;
grid-template-columns: repeat( auto-fill, minmax(310px,1fr) );
gap: 10px;
}

.shop-box-panel{
margin-bottom: clamp(16px, 2.4vw, 24px);
}

.kyobashi-box-panel{
margin-bottom: clamp(16px, 2.4vw, 24px);
width: 100%;
}

.shop-col{
display: grid;
grid-template-columns: repeat( auto-fill, minmax(310px,1fr) );
gap: 10px;
}

.kyobashi-col{
display: grid;
grid-template-columns: 1fr;
gap: 10px;
}

.shop-item,
.kyobashi-item {
display: flex;
flex-direction: column;
}

.shop-content {
background-color: #F9F8F8;
padding: 16px;
flex:1;
}

.shop-img img{
width: 100%;
height: 100%;
object-fit: cover;
}

.shop-t {
font-size: clamp(0.938rem, 0.893rem + 0.19vw, 1.063rem);
font-weight: bold;
border-left: var(--aas-red-color) 6px solid;
padding-left: 8px;
margin-bottom: 16px;
}

.shop-content p {
font-size: 14px;
margin-bottom: 14px;
line-height: 1.7;
}

.common-btn-space{
margin-bottom: clamp(24px, 4vw, 40px);
}

.shop-panel-alert{
padding-left: 16px;
margin-bottom: clamp(24px, 4vw, 40px);
font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
}

.shop-panel-alert li{
list-style-type:disc;
}

.shop-panel-alert li a{
color: var(--aas-blue-color);
text-decoration: underline;
}
.shop-panel-alert li a:hover{
text-decoration: none;
}

@media screen and (max-width: 679px){
.shop-col {
display: flex;
grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
gap: 10px;
width: 100%;
overflow-x: scroll;
white-space: nowrap;
-webkit-overflow-scrolling: touch;
scroll-snap-type: x mandatory;
}
.shop-item {
display: flex;
flex-direction: column;
flex-shrink: 0;
/* width: 310px; */
width: 90%;
box-sizing: border-box;
scroll-snap-align: start;
}
.kyobashi-item {
width: 100%;
}
.shop-img {
display: flex;
align-items: center;
justify-content: center;
flex: 1;
height: 100%;
}

.shop-img img {
max-width: 100%;
max-height: 100%;
object-fit: cover;
}

.shop-content {
display: flex;
flex-direction: column;
flex: 1;
}

.shop-content p {
white-space: pre-line;
}
}
/* エアポート ここまで */


/* ハイウェイ */
.title-bg_highway{
background-image: url(../img/highway_main.png);
}
.highway-wrap{
margin-bottom: clamp(64px,9vw,90px);
}
.servive-title-small{
font-size: clamp(1.125rem, 0.905rem + 0.94vw, 1.75rem);
}

.area-map{
margin-bottom: clamp(24px,3.2vw,32px);
}

.area-map-inner{
display: flex;
flex-direction: column;
background-color: var(--txt-white-color);
padding: 16px 20px;
border-radius: 10px;
}

.area-map-item{
font-weight: bold;
margin-bottom: 12px;
}

.map-item-content{
display: flex;
justify-content: space-between;
align-items: center;
}
@media screen and (max-width: 870px){
.map-item-content {
flex-direction: column;
gap: 10px;
}
}

.map-info{
width: 100%;
}

.map-info dl{
display: flex;
align-items: center;
gap: 24px;
}
@media screen and (max-width: 870px){
.map-info dl{
align-items: flex-start;
}
}

.map-info2 dl {
display: flex;
gap: 24px;
}
@media screen and (max-width: 870px){
.map-info2 dl {
flex-direction: column;
gap: 10px;
}
}

.map-info dl dt,
.map-info2 dl dt{
max-width: 72px;
width: 100%;
font-size: 18px;
}

.map-info dl dd,
.map-info2 dl dd{
font-size: 16px;
}

.map-info2 dl dd{
display: flex;
flex-direction: column;
gap: 10px;
}

.g-map{
display: flex;
width: 100%;
justify-content: flex-end;
gap: 10px;
}
@media screen and (max-width: 870px){
.g-map {
justify-content: flex-start;
flex-direction: column;
}
}

.g-map a{
display: block;
max-width: 220px;
width: 100%;
background-color: var(--txt-white-color);
color: var(--aas-blue-color);
border-radius: 43px;
font-size: 14px;
text-align: center;
border: 1px solid var(--aas-blue-color);
padding: 10px;
position: relative;
transition: all .2s;
}

.g-map a:hover{
color: var(--txt-white-color);
background-color: var(--aas-blue-color);
}

.g-map a::after{
position: absolute;
content: "";
background: url(../img/map-icon.svg) no-repeat;
width: 16px;
height: 20px;
top: 50%;
right: 8%;
transform:translateY(-50%);
transition: all .2s;
}
.g-map a:hover:after{
background: url(../img/map-icon-white.svg) no-repeat;
}

.service-box-flex2 {
display: flex;
gap: 130px;
justify-content: flex-start;
}
@media screen and (max-width: 870px){
.service-box-flex2 {
flex-direction: column;
align-items: center;
gap: 24px;
}
}

.parking-box{
display: inline-block;
background-color: var(--txt-black-color);
color: var(--txt-white-color);
padding: 0 5px;
margin-right: 16px;
}

.service-group{
margin-bottom: clamp(24px, 6.4vw, 64px);
}

.highway-box-space {
margin-bottom: clamp(20px, 4vw, 40px);
}

.highway-title-h5 {
color: var(--aas-blue-color);
font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.35rem);
margin-bottom: 16px;
letter-spacing: 2px;
}

.highway-swiper{
width: 100%;
height: 100%;
overflow: hidden;
}
.highway-swiper-inner{
display: flex;
gap: 24px;
justify-content: space-between;
}
@media screen and (max-width: 640px){
.highway-swiper-inner{
flex-direction: column;
}
}

.swiper2{
position: relative;
height: 100%;
width: 100%;
max-width: 450px;
overflow: hidden;
}
@media screen and (max-width: 870px){
.swiper2{
max-width: 100%;
}
}

.swiper2 .swiper-slide img {
height: auto;
object-fit: cover;
border-radius: 10px;
}
@media screen and (max-width: 870px) {
.swiper2 .swiper-slide img {
aspect-ratio: auto;
height: 100%;
}
}
.swiper2 img{
width:100%;
height:100%;
object-fit: cover;
}

.road-area{
font-size: clamp(1.25rem, 1.162rem + 0.38vw, 1.5rem);
border: 2px solid var(--aas-blue-color);
padding: 5px 16px;
background-color: var(--txt-white-color);
color: var(--aas-blue-color);
width: fit-content;
margin-bottom: 16px;
font-weight: bold;
}

.road-area span{
font-size: clamp(1.125rem, 1.081rem + 0.19vw, 1.25rem);
}
/* ハイウェイ ここまで */

/* ショップ＆フード */
.title-bg_shop-food {
background-image: url(../img/shp-food_main.png);
background-position: top center;
background-size: cover;
background-repeat: no-repeat;
}
/* ショップ＆フード ここまで */

.shop-food{
margin-top: clamp(32px,6.4vw,64px);
}

/* 企業理念 */
.title-bg_philosophy {
background-image: url(../img/philosophy_main.png);
background-position: top center;
background-size: cover;
background-repeat: no-repeat;
}

.philosophy-wrap{
margin: 0 auto;
}

.philosophy-wrap .management-title-h3{
margin-bottom: 32px;
text-align: right;
}

.philosophy-wrap .management-title-h3 h3{
font-size: clamp(1.75rem, 1.409rem + 1.45vw, 2.5rem);
position: relative;
margin-bottom: 0;
padding-left: 40px;
}

.flex-c{
align-items: center;
margin-bottom: clamp(4px,0.8vw,8px);
}

.philosophy_logo{
display: flex;
justify-content: center;
margin-bottom: clamp(24px,6.4vw,64px);
}

.philosophy_item{
    padding-top: clamp(32px,6.4vw,64px);
    padding-bottom: clamp(32px,6.4vw,64px);
    border-bottom: 1px solid var(--txt-black-color);
}
.philosophy_item:last-child{
    border-bottom: none;
}

.philosophy_item-blue{
    background-color:#F2F8FF;
}
.philosophy_item-red{
    background-color:#fff8f8;
}


.management-title-h3 span {
font-family: var(--font-noto);
color: var(--aas-blue-color);
font-size: clamp(1.25rem, 1.136rem + 0.48vw, 1.5rem);
letter-spacing: 1px;
font-weight: bold;
display: inline-block;
margin-bottom: 8px;
}

.philosophy-wrap .management-title-h3 h3 span{
position: relative;
font-size: clamp(1.75rem, 1.409rem + 1.45vw, 2.5rem);
color: var(--txt-black-color);
}

.philosophy-wrap .management-title-h3 h3 span::before{
position: absolute;
content: "";
background: url(../img/title-deco.svg) no-repeat;
width: 33px;
height: 35px;
top: 50%;
left: -40px;
transform: translateY(-50%);
}

.philosophy-copy{
margin-bottom: 0!important;
}

.corporate-item {
display: flex;
justify-content: center;
}

.philosophy-title{
text-align: center;
padding: 0 20px;
font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
}

@media screen and (max-width: 870px) {
}
/* 企業理念 ここまで */

/* NEWS */
.title-bg_news {
background-image: url(../img/news_main.png);
background-position: top center;
background-size: cover;
background-repeat: no-repeat;
}

.page-button{
display: flex;
justify-content: center;
align-items: center;
gap: clamp(6px,0.8vw,8px);
margin-top: clamp(32px,4vw,40px);
width: 100%;
}

.prev-list{
max-width: clamp(68px,10vw,100px);
width: 100%;
text-align: center;
}

.prev,
.next{
position: relative;
border: 1px var(--aas-blue-color) solid;
border-radius:5px ;
color: var(--aas-blue-color);
font-size: 14px;
padding-top: 10px;
padding-bottom: 10px;
padding-left: clamp(10px,3vw,30px);
padding-right: clamp(10px,3vw,30px);
display: block;
max-width: 100px;
width: 100%;
}

.prev::before,
.next::after{
content: "";
position: absolute;
width: 10px;
height: 10px;
border: 2px solid;
border-color: transparent transparent var(--aas-blue-color) var(--aas-blue-color);
top: 50%;
transform: translateY(-50%) rotate(227deg);
}

.prev::before{
left: 8%;
transform: translateY(-50%) rotate(46deg);
}
.next::after{
right: 8%;
}

.num-button{
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
background-color: #E4F2FF;
border-radius: 5px;
width: clamp(36px,3.4vw,45px);
height: clamp(36px,3.4vw,45px);
padding: 5%;
font-size: clamp(0.875rem, 0.831rem + 0.19vw, 1rem);
}

.num-button.num-button-current{
background-color: var(--aas-blue-color);
color: var(--txt-white-color);
}
/* NEWS ここまで */

/* 企業情報 */
.title-bg_information{
background-image: url(../img/company-information_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}

/* 会社概要 */
.title-bg_about{
background-image: url(../img/about_main.png);
background-position: top center;
background-size: cover;
background-repeat: no-repeat;
}

.about-wrap{
max-width: 1000px;
width: 100%;
padding: 0 20px;
margin: 0 auto;
}

.about-item-border{
border-bottom: 1px solid var(--aas-blue-color);
padding: clamp(16px,2.4vw,24px);
}

.about-item-border:nth-of-type(1),
.about-item-border:nth-of-type(2){
border-top: 1px solid var(--aas-blue-color);
border-bottom: none;
}
.about-item-border:nth-of-type(2),
.about-item-border:nth-of-type(3){
border-top: 1px solid var(--aas-blue-color);
}

.about-item{
display: flex;
}

.about-item:nth-of-type(even){
background-color:#f3f8ff ;
}

.about-item dt{
max-width: 200px;
width: 100%;
color: var(--aas-blue-color);
font-weight: bold;
}

.about-item dd{
font-size: 14px;
line-height: 1.8;
flex: 1;
}

.about-button-space{
margin-top: 8px;
margin-inline:0 ;
}

.history-content{
display: flex;
column-gap: 32px;
}
.history-month{
max-width: 70px;
width: 100%;
color: var(--aas-blue-color);
}

.about-list li{
list-style-type: disc;
margin-left: 1rem;
}

.about-list-space{
padding-left: 1rem;
margin-bottom: 8px;
margin-top: 8px;
}

@media screen and (max-width: 870px) {
.about-item {
flex-direction: column;
}
.about-button-space{
margin-inline:0;
}
}
/* 会社概要 ここまで */

/* 沿革 */
.title-bg_history{
background-image: url(../img/history_main.png);
background-position: top left 35%;
background-size: cover;
background-repeat: no-repeat;
}

.history-month-group{
display: flex;
flex-direction: column;
flex: 1;
}

.history-border{
border-bottom: 1px dotted var(--aas-blue-color);
padding-bottom: 8px;
margin-bottom: 8px;
}

.history-list{
padding: 0 0 10px 1em;
}

.history-group{
display: flex;
padding: clamp(16px, 2.4vw, 24px);
align-items: center;
}

.history-group:nth-of-type(even) {
background-color: #f3f8ff;
}

.history-group:nth-of-type(1){
border-top: 1px solid var(--aas-blue-color);

}

.history-group-border{
border-bottom: 1px solid var(--aas-blue-color);
}

.history-year{
font-weight: bold;
color: var(--aas-blue-color);
max-width: 150px;
width: 100%;
}
.history-mounth,
.history-summary{
font-size: 14px;
}
.history-mounth{
color: var(--aas-blue-color);
max-width: 100px;
width: 100%;
}
.history-summary{
width: 100%;
}

.history-mounth-wrap{
display: flex;
flex-direction: column;
flex: 1;
width: 100%;
}
.history-mounth-group{
display: flex;
}
.mounth-group-border{
border-bottom: 1px dotted var(--aas-blue-color);
padding-bottom: 8px;
margin-bottom: 8px;
}

@media screen and (max-width: 870px) {
.history-group {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.history-mounth-group {
flex-direction: column;
}
}


@media screen and (max-width: 870px) {
.history-content {
display: flex;
flex-direction: column;
}
}
/* 沿革 ここまで */

/* 閲覧推奨環境について */
.title-bg_guide {
background-image: url(../img/guide_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}

.guide-wrap{
max-width: 1000px;
width: 100%;
margin: 0 auto;
padding: 0 20px;
}

.guide-lead-txt{
border-bottom: solid 1px #E6E6E6;
padding-bottom: clamp(32px,6.4vw,64px);
margin-bottom: clamp(32px,6.4vw,64px);
line-height: 1.8;
}

.guide-item{
border-bottom: 1px solid #E6E6E6;
padding-bottom: clamp(32px,6.4vw,64px);
margin-bottom: clamp(32px,6.4vw,64px);
line-height: 1.8;
}

.guide-item:last-child{
border: none;
padding-bottom: 0;
margin-bottom: 0;
}

.guide-h3 {
    margin-bottom: 16px;
}

.guide-h3 h3 {
font-size: clamp(1.125rem, 1.037rem + 0.38vw, 1.375rem);
position: relative;
margin-bottom: 16px;
padding-left: 40px;
width: fit-content;
}

.guide-h3 h3::before {
content: "";
position: absolute;
background: url(../img/title-deco.svg) no-repeat;
width: 33px;
height: 36px;
top: 46%;
left: 0;
transform: translateY(-50%);
}

.browser-content{
display: grid;
grid-template-columns: repeat( auto-fill, minmax(228px,1fr) );
gap: 16px;
}

.browser-panel{
background-color: #EFF7FF;
display: flex;
flex-direction: column;
align-items: center;
padding: 16px;
gap: 8px;
}

.browser-txt{
line-height: 1.5;
}

.browser-link{
transition: all .8s;
font-size: 14px;
text-align: center;
}

.browser-link:hover{
color: var(--aas-blue-color);
box-shadow: 2px 2px 8px #D2E8FF;
}

.browser-alert{
font-size: 14px;
margin-top: 8px;
display: inline-block;
}

@media screen and (max-width: 527px) {
.title-bg_guide {
background-position: bottom left 45%;
}
.browser-content{
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
}
/* 閲覧推奨環境について ここまで */


/* サイトご利用に関して */
.title-bg_notice {
background-image: url(../img/notice_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}
.notice-list{
padding-top: 24px;
}
.notice-list li{
list-style-type: disc;
margin-left: 1em;
}

.notice-list li:last-of-type{
margin-bottom: 0;
}

.notice-num-list{
list-style: none;
counter-reset: number;
}

.notice-num-list li {
position: relative;
padding-left: 2em;
margin-bottom: 16px;
}
.notice-num-list li:last-of-type{
margin-bottom: 0;
}
.notice-num-list li::before {
counter-increment: number;
content: '（' counter(number) '）';
position: absolute;
left: 0;
}
/* サイトご利用に関して ここまで */

/* 個人情報保護方針 */
.title-bg_privacy {
background-image: url(../img/privacy_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}
.privacy-company-info{
border-top: dotted 1px #E6E6E6;
margin-top: 24px;
padding-top: 24px;
}
.company-info-txt{
    margin-bottom: 16px;
}

.privacy-company-name{
font-weight: bold;
}

.company-info-item {
display: flex;
gap: 10px;
align-items: center;
font-size: 14px;
margin-bottom: 5px;
margin-top: 8px;
}

.company-info-item dt{
max-width: 100px;
width: 100%;
background-color: #6d6b6b;
color: var(--txt-white-color);
padding: 0 8px;
text-align: center;
}

.aas-mail {
display: block;
background-color: var(--aas-blue-color);
padding: 10px 16px 10px 45px;
border-radius: 5px;
color: var(--txt-white-color) !important;
position: relative;
margin-top: 8px;
width: fit-content;
}

.aas-mail::before {
content: "";
position: absolute;
background: url(../img/mail.svg) no-repeat;
width: 18px;
height: 14px;
top: 50%;
transform: translateY(-50%);
left: 14%;
}
.aas-mail:hover{
opacity: .8;
}
.mail-alert{
font-size: 12px;
}
@media screen and (max-width: 420px){
.company-info-item {
flex-direction: column;
align-items: flex-start;
gap: 5px;
}
} 
/* 個人情報保護方針 ここまで */

/* 個人情報保護方針 2025年4月1日改訂版 */
.privacy-guidelines{
border-bottom: solid 1px #E6E6E6;
padding-bottom: clamp(32px,6.4vw,64px);
margin-bottom: clamp(32px,6.4vw,64px);
}
.privacy-lead-txt{
margin-bottom: clamp(32px,6.4vw,64px);
line-height: 1.8;
}
.policy-list{
list-style-type: decimal!important;
padding-left: 1.5em;
}

.list-margin{
margin-left: 1em;
}

.policy-list li{
list-style-type: decimal!important;
margin-bottom: 1em;
}

.policy-list li ul li{
list-style-type: disc!important;
margin-bottom: 0;
padding-top: 0;
margin-left: 1em;
}

.privacy-day{
text-align: right;
line-height: 1.8;
}

.new-privacy-txt{
margin-bottom: clamp(16px,2.4vw,24px);
}

.policy-company-info{
display: flex;
flex-direction: column;
font-size: 14px;
margin-bottom: 5px;
margin-top: 8px;
}

.policy-company-info dt, .company-info-item dd {
display: block;
margin: 5px 0;
}

.policy-company-info dt {
max-width: 100px;
width: 100%;
background-color: #6d6b6b;
color: var(--txt-white-color);
padding: 0 8px;
text-align: center;
}

.new-privacy-info{
margin-bottom: 24px;
}
/* 個人情報保護方針 2025年4月1日改訂版 */

/* サイトマップ */
.title-bg_sitemap {
background-image: url(../img/sitemap_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}
.sitemap-wrap{
max-width: 1000px;
width: 100%;
margin: 0 auto;
padding: 0 20px;
}

.sitemap-group{
margin-bottom: clamp(24px,4vw,40px);
}

.sitemap-title{
border-bottom: solid 1px #E6E6E6;
font-size: clamp(1.125rem, 1.037rem + 0.38vw, 1.375rem);
position: relative;
margin-bottom: 16px;
}

.sitemap-content{
display: grid;
grid-template-columns: repeat( auto-fill, minmax(300px,1fr) );
gap: 8px;
}

.sitemap-service{
display: inline-block;
border-left: var(--aas-blue-color) solid 5px;
border-top: solid 1px #E6E6E6;
border-right: solid 1px #E6E6E6;
border-bottom: solid 1px #E6E6E6;
padding: 1% 3%;
width: 100%;
position: relative;
}

.sitemap-service:hover{
color: var(--aas-blue-color);
}

.sitemap-service::after{
content: "";
position: absolute;
width: 10px;
height: 10px;
border: 2px solid;
border-color: transparent transparent #333 #333;
top: 50%;
right: 6%;
transform: translateY(-50%) rotate(227deg);
transition: all .3s;
}

.sitemap-service:hover:after{
right: 4%;
border-color: transparent transparent var(--aas-blue-color) var(--aas-blue-color);
}

.sitemap-list{
margin-left: 1rem;
display: flex;
flex-direction: column;
margin: 16px 0 0;
}
.sitemap-list li{
color: var(--aas-blue-color);
position: relative;
margin-bottom: 8px;
padding-left: 1rem;
}

.sitemap-list li:last-of-type{
margin-bottom: 0;
}

.sitemap-list a:hover{
text-decoration: underline;
}

.sitemap-list li::before{
content: "";
position: absolute;
width: 10px;
height: 10px;
border: 2px solid;
border-color: transparent transparent var(--aas-blue-color) var(--aas-blue-color);
top: 50%;
left: 0;
transform: translateY(-50%) rotate(227deg);
}

@media screen and (max-width: 662px) {
.sitemap-content {
grid-template-columns: 1fr 1fr;
}
}

@media screen and (max-width: 440px) {
.sitemap-content {
grid-template-columns: 1fr
}
}

/* 事業所一覧 */
.title-bg_access {
background-image: url(../img/access_main.png);
background-position: top right;
background-size: cover;
background-repeat: no-repeat;
}
.access-wrap{
padding-top: clamp(16px,2.4vw,24px);
padding-bottom: clamp(16px,2.4vw,24px);
}
.search-wrap{
display: flex;
flex-direction: column;
gap: 10px;
}
.access-heading{
color: var(--aas-blue-color);
font-weight: bold;
margin-bottom: 8px;
}
.search-content{
display: flex;
gap: 20px;
width: 100%;
}
.search-root {
background: var(--aas-blue-color);
color: var(--txt-white-color);
text-align: center;
position: relative;
padding: 1% 2%;
height: 30px;
display: flex;
align-items: center;
max-width: 190px;
width: 100%;
}

.search-root:before {
display: block;
content: "";
position: absolute;
top: 0;
right: -26px;
width: 0;
height: 0;
border: 15px solid transparent;
border-left: 11px solid var(--aas-blue-color);
}

.search-box{
display: grid;
grid-template-columns: 300px 100px;
gap: 8px;
}

.address{
width: 100%;
max-width: 100%;
height: 30px;
padding-left: 8px;
}

.select-station{
height: 30px;
width: 100%;
max-width: 100%;
padding-left: 5px;
}

.select-station-content{
width: 100%;
}

.search-button-group{
max-width: 110px;
width: 100%;
}

.search-button {
display: flex;
background-color: var(--aas-red-color);
color: var(--txt-white-color);
height: 30px;
border-radius: 5px;
align-items: center;
justify-content: center;
}

.map-area{
max-width: 100%;
width: 100%;
/* padding-bottom: clamp(16px, 2.4vw, 24px); */
/* margin-inline: auto; */
}

.root-hotarugaike{
text-align: center;
font-weight: bold;
color: var(--aas-blue-color);
margin-bottom: clamp(8px, 1.6vw, 16px);
}
.root-hotarugaike p{
font-weight: normal;
color: var(--txt-black-color);
font-size: 14px;
}

.root-hotarugaike2{
margin-top: 8px;
border-top: dotted 1px var(--txt-black-color);
padding-top: 8px;
}

@media screen and (max-width: 660px) {
.map-area{
width: 100%;
}
}

.map-area:nth-of-type(2){
padding-top: clamp(16px, 2.4vw, 24px);
}

.map-area iframe{
width: 100%;
}
.root-map{
color: var(--aas-blue-color);
font-weight: bold;
padding: clamp(16px, 2.4vw, 24px);
}

/* 事業所一覧 ここまで */

/* 社長メッセージ */
.title-bg_message {
background-image: url(../img/message_main.png);
background-position: top center;
background-size: cover;
background-repeat: no-repeat;
}
.message-wrap{
display: flex;
justify-content: center;
padding: 0 100px;
gap: 50px;
}

.message-content{
max-width: 1000px;
width: 100%;
}

.area-message-title {
font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);
color: var(--aas-blue-color);
margin-bottom: clamp(16px,2.4vw,24px);
}

.area-message-lead {
font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
line-height: 2.2;
}

.president{
text-align: right;
margin-top: 16px;
}

.area-message-image {
width: 40%;
margin-bottom: clamp(24px,4vw,40px);
}
.message-img{
border-radius: 10px;
width: 100%;
filter: drop-shadow(10px 10px 0 rgba(255,215,215,0.6));
}

.message-img-shadow{
position: relative;
}

.message-img-shadow::after {
content: "";
position: absolute;
background: var(--gradient-color);
opacity: 0.1;
border-radius: 10px;
width: 70%;
height: 80%;
top: 23%;
right: -2%;
z-index: -1;
}

@media screen and (max-width: 870px) {
.message-wrap {
flex-direction: column;
gap: 24px;
padding: 0 20px;
flex-direction: column-reverse;
}
.area-message-image {
width: 100%;
}
.message-content{
max-width: 100%;
width: 100%;
}
}

.not-found{
margin-bottom: clamp(24px,6.4vw,64px);
}

.not-found-title{
border-bottom: solid 1px #E6E6E6;
font-size: clamp(1.125rem, 1.037rem + 0.38vw, 1.375rem);
margin-bottom: 16px;
text-align: center;
}

.post-heading{
color: var(--txt-white-color);
font-size: clamp(1.125rem, 1.081rem + 0.19vw, 1.25rem);
background-color: var(--aas-blue-color);
padding: 2% 2%;
margin-bottom: 24px;
}

.news-detail{
display: flex;
gap: 20px;
}

.news-detail a{
display: block;
color: var(--aas-blue-color);
padding: 2% 8%;
border: 1px solid var(--aas-blue-color);
border-radius: 10px;
position: relative;
}

.news-prev-button::before,
.news-next-button::after{
content:"";
position: absolute;
width: 10px;
height: 10px;
border: 2px solid;
border-color: transparent transparent var(--aas-blue-color) var(--aas-blue-color);
top: 50%;
transform:translateY(-50%) rotate(227deg);
transition: all .2s;
}

.news-prev-button::before{
left: 5%;
transform:translateY(-50%) rotate(43deg);
}

.news-prev-button:hover:before{
left: 3%;
}

.news-next-button::after{
right: 5%;
}

.news-next-button:hover:after{
right: 3%;
}
@media screen and (max-width: 640px) {
.news-detail{
flex-direction: column;
}
}












.copyright{
background-color: var(--aas-blue-color);
color: var(--txt-white-color);
text-align: center;
font-size: 12px;
padding: 24px 0;
margin-top: 24px;
}

/*トップへ戻るボタン*/
.top-wrap{
position: relative;
z-index: 0;
display: inline-block;
}

.top-wrap::before{
content: "";
position: absolute;
width: 30px;
height: 30px;
border: 2px solid;
border-color: transparent transparent #9f4242 #611f1f;
bottom: 10px;
left: 0px;
z-index: 1;
}

.topButton {
display: none;   /*非表示*/
position: fixed; /*位置を固定*/
bottom: 5%;
right: 5%;
width: clamp(50px,7vw,70px);
height: clamp(50px,7vw,70px);
background-color:var(--aas-blue-color);
font-size: 20px;
color: white;
border-radius: 50%;
cursor: pointer;
border: var(--txt-white-color) solid 2px;
border-radius: 50%;
z-index: 999999;
}

.topButton::before{
content: "";
position: absolute;
width: clamp(15px,3vw,30px);
height: clamp(15px,3vw,30px);
border: 2px solid;
border-color: transparent transparent #ffffff #ffffff;
top: 61%;
left: 50%;
transform: translateY(-50%) translateX(-50%) rotate(134deg);
z-index: 1;
}

.topButton:hover {
font-weight: bold;
background-color:rgba(1, 84, 167,.8);
}

/* @media screen and (max-width: 640px){
.topButton {
width: 50px;
height: 50px;
}

.topButton::before{
width: 15px;
height: 15px;
}
} */