/**********
general
**********/
:root {
    --base-color: #2A2F4E;
    --hover-color: #263ECA;
    --bg-grad: linear-gradient(to right, #E04793 0%, #0E4D96 50%, #EF7D1C 100%);
    --btn-grad: linear-gradient(to right, #FBECF4 0%, #E7ECF4 50%, #FDF1E8 100%);
    --dark-grad: linear-gradient(to right, #492C3B 0%, #212D3B 50%, #4B3623 100%);
    --dark-grad2: linear-gradient(to right, #5D173B 0%, #0D3767 50%, #764708 100%);
    --btn-grad: linear-gradient(to right, #4B5FD3 0%, #253ECA 100%);
    --btn-grad2: linear-gradient(to bottom, #4B5FD3 0%, #253ECA 100%);
    --btn-grad3: linear-gradient(to left, #4B5FD3 0%, #253ECA 100%);
    --rb-color: #263ECA;
}
html {scroll-behavior: smooth; overflow-x: hidden;}
body {
    font-family: "source-han-sans-japanese", sans-serif;
    line-height: 1.5;
    color: var(--base-color);
    position: relative;
    overflow-x: hidden;
    background-color:#F6F7FA;
}
main {position: relative;}
h1, h2, h3, h4, p {margin: 0;}

img {vertical-align: middle;}
dd,dl,dt,li,ol,ul {
list-style-type: none;
  border:0;
  outline:0;
  vertical-align:baseline;
  background:transparent;
  padding: 0;
  margin: 0;
}
a{
    color: var(--base-color);
}
a:hover{
    color: var(--hover-color);
}
a {transition: 0.3s;}
a[href^="tel"] {cursor: default;}
.int {font-family: interstate-condensed, sans-serif;}
.flex {display: flex; flex-wrap: wrap;}
.ib {display: inline-block;}
span.indent {
    padding-left: 1em;
    text-indent: -1em;
    display: inline-block;
}
.inner1 {
    width: min(1240px, 80%);
    margin: 0 auto;
}
.inner2 {
    width: min(1366px, 85%);
    margin: 0 auto;
}
.elementor-element.e-con {padding: 0 !important;}
.elementor-element.elementor-widget {width: 100%;}
.e-con,
.e-con-inner {
    padding: 0;
    margin: initial !important;
    max-width:100% !important;
    padding-block-end: initial !important;
    padding-block-start: initial !important;
    text-align: initial !important;
}
.e-con>.e-con-inner {
gap:0 !important;
}
@media screen and (min-width: 1025px) {
    a[href^="tel"] {pointer-events: none;}
}
@media screen and (max-width: 720px) {
    .inner1, .inner2 {width: 90%;}
}
.rb{
    color: var(--rb-color);
}
/**********
fadein
**********/
.fadeswhich0340 {
    transition: .8s;
    opacity: 0;
    transform: translate(0px, 40px);
}

.fadeswhich0340.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}
.fadeswhich0340_d {
    transition: .8s;
    transition-delay: .3s;
    opacity: 0;
    transform: translate(0px, 40px);
}

.fadeswhich0340_d.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}

.fadeswhich0380 {
    transition: .3s;
    opacity: 0;
    transform: translate(0px, 80px);
}

.fadeswhich0380.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}

.fadeswhich0680 {
    transition: .6s;
    opacity: 0;
    transform: translate(0px, 80px);
}

.fadeswhich0680.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}
.fadeswhich06 {
    transition: .8s;
    opacity: 0;
}

.fadeswhich06.fadeIn {
    opacity: 1;
}
.sub-midashi-jp,.sub-midashi-en {
animation: sub_midashi_ani 0.8s ease 0.5s 1 normal backwards;
}
@keyframes sub_midashi_ani {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/**********
parts
**********/
/*ヘッダー*/
header#site-header{
width:100%;
max-width:100%;
padding-block-end: 0rem;
padding-block-start: 0rem;
padding-inline-end: 0px;
padding-inline-start: 0px;
}
/*右上メニューリンク*/
header nav{
  background: #fff;
  border-radius: 4px;
  /*width:744px;*/
  width:834px;
  height:56px;
  align-items: center;
  position: fixed;
  z-index: 9999;
  right: 42px;
  top:40px;
}
.header-main-menu {
    list-style-type: none;
    padding: 0;
	/*width: 543px;*/
	width: 633px;
  justify-content: space-between;
  margin-left: 34px;
  margin-right: 34px;
}
.header-nav-wrapper .header-main-menu {
    display: flex;
    align-items: center;
}
.header-main-menu a {
font-size:14px;
font-weight:bold;
}
header nav .menu-box{
display:flex;
width:128px;
height:40px;
background: var(--btn-grad);
  border-radius: 4px;
  align-items: center;
  cursor: pointer;
}
header nav .menu-box .menu-text{
color:#fff;
font-size:13px;
font-weight:bold;
margin-left:17px;
}
header nav .menu-box .menu-icon {
    width: 32px;
    height: 12px;
    position: relative;
    margin-left:30px;
}
header nav .menu-box .menu-icon span {
    width: 32px;
    height: 2px;
    background-color: rgba(255,255,255,0.4);
    display: inline-block;
    transition: 0.4s;
    position: absolute;
}
header nav .menu-box:hover .menu-icon {
    height: 16px;
}
header nav .menu-icon span:nth-child(1) {top: 0;}
header nav .menu-icon span:nth-child(2) {top: 5px;}
header nav .menu-icon span:nth-child(3) {top: 10px;}
header nav .menu-box:hover .menu-icon span:nth-child(1) {top: 0;}
header nav .menu-box:hover .menu-icon span:nth-child(2) {top: 7px;}
header nav .menu-box:hover .menu-icon span:nth-child(3) {top: 14px;}
.header-main-menu-item {
    position: relative;
}
.header-main-menu-item a {
    position: relative;
    display: flex;
    overflow: hidden;
    gap: 0 4px;
    line-height: 1;
}
.header-menu-jp{
transition: .3s cubic-bezier(.4,.4,0,1);
display:block;
display: flex;
}
.header-menu-jp2{
position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, 12px);
transition: .3s cubic-bezier(.4,.4,0,1);
width: 100%;
  text-align: center;
display: flex;
color:#263ECA;
}
.header-main-menu-item a:hover .header-menu-jp {
    transform: translateY(-20px);
}
.header-main-menu-item a:hover .header-menu-jp2 {
    transform: translate(-50%, -8px);
}

.site-logo_outer{
  position: absolute;
  top: 0;
  background-image: url(img/site-logo_bg.svg);
background-position: top center;
  background-repeat: no-repeat;
width:360px;
height:136px;
  z-index:999;
}
.site-logo_inner{
width:100%;
}
.site-logo_inner a{
padding-left: 42px;
padding-top:40px;
width:100%;
}

/******************************************
 全画面メニュー 最終統合CSS
 (文字：先頭のみ大文字 / 位置固定 / Close時ホバー50%)
******************************************/

/* --- 1. 全画面メニュー本体 --- */
.full-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(42,47,78,0.8);
    z-index: 9998; /* nav(9999)の背面に配置 */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.full-menu.is-active {
    opacity: 1;
    visibility: visible;
}

/* メニュー内のリンク一覧 */
.full-menu-inner {
  width: 100%;
}
.full-menu-box_outer {
  background: linear-gradient(45deg, rgb(60, 136, 250) 0%, rgba(60, 136, 250, 0.15) 25%, rgb(255, 255, 255) 50%, rgba(60, 136, 250, 0.15) 75%, rgb(60, 136, 250) 100%);
  display: flex;
  height: 100vh;
  width: 50%;
  margin-left: 50%;
  background-color: #fff;
  border-top-left-radius: 20px;    /* 左上 */
  border-bottom-left-radius: 20px; /* 左下 */
}
.full-menu-box_item {
  display: flex;
  width: 680px;
  margin-top: 128px;
  justify-content: space-between;
  margin-left: 80px;
  overflow-y: auto;
  margin-bottom: 100px;
}
.full-menu_link{
  margin-top:40px;
}
.full-menu_link a {
  font-size: 24px;
  font-weight: bold;
}
.full-menu_link.first{
  margin-top:0px;
}
.full-menu_link-s{
margin-top:20px;
margin-left:20px;
}
.full-menu_link-s a{
font-size:16px;
font-size:24px;
font-weight: bold;
}
.full-menu_link-sub{
margin-top:20px;
}
.full-menu_link-sub.first{
margin-top:40px;
margin-top:100px;
}
.full-menu_link-sub a{
font-size:16px;
font-weight:bold;
}
@media screen and  (min-width: 1025px) and (max-width: 1600px) {
	.full-menu-box_outer {
	width: 65%;
	margin-left: 35%;
	}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
	.full-menu-box_outer {
	width: 90%;
	margin-left: 10%;
	}
.full-menu-box_item {
  width: 100%;
  margin-top: 100px;
  margin-left: 40px;
  margin-right: 40px;
}
}
@media screen and (max-width: 720px) {
.full-menu-box_outer {
  width: 100%;
  margin-left: 0px;
  background-color: #fff;
  border-top-left-radius: 0px;    /* 左上 */
  border-bottom-left-radius: 0px; /* 左下 */
}
body.is-fixed .site-logo_outer{
z-index: 9999;
position: fixed;
}
.full-menu-box_item {
width: 100%;
margin-left: 24px;
margin-right: 24px;
margin-left: 62px;
margin-right: 12px;
flex-direction: column;
margin-top: 112px;
}
.full-menu-box_R {
  margin-top: 40px;
}
header nav .menu-box.is-active:hover {
    opacity: 1 !important;
}
.full-menu_link-sub a {
letter-spacing: -0.5px;
}
}
@media screen and (max-width: 400px) {
.full-menu-box_item {
margin-left: 45px;
}
}
/* --- 2. ナビゲーション固定制御（開いた時） --- */
header nav.is-open {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: none !important;
    /* widthは変更せず元の744px等を維持して位置を固定 */
}

/* 開いている間、背後の通常メニューを透明にする（位置ズレ防止） */
header nav.is-open .header-main-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* --- 3. ボタンのテキスト切り替え (Menu / Close) --- */

/* 元のHTMLテキストを隠し、擬似要素で表示 */
header nav .menu-box .menu-text {
    font-size: 0 !important;
}

header nav .menu-box .menu-text::before {
    content: "Menu"; /* 先頭のみ大文字 */
    font-size: 13px;
    color: #fff;
    transition: opacity 0.3s ease;
}

/* メニュー展開時（is-active）のテキスト */
header nav .menu-box.is-active .menu-text::before {
    content: "Close"; /* 先頭のみ大文字 */
}

/* Closeボタン時のホバー：50%不透明 */
header nav .menu-box.is-active:hover {
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

/* --- 4. ボタン内部のアイコン固定（is-active時） --- */
header nav .menu-box.is-active .menu-icon {
    height: 12px !important; /* ホバーで高さを変えない */
}

header nav .menu-box.is-active .menu-icon span {
    background-color: #fff;
    top: 5px !important; /* ×印の中心を固定 */
    transition: transform 0.4s, top 0.4s;
}

header nav .menu-box.is-active .menu-icon span:nth-child(1) {
    transform: rotate(45deg);
}

header nav .menu-box.is-active .menu-icon span:nth-child(2) {
    opacity: 0;
}

header nav .menu-box.is-active .menu-icon span:nth-child(3) {
    transform: rotate(-45deg);
}

/* --- 5. 通常時（閉じてる時）のホバーアクション --- */
header nav .menu-box:not(.is-active):hover .menu-icon {
    height: 16px;
}
header nav .menu-box:not(.is-active):hover .menu-icon span:nth-child(2) { top: 7px; }
header nav .menu-box:not(.is-active):hover .menu-icon span:nth-child(3) { top: 14px; }

/* --- 6. 補助設定 --- */
body.is-fixed {
    overflow: hidden;
}

/*@media screen and (max-width: 1170px) {*/
@media screen and (max-width: 1240px) {
    header nav.is-open {
        width: 128px !important;
        background: transparent !important;
    }
}

/*@media screen and (max-width: 1170px) {*/
@media screen and (max-width: 1240px) {
	header nav {
	background: initial;
	width: 128px;
	}
	.header-main-menu {
	display: none !important;
	}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
	.site-logo_outer {
	height: 93px;
	background-position: bottom center;
	}
	.site-logo_inner a {
	padding-top: 15px;
	}
	header nav {
	height: 40px;
	top: 26px;
	}
}

@media screen and (max-width: 720px) {
	.site-logo_outer {
	width: 184px;
	width: 210px;
  height: 72px;
  background:#F6F7FA;
  border-radius: 0 0 10px 0;
	}
	.site-logo_inner a {
	padding-top: 10px;
  padding-left: 12px;
	}
	.site-logo_inner a img{
	width:160px;
	width:184px;
	}
	header nav {
	height: 40px;
	right: 24px;
  top: 21px;
	}
}
/* 見出し */

/*スライダー*/
.a-slider-outer {
    position: relative;
}
.a-slide {
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 3s ease-out;
    background-position: center;
}

.a-slide.show {
    opacity: 1;
}

.a-slide.slide-1 {
    background-image: url(img/slide_lavender.webp);
}
.a-slide.slide-2 {
    background-image: url(img/slide_akarenga.webp);
}
.a-slide.slide-3 {
    background-image: url(img/slide_ryuhyo.webp);
}
.a-slide.slide-4 {
    background-image: url(img/slide_hakodate.webp);
}
.a-slide.slide-5 {
    background-image: url(img/slide_noboribetsu.webp);
}
.a-slide.slide-6 {
    background-image: url(img/slide_otaru.webp);
}
.slider-pagination-wrapper {
    position: absolute;
    width: 96px;
    height:240px;
    height:360px;
    bottom: 438px;
    bottom: 338px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
}

.slider-pagination {
    background-color: #DFE3F5;
    opacity: 1;
    transition: opacity 0.3s;
    width: 2px;
    height: 48px;
    border-radius: 0px;
}

.slider-pagination.show {
    opacity: 1;
    background-color: #263ECA;

}
.a-subtop {
    aspect-ratio: 114 / 73;
    aspect-ratio: 48 / 25;
    position: relative;
    overflow: hidden;
    width: 100%;
    display: flex;
    margin-right: 0px;
  margin-left: 96px;
  height: 1168px;
  height: 1000px;
}
.mv-text_outer {
  position: absolute;
  bottom: 0;
  background-image: url(img/mv-text_bg.svg);
width:615px;
height:159px;
background-position: top center;
  background-repeat: no-repeat;
}
.mv-text_inner {
font-size:40px;
font-weight:bold;
margin-left:42px;
flex-direction: column;
}
.mv-text_inner .db{
margin-top:22px;
line-height: 100%;
}
.mv-text_inner .rb{
margin-top:45px;
margin-left:101px;
line-height: 100%;
}
@media screen and (max-width: 720px) {
	.a-subtop {
	margin-left: 24px;
	aspect-ratio: 12 / 5;
	height: 800px;
	height: 600px;
	}
	.a-slide{
	background-position: 65%;
	}
	.slider-pagination-wrapper{
	display:none;
	}
	.mv-text_outer {
	background-image: url(img/mv-text_bg-sp.svg);
	width: 100%;
  height: 113px;
  background-position: bottom left;
	}
	.mv-text_inner {
  font-size: 28px;
  margin-left: 24px;
}
.mv-text_inner .db {
  margin-top: 20px;
}
.mv-text_inner .rb {
  margin-top: 20px;
  margin-left: 20px;
  }
}

/*TOP*/
.top-aboutus-wrap{
width: 1392px;
margin: 0 auto;
border-top:1px solid #2A2F4E;
margin-top:160px;
}
@media screen and (max-width: 1500px) {
.top-aboutus-wrap{
width:calc(100% - 42px - 42px);
}
}

.top-midashi-box{
margin-top:48px;
}
.top-midashi-jp, .sub-midashi-jp{
font-size:13px;
font-size:16px;
font-weight:bold;
position: relative;
padding-left:32px;
}
.top-midashi-jp::before, .sub-midashi-jp::before{
  width: 24px;
content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-image: url(img/top-midashi-jp_icon.svg);
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
.top-midashi-en, .sub-midashi-en{
font-size:88px;
font-weight:bold;
}
.top-aboutus-item{
margin-top:80px;
width: 100%;
justify-content: space-between;
}
.top-aboutus-photo .span{
border-radius: 10px;
  overflow: hidden;
  display: inline-block;
}
.top-aboutus-text_catch{
font-size:40px;
font-weight:bold;
letter-spacing: -0.5px;
}
.top-aboutus-text_desc{
margin-top:80px;
font-size:18px;
/* 親要素に少し余白を作って、突き出した「・」が消えないようにする */
  padding-left: 1em;
}
.top-aboutus-text_desc .bullet{
display: inline-block;
  width: 1em;      /* 「・」の幅を1文字分に固定 */
  margin-left: -1em; /* 固定した幅の分だけ左に突き出させる */
  vertical-align: top; /* 改行した時にズレないように上揃え */
}
.top-aboutus-text_desc .no-bullet {
  margin-left: -1em;
  display: inline-block;
}
.top-aboutus-link.top-more-link{
  margin-top:40px;
}
.top-aboutus-text_catch br.spbr2{
display:none;
}
@media screen and (min-width: 1406px) {
.top-aboutus-photo {
  width: 696px;
}
.top-aboutus-text {
  width: 598px;
}
}
@media screen and  (min-width: 721px) and (max-width: 1405px) {
.top-aboutus-item {
gap: 30px;
}
.top-aboutus-photo {
  width: 40%;
}
.top-aboutus-text {
  width: calc(60% - 30px);
}
.top-aboutus-text_catch {
  font-size: 35px;
}
.top-aboutus-text_desc {
  margin-top: 40px;
}

}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.top-aboutus-text_catch {
  font-size: 23px;
}
.top-aboutus-text_desc {
  font-size: 16px;
}
.top-aboutus-text_desc br.tbbr{
display:none;
}
}
@media screen and (min-width: 721px) {
.top-snow-bg_sp, .top-bigtext-wrap_sp, .top-aboutus-text_desc br.spbr2{
display:none;
}
}
@media screen and (max-width: 720px) {
	.top-aboutus-wrap{
	width:calc(100% - 24px - 24px);
	margin-top:60px;
	}
	.top-aboutus-item {
	margin-top: 40px;
	}
	.top-aboutus-photo{
	display:none;
	}
	.top-aboutus-text_catch {
	font-size: 24px;
	font-size: 23px;
	}
	.top-aboutus-text_desc br.tbbr{
	display:none;
	}
	.top-aboutus-text_catch br.spbr2, .top-aboutus-text_desc br.spbr2{
	display:inline-block;
	}
	.top-bigtext-wrap, .top-snow-bg, .top-snow-box-bg{
	display:none !important;
	}
	.top-aboutus-text_desc {
	margin-top: 40px;
	font-size: 14px;
	font-size: 16px;
	}
	.top-aboutus-link a {
	width: 200px !important;
	height: 48px !important;
	justify-content: flex-start !important;
	}
	.top-aboutus-link a .link-text {
	font-size: 14px;
	font-size: 16px;
	width: 160px;
	text-align: center;
	}
}



/* top-more-link */
.top-more-link {
display: flex;
  justify-content: flex-end;
  position: relative;
}
.top-more-link a{
display:flex;
width:328px;
height:72px;
background: var(--btn-grad);
  border-radius: 4px;
  align-items: center;
  cursor: pointer;
  justify-content: center;
}
.link-text {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
}
.link-arrow-box {
  background: rgba(255,255,255,0.2);
  width: 32px;
  height: 32px;
  border-radius: 5px;
  position: absolute;
  right: 20px;
  text-align: center;
  overflow:hidden;
}
.top-more-link a:hover .link-arrow-box {
background: #ffffff;
  transform: scale(1.22, 1.22);
  transition-duration: 800ms;
}
/*.top-aboutus-link a:hover .link-arrow-box .link-arrow_w{
  height: auto;
  width: calc(100% - (8px * 0));
  max-width: calc(100% - (8px * 0));
}
.top-aboutus-link a:hover .link-arrow-box .link-arrow_rb{
  height: auto;
  width: calc(100% - (8px * 0));
  max-width: calc(100% - (8px * 0));
}*/
.top-more-link a:hover .link-arrow-box .link-arrow_w{
  transform: translate(19px, 0px);
  transition-duration: 800ms;
}
.link-arrow_rb {
  position: absolute;
  top: 9px;
  left: -15px;
}
.top-more-link a:hover .link-arrow-box .link-arrow_rb{
  transform: translate(25px, 0px);
  transition-duration: 800ms;
}
.link-arrow-box{
display:flex;
align-items: center;
justify-content: center;
}
.link-arrow_w {
  width: 12px;
  height: 12px;
}
/*top-link*/

a.top-link-item_box:hover .link-arrow-box {
background: #ffffff;
  transform: scale(1.22, 1.22);
  transition-duration: 800ms;
}
a.top-link-item_box:hover .link-arrow-box .link-arrow_w{
  transform: translate(19px, 0px);
  transition-duration: 800ms;
}
a.top-link-item_box:hover .link-arrow-box .link-arrow_rb{
  transform: translate(25px, 0px);
  transition-duration: 800ms;
}


/*top-snow*/
.top-snow-wrap{
width: 100%;
margin: 0 auto;
  position: relative;
}
.top-snow-bg {
  position: absolute;
  display: flex;
  justify-content: center;
  width: 100%;
  z-index: -9999;
  bottom: 0;
  height: 1122px;
  height: 58.438vw;
}
@media screen and (max-width: 1335px) {
.top-snow-bg {
bottom: -5vw;
}
}
.top-snow-box-bg {
	width: 1820px;
	height: 662px;
	width: 94.792vw;
	height: 34.479vw;
	position: absolute;
	display:flex;
}
.top-snow-photo_item{
outline: rgb(38, 62, 202) solid 4px;
  position: relative;
  z-index: 1;
  height: 100%;
  margin-right: 28px;
  margin-right: 1.458vw;
}
.top-snow-photo_item::before {
  content: "";
  position: absolute;
  inset: 20px -28px -28px 20px;
  inset: 1.042vw -1.458vw -1.458vw 1.042vw;
  border: 4px solid rgb(38, 62, 202);
  z-index: -1;
}

.top-snow-photo_item.snow-photo1 {
  width: 448px;
  height: 448px;
  width: 23.333vw;
  height: 23.333vw;
  position: absolute;
  left: 101px;
  top: 105px;
  left: 5.26vw;
  top: 5.469vw;
}
.top-snow-photo_item.snow-photo2 {
  position: absolute;
  width: 272px;
  height: 272px;
  left: 668px;
  top: 61px;
  width: 14.167vw;
  height: 14.167vw;
  left: 34.792vw;
  position: absolute;
  top: 3.177vw;
}
.top-snow-photo_item.snow-photo3 {
  position: absolute;
  width: 536px;
  height: 536px;
  right: 320px;
  top: 160px;
  width: 27.917vw;
  height: 27.917vw;
  right: 16.667vw;
  top: 8.333vw;
}
.top-snow-photo_item.snow-photo4 {
  position: absolute;
  width: 272px;
  height: 272px;
  right: -120px;
  top: 300px;
  width: 14.167vw;
  height: 14.167vw;
  right: -6.25vw;
  top: 15.625vw;
}
.top-snow-photo {
  height: 720px;
  margin-top: 130px;
  height: 37.5vw;
  margin-top: 6.771vw;
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
	.top-snow-photo_item {
	outline: rgb(38, 62, 202) solid 2px;
	margin-right: 20px;
	margin-right: 1.953vw;
	}
	.top-snow-photo_item::before {
	inset: 15px -20px -20px 15px;
	inset: 1.465vw -1.953vw -1.953vw 1.465vw;
	border: 2px solid rgb(38, 62, 202);
	}
}
@media screen and (max-width: 720px) {
.top-snow-wrap {
margin-top: 40px;
}
.top-aboutus-text {
  width: 100%;
}
.top-snow-bg_sp {
  width: 374px;
  height: 451px;
width: 95.897vw;
height: 115.641vw;
  display: flex;
  margin: 0 auto;
}
.top-snow-photo {
	margin-top: 0;
	position: absolute;
	width: 100%;
	height: 451px;
	height: 115.641vw;
	top: 0;
}
.top-snow-photo_item {
  outline: rgb(38, 62, 202) solid 2px;
  margin-right: 10px;
}
.top-snow-photo_item::before {
inset: 5px -10px -10px 5px;
border: 2px solid rgb(38, 62, 202);
}
.top-snow-photo_item.snow-photo1{
width: 208px;
height: 208px;
left: 32px;
top: 232px;
width: 53.333vw;
height: 53.333vw;
left: 8.205vw;
top: 59.487vw;
}
.top-snow-photo_item.snow-photo2{
width: 120px;
height: 120px;
left: 2px;
top: 39px;
width: 30.769vw;
height: 30.769vw;
left: 0.513vw;
top: 10vw;
}
.top-snow-photo_item.snow-photo3{
width: 184px;
height: 184px;
right: 5px;
top: 12px;
width: 47.179vw;
height: 47.179vw;
right: 1.282vw;
top: 3.077vw;
}
.top-snow-photo_item.snow-photo4{
width: 120px;
height: 120px;
right: -50px;
top: 268px;
width: 30.769vw;
height: 30.769vw;
right: -12.821vw;
top: 68.718vw;
}
.top-bigtext-wrap_sp {
  width: calc(100% - 5px - 5px);
  margin-top: 35px;
  text-align: center;
  margin: 0 auto;
  margin-top: 35px;
}
h3.top-bigtext-item_sp {
  font-size: 60px;
  font-weight: bold;
  color: #263ECA;
  line-height: 1;
  letter-spacing: -1px;
}
.top-bigtext-item_sp img{
width:100%;
width:70%;
}

}
/* 初期状態：透明で少し下に下げておく */
.top-snow-photo,
.top-snow-bg,
.top-snow-bg_sp,
.top-snow-box-bg {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.2s ease, transform 1.2s ease;
}

/* クラス「is-visible」がついたら表示 */
.top-snow-photo.is-visible,
.top-snow-bg.is-visible,
.top-snow-bg_sp.is-visible,
.top-snow-box-bg.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* 順番に出現させるための遅延設定（photo → bg → box-bg） */
.top-snow-photo.is-visible {
    transition-delay: 0s;
}

.top-snow-bg.is-visible {
    transition-delay: 0.4s; /* 0.4秒後に開始 */
}
.top-snow-bg_sp.is-visible {
    transition-delay: 0.4s; /* 0.4秒後に開始 */
}

.top-snow-box-bg.is-visible {
    transition-delay: 0.8s; /* 0.8秒後に開始 */
}

.top-bigtext-wrap {
  width: 100%;
  margin-top: 100px;
  margin-bottom:84px;
  display: flex;
  overflow: hidden; /* はみ出た分を隠す */
}

.top-bigtext-item,
.top-bigtext-item2 {
  display: flex;
  flex: 0 0 auto;
  white-space: nowrap;
}

.top-bigtext-item img,
.top-bigtext-item2 img {
  height: 123px;
  width: auto;
  /* ↓ ここで画像間の余白を調整します */
  padding-right: 80px; 
}

/* アニメーション：両方同じ設定にする */
.top-bigtext-item,
.top-bigtext-item2 {
  animation: loop-infinite 50s linear infinite;
}

@keyframes loop-infinite {
  0% {
    transform: translateX(0);
  }
  100% {
    /* 自分の幅（画像+padding分）だけ左へ移動 */
    transform: translateX(-100%);
  }
}
/*top-product*/
.top-sec_t,.top-sec_b {
  display: inline-block;
  width: 100%;
}
.top-sec_t img,.top-sec_b img{
width:100%;
height:78px;
}
.top-product-box{
background:linear-gradient(45deg,rgba(60, 136, 250, 1) 0%, rgba(60, 136, 250, 0.15) 25%, rgba(255, 255, 255, 1) 50%, rgba(60, 136, 250, 0.15) 75%, rgba(60, 136, 250, 1) 100%);
}
.top-product-wrap{
width: 1614px;
border-top:1px solid #2A2F4E;
margin-top:128px;
margin-bottom:100px;
position: relative;
margin-left: auto;
  margin-right: 42px;
}

.top_product-slider {
    width: 100%;
    /*overflow: hidden;*/
    padding-bottom: 70px;
    position: relative;
}

.top_product-swiper .swiper-slide {
    height: auto;
}

.top_product-slide {
    box-shadow: 0 0 0 4px #263ECA; 
    height: 100%;
    transition: 0.5s linear;
    transform: translateY(30px);
    display: inline-block;
    position: relative;
    /* 内側の隙間対策 */
    background-color: #263ECA; 
}
.top_product-slide::before {
	content: "";
	position: absolute;
	top: 21px;
	bottom: -21px;
	right: -21px;
	left: 21px;
	border: solid 4px #263ECA;
	z-index: -1;
}
.top_product-slide a{

}
.top_product-sl_number{
background:#263ECA;
padding:8px;
position: absolute;
padding-right: 30px;
padding-left: 15px;
left: -4px;   /* outlineの太さ分（4px）外側にずらして隙間を埋める */
top: 0;
z-index: 1;   /* 前面に確実に表示させる */
}
.top_product-sl_number .span{
color:#fff;
font-size:13px;
font-weight:bold;
position: relative;
padding-left:15px;
}
.top_product-sl_number .span::before {
  background-image: url(img/top_product-number_bg.svg);
  width: 9px;
content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
.top_product-sl_title{
background:#263ECA;
padding-left:15px;
padding:8px;

}
.top_product-sl_title .top_product-sl_title-jp{
color:#fff;
font-size:24px;
font-size: 22px;
font-weight:bold;
font-feature-settings: "palt" 1;
}
.top_product-sl_title .top_product-sl_title-en{
color:#fff;
font-size:13px;
font-weight:bold;
}
.top_product-slide.on {
    opacity: 1;
    transform: translateY(0);
}
.top_product-btn-wrap {
width:200px;
  flex-wrap: nowrap;
  align-items: center;
  height:96px;
  justify-content: space-between;
}
.top_product-btn-wrap .swiper-button-prev,.top_product-btn-wrap .swiper-button-next {
position: static;
width:96px;
height:96px;
background-color:#263ECA;
outline: 0.5px solid rgba(255,255,255,0);
margin-top:0;
border-radius:10px;
}
.top_product-btn-wrap .swiper-button-prev:hover,.top_product-btn-wrap .swiper-button-next:hover {
background-color:#fff;
box-shadow: 0 0 0 2px #263ECA;
    transition: 0.4s;
}
.top_product-btn-wrap .swiper-button-prev::after {
    background-image: url(img/top-product-prev.svg);
    background-position: center center;
    width: 24px;
  height: 24px;
  font-size: 0;
}
.top_product-btn-wrap .swiper-button-next::after {
    background-image: url(img/top-product-next.svg);
    background-position: center center;
    width: 24px;
  height: 24px;
  font-size: 0;
}
.top_product-btn-wrap .swiper-button-prev:hover::after {
    background-image: url(img/top-product-prev_hover.svg);
}
.top_product-btn-wrap .swiper-button-next:hover::after {
    background-image: url(img/top-product-next_hover.svg);
}
.swiper-slide:not(.swiper-slide-visible) {
pointer-events: none;
        opacity: 0;
}
.top_product-item_bottom{
justify-content: space-between;
  align-items: center;
  margin-top: 75px;
}
.top_product-item {
  display: flex;
  flex-direction: column;
  margin-top: 80px;
}
.top_product-sl_photo {
    overflow: hidden;
}
.top_product-sl_photo img {
    transition: transform 0.6s ease; /* 0.6秒かけて変化 */
    display: block; /* 下の隙間防止 */
    width: 100%;
    height: auto;
}
.top_product-slide:hover .top_product-sl_photo img {
    transform: scale(1.1); /* 1.1倍にズーム */
}


@media screen and (min-width: 1921px) {
.top-product-wrap{
width: min(1392px, 85%);
  margin-right: auto;
}
.top_product-item {
width: 1614px;
}
}
@media screen and  (min-width: 721px) and (max-width: 1700px) {
.top-product-wrap {
  width: calc(100% - 42px - 42px);
  margin-left: auto;
  margin-right: auto;
	}
	.top_product-slide{
	margin-right:31px;
	margin-right:4.0vw;
	}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
	.top_product-sl_title .top_product-sl_title-jp{
	font-size: 20px;
	font-feature-settings: "palt" 1;
	}
	.top_product-sl_number{
	padding: 4px;
	padding-right: 20px;
	padding-left: 15px;
	left:-2px;
	}
	.top_product-sl_title .top_product-sl_title-en{
	font-feature-settings: "palt" 1;
	}
	.top_product-slide::before {
  top: 15px;
  bottom: -15px;
  right: -15px;
  left: 15px;
  border: solid 2px #263ECA;
}
  .top_product-slide {
    margin-right: 31px;
    box-shadow: 0 0 0 2px #263ECA;
  }
    .top_product-btn-wrap .swiper-button-prev, .top_product-btn-wrap .swiper-button-next {
  width: 72px;
  height: 72px;
  }
.top_product-btn-wrap {
  width: 180px;
  height: 72px;
}
body.page-id-24 .top-midashi-en{
font-size:75px;
}
.top_product-item {
margin-top:40px;
}
.top_product-item_bottom {
margin-top:50px;
}
}
@media screen and (max-width: 720px) {
  body.page-id-24 .top-midashi-box {
    margin-top: 30px;
  }
  body.page-id-24 .top-midashi-en {
    margin-top: 10px;
  }
.top-product-wrap {
  width: calc(100% - 24px - 24px);
  margin-left: auto;
  margin-right: auto;
margin-top: 40px;
  margin-bottom: 40px;
	}
	.top_product-slider {
	padding-bottom: 52px;
	}
	.top_product-item {
	margin-top:5px;
	}
	.top_product-sl_number{
	padding:0px;
	line-height:1;
	left:-2px;
	width: 120px;
	height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
	}
	.top_product-sl_number .span{
	font-size: 14px;
	}
  .top_product-slide::before {
    top: 13px;
    bottom: -22px;
    right: -17px;
    left: 18px;
  border: solid 2px #263ECA;
}
  .top_product-slide {
    box-shadow: 0 0 0 2px #263ECA;
    margin-right:45px;
  }
  .top_product-sl_title .top_product-sl_title-jp{
  font-size:20px;
  margin-top: 8px;
  }
  .top_product-sl_title .top_product-sl_title-en{
    font-size:14px;
    margin-top: 8px;
    line-height: 1;
  margin-bottom: 10px;
  }
  .top_product-btn-wrap .swiper-button-prev, .top_product-btn-wrap .swiper-button-next {
  width: 48px;
  height: 48px;
  }
  .top_product-btn-wrap .swiper-button-prev::after,
  .top_product-btn-wrap .swiper-button-next::after {
  width: 16px;
  height: 16px;
  }
  .top_product-item_bottom {
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 30px;
  flex-direction: column;
  gap: 50px 0;
}
.top-product-link a{
width: 200px;
  height: 48px;
  justify-content: flex-start;
}
.top-product-link a .link-text {
  font-size: 14px;
  font-size: 16px;
  width:160px;
  text-align:center;
}
.top_product-btn-wrap {
  width: 112px;
  height: 48px;
}
}
/*top-link*/
.top-link-wrap{
width: 1392px;
margin: 0 auto;
margin-top:60px;
}
@media screen and (max-width: 1500px) {
.top-link-wrap{
width:calc(100% - 42px - 42px);
}
}

.top-link-item{
justify-content: space-between;
  align-items: center;
}
.top-link-item_box{
width:320px;
width: calc(100% / 3 - 5px);
height:128px;
    background-image: url(img/top-link-item_bg.png);
  background-position: left center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  align-items: center;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.5);
  box-sizing: border-box; /* これで線が内側に計算されます */
}
.top-link-item_box .link-text {
font-size: 28px;
margin-left: 16px;
}
.top-link-item_box .link-arrow-box {
right:16px;
bottom:16px;
}
.top-link-item_catalog::before,
.top-link-item_hotto::before,
.top-link-item_brand::before,
.top-link-item_ainu::before {
content: "";
  position: absolute;
  top: 0;
  right: 0;
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
.top-link-item_catalog::before{
  background-image: url(img/top-link-item_icon_catalog.svg);
  width: 90px;
  height: 76px;
}
.top-link-item_hotto::before{
  background-image: url(img/top-link-item_icon_hotto.svg);
  width: 92px;
  height: 93px;
  right: -10px;
  top: -13px;
}
.top-link-item_brand::before{
  background-image: url(img/top-link-item_icon_brand.svg);
  width: 80px;
  height: 77px;
  top: -2px;
  right: -4px;
}
.top-link-item_ainu::before{
  background-image: url(img/top-link-item_icon_ainu.svg);
  width: 80px;
  height: 75px;
  top: 3px;
  right: 3px;
}
@media screen and  (min-width: 1025px) and (max-width: 1400px) {
	.top-link-item {
	gap: 5px;
	}
	.top-link-item_box {
	width: calc(100% / 4 - 5px);
	width: calc(100% / 3 - 5px);
	}
	.top-link-item_box .link-text {
	font-size: 20px;
	margin-left: 16px;
	letter-spacing: -1px;
	}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
	.top-link-item {
	gap: 30px;
	}
	.top-link-item_box {
	width: calc(50% - 15px);
	}
	.top-link-item_box .link-text {
font-size: 25px;
font-size: 22px;
letter-spacing:-1px;
  }
}
@media screen and (max-width: 720px) {
.top-link-wrap{
width:calc(100% - 24px - 24px);
margin-top:10px;
}
.top-link-item {
  justify-content: center;
  width: 100%;
  gap: 25px;
}
.top-link-item_box {
  width: calc(100% - 24px - 24px);
  height: 64px;
}
.top-link-item_box .link-text {
  font-size: 14px;
  font-size: 16px;
  margin-left: 24px;
}
.top-link-item_box .link-arrow-box {
  right: 8px;
  bottom: 16px;
    width: 32px;
    height: 32px;
}
.top-link-item_box .link-arrow_rb {
    position: absolute;
    top: 10px;
    left: -15px;
  }
.top-link-item_catalog::before,
.top-link-item_hotto::before,
.top-link-item_brand::before,
.top-link-item_ainu::before {
top: -5px;
  right: 40px;
}
.top-link-item_ainu::before {
  width: 76px;
  height: 72px;
}
.top-link-item_brand::before{
width: 90px;
  height: 90px;
  top: -11px;
}
.top-link-item_hotto::before {
  width: 110px;
  height: 108px;
  right: 28px;
  top: -21px;
}
.top-link-item_catalog::before {
  width: 100px;
  height: 86px;
  top: -14px;
}
}
/*top-news*/
.top-news-wrap{
width: min(1392px, 100% - 84px);
  margin: 0px auto;
  justify-content: space-between;
border-top: 1px solid #2A2F4E;
margin-top:80px;
margin-bottom: 176px;
}
.top-news-item{
margin-top:100px;
justify-content: space-between;
}
.top-news-item_category-box{
width:216px;
}
.top-news-item_category-li a{
width:100%;
height:40px;
background:#fff;
border-radius:50px;
margin-top:8px;
display:flex;
align-items: center;
}
.top-news-item_category-li a:hover{
background:#DFE3F5;
color:var(--base-color);
}
.top-news-item_category-li.active a{
background:#263ECA;
color:#fff;
}
.top-news-item_category-li:first-child a{
margin-top:0px;
}
.top-news-item_category-li a .span{
font-size:15px;
margin-left:18px;
}
.top-news-item_contents-box{
width:1032px;
}
.top-news-item_contents-li a{
width:100%;
display:flex;
height:120px;
}
.top-news-item_contents-box .news-link{
margin-top: 84px;
    padding-top: 0px;
    border-top:0;
    justify-content: flex-end;
}
@media screen and (max-width: 720px) {
.top-news-item {
  margin-top: 35px;
}
.top-news-wrap {
width:calc(100% - 24px - 24px);
margin-top: 40px;
  padding-top:26px;
  margin-bottom:17px;
}
  .top-news-item_contents-box {
    margin-top: 26px;
  }
}
/*********
TOPrecruit
*********/
.top-recruit-box {
  background-color: #002265;
background-image: url(img/top-recruit-box_bg.svg);
background-repeat: repeat;
position: relative;
z-index:0;
margin-bottom: 156px;
}
.top-recruit-wrap{
width: 1392px;
margin: 0 auto;
margin-top: 130px;
margin-bottom: 130px;
}
@media screen and (max-width: 1500px) {
.top-recruit-wrap{
width:calc(100% - 42px - 42px);
}
}
.top-recruit-box .top-midashi-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  width: 478px;
  margin: 0 auto;
}
.top-recruit-box .top-midashi-jp::before{
background-image: url(img/top-midashi-jp_icon-w.svg);
}
.top_recruit-item {
  width: 478px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
    margin-top: 0px;
  text-align: center;
  color: #fff;
  margin-top: 50px;
min-height: 542px;
min-height: 28.229vw;
justify-content: center;
}
@media screen and (min-width: 1921px) {
.top_recruit-item {
min-height: 542px;
}
}
.top_recruit-item_h3 {
  font-size: 40px;
  font-weight: bold;
  letter-spacing: -0.5px;
  line-height: 1.6;
}
.top_recruit-item_p {
  margin-top: 80px;
  font-size: 18px;
  line-height: 1.9;
}
.top-recruit-link {
  margin-top: 57px;
}
@media screen and (min-width: 721px) {
	.top_recruit-photo .recruit-photo-sp{
	display:none;
	}
}
@media screen and (max-width: 720px) {
	.top_recruit-photo .recruit-photo-pc{
	display:none;
	}
}
.top_recruit-photo_item {
	width: 544px;
	height:456px;
	width: 28.333vw;
	height:23.75vw;
	overflow:hidden;
}
.top-recruit-photo1,
.top-recruit-photo2,
.top-recruit-photo3,
.top-recruit-photo4{
  position: absolute;
  z-index: -1;
}
.top-recruit-photo1 {
top: 75px;
top: 3.906vw;
left:0px;
}
.top-recruit-photo2 {
bottom: 54px;
bottom: 2.813vw;
left:0px;
}
.top-recruit-photo3 {
top: 55px;
top: 2.865vw;
right:0;
}
.top-recruit-photo4 {
bottom: 77px;
bottom: 4.01vw;
right:0
}
.top-recruit-photo1, .top-recruit-photo2{
  border-top-right-radius: 20px;    /* 右上 */
  border-bottom-right-radius: 20px; /* 右下 */
}
.top-recruit-photo3, .top-recruit-photo4{
  border-top-left-radius: 20px;    /* 左上 */
  border-bottom-left-radius: 20px; /* 左下 */
}
@media screen and (min-width: 1921px) {
	.top_recruit-photo_item {
		height:456px;
	}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
	.top-recruit-wrap {
	margin-top: 80px;
	margin-bottom: 80px;
	}
	.top-recruit-box .top-midashi-box {
	width: 100%;
	}
	.top_recruit-item {
	width: 100%;
	margin-top: 50px;
	min-height: 447px;
min-height: 360px;
	}
	.top_recruit-item_h3 {
	font-size: 30px;
	}
	.top_recruit-item_p {
	margin-top: 40px;
	font-size: 16px;
	}
	.top-recruit-photo2 {
	left:-15px;
	}
	.top-recruit-photo4 {
	right:-15px;
	}
	.top-recruit-photo1, .top-recruit-photo2{
	  border-top-right-radius: 10px;    /* 右上 */
	  border-bottom-right-radius: 10px; /* 右下 */
	}
	.top-recruit-photo3, .top-recruit-photo4{
	  border-top-left-radius: 10px;    /* 左上 */
	  border-bottom-left-radius: 10px; /* 左下 */
	}
}
@media screen and (max-width: 720px) {
	.top-recruit-wrap{
	width:calc(100% - 24px - 24px);
	margin-top: 40px;
	margin-bottom: 40px;
	}
	.top-recruit-box .top-midashi-box {
	width: 100%;
	}
	.top_recruit-item {
	width: 100%;
	margin-top: 40px;
	min-height: initial;
	}
	.top_recruit-item_h3 {
	font-size: 24px;
	}
	.top_recruit-item_p {
	margin-top: 20px;
	font-size: 14px;
	letter-spacing: -0.5px;
	line-height:2.2;
	}
	.top-recruit-link {
	margin-top: 40px;
	}
	.top-recruit-link a{
	width: 200px;
	height: 48px;
	}
	.top-recruit-link a .link-text {
	font-size: 14px;
	font-size: 16px;
	width:120px;
	text-align:left;
	}
	.top_recruit-photo {
	height: 408px;
	height: 104.615vw;
	position: relative;
	margin-top: 40px;
	}
	.top-recruit-photo1{
	display:none;
	}
	.top-recruit-photo2, .top-recruit-photo3, .top-recruit-photo4 {
	border-radius:20px;
	}
	.top-recruit-photo2{
	bottom: 0;
	left: 22px;
	width: 200px;
	height: 144px;
	left: 5.641vw;
	width: 51.282vw;
	height: 36.923vw;
	}
	.top-recruit-photo3{
	top: 0;
	left: 0;
	width: 232px;
	height: 168px;
	width: 59.487vw;
	height: 43.077vw;
	}
	.top-recruit-photo4{
	right: 0;
	bottom: 72px;
	width: 96px;
	height: 120px;
	bottom: 18.462vw;
	width: 24.615vw;
	height: 30.769vw;
	}
	.top-recruit-box{
	margin-bottom:20px;
	}
}
/* --- アニメーション用ベース設定 --- */
.top_recruit-photo_item {
    opacity: 0;
    /* transition: 透明度 0.8s, 位置移動 0.8s, 背景などの変化 0.3s */
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* 1 & 2: 下から上へ（初期位置を下にずらす） */
.top-recruit-photo1,
.top-recruit-photo2 {
    transform: translateY(60px);
}

/* 3 & 4: 上から下へ（初期位置を上にずらす） */
.top-recruit-photo3,
.top-recruit-photo4 {
    transform: translateY(-60px);
}

/* --- 発火時に付与するクラス --- */
.top_recruit-photo_item.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* 時間差（ディレイ）の設定：お好みで調整してください */
.top-recruit-photo2 { transition-delay: 0.1s; }
.top-recruit-photo3 { transition-delay: 0.2s; }
.top-recruit-photo4 { transition-delay: 0.3s; }



/**********
contact
**********/

.contact-wrap{
width:1392px;
margin: 0 auto;
}
@media screen and (max-width: 1500px) {
.contact-wrap{
width:calc(100% - 42px - 42px);
}
}
h2.line-midashi{
font-size:36px;
font-weight:bold;
padding-left:42px;
position: relative;
}
h2.line-midashi::before {
  width: 24px;
  height:6px;
  content: "";
  position: absolute;
  top: 23px;
  left: 0;
  background: #263ECA;
}
.contact-body h2.line-midashi{
border-bottom:1px solid #D8D9E0;
padding-bottom:75px;
}
.contact-body{
margin-bottom:0px !important;
}
.contact-body_mf{
margin-top:110px !important;
}
.contact-center{
text-align:center;
font-size:18px;
margin-top:36px;
}
@media screen and (max-width: 910px) {
.contact-center{
text-align:left;
}
}
.contact-form-wrap{
width:1032px;
margin: 0 auto;
}
.sub-body.contact-body_pp{
margin-top:80px;
}
.sub-body.contact-body_pp h2.line-midashi {
  border-bottom: none;
  padding-bottom: 0px;
}
.sub-body.contact-body_pp .contact-wrap {
  border-top: 1px solid #2A2F4E;
  padding-top: 47px;
  border-bottom: 1px solid #2A2F4E;
  padding-bottom: 38px;
}
.contact-form-p-right{
text-align:right;
}
@media screen and (max-width: 1200px) {
.contact-form-wrap{
width:calc(100% - 42px - 42px);
}
}
.contact-form-p{
font-size:18px;
margin-top:36px;
}
.contact-form-p strong{
font-weight:bold;
color:#263ECA;
}
@media screen and (max-width: 720px) {
.contact-form-p strong{
display:inline-block;
}
}
@media screen and (max-width: 399px) {
.contact-form-p strong{
display: initial;
}
}
.contact-form-attention{
margin-top:20px;
padding:25px 49px;
background:#ECEDF1;
}
.contact-form-attention .contact-form-p{
margin-top:0px;
}
.contact-form-mf{
margin-top:58px;
}
.contact-form-mf_item{
margin-top:30px;
}
.contact-form-mf_item:first-child{
margin-top:0px;
}
.contact-form-mf_title{
font-size:18px;
font-weight:bold;
}
.contact-form-mf_title .required{
color:#263ECA;
margin-left:20px;
}
.contact-form-mf_text{
margin-top:20px;
}
.contact-form-mf_text.mf-item_radio{
  margin-top: 20px;
  justify-content: space-between;
  display: flex;
}
.mf-radio label {
  display: flex;
  align-items: center;
  column-gap: 8px;
  width: fit-content;
  line-height: 1;
  cursor: pointer;
  font-size: 18px;
}
.mf-radio label input {
  appearance: none;
  position: relative;
  width: 24px;
  height: 24px;
  border: 1px solid #9093a4;
  border-radius: 9999px;
  cursor: pointer;
  background: #fff;
}
.mf-radio label input:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 16px;
  height: 16px;
  margin: auto;
  border-radius: 9999px;
  background-color: #9093a4;
}
.wpcf7-form-control.wpcf7-radio.mf-radio {
  display: flex;
  width: 947px;
  flex-wrap: wrap;
  /*justify-content: space-between;*/
  gap: 15px 0px;
}
.mf-radio .wpcf7-list-item {
margin:0;
  width: 305px;
  width: 350px;
}
.mf-radio .wpcf7-list-item.last {
  flex: 0 0 auto;
  /*margin-right: auto;*/
  /*margin-left: 16px;*/
}
@media screen and (max-width: 1130px) {
.wpcf7-form-control.wpcf7-radio.mf-radio {
width: 100%;
justify-content: flex-start;
  gap: 15px;
}
.mf-radio .wpcf7-list-item.last {
  margin-left: 0px;
}
}
.contact-form-mf_text input[type="text"],
.contact-form-mf_text input[type="tel"],
.contact-form-mf_text input[type="email"],
.contact-form-mf_text textarea{
border:1px solid #9093A4;
border-radius:10px;
padding:0 24px;
font-size:18px;
height:80px;
}
.contact-form-mf_text textarea{
height:280px;
padding:30px 24px;
}
.contact-form-mf_text input::placeholder,.contact-form-mf_text textarea::placeholder {
font-weight:bold;
color:#D8D9E0;
}
.mf-item_select .wpcf7-form-control-wrap{
display: inline-flex;
    align-items: center;
    position: relative;
    flex-direction: column;
}
.mf-item_select .wpcf7-form-control-wrap::after {
    position: absolute;
    right: 15px;
    width: 16px;
    height: 12px;
    background-color: #9093A4;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
    top: 35px;
}
.mf-item_select .wpcf7-not-valid-tip{
width: 100%;
}
select.mf-select {
    appearance: none;
    min-width: 400px;
    height: 80px;
    padding: 0 24px;
    border: 1px solid #9093a4;
    border-radius: 10px;
    background-color: #fff;
    color: #2a2f4e;
    font-size: 18px;
    cursor: pointer;
}
.contact-form-mf_privacy{
margin-top:85px;
}
.contact-form-mf_privacy-text{
font-size:18px;
}
.contact-form-mf_privacy-text a{
color:#263ECA;
text-decoration:underline;
}
.contact-form-mf_privacy-consent{
margin-top: 16px;
}
.contact-form-mf_privacy-consent .wpcf7-list-item{
margin:0;
}
.contact-form-mf_privacy-consent .wpcf7-list-item label{
display:flex;
align-items: center;
}
.contact-form-mf_privacy-consent .wpcf7-list-item-label{
font-size:18px;
margin-left:17px;
}
input[type="checkbox"].mf-consent{
width:32px;
height:32px;
border:2px solid #263ECA;
border-radius:5px;
background:#fff;
position: relative;
cursor: pointer;
appearance: none;
}
input[type="checkbox"].mf-consent:checked{
background-color: #fff;
border-color: #263ECA;
}
input[type="checkbox"].mf-consent:checked::after {
        content: '';
    position: absolute;
    top: 3px;
    left: 10px;
    width: 10px;
    height: 18px;
    border: solid #142FC6;
    border-width: 0 4px 4px 0;
    transform: rotate(45deg);
}
.contact-form-mf_send{
margin-top:65px;
position: relative;
  width: 328px;
}
input[type="submit"].mf-send{
  width: 328px;
  height: 80px;
  background: var(--btn-grad);
  border-radius: 4px;
  cursor: pointer;
  color:#fff;
  font-size:20px;
  font-weight:bold;
  position: relative;
  border: none;
  text-align: left;
  padding-left: 48px;
}
.contact-form-mf_send .link-arrow-box {
top:25px;
pointer-events: none;
}
.contact-form-mf_send .link-arrow-box .link-arrow_rb {
  position: absolute;
  left: -15px;
}
.contact-form-mf_send:hover .link-arrow-box {
background: #ffffff;
  transform: scale(1.22, 1.22);
  transition-duration: 800ms;
}
.contact-form-mf_send:hover .link-arrow-box .link-arrow_w{
  transform: translate(19px, 0px);
  transition-duration: 800ms;
}
.contact-form-mf_send:hover .link-arrow-box .link-arrow_rb{
  transform: translate(25px, 0px);
  transition-duration: 800ms;
}
.contact-form-mf_send .wpcf7-spinner {
position: absolute;
top:30px;
right: -74px;
}
.wpcf7 form .wpcf7-response-output {
  margin: 2em 0em 1em;
}
@media screen and (max-width: 395px) {
.contact-form-mf_text input[type="text"],
.contact-form-mf_text input[type="tel"],
.contact-form-mf_text input[type="email"],
.contact-form-mf_text textarea{
font-size:15px;
font-size:16px;
}
select.mf-select {
font-size:15px;
font-size:16px;
}
.contact-form-mf_title {
  font-size: 15px;
  font-size: 16px;
}
.mf-radio label {
  font-size: 15px;
  font-size: 16px;
}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
}
@media screen and (max-width: 720px) {
	.contact-wrap {
	width: calc(100% - 24px - 24px);
	}
h2.line-midashi{
font-size:20px;
font-weight:bold;
padding-left:25px;
position: relative;
}
h2.line-midashi::before {
  width: 16px;
  height:4px;
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  background: #263ECA;
}
.contact-body h2.line-midashi{
border-bottom:1px solid #D8D9E0;
padding-bottom:30px;
}
.contact-center {
font-size: 14px;
font-size: 16px;
}
.contact-form-p {
font-size: 14px;
font-size: 16px;
margin-top: 30px;
}
.contact-form-wrap {
width: calc(100% - 24px - 24px);
width: 100%;
}
.contact-form-attention {
padding: 24px;
}
.contact-body_mf {
  margin-top: 50px !important;
}
.contact-body_pp {
  margin-bottom: 50px !important;
}
select.mf-select {
min-width: 100%;
}
.mf-item_select .wpcf7-form-control-wrap {
width: 100%;
}
.contact-form-mf_privacy {
margin-top:53px;
}
.contact-form-mf_privacy-text{
font-size: 14px;
font-size: 16px;
}
.contact-form-mf_privacy-consent .wpcf7-list-item-label {
font-size: 14px;
font-size: 16px;
}
input[type="checkbox"].mf-consent {
  width: 24px;
  height: 24px;
}
input[type="checkbox"].mf-consent:checked::after {
  top: 0px;
  left: 5px;
  width: 10px;
  height: 18px;
}
input[type="submit"].mf-send {
font-size:14px;
font-size:16px;
}
.contact-form-mf_send {
margin-top:53px;
}
.contact-form-mf_send .wpcf7-spinner {
left: -12px
}
.contact-form-mf_send .link-arrow-box {
  top: 28px;
}
.contact-form-mf_send .link-arrow-box .link-arrow_rb {
  left: -13px;
}
.contact-form-mf_send:hover .link-arrow-box .link-arrow_rb{
  transform: translate(19px, 0px);
}
}

/**********
footer contact
**********/
.footer-contact-bg{
background:linear-gradient(45deg,rgba(60, 136, 250, 1) 0%, rgba(60, 136, 250, 0.15) 25%, rgba(255, 255, 255, 1) 50%, rgba(60, 136, 250, 0.15) 75%, rgba(60, 136, 250, 1) 100%);
/*background-image: url(img/gradation_bg.png);
background-position: center center;
background-repeat: no-repeat;
background-size:cover;*/

border-radius:20px;
width:calc(100% - 42px - 42px);
margin: 0 auto;
}
.footer-contact-wrap{
/*width: min(1392px, 85%);*/
width:1392px;
margin: 0 auto;
padding-top:85px;
padding-bottom:85px;
}
/*@media screen and (max-width: 1500px) {*/
@media screen and (max-width: 1530px) {
.footer-contact-wrap{
width:calc(100% - 42px - 42px);
}
}
@media screen and (min-width: 1921px) {
.footer-contact-bg{
width:1836px;
}
.footer-contact-wrap{
width:1392px;
}
}

.footer-contact-top {
  display: flex;
  align-items: flex-end;
  gap: 85px;
}
.footer-contact-top_text{
font-size:18px;
}
.footer-contact-item, .contact-item{
margin-top:84px;
justify-content: space-between;
}
.contact-item{
margin-top:75px;
}
.footer-contact-item_area, .contact-item_area{
display:flex;
  align-items: center;
flex-direction: column;
width: 334px;
}
.area-name{
color:#fff;
font-size:18px;
background:#263ECA;
border-radius:60px;
width:144px;
height:51px;
display:flex;
justify-content:center;
  align-items: center;
}
.area-address,.area-tel a,.area-fax,.area-fax a{
color:#263ECA;
}
.area-fax a{
pointer-events: none;
}
.area-address {
  margin-top: 10px;
  font-size: 18px;
  letter-spacing: -0.5px;
}
.area-tel{
margin-top:35px;
}
.area-fax{
margin-top:30px;
}
.area-tel,.area-fax{
padding-left:35px;
font-size:40px;
font-weight:bold;
position: relative;
}
.area-tel::before {
  background-image: url(img/area-tel_icon.svg);
  width: 25px;
content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
.area-tel::after {
  width: 25px;
content: "TEL";
  position: absolute;
  bottom: 0;
  left: 0;
font-size:13px;
color:#263ECA;
text-align: center;
}
.area-fax::before {
  background-image: url(img/area-fax_icon.svg);
  width: 25px;
content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
.area-fax::after {
  width: 25px;
content: "FAX";
  position: absolute;
  bottom: 0;
  left: 0;
font-size:13px;
color:#263ECA;
text-align: center;
}

.footer-contact-link{
margin-top:80px;
}
.footer-contact-link .link-text{
font-size:18px;
}
.footer-contact-link a {
  background: var(--btn-grad2);
    position: relative;
}
.footer-contact-link a::before{
  background-image: url(img/footer-contact_mail.svg);
  width: 32px;
content: "";
  position: absolute;
  top: 0;
  left: 20px;
  height: 100%;
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and  (min-width: 1025px) and (max-width: 1350px) {
.footer-contact-top_text {
  font-size: 15px;
}
.footer-contact-item_area, .contact-item_area {
width: 334px;
width: 24.741vw;
}
.area-name {
font-size: 16px;
}
.area-address {
font-size:16px;
}
.area-tel, .area-fax {
  font-size: 34px;
  letter-spacing: -0.7px;
}
.area-tel::after,.area-fax::after {
bottom:-5px;
}
}
@media screen and  (min-width: 1025px) and (max-width: 1158px) {
.area-address {
font-size:16px;
height:48px;
}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.footer-contact-top {
  display: flex;
  align-items: flex-start;
  gap: 45px;
  flex-direction: column;
}
.footer-contact-top .top-midashi-box {
  margin-top: 0px;
}
.footer-contact-item, .contact-item {
  margin-top: 0px;
  justify-content: space-around;
}
.footer-contact-item_area {
  margin-top: 84px;
}
.contact-item_area {
  margin-top: 75px;
}
}
@media screen and (max-width: 720px) {
.top-midashi-en {
  font-size: 44px;
}
.footer-contact-link a::before{
display:none;
}
.top-midashi-jp::before{
  background-image: url(img/top-midashi-jp_icon-sp.svg);
  width: 24px;
content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
.footer-contact-bg {
width: calc(100% - 24px - 24px);
}
.footer-contact-wrap {
width: calc(100% - 24px - 24px);
padding-top: 45px;
  padding-bottom: 40px;
}
.footer-contact-top {
  align-items: flex-start;
  gap: 38px;
  flex-direction: column;
}
.footer-contact-top_L,.footer-contact-top_R {
  width: 100%;
}
.top-midashi-box {
  margin-top: 0;
}
.footer-contact-top_text {
  font-size: 14px;
  font-size: 16px;
}
.footer-contact-top_text br.br{
display:none;
}
.footer-contact-item, .contact-item {
  margin-top: 0px;
  justify-content: center;
}
.footer-contact-item_area, .contact-item_area {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  flex-wrap: wrap;
  margin-top: 26px;
}
.area-name {
  font-size: 11px;
  font-size: 14px;
  border-radius: 60px;
  width: 48px;
  width: 40px;
  height: 17px;
  height: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height:1;
}
.area-address {
  margin-top: 0px;
  font-size: 14px;
  font-size: 16px;
  letter-spacing: 0;
  letter-spacing: -1px;
  width: calc(100% - 48px - 5px);
  width: calc(100% - 48px - 2px);
  margin-left: 5px;
  margin-left: 2px;
  line-height: 100%;
}
.area-tel, .area-fax {
  font-size: 14px;
  font-size: 16px;
  width: 135px;
  width: 139px;
  margin-top: 5px;
font-weight:normal;
padding-left: 32px;
}
.area-tel::after, .area-fax::after {
  width: initial;
font-size: 14px;
font-size: 16px;
  color: #263ECA;
  text-align: left;
  font-weight:bold;
}
.area-fax::before,.area-tel::before {
display:none;
}
.footer-contact-link {
  margin-top: 40px;
}
.footer-contact-link a {
width: 48px;
  height: 48px;
  background:#263ECA;
}
.footer-contact-link .link-text, .footer-contact-link .link-arrow-box{
display:none;
}
.footer-contact-link a {
    background-image: url(img/top-product-next.svg);
    background-position: center center;
    background-size: 16px;
  background-repeat: no-repeat;
}
.footer-contact-link a:hover {
    background-image: url(img/top-product-next_hover.svg);
background-color:#fff;
outline: 2px solid #263ECA;
    transition: 0.4s;
}

}

@media screen and (max-width: 423px) {
.footer-contact-wrap {
width: calc(100% - 20px - 20px);
}
.area-name {
width: 38px;
}
.area-address {
font-size: 15px;
letter-spacing: -1.8px;
width: calc(100% - 38px - 2px);
}
}


/**********
footer
**********/
#site-footer{
margin-top:125px;
margin-bottom:80px;
}
.site-footer-wrap{
/*width: min(1392px, 85%);*/
width:1392px;
margin: 0 auto;
justify-content: space-between;
}
@media screen and (max-width: 1500px) {
.site-footer-wrap{
width:calc(100% - 42px - 42px);

}
}

.site-footer_L {
  width: 660px;
  width: 750px;
}
.footer-catch{
margin-top:95px;
}
.footer-catch .db, .footer-catch .rb{
font-size:68px;
font-weight:bold;
display: inline-block;
}
.site-footer_R {
  width: 460px;
  width: 344px;
  position: relative;
}
.footer-menu{
justify-content: space-between;
}
.footer-menu_link{
margin-top:25px;
}
.footer-menu_link:first-child{
margin-top:0px;
}
.footer-menu_link a{
font-size:16px;
font-weight:bold;
}
.footer-menu_link a.normal{
font-weight: normal;
}
.footer-link a{
width:200px;
justify-content: flex-start;
margin-top:38px;
margin-top:60px;
}
.footer-link .link-text {
font-size:18px;
margin-left:20px;
}
.footer-copyright {
  font-size: 14px;
  text-align: right;
  margin-top: 80px;
}
.site-footer_R::before {
  height: 100%;
  width: 2px;
content: "";
  position: absolute;
  /*left: -105px;*/
  left: -223px;
  bottom: 0;
  background:#E1E3E9;
}
.site-footer_R::after {
  height: 35%;
  width: 2px;
content: "";
  position: absolute;
  /*left: -105px;*/
  left: -223px;
  bottom: 0;
  background:#263ECA;
}
.footer-sp{
display:none;
}
.footer-sub_menu {
  margin-top: 60px;
}
@media screen and  (min-width: 1025px) and (max-width: 1570px) {
.footer-catch .db, .footer-catch .rb {
  font-size:3.5vw;
  font-size:4vw;
  letter-spacing:-2px;
}
.site-footer_R::before, .site-footer_R::after {
left: -105px;
left: -3.7vw;
left: -6vw;
}
.footer-catch .db, .footer-catch .rb {
}
.site-footer_L {
  width: 660px;
  width: 40vw;
  width: 45vw;
}
.site-footer_R {
  width: 460px;
}

}

@media screen and  (min-width: 1025px) and (max-width: 1170px) {
.footer-logo a img{
width:300px;
}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.site-footer_L {
  width: 100%;
}
.site-footer_R {
  width: 100%;
  margin-top: 50px;
}
.site-footer_R::after {
  width: 35%;
  height: 2px;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  left:initial;
  background: #263ECA;
}
.site-footer_R::before {
  width: 100%;
  height: 2px;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: #E1E3E9;
}
.footer-menu {
  justify-content: space-between;
  width: 460px;
  margin-top: 50px;
}
.footer-catch .db, .footer-catch .rb {
  font-size: 64px;
  }

}
@media screen and  (min-width: 721px) and (max-width: 790px) {
.footer-catch .db, .footer-catch .rb {
  font-size: 55px;
  }
}

@media screen and (max-width: 720px) {
#site-footer {
  margin-top: 40px;
  margin-bottom: 42px;
}
.site-footer-wrap {
  width: calc(100% - 48px);
}
.footer-pc{
display:none;
}
.footer-sp{
display:inline-block;
}
.site-footer_L {
  width: 100%;
}
.site-footer_R {
  width: 100%;
  margin-top:39px;
}
.footer-menu {
  flex-direction: column;
}
.footer-menu_link {
  margin-top: 20px;
}
.footer-menu_link a {
font-size:14px;
font-size:16px;
}
.footer-menu_R{
  margin-top: 20px;
}
.site-footer_R::before, .site-footer_R::after {
display:none;
}
.site-footer_L a img{
width:240px;
}
.footer-link a {
height:48px;
margin-top:40px;
}
.footer-link .link-text {
  font-size: 14px;
  font-size: 16px;
  margin-left: 40px;
}
.footer-catch .db, .footer-catch .rb {
  font-size: 28px;
  display:block;
}
.footer-catch {
width:100%;
  margin-top: 50px;
  padding-top: 45px;
  border-top:2px solid #E1E3E9;
}
.footer-copyright {
  font-size: 13px;
  margin-top: 30px;
}
.link-arrow-box {
width: 24px;
  height: 24px;
  right: 16px;
}
.link-arrow_rb {
  position: absolute;
  top: 6px;
  left: -18px;
}
.footer-sub_menu {
  margin-top: 40px;
}
}
/**********
sub_page
**********/
.sub-head {
  display: block;
  width: 100%;
  height: 584px;
  position: relative;
background-position: center top;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1921px) {
.sub-head {
background-size: cover;
}
}
.sub-midashi-box {
  position: absolute;
  bottom: 0;
  height: 154px;
  background:#f6f7fa;
  padding-right: 56px;
}
.sub-midashi-box::after {
  content: "";
  position: absolute;
  background-image: url(img/sub-midashi_bg.png);
background-position: right bottom;
  background-repeat: no-repeat;
width:34px;
right: -34px;
  bottom: 0;
  height: 154px;
}
.news-head {
  background-image: url(img/sub-news_bg.webp);
}
.contact-head {
  background-image: url(img/sub-contact_bg.webp);
}
.company-head {
  background-image: url(img/sub-company_bg.webp);
}
.recruit-head {
  background-image: url(img/sub-recruit_bg.webp);
}
.business-head {
  background-image: url(img/sub-business_bg.webp);
}
.products-head {
  background-image: url(img/sub-products_bg.webp);
}
.sub-midashi-jp {
  font-size: 14px;
  font-size: 16px;
  margin-top: 25px;
  margin-left: 42px;
}
.sub-midashi-en {
  font-size: 100px;
margin-left: calc(42px - 7px);
  line-height: 100%;
}
.sub-breadnavi{
width:100%;
margin-top:30px;
}
.sub-breadnavi ul{
display:flex;
margin-left:42px;
}
.sub-breadnavi li{
font-size:14px;
padding-left: 35px;
}
.sub-breadnavi li:first-child{
padding-left:0px;
}
.sub-breadnavi li:last-child a{
color:#263ECA;
font-weight:bold;
}
.sub-breadnavi li:first-child a{
color:#2A2F4E;
font-weight:normal;
}
.sub-breadnavi li:first-child a:hover{
color:#263ECA;
font-weight:normal;
}
.sub-breadnavi li::after {
  content: ">";
  position: absolute;
  color: #2A2F4E;
  margin-left:14px;
}
.sub-breadnavi li.rb::after {
  content: ">";
  position: absolute;
  color: #263ECA;
  margin-left:14px;
  font-weight:bold;
}
.sub-breadnavi li:last-child::after {
display:none;
}
.sub-body{
width:100%;
/*margin-top:225px;*/
margin-top:160px;
margin-bottom:160px;
}

.news-wrap{
width: min(1392px, 100% - 42px - 42px);
margin: 0 auto;
justify-content: space-between;
}
.news-item_category-box{
width:216px;
}
.news-item_category-ul{
}
.news-item_category-li a{
width:100%;
height:40px;
background:#fff;
border-radius:50px;
margin-top:8px;
display:flex;
align-items: center;
}
.news-item_category-li a:hover{
background:#DFE3F5;
color:var(--base-color);
}
.news-item_category-li.active a{
background:#263ECA;
color:#fff;
font-weight:bold;
}
.news-item_category-li:first-child a{
margin-top:0px;
}
.news-item_category-li a .span{
font-size:15px;
margin-left:18px;
}
.news-item_contents-box{
width:1032px;
}
.news-item_contents-li a{
width:100%;
display:flex;
height:120px;
padding-left:25px;
padding-right:25px;
  border-bottom: 1px solid #E1E3E9;
flex-direction: column;
  justify-content: center;
  position: relative;
}
.news-item_contents-li:first-child a{
border-top: 1px solid #E1E3E9;
}
.news-item_contents-li a:hover{
color:var(--base-color);
  background:#fff;
}
.news-item_contents-catedate {
  display: flex;
}
.news-item_contents-catedate .cate{
background:#DFE3F5;
border-radius:20px;
width:72px;
height:24px;
display: flex;
  justify-content: center;
  align-items: center;
  margin-left:23px;
}
.news-item_contents-catedate .cate strong{
font-size:11px;
font-weight:bold;
color:#263ECA;
}
.news-item_contents-catedate .date{
font-size:16px;
color:#9093A4;
}
.news-item_contents-title{
font-size:18px;
font-weight:bold;
margin-top:15px;
}
.news-item_contents-head .news-item_contents-title{
font-size:24px;
}
.news-item_contents-li a::before {
content: "";
  position: absolute;
  width:64px;
height:64px;
background-color:#263ECA;
outline: 2px solid rgba(255,255,255,0);
border-radius:10px;
right: 24px;
}
.news-item_contents-li a:hover::before {
background-color:#fff;
outline: 2px solid #263ECA;
    transition: 0.4s;
}
.news-item_contents-li a::before {
    background-image: url(img/top-product-next.svg);
    background-position: center center;
    background-size: 24px;
  background-repeat: no-repeat;
}
.news-item_contents-li a:hover::before {
    background-image: url(img/top-product-next_hover.svg);
}
@media screen and (max-height: 500px) {
.news-item_contents-li a::before {
background-image: url(img/top-product-next_sp.png);
    background-position: top 20px left 20px;
    background-size: 24px;
  background-repeat: no-repeat;
}
.news-item_contents-li a:hover::before {
background-image: url(img/top-product-next_sp.png);
    background-position: top -2px left 20px;
background-color:#fff;
outline: 2px solid #263ECA;
    transition: 0s;
}
}
/*****************/
/*** TOP News ***/
/*****************/
.top-news-item_contents-box .news-item_contents-li a{
padding-left: 0px;
  padding-right: 0px;
flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}
.top-news-item_contents-box .news-item_contents-li a::before {
display:none;
}
.top-news-item_contents-box .news-item_contents-catedate {
flex-direction: row-reverse;
  align-items: center;
}
.top-news-item_contents-box .news-item_contents-catedate .date{
font-size: 13px;
margin-left: 8px;
}
.top-news-item_contents-box .news-item_contents-catedate .cate {
width: 56px;
width: 68px;
  height: 16px;
  height: 18px;
  margin-left: 0px;
}
.top-news-item_contents-box .news-item_contents-catedate .cate strong{
letter-spacing: -0.3px;
}
.top-news-item_contents-box .news-item_contents-title {
margin-top: 0px;
}



.news-item_page {
  width: 100%;
  margin-top: 226px;
}
.news-item_page-number {
  display: flex;
  justify-content: center;
}
.page-numbers {
  display: flex;
  height: 32px;
  width: 32px;
  background: #DFE3F5;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  margin-left: 6px;
  margin-right: 6px;
}
a.page-numbers:hover {
  color: #fff;
}
.page-numbers.current{
  background: #263ECA;
}
.news-item_contents-kiji{
margin-top:70px;
font-size:18px;
}
.news-item_contents-kiji p{
font-size:18px;
margin: 32px 0px;
}
.news-item_contents-kiji p:first-child{
margin-top:0px;
}
.news-item_contents-kiji p a{
color:#263ECA;
text-decoration:underline;
}
.news-link {
  justify-content: center;
  margin-top:75px;
  padding-top:75px;
  border-top:1px solid #E1E3E9;
}
.news-link a{
position: relative;
}

@media screen and  (min-width: 1025px) and (max-width: 1392px) {
.news-item_contents-box {
  width: 74.138vw;
}
}
@media screen and  (min-width: 1025px) and (max-width: 1265px) {
.news-item_contents-box {
  width: calc(100% - 240px);
}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.news-item_category-box {
  width: 100%;
}
.news-item_contents-box {
  width: 100%;
  margin-top: 50px;
}
.news-item_category-ul {
  display: flex;
  gap: 10px;
}
.news-item_category-li{
width: 216px;
/*width: 21.094vw;*/
}
.news-item_category-li a {
margin-top: 0px;
}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
	.sub-midashi-en {
    font-size: 66px;
    }
    .sub-midashi-box {
    height:124px;
    }
    .sub-midashi-box::after {
    height:124px;
  background-image: url(img/sub-midashi_bg-tb.png);
    }
}
@media screen and (max-width: 720px) {
.sub-head {
  display: block;
  width: 100%;
  height: 360px;
  position: relative;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}
.sub-midashi-box {
  position: absolute;
  bottom: 0;
  height: 73px;
  background:#f6f7fa;
  padding-right: 21px;
}
.sub-midashi-box::after {
  content: "";
  position: absolute;
  background-image: url(img/sub-midashi_bg-sp.png);
background-position: right bottom;
  background-repeat: no-repeat;
width:35px;
right: -35px;
  bottom: 0;
  height: 73px;
}

.sub-midashi-jp {
  font-size: 13px;
  font-size: 16px;
  margin-top: 12px;
  margin-left: 24px;
  padding-left:20px;
}
.sub-midashi-jp::before{
  background-image: url(img/sub-midashi-jp_icon-sp.svg);
  width: 16px;
content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
.sub-midashi-en {
  font-size: 44px;
margin-left: calc(24px - 4px);
  line-height: 100%;
}
.sub-breadnavi{
width:100%;
margin-top:35px;
width: calc(100% - 24px - 24px);
}
.sub-breadnavi ul{
display:flex;
margin-left:24px;
flex-wrap: wrap;
  gap: 0 12px;
}
.sub-breadnavi li{
font-size:12px;
padding-left: 0px;
position: relative;
}
.sub-breadnavi li:first-child{
padding-left:0px;
}
.sub-breadnavi li a{
color:#263ECA;
font-weight:bold;
}
.sub-breadnavi li.rb a{
color:#2A2F4E;
font-weight:normal;
}
.sub-breadnavi li.rb a:hover{
color:#263ECA;
font-weight:normal;
}
.sub-breadnavi li:first-child a{
color:#2A2F4E;
font-weight:normal;
}
.sub-breadnavi li::after {
  color: #2A2F4E;
  margin-left:0px;
right: -10px;
    top: 1px;
}
.sub-breadnavi li.rb::after {
  color: #263ECA;
  margin-left:14px;
  font-weight:bold;
}
.sub-breadnavi li:last-child::after {
display:none;
}
.sub-body{
width:100%;
margin-top:50px;
margin-bottom:80px;
}
.news-wrap{
width: calc(100% - 24px - 24px);
margin: 0 auto;
justify-content: space-between;
}
.news-item_category-box {
  width: 100%;
}
.news-item_category-ul {
  display: flex;
  gap: 5px;
}
.news-item_category-li a {
  height: initial;
  display: flex;
  align-items: center;
  padding: 5px 15px;
  margin-top: 0px;
}
.news-item_category-li a .span {
  font-size: 13px;
  font-size: 16px;
  margin-left: 0;
}
.news-item_contents-box {
  width: 100%;
  margin-top: 30px;
}
.news-item_contents-li a{
width:100%;
display:flex;
height:120px;
padding-left:10px;
padding-right:35px;
  border-bottom: 1px solid #E1E3E9;
flex-direction: column;
  justify-content: center;
  position: relative;
}
.news-item_contents-catedate .cate{
background:#DFE3F5;
border-radius:20px;
width:72px;
height:24px;
display: flex;
  justify-content: center;
  align-items: center;
  margin-left:23px;
}
.news-item_contents-catedate .cate strong{
font-size:11px;
font-size:13px;
font-weight:bold;
color:#263ECA;
}
.news-item_contents-catedate .date{
font-size:16px;
color:#9093A4;
}
.news-item_contents-title{
font-size:18px;
font-weight:bold;
margin-top:15px;
}
.news-item_contents-li a::before {
content: "";
  position: absolute;
  width:32px;
height:32px;
right: 5px;
border-radius:5px;
}
.news-item_contents-li a::before {
    background-image: url(img/top-product-next_sp.png);
    background-position: top 10px left 10px;
    background-size: 12px;
  background-repeat: no-repeat;
}
.news-item_contents-li a:hover::before {
background-color:#fff;
outline: 2px solid #263ECA;
    /*transition: 0.4s;*/
    transition: 0s;
    background-image: url(img/top-product-next_sp.png);
    background-position: top -2px left 10px;
    background-size: 12px;
  background-repeat: no-repeat;
}
.news-item_page {
  margin-top: 50px;
}
.news-item_contents-kiji {
  margin-top: 50px;
  font-size: 14px;
}
.news-item_contents-kiji p{
font-size:14px;
font-size:16px;
margin: 24px 0px;
}
.news-link {
  margin-top: 50px;
  padding-top: 50px;
}
.news-link a{
width: 200px;
  height: 48px;
  justify-content: flex-start;
}
.news-link a .link-text {
  font-size: 14px;
  font-size: 16px;
  width:160px;
  text-align:center;
}
.top-news-item_category-ul{
gap:10px;
}
.top-news-item_category-ul .news-item_category-li a {
padding: 0;
width: 80px;
width: 85px;
    height: 24px;
    height: 28px;
    justify-content: center;
}
.top-news-item_contents-box .news-item_contents-li a {
flex-direction: column-reverse;
  justify-content: space-evenly;
  align-items: flex-start;
}
.top-news-item_contents-box .news-item_contents-title {
font-size:14px;
font-size:16px;
}
.top-news-item_contents-box .news-item_contents-catedate .date {
  font-size: 14px;
  font-size: 16px;
  }
.top-news-item_contents-box .news-link{
margin-top: 40px;
    padding-top: 0px;
    border-top:0;
    justify-content: flex-start;
}
}
/**********
company
**********/

.sub-wrap{
width:1392px;
margin: 0 auto;
}
@media screen and (max-width: 1500px) {
.sub-wrap{
width:calc(100% - 42px - 42px);
}
}
.sbody-midashi{
border-bottom: 1px solid #D8D9E0;
padding-bottom: 54px;
}
.sbody-midashi-en{
font-size:13px;
font-weight:bold;
color:#263ECA;
position: relative;
padding-left: 15px;
}
.sbody-midashi-en::before {
width: 8px;
  height: 2px;
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  background: #263ECA;
}
.sbody-midashi-jp{
font-size:44px;
font-weight:bold;
margin-top: 5px;
}
@media screen and (max-width: 720px) {
.sub-wrap{
width:calc(100% - 24px - 24px);
}
.sbody-midashi-jp{
font-size:32px;
}
.sbody-midashi {
padding-bottom: 32px;
}
}
.company-body#message{
/*margin-top: 225px;*/
margin-top:160px;
}
.company-body{
margin-top: 115px;
  margin-bottom: 0px;
}
.company-body#history{
margin-top: 90px;
margin-bottom: 158px;
}
@media screen and (max-width: 720px) {
.company-body#message{
margin-top: 55px;
}
.company-body{
/*margin-top: 40px;*/
margin-top: 80px;
  margin-bottom: 0px;
}
.company-body#history{
margin-top: 22px;
margin-bottom: 80px;
}

}
.company-message-item{
margin-top: 38px;
justify-content: space-between;
}
.company-message-item_L {
  width: 360px;
}
.company-message-item_L .span {
  border-radius: 10px;
  overflow: hidden;
  display: inline-block;
}
.company-message-item_R {
  width: calc(100% - 360px - 87px);
}
.company-message-item_catch {
  font-size: 44px;
  font-weight: bold;
}
.company-message-item_p {
  font-size: 18px;
  margin-top:30px;
}
.company-message-item_p:first-of-type {
  margin-top:75px;
}
.company-message-item_name {
  text-align: right;
  margin-top:60px;
}
.company-message-item_name-top{
font-size:18px;
font-weight:bold;
}
.company-message-item_name-bottom{
font-size:24px;
font-weight:bold;
}
.company-message-item_name-bottom .span{
font-size:16px;
margin-right:20px;
}
.company-pagemenu_outer{
width:160px;
height:176px;
background:#141F6E;
border-radius:10px;
  position: absolute;
 bottom: 0;
  right: 42px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.company-pagemenu_inner {
  display: flex;
  flex-direction: column;
  gap: 8px 0;
	margin-right: 20px;
}
.company-pagemenu_inner-link {
  display: inline-block;
  width: 100%;
}
.company-pagemenu_inner-link a {
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  position: relative;
  width: 100%;
  display: inline-block;
  text-align: right;
}
.company-pagemenu_inner-link a .link-arrow-box {
  background: rgba(255,255,255,0.2);
  width: 16px;
  height: 16px;
  border-radius: 2px;
  position: absolute;
  right: -25px;
  text-align: center;
  overflow: hidden;
  top:3px;
}
.company-pagemenu_inner-link a:hover .link-arrow-box {
background: #ffffff;
  transition-duration: 800ms;
}
.company-pagemenu_inner-link a:hover .link-arrow-box .pagemenu-arrow_w{
  transform: translate(0px, 5px);
  transition-duration: 800ms;
}
.company-pagemenu_inner-link a .pagemenu-arrow_b {
  position: absolute;
  top: -8px;
}
.company-pagemenu_inner-link a:hover .link-arrow-box .pagemenu-arrow_b{
  transform: translate(0px, 12px);
  transition-duration: 800ms;
}
.company-pagemenu_inner-link a .link-arrow-box{
display:flex;
align-items: center;
justify-content: center;
}
.company-pagemenu_inner-link a .pagemenu-arrow_w {
  width: 8px;
  height: 8px;
}
.company-message-item_catch br.spbr{
display:none;
}

@media screen and  (min-width: 721px) and (max-width: 1130px) {
.company-message-item_L {
  width: 282px;
  /*width: 24.956vw;*/
  width: 30vw;
}
.company-message-item_R {
  width: calc(100% - 282px - 87px);
  /*width: calc(100% - 24.956vw - 7.699vw);*/
  width: calc(100% - 30vw - 20px);
}
}
@media screen and (max-width: 720px) {
.company-pagemenu_outer {
  width: 120px;
  height: 180px;
bottom: 30px;
  right: 24px;
}
.company-pagemenu_inner {
  gap: 7px 0;
}
.company-pagemenu_inner-link {
line-height: 150%;
}
.company-pagemenu_inner-link a {
font-size: 12px;
}

.company-message-item {
margin-top:40px;
flex-direction: column;
}
.company-message-item_L {
  width: 100%;
}
.company-message-item_L .span, .company-message-item_L .span img{
width:100%;
}
.company-message-item_R {
  width: 100%;
}
.company-message-item_catch br.spbr{
display:inline-block;
}
.company-message-item_catch {
  font-size: 24px;
  margin-top:40px;
}
.company-message-item_p:first-of-type {
  margin-top: 28px;
}
.company-message-item_p {
  font-size: 14px;
  font-size: 16px;
  margin-top: 24px;
}
.company-message-item_name {
margin-top: 64px;
}
.company-message-item_name-top {
  font-size: 14px;
  font-size: 16px;
  }
.company-message-item_name-bottom {
  font-size: 20px;
 }
 .company-message-item_name-bottom .span {
  font-size: 14px;
  font-size: 16px;
  margin-right: 16px;
  }
}
@media screen and (max-width: 435px) {
.company-pagemenu_outer {
  right: 5px;
}
}
@media screen and (max-width: 400px) {
.company-pagemenu_outer {
  width: 100px;
}
}
@media screen and (max-width: 375px) {
.company-pagemenu_outer {
  right: 0px;
}
}
/*********/
/*会社概要-社訓*/
/********/
.company-philosophy-bg{
background:linear-gradient(45deg,rgba(60, 136, 250, 1) 0%, rgba(60, 136, 250, 0.15) 25%, rgba(255, 255, 255, 1) 50%, rgba(60, 136, 250, 0.15) 75%, rgba(60, 136, 250, 1) 100%);
border-radius:20px;
width:calc(100% - 42px - 42px);
margin: 0 auto;
margin-top: 115px;
}
.company-philosophy-wrap{
/*width: min(1392px, 85%);*/
width:1392px;
margin: 0 auto;
padding-top:85px;
padding-bottom:85px;
}
@media screen and (max-width: 1500px) {
.company-philosophy-wrap{
width:calc(100% - 42px - 42px);
}
}
@media screen and (min-width: 1921px) {
.company-philosophy-bg{
width:1836px;
}
.company-philosophy-wrap{
width:1392px;
}
}

.company-philosophy-item{
margin-top: 38px;
justify-content: space-between;
}
.company-philosophy-item_L {
  width: 760px;
}
.company-philosophy-item_L_p{
font-size:16px;
font-weight:bold;
text-align:right;
margin-top:5px;
}
.company-philosophy-item_R {
  width: 442px;
}
.company-philosophy-item_R_p{
font-size:44px;
font-weight:bold;
}
.company-philosophy-item_R_p .rb{
color:#FF2B00;
}
.company-philosophy-item_R_p-name{
font-size:36px;
font-weight:bold;
text-align:right;
margin-top:30px;
}
.company-philosophy-wrap .sbody-midashi {
  border-bottom: 1px solid #2A2F4E;
}
@media screen and  (min-width: 1311px) and (max-width: 1650px) {
.company-philosophy-item_L {
  width: 680px;
}
.company-philosophy-item_R_p {
  font-size: 38px;
}
}
@media screen and  (min-width: 1025px) and (max-width: 1310px) {
.company-philosophy-item {
  justify-content: space-around;
}
.company-philosophy-item_L {
  width: 500px;
}
.company-philosophy-item_R {
  width: 345px;
}
.company-philosophy-item_R_p {
  font-size: 34px;
}
.company-philosophy-item_R_p-name {
  font-size: 29px;
  margin-top: 10px;
}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.company-philosophy-item {
  /*justify-content: space-around;*/
  justify-content: space-between;
}
}
@media screen and  (min-width: 851px) and (max-width: 1024px) {
.company-philosophy-item_L {
  /*width: 280px;*/
  width: calc(100% - 300px - 60px);
}
.company-philosophy-item_R {
  /*width: 250px;*/
  width: calc(300px - 0px);
    align-items: flex-end;
    display: flex;
    flex-direction: column;
}
.company-philosophy-item_R_p {
  font-size: 30px;
}
.company-philosophy-item_R_p-name {
  font-size: 30px;
  margin-top: 10px;
}
}

@media screen and  (min-width: 721px) and (max-width: 850px) {
.company-philosophy-item_L {
  /*width: 280px;*/
  width: calc(100% - 250px - 30px);
}
.company-philosophy-item_R {
  /*width: 250px;*/
  width: calc(250px - 0px);
    align-items: flex-end;
    display: flex;
    flex-direction: column;
}
.company-philosophy-item_R_p {
  font-size: 25px;
}
.company-philosophy-item_R_p-name {
  font-size: 20px;
  margin-top: 10px;
}
}
@media screen and  (min-width: 721px) and (max-width: 745px) {
.company-philosophy-item_L_p {
  font-size: 15px;
  letter-spacing:-0.8px;
  }
}
@media screen and (max-width: 720px) {
.company-philosophy-bg {
width: calc(100% - 24px - 24px);
margin-top: 80px;
}
 .company-philosophy-wrap {
    width: calc(100% - 24px - 24px);
    padding-top: 24px;
  padding-bottom: 24px;
  }
  .company-philosophy-item {
  margin-top: 24px;
  flex-direction: column-reverse;
  }
  .company-philosophy-item_R {
  width: 100%;
}
  .company-philosophy-item_R_p {
  font-size: 24px;
  line-height:2;
  }
  .company-philosophy-item_R_p-name {
  font-size: 24px;
  }
  .company-philosophy-item_L {
  width: 100%;
  margin-top: 24px;
	}
	.company-philosophy-item_L_p {
  font-size: 14px;
  margin-top: 24px;
  }
}
/*********/
/*会社概要-会社情報*/
/********/
.company-overview-item{
margin-top:35px;
}
.company-overview-item-box{
width:1033px;
margin-top:35px;
padding-bottom:35px;
display:flex;
border-bottom:1px solid #D8D9E0;
position: relative;
margin-left: auto;
}
@media screen and (max-width: 1120px) {
.company-overview-item-box{
width:100%;
}
}
.company-overview-item-box::before {
width: 16px;
  height: 2px;
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  background: #263ECA;
}
.company-overview-item-box:first-child{
margin-top:0px;
}
.company-overview-item-box_title{
width:234px;
font-size:16px;
font-weight:bold;
}
.company-overview-item-box_text{
width:calc(100% - 234px);
font-size:16px;
}
.company-overview-item-box_text br.spbr2{
display:none;
}
@media screen and (max-width: 1024px) {
.company-overview-item-box_text br.spbr{
display:none;
}
}
@media screen and (max-width: 720px) {
.company-overview-item {
  margin-top: 24px;
}
.company-overview-item-box {
flex-direction: column;
margin-top:20px;
padding-bottom:20px;
}
.company-overview-item-box_title {
  width: 100%;
  font-size: 14px;
  font-size: 16px;
  }
.company-overview-item-box_text{
width:100%;
font-size:14px;
font-size:16px;
margin-top:20px;
}
.company-overview-item-box_text br.spbr2{
display:inline-block;
}
}
@media screen and (max-width: 415px) {
.company-overview-item-box_text br.spbr2{
display:none;
}
}
/*********/
/*会社概要-拠点情報*/
/********/
.company-place-item{
margin-top:35px;
justify-content: space-between;
}
.company-place-item-box{
width:440px;
height:320px;
height:auto;
/*padding-left:32px;
padding-right:32px;*/
padding:32px;
background:#fff;
border-radius:15px;
}
.place-area{
font-size:32px;
font-weight:bold;
/*margin-top:30px;*/
padding-bottom:30px;
border-bottom:1px solid #D8D9E0;
position: relative;
}
.place-area::before {
width: 16px;
  height: 2px;
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  background: #263ECA;
}
.place-address{
font-size:16px;
margin-top:20px;
line-height: 2;
}
.place-address a{
color:#2A2F4E;
}
.place-map{
display:flex;
margin-top: 10px;
justify-content: flex-end;
}
.place-map a{
width:160px;
height:48px;
border-radius:10px;
background:#E1E3E9;
display:flex;
align-items: center;
position: relative;
}
.place-map a:hover{
background:#263ECA;
}
.place-map a .span{
padding-left:16px;
color:#263ECA;
font-size:14px;
font-weight:bold;
}
.place-map a:hover .span{
color:#fff;
}
.place-map a::before {
background: #fff;
  width: 32px;
  height: 32px;
  border-radius: 2px;
  position: absolute;
  right: 8px;
  content: "";
    background-image: url(img/place-map_icon-b.svg);
    background-position: center center;
    background-size: 16px;
  background-repeat: no-repeat;
}
.place-map a:hover::before {
background: rgba(255,255,255,0.2);
    background-image: url(img/place-map_icon-w.svg);
    background-position: center center;
    background-size: 16px;
  background-repeat: no-repeat;
        transition: 0.4s;
}
.place-gmap {
  margin-top: 20px;
}
.place-gmap iframe {
  width: 100%;
  height: 300px;
}
@media screen and  (min-width: 1025px) and (max-width: 1440px) {
.company-place-item-box{
width:440px;
width: 30vw;
}
}
@media screen and  (min-width: 1025px) and (max-width: 1204px) {
.company-place-item-box{
/*height: 350px;*/
}
.place-address{
height:160px;
}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.company-place-item {
  margin-top: 0px;
}
.company-place-item-box{
width:100%;
  margin-top: 35px;
}
.place-gmap iframe {
  height: 299px;
}
}
@media screen and (max-width: 720px) {
.company-place-item {
  margin-top: 0px;
  }
  .company-place-item-box {
  margin-top: 25px;
  width:100%;
  padding-left: 24px;
  padding-right: 24px;
  border-radius: 20px;
  height: initial;
  }
  .place-area {
  font-size: 24px;
  padding-bottom: 20px;
  }
  .place-address {
  font-size: 14px;
  font-size: 16px;
  margin-top: 25px;
  }
  .place-map {
  margin-top: 20px;
  margin-bottom:24px;
  }
.place-gmap iframe {
  height: 299px;
}
}
/*********/
/*会社概要-写真ギャラリー*/
/********/
.company-gallery-box{
background:linear-gradient(45deg,rgba(60, 136, 250, 1) 0%, rgba(60, 136, 250, 0.15) 25%, rgba(255, 255, 255, 1) 50%, rgba(60, 136, 250, 0.15) 75%, rgba(60, 136, 250, 1) 100%);
margin-top: 90px;
}
.company-gallery-item {
  width: 1836px;
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
  margin-top: 137px;
  margin-bottom: 165px;
  align-items: center;
}
.company-gallery-item-box{
outline: 4px solid #263ECA;
position: relative;
z-index:1;
height:100%;
  margin-right: 28px;
}
.company-gallery-item-box::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: -28px;
  right: -28px;
  left: 20px;
  border: solid 4px #263ECA;
  z-index: -1;
}
.wave-sp{
display:none;
}
.gallery-sp{
display:none;
}

@media screen and  (min-width: 1025px) and (max-width: 1850px) {
.company-gallery-item {
  width: 1836px;
  width: 99.243vw;
}
.company-gallery-item-box-img_s{
width:360px;
width:19.459vw;
}
.company-gallery-item-box-img{
width:416px;
width:22.486vw;
}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.company-gallery-item-box{
outline: 3px solid #263ECA;
  margin-right: 18px;
margin-right: 1.758vw;
}
.company-gallery-item-box::before {
  bottom: -18px;
  right: -18px;
    bottom: -1.758vw;
  right: -1.758vw;
  border: solid 3px #263ECA;
}

.company-gallery-item {
  width: 940px;
  width: 91.797vw;
}
.company-gallery-item-box-img_s{
width:183px;
width:17.871vw;
}
.company-gallery-item-box-img{
width:212px;
width:20.703vw;
}

}
@media screen and (max-width: 720px) {
.company-gallery-box {
margin-top:20px;
}
.wave-pc, .gallery-pc{
display:none;
}
.wave-sp, .gallery-sp{
display:inline-block;
}
.company-gallery-item {
  width: 700px;
  width: 97.222vw;
  align-items: initial;
  flex-wrap: wrap;
  margin-top: 25px;
  margin-bottom: 25px;
}
.company-gallery-item-box {
  outline: 2px solid #263ECA;
  position: relative;
  z-index: 1;
  height: 100%;
  margin-right: 32px;
  margin-bottom: 32px;
    margin-right: 4.444vw;
  margin-bottom: 4.444vw;
}
.company-gallery-item-box::before {
  content: "";
  position: absolute;
  top: 29px;
  bottom: -32px;
  right: -32px;
  left: 29px;
  top: 4.028vw;
  bottom: -4.444vw;
  right: -4.444vw;
  left: 4.028vw;
    border: solid 2px #263ECA;
  z-index: -1;
}
.company-gallery-item-box.gallery-2 {
  margin-top: 196px;
  margin-top: 27.222vw;
}
.company-gallery-item-box.gallery-3 {
  margin-top: -40px;
  margin-top: -5.556vw;
}
.company-gallery-item-box.gallery-4 {
  margin-top: 30px;
  margin-top: 4.167vw;
}
.company-gallery-item-box-img{
width: 300px;
width: 41.667vw;
}
.company-gallery-item-box-img_s{
width: 300px;
width: 41.667vw;
}
}


/*********/
/*会社概要-沿革*/
/********/
.company-history-item{
margin-top:40px;
margin-top:25px;
display:flex;
}
.company-history-item-year{
width:365px;
width:250px;
font-size:72px;
font-size:52px;
font-weight:bold;
color:#D8D9E0;
line-height: 100%;
}
.company-history-item-year small{
font-size:20px;
}
.company-history-item-box{
width:1032px;
width: calc(100% - 250px - 40px);
display:flex;
border-bottom:1px solid #D8D9E0;
position: relative;
margin-left: auto;
margin-top:20px;
padding-bottom: 56px;
}
.company-history-item-box_month{
width:232px;
font-size:16px;
font-weight:bold;
color:#263ECA;
}
.company-history-item-box_title{
/*width:calc(100% - 232px);*/
font-size:20px;
font-weight:bold;
}
.company-history-item-box_title small{
font-size:16px;
font-weight:normal;

}
.company-history-item-box::before {
  width: 16px;
  height: 2px;
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  background: #263ECA;
}
  .company-history-item-box_title br.spbr{
  display:none;
  }
@media screen and  (min-width: 721px) and (max-width: 1110px) {
br.spbr{
display:none;
}
}
@media screen and  (min-width: 721px) and (max-width: 1025px) {
.company-history-item-year {
font-size: 55px;
font-size: 45px;
letter-spacing: -2px;
}
.company-history-item-year small {
  font-size: 18px;
}
.company-history-item-box_month{
width:100px;
}
.company-history-item-box_title{
/*width:calc(100% - 100px);*/
}
.company-history-item-year {
width: 200px;
}
.company-history-item-box {
width: calc(100% - 200px - 40px);
}

}
@media screen and (max-width: 720px) {
.company-history-item {
flex-direction: column;
}
.company-history-item-year {
width: 100%;
line-height: 1;
font-size: 60px;
font-size: 40px;
}
.company-history-item-box {
  width: 100%;
margin-top: 33px;
margin-top: 25px;
padding-bottom: 16px;
flex-direction: column;
}
.company-history-item-box_month {
  width: 100%;
  font-size: 14px;
}
.company-history-item-box_title {
  width: 100%;
  font-size: 16px;
  margin-top: 20px;
  margin-top: 0px;
  }
 .company-history-item-box_title small {
  font-size: 14px;
  font-size: 16px;
  margin-top: 16px;
  display: inline-block;
  }
  .company-history-item-box_title br.spbr{
  display:inline-block;
  }
}
/*********/
/*採用情報*/
/********/
.recruit-item{
margin-top:73px;
}
.recruit-item_title {
background:#263ECA;
border-radius:10px;
font-size:28px;
font-weight:bold;
color:#fff;
display: flex;
  height: 72px;
  align-items: center;
  padding-left: 24px;
}
.recruit-item-box{
width:1033px;
display:flex;
border-bottom:1px solid #D8D9E0;
position: relative;
margin: 0 auto;
margin-top:40px;
padding-bottom:40px;
}
@media screen and (max-width: 1120px) {
.recruit-item-box{
width:100%;
}
}
.recruit-item-box::before {
width: 16px;
  height: 2px;
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  background: #263ECA;
}
.recruit-item-box:first-child{
margin-top:0px;
}
.recruit-item-box_title{
width:234px;
font-size:16px;
font-weight:bold;
}
.recruit-item-box_text{
width:calc(100% - 234px);
font-size:16px;
}
.recruit-item-nodata {
  font-size: 16px;
  margin-top: 40px;
  text-align: center;
}
.recruit-body{
margin-bottom:93px;
}
.recruit-entry-box{
background:linear-gradient(45deg,rgba(60, 136, 250, 1) 0%, rgba(60, 136, 250, 0.15) 25%, rgba(255, 255, 255, 1) 50%, rgba(60, 136, 250, 0.15) 75%, rgba(60, 136, 250, 1) 100%);
margin-bottom:calc(180px - 27px);
}
.recruit-entry-item {
width:1392px;
margin: 0 auto;
margin-top:98px;
margin-bottom:98px;
display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 1500px) {
.recruit-entry-item {
width:calc(100% - 42px - 42px);
}
}
.recruit-entry-item_title{
font-size:88px;
font-weight:bold;
line-height:1;
}
.recruit-entry-item_p {
  margin-top: 68px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 2;
}
.recruit-entry-item_link{
margin-top:57px;
}
.recruit-item_title br.spbr{
display:none;
}
.recruit-entry-item_p br.spbr{
display:none;
}
@media screen and  (min-width: 721px) and (max-width: 780px) {
.recruit-entry-item_p {
  font-size: 17px;
}
}
@media screen and (max-width: 720px) {
.recruit-entry-item_link.footer-contact-link a {
width: 248px;
  height: 48px;
 background: var(--btn-grad) !important;
 border-radius:4px;
}
.recruit-entry-item_link.footer-contact-link .link-text, .recruit-entry-item_link.footer-contact-link .link-arrow-box{
display:flex;
}
.recruit-entry-item_link.footer-contact-link a {
    background-image: initial;
    background-position: initial;
    background-size: initial;
  background-repeat: initial;
}
.recruit-entry-item_link.footer-contact-link a:hover {
    background-image: initial;
background-color:initial;
outline: initial;
    transition: initial;
}
.recruit-entry-item_link.footer-contact-link a::before {
    display: inline-block;
    width: 24px;
    left: 16px;
    left: 10px;
  }
.recruit-entry-item_link.footer-contact-link .link-text {
	font-size: 14px;
	font-size: 16px;
	letter-spacing: -0.5px;
}
.recruit-entry-item_link.footer-contact-link .link-arrow-box {
right: 8px;
}
.recruit-entry-item_link.footer-contact-link .link-arrow-box .link-arrow_rb {
left: -19px;
}
.recruit-entry-item_link a:hover .link-arrow-box {
  transform: scale(1.11, 1.11);
}
.recruit-item {
  margin-top: 80px;
}
.recruit-item:first-of-type {
  margin-top: 40px;
}
.recruit-body {
  margin-bottom: 60px;
}
.recruit-item-box {
flex-direction: column;
margin-top:20px;
padding-bottom:20px;
}
.recruit-item-box_title {
  width: 100%;
  font-size: 14px;
  font-size: 16px;
  }
.recruit-item-box_text{
width:100%;
font-size:14px;
font-size:16px;
margin-top:20px;
}
.recruit-item_title {
  font-size: 18px;
  height:48px;
}
.recruit-item_title.spbrtag{
height:80px;
}
.recruit-item_title br.spbr{
display:inline-block;
}
.recruit-entry-box {
margin-bottom:0;
}
.recruit-entry-item {
width: calc(100% - 24px - 24px);
margin-top:50px;
margin-bottom:40px;
}
.recruit-entry-item_title {
  font-size: 44px;
}
.recruit-entry-item_p {
  margin-top: 39px;
  font-size: 14px;
  font-size: 16px;
}
.recruit-entry-item_p br.br{
display:none;
display:inline-block;
}
.recruit-entry-item_p br.spbr{
display:inline-block;
display:none;
}
.recruit-entry-item_link {
  margin-top: 25px;
}
.recruit-item-nodata {
  font-size: 14px;
  font-size: 16px;
  }
}
@media screen and (max-width: 385px) {
.recruit-entry-item_p {
letter-spacing: -0.5px;
}
}
@media screen and (max-width: 640px) {
 .recruit-entry-item_p {
 text-align: left;
 }
}
/*********/
/*営業内容*/
/********/
.business-three-item{
margin-top:73px;
}
.business-three-item_img{
width:1093px;
margin:0 auto;
}
@media screen and (max-width: 1200px) {
.business-three-item_img{
width:100%;
}
}
.business-overview-box{
background:linear-gradient(45deg,rgba(60, 136, 250, 1) 0%, rgba(60, 136, 250, 0.15) 25%, rgba(255, 255, 255, 1) 50%, rgba(60, 136, 250, 0.15) 75%, rgba(60, 136, 250, 1) 100%);
/*background:rgba(60, 136, 250, 1);*/
margin-bottom:170px;
}
.business-overview-box .business-wrap{
margin-top:140px;
margin-bottom:194px;
}
.business-overview-box .sbody-midashi {
  border-bottom: 1px solid #2A2F4E;
}
.sbody-midashi_s .sbody-midashi-jp{
font-size:32px;
line-height: 1.4;
}
.business-delivery-item{
background:#fff;
border-radius:20px;
padding:40px;
margin-top:40px;
}
.business-delivery-item-box{
display:flex;
justify-content: space-between;
}
.business-delivery-item_map {
  margin-top: -115px;
}
.business-delivery-item_L{
width:700px;
}
.business-delivery-item_R{
width:480px;
}
.business-delivery-item_p:first-of-type {
  margin-top: 40px;
}
.business-delivery-item_p{
  margin-top: 20px;
  font-size:18px;
}
.business-delivery-item_L .business-delivery-item_p{
line-height: 1.8;
}
.business-scolumn-item{
justify-content: space-between;
}
.business-scolumn-item-box{
width:680px;
height:560px;
height:318px;
background:#fff;
border-radius:20px;
position: relative;
margin-top:32px;
padding:40px;
}
.business-scolumn-item_icon {
  position: absolute;
  top: 23px;
}
.business-scolumn-item_icon.icon-original{
right:27px;
}
.business-scolumn-item_icon.icon-layout{
right:25px;
}
.business-scolumn-item_icon.icon-zoo{
right:25px;
}
.business-scolumn-item_icon.icon-fair{
right:25px;
}
@media screen and  (min-width: 1025px) and (max-width: 1370px) {
.business-delivery-item_L{
width:700px;
width:51vw;
}
.business-delivery-item_R{
width:480px;
width: calc(100% - 51vw);
}

}

@media screen and  (min-width: 1025px) and (max-width: 1470px) {
.business-scolumn-item-box{
width: calc(50% - 32px/2);
height:auto;
margin-top:32px;
padding:40px;
}
.business-scolumn-item_icon {
  top: 23px;
top: 1.565vw;
}
.business-scolumn-item_icon.icon-original{
right:27px;
right:1.837vw;
width:127px;
width:8.639vw;
}
.business-scolumn-item_icon.icon-layout{
right:25px;
right:1.701vw;
width:173px;
width:11.769vw;
}
.business-scolumn-item_icon.icon-zoo{
right:25px;
right:1.701vw;
width:173px;
width:10vw;
}
.business-scolumn-item_icon.icon-fair{
right:25px;
right:1.701vw;
width:172px;
width:11.701vw;
}

}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.business-scolumn-item-box{
width: 100%;
height:auto;
}
.business-delivery-item-box{
gap:0 10px;
}
.business-delivery-item_map {
  margin-top: 40px;
}

}
@media screen and (max-width: 720px) {
.sbody-midashi_s .sbody-midashi-jp {
  font-size: 24px;
}
.business-three-item {
  margin-top: 40px;
}
.business-body:first-of-type{
margin-bottom:16px;
}
.business-overview-box .business-wrap {
  margin-top: 23px;
  margin-bottom: 23px;
}
.business-overview-box {
margin-bottom: 15px;
}
.business-delivery-item_p {
font-size: 14px;
font-size: 16px;
}
.business-delivery-item-box {
flex-wrap: wrap;
flex-direction: column-reverse;
}
.business-delivery-item_map {
width: 50%;
width: 100%;
  margin: 0 auto;
  margin-top: 40px;
}
.business-delivery-item_L, .business-delivery-item_R{
width:100%;
}
.business-delivery-item {
padding: 24px;
}
.business-scolumn-item-box {
padding: 24px;
width: 100%;
height: auto;
}
.business-scolumn-item_icon {
width: 100px;
}

}
@media screen and (max-width: 437px) {
.business-scolumn-item_icon{
width: 70px;
}
.business-scolumn-item-box:nth-of-type(3) .sbody-midashi_s .sbody-midashi-jp {
    font-size: 23px;
    letter-spacing: -1px;
  }
}

/*********/
/*商品案内*/
/********/
.products-link-item{
justify-content: space-between;
margin-top:calc(73px - 36px);
}
@media screen and (min-width: 1025px) {
.products-link-item_box:last-of-type{
flex: 0 0 auto;
margin-right: auto;
margin-left: 36px;
}
}
.products-link-item_box{
  width: 440px;
  height: 80px;
  background: var(--btn-grad);
  border-radius: 10px;
  cursor: pointer;
  position: relative;
  border: none;
  text-align: left;
  align-items: center;
  margin-top:36px;
}
.products-link-item_box .link-text{
margin-left:21px;
}
.products-link-item_box .link-arrow-box {
top:25px;
}
.products-link-item_box .link-arrow-box .link-arrow_w {
width:16px;
height:16px;
}
.products-link-item_box .link-arrow-box .link-arrow_rb {
  position: absolute;
  left: 8px;
  top:-16px;
}
.products-link-item_box:hover .link-arrow-box {
background: #fff;
  transform: scale(1.22, 1.22);
  transition-duration: 800ms;
}
.products-link-item_box:hover .link-arrow-box .link-arrow_w{
  transform: translate(0px, 19px);
  transition-duration: 800ms;
}
.products-link-item_box:hover .link-arrow-box .link-arrow_rb{
  transform: translate(0px, 25px);
  transition-duration: 800ms;
}
.products-intro-item-frame{
position: relative;
padding-top:120px;
padding-right:192px;
margin-top:120px;
}
.products-intro-item-frame:first-of-type{
margin-top:75px;
}
.products-intro-item-box{
width:1200px;
height:480px;
border-radius:20px;
background:linear-gradient(45deg,rgba(60, 136, 250, 1) 0%, rgba(60, 136, 250, 0.15) 25%, rgba(255, 255, 255, 1) 50%, rgba(60, 136, 250, 0.15) 75%, rgba(60, 136, 250, 1) 100%);
padding-left: 120px;
padding-top: 90px;
}
#ainu.products-intro-item-frame .products-intro-item-box{
height:1100px;
}
.products-intro-item-box_img {
  position: absolute;
  right: 0;
  top: 0;
}
.products-intro-item-box_img{
outline: 4px solid #263ECA;
z-index:1;
  margin-right: 28px;
  margin-top:50px;/*スクロール対応*/
}
.products-intro-item-box_img::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: -28px;
  right: -28px;
  left: 20px;
  border: solid 4px #263ECA;
  z-index: -1;
}
.products-intro-item-box_title{
  border-bottom: 1px solid #2A2F4E;
  padding-bottom:52px;
}
.products-intro-item-box_title .sbody-midashi_s .sbody-midashi-jp{
/*line-height:1;*/
line-height:1.3;
}
.products-intro-item-box_text {
  margin-top: 36px;
  width: 680px;
}
.products-intro-item-box_text_p{
font-size:18px;
}
.products-intro-item-box_text_p a{
text-decoration:underline;
}
#ainu.products-intro-item-frame .products-intro-item-box_text_p{
margin-top:40px;
}
#ainu.products-intro-item-frame .products-intro-item-box_text_p:first-of-type{
margin-top:0px;
}
.products-body:first-of-type{
margin-bottom:0px;
}
.products-body.products-intro{
margin-top:115px;
margin-bottom:160px;
}
@media screen and  (min-width: 1025px) and (max-width: 1470px) {
.products-link-item_box {
  width: 440px;
  height: 80px;
width: calc(100% /3 - 10px - 10px);
/*height: 5.442vw;*/
}
.products-link-item_box .link-text {
font-size: 18px;
width: 350px;
width: 21vw;
}
.products-link-item_box:last-of-type {
margin-left: 20px;
}
.products-link-item {
gap: 0 10px;
}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.products-link-item_box {
  width: 440px;
  height: 80px;
width: calc(100% /2 - 10px - 10px);
/*height: 5.442vw;*/
}
.products-link-item_box .link-text {
font-size: 18px;
width: 350px;
width: 34.18vw;
width: 32vw;
}
.products-link-item_box:last-of-type {
margin-left: 0px;
}
.products-link-item {
gap: 0 10px;
}

}
@media screen and (max-width: 720px) {
.products-link-item_box {
width: 100%;
height: 48px;
margin-top: 15px;
}
.products-link-item_box .link-text {
font-size: 18px;
}
.products-link-item_box .link-arrow-box {
  top: 12px;
}
.products-link-item_box .link-arrow-box .link-arrow_w {
  width: 12px;
  height: 12px;
}
.products-link-item_box .link-arrow-box .link-arrow_rb {
  position: absolute;
  left: 4px;
  top: -16px;
}
.products-link-item_box:hover .link-arrow-box .link-arrow_rb {
  transform: translate(0px, 20px);
}
.products-link-item_box:hover .link-arrow-box {
  transform: scale(1.11, 1.11);
}
.products-link-item_box:last-of-type {
margin-left: 0px;
}
}
@media screen and (max-width: 437px) {
 .products-link-item_box .link-text {
    font-size: 16px;
    letter-spacing: -1px;
  }
  .products-link-item_box .link-text {
  margin-left: 15px;
}
}
@media screen and  (min-width: 1025px) and (max-width: 1500px) {
.products-intro-item-frame{
padding-top:120px;
padding-right:192px;
margin-top:120px;
padding-top:8vw;
padding-right:12.8vw;
margin-top:8vw;
}
.products-intro-item-box{
width:1200px;
/*height:480px;*/
padding-left: 120px;
padding-top: 90px;
width:80vw;
/*height:32vw;*/
padding-left: 3vw;
padding-top: 6vw;
height:auto;
padding-right: 300px;
padding-bottom: 100px;
}
#ainu.products-intro-item-frame .products-intro-item-box{
height:auto;
padding-bottom: 100px;
}

.products-intro-item-box_img{
  margin-right: 28px;
  margin-top:5px;
    margin-right: 1.867vw;
  margin-top:0.333vw;
  width:536px;
  width:33vw;
  top: 80px;
}
.products-intro-item-box_img::before {
  top: 20px;
  bottom: -28px;
  right: -28px;
  left: 20px;
    top: 1.333vw;
  bottom: -1.867vw;
  right: -1.867vw;
  left: 1.333vw;
}

.products-intro-item-box_text {
width: 98%;
}


}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.products-intro-item-frame{
padding-top: 0px;
padding-right: 80px;
}
.products-intro-item-box{
width:100%;
height:auto;
padding-right: 150px;
padding-bottom: 100px;
padding-right: 25vw;
padding-bottom: 9.766vw;
padding-left: 42px;
padding-top: 42px;
}
.products-intro-item-box_img{
outline: 3px solid #263ECA;
  margin-right: 18px;
margin-right: 1.758vw;
width: 280px;
width: 27.344vw;
top: -5px;
/*top: 14.648vw;*/
}
.products-intro-item-box_img::before {
  bottom: -18px;
  right: -18px;
    bottom: -1.758vw;
  right: -1.758vw;
  border: solid 3px #263ECA;
}
#ainu.products-intro-item-frame .products-intro-item-box {
  height: auto;
}
.products-intro-item-box_text {
width: 100%;
}

}
@media screen and (max-width: 720px) {
.products-intro-item-frame {
padding-right:0px;
margin-top: calc(50px + 18px);
padding-top:0px;
}
.products-intro-item-box {
  width: 100%;
  height: auto;
  padding:24px;
  padding-bottom:200px;
}
.products-intro-item-box_img {
  position: relative;
  width: 70%;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: -150px !important;
}
#ainu.products-intro-item-frame .products-intro-item-box {
  height: auto;
}
.products-intro-item-box_text_p {
  font-size: 14px;
  font-size: 16px;
}
.products-intro-item-frame:first-of-type {
  margin-top: 40px;
}
.products-intro-item-box_title {
padding-bottom: 30px;
}
.products-intro-item-box_text {
  margin-top: 30px;
}
.products-intro-item-box_img::before {
  top: 18px;
  bottom: -18px;
  right: -18px;
  left: 18px;
  border: solid 2px #263ECA;
}
.products-intro-item-box_img {
  outline: 2px solid #263ECA;
}
.products-body.products-intro {
  margin-top: 44px;
  margin-bottom: 80px;
}
.products-link-item {
  margin-top: 28px;
}
.products-link-item_box:first-of-type{
margin-top:0px;
}
.products-intro-item-box_text {
width: 100%;
}

}
.wave-top .wave-pc, .wave-bottom .wave-pc{
width:100%;
}
/****
404
***/
.sub_404-box {
  width: 100%;
  margin-top: 187px;
  /*min-height: 430px;*/
}
.sub_404-box .top-midashi-jp{
font-size:18px;
color:#263ECA;
padding-left: 0px;
}
.sub_404-box .top-midashi-jp::before{
display:none;
}
.sub_404-wrap{
width: 1392px;
margin: 0 auto;
position: relative;
margin-bottom: 120px;
}
@media screen and (max-width: 1500px) {
.sub_404-wrap{
width: calc(100% - 42px - 42px);
}
}
.sub_404-item{
margin-top:50px;
}
.sub_404-item_border {
  display: inline-block;
}
.sub_404-item_border::before {
  content: "";
  position: absolute;
  height:2px;
  width:80px;
  background-color:#2A2F4E;
}
.sub_404-item_p{
font-size:18px;
margin-top:50px;
}
.sub-404-link{
width:328px;
margin-top:80px;
}
.sub_404-img {
  position: absolute;
  right: 0;
  top: 0;
  width: 569px;
}
@media screen and (max-width: 1300px) {
.sub_404-img {
width: 40vw;
top: 80px;
}
}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
	.sub_404-img {
	width: 70%;
	top: 0;
	right:0;
	z-index: -999;
	opacity: 0.3;
	}
	.sub_404-box .top-midashi-en{
	font-size:83px;
	}
	.sub_404-item_p {
	font-size: 16px;
	}
	.sub_404-wrap {
	display: block;
	}
}
@media screen and (max-width: 720px) {
	.sub_404-wrap{
	width: calc(100% - 24px - 24px);
	margin-bottom: 80px;
	}
	.sub_404-box {
	width: 100%;
	margin-top: 100px;
	}
	.sub_404-img {
	width: 50%;
	top: 20px;
	z-index: -9;
	opacity: 0.2;
	}
	.sub_404-box .top-midashi-jp {
	font-size: 15px;
	}
	.sub_404-item_p {
	font-size: 14px;
	margin-top: 20px;
	}
	.sub_404-item {
	margin-top: 20px;
	}
	.sub-404-link {
	width: 200px;
	margin-top: 40px;
	}
	.sub-404-link a{
	width: 200px;
	height: 48px;
	justify-content: flex-start;
	}
	.sub-404-link a .link-text {
	font-size: 14px;
	width:160px;
	text-align:center;
	}
}
/**********
サイド追従
***********/
/* --- 共通設定（アニメーションなど） --- */
.side-catalog-link {
  position: fixed;
  left: 0;
  z-index: 9999;
  opacity: 0;
  transform: translateX(-100%);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.6s;
  pointer-events: none;
}

/* --- 1731px以上：従来の中央配置 --- */
@media screen and (min-width: 1731px) {
  .side-catalog-link {
    top: 50%;
    transform: translateY(-50%) translateX(-100%);
  }
  .side-catalog-link.is-visible {
    transform: translateY(-50%) translateX(0);
    opacity: 1;
    pointer-events: auto;
  }
}

/* --- 1730px以下：下部40px固定 --- */
@media screen and (max-width: 1730px) {
  .side-catalog-link {
    bottom: 40px; /* 下部40px */
    top: auto;    /* top指定を解除 */
  }
  .side-catalog-link.is-visible {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }
  /* フッター到達時にJSで付与するクラス */
  .side-catalog-link.is-stopped {
    position: absolute;
  }
}
.side-catalog-link a {
  width: 60px;
  height: 200px;
  background: var(--btn-grad3);
  border: 2px solid #263ECA;
  box-sizing: border-box;
  border-radius: 10px;
  align-items: flex-start;
}
.side-catalog-link::before {
  content: "";
  position: absolute;
  height:56px;
  width:47px;
  background-image: url(img/side-catalog-link_icon.svg);
  background-position: left center;
  background-repeat: no-repeat;
  top: -9px;
  right: 3px;
}
.side-catalog-link .link-text {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  writing-mode: vertical-rl;
  line-height: 1.3;
  margin-top: 35px;
  letter-spacing: -0.2px;
}
.side-catalog-link .link-arrow-box {
width: 24px;
height: 24px;
right: 18px;
bottom: 16px;
}
.side-catalog-link .link-arrow_w {
  width: 8px;
  height: 8px;
}
.side-catalog-link .link-arrow_rb {
  position: absolute;
  top: 6px;
  left: -19px;
}
@media screen and (max-width: 1200px) {
.side-catalog-link a {
  width: 48px;
  height: 160px;
}
.side-catalog-link::before {
  content: "";
  position: absolute;
  height:45px;
  width:38px;
  background-image: url(img/side-catalog-link_icon-sp.svg);
  top: -9px;
  right: 3px;
}
.side-catalog-link .link-text {
  font-size: 14px;
}
.side-catalog-link .link-arrow-box {
  right: 12px;
  bottom: 6px;
}
}
/* ハンバーガーメニューが開いている時（body.is-fixed時） */
body.is-fixed .side-catalog-link {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none; /* クリックを完全に無効化 */
}
/*商品案内アンカーリンク*/
.products-intro-item-frame {
  scroll-margin-top: 80px;
}
@media screen and (max-width: 720px) {
.products-intro-item-frame {
  scroll-margin-top: 100px;
}
}
@media screen and (max-height: 500px) {
.products-intro-item-frame {
  scroll-margin-top: 130px;
}

}
@media screen and (min-width: 1921px) {
.products-intro-item-box_img.ainu_item2 {
  margin-top: 654px;
}
}
@media screen and (max-width: 1920px) {
.products-intro-item-box_img.ainu_item2 {
  margin-top: 654px;
  margin-top: 37vw;
}
}
@media screen and (max-width: 1705px) {
.products-intro-item-box_img.ainu_item2 {
  margin-top: 41vw;
}
}
@media screen and (max-width: 1555px) {
.products-intro-item-box_img.ainu_item2 {
  margin-top: 45vw;
}
}
@media screen and (max-width: 1500px) {
.products-intro-item-box_img.ainu_item2 {
  margin-top: 40vw;
}
}
@media screen and (max-width: 720px) {
	.ainu_item-box {
	  display: flex;
	  gap: 50px;
	}
	.products-intro-item-box_img img{
	width:100%;
	}
}
.products-intro-item-box_img span{
position: absolute;
left: 0;
bottom: 5px;
font-size:15px;
letter-spacing: -0.5px;
}
.products-intro-item-box_img.ainu_item2 span{
color:#fff;
-webkit-text-stroke: 4px rgba(0, 0, 0, 0.5); /* 縁の太さと色 */
paint-order: markers stroke fill; /* 縁を文字の背後に配置（文字が細くなるのを防ぐ） */
}
.products-intro-item-box_img.ainu_item1 span{
-webkit-text-stroke: 4px #FFF; /* 縁の太さと色 */
paint-order: markers stroke fill; /* 縁を文字の背後に配置（文字が細くなるのを防ぐ） */
}
@media screen and (max-width: 720px) {
	.ainu_item-box {
	gap: 30px;
	flex-direction: column;
	}
	.products-intro-item-box_img span {
	  font-size: 12px;
	  letter-spacing: -1px;
	}
	.products-intro-item-box_img.ainu_item2{
	margin-top: 0px !important;
	}
}
@media screen and (min-width: 721px) {
.footer-contact-bg .top-more-link.footer-link{
display:none;
}
}
@media screen and (max-width: 720px) {
.footer-contact-bg .top-more-link.footer-contact-link{
display:none;
}
}
.mv-bigtext_box {
  position: absolute;
  bottom: 0px;
  display: flex;
  flex-direction: column;
  width: calc(100% - 96px);
  height:1000px;
  justify-content: center;
  align-items: center;
  margin-left: 96px;
  gap: 10px;
}
.mv-bigtext_text{
font-family: "source-han-serif-jp-subset", sans-serif;
font-weight: 500;
font-style: normal;
font-size:45px;
font-size:43px;
position: relative;
z-index: 1;
letter-spacing: 1px;
}

/* 影レイヤー */
.mv-bigtext_text::before {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
z-index: -1;
color: transparent;
text-shadow:
    /* くっきり縁取り */
    0 0 1px #fff,
    0 0 2px #fff,
    0 0 3px #fff,
    /* 濃いもや（内側） */
    0 0 10px rgba(255,255,255,1),
    0 0 20px rgba(255,255,255,0.95),
    /* 広がるもや（外側） */
    0 0 40px rgba(255,255,255,0.9),
    0 0 60px rgba(255,255,255,0.8),
    0 0 80px rgba(255,255,255,0.7);
}
@media screen and (min-width: 721px) {
.mv-bigtext_text br.spbr{
display:none;
}
}
@media screen and (max-width: 720px) {
.mv-bigtext_box {
width: calc(100% - 24px);
height: 600px;
margin-left: 24px;
gap: 15px;
}
.mv-bigtext_text {
    font-size: 25px;
    font-weight:600;
    text-align: center;
    line-height: 1.8;

    /* ここで太い白縁取りを適用 */
    -webkit-text-stroke: 5px #fff; 
    paint-order: stroke fill; /* 縁を背面に回して文字を潰さない */
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.8);
  }

  /* 擬似要素を使っていた場合は、念のため無効化しておく */
  .mv-bigtext_text::before {
    content: none !important;
    display: none;
  }
}
/* サイズ（幅721px以上）かつ 高さが400px以下の時 */
@media screen and (min-width: 721px) and (max-height: 400px) {
.mv-bigtext_text {
    font-weight:600;

    /* ここで太い白縁取りを適用 */
    -webkit-text-stroke: 5px #fff; 
    paint-order: stroke fill; /* 縁を背面に回して文字を潰さない */
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.8);
  }

  /* 擬似要素を使っていた場合は、念のため無効化しておく */
  .mv-bigtext_text::before {
    content: none !important;
    display: none;
  }
}

/*ハンバーガーメニュー整理（SP）*/
@media screen and (max-width: 400px) {
  .full-menu-box_item {
    margin-left: 24px;
  }
}
@media screen and (min-width: 721px) {
.full-menu_link-sub-box_sp{
display:none;
}

}
@media screen and (max-width: 720px) {
.full-menu-box_outer {
flex-direction: column;
}
.full-menu-box_item{
flex-direction: initial;
width: calc(100% - 12px - 12px);
margin: 0 auto;
margin-top: 100px;
max-width: 351px;
}
.full-menu-box_L,.full-menu-box_R{
width:50%;
}
 .full-menu-box_R {
    margin-top: 0px;
  }
.full-menu_link {
  margin-top: 15px;
}
.full-menu_link a,.full-menu_link-s a {
  font-size: 20px;
  letter-spacing: -0.8px;
}
.full-menu_link-s {
  margin-top: 10px;
}
.full-menu_link-sub-box{
display:none;
}
.full-menu_link-sub-box.full-menu_link-sub-box_sp {
  display: flex;
  width: calc(100% - 12px - 12px);
  margin:0 auto;
  flex-direction: column;
  margin-top: 25px;
  max-width: 351px;
}
.full-menu_link-sub.first {
margin-top:0px;
}
.full-menu_link-sub {
  margin-top: 10px;
}
.full-menu_link-s.full-menu_link-s-privacypolicy a {
  font-size: 16px;
  letter-spacing: -2px;
}
}
/* サイズ（幅721px以上）かつ 高さが400px以下の時 */
@media screen and (min-width: 721px) and (max-height: 400px) {
.full-menu-box_item {
    margin-top: 70px;
    margin-bottom: 10px;
}
.full-menu_link, .full-menu_link-s, .full-menu_link-sub {
  margin-top: 5px;
}
.full-menu_link a,.full-menu_link-s a {
  font-size: 16px;
  letter-spacing: -1px;
}
.full-menu_link-sub.first {
margin-top: 25px;
}

}
@media screen and (max-width: 720px) and (max-height: 400px) {
.full-menu-box_item {
max-width: initial;
}
.full-menu-box_L {
  width: 70%;
  display: flex;
  flex-wrap: wrap;
}
.full-menu_link.first {
  margin-top: 0px;
  width: 100%;
}
.full-menu_link:nth-child(2) {
  width: 100%;
}
 .full-menu_link {
    margin-top: 15px;
}
  .full-menu_link-s {
    margin-top: 10px;
  }
.full-menu_link-s a {
  font-size: 18px;
}
  .full-menu_link {
    width: 30%;
  }
.full-menu-box_R {
  width: 30%;
}
.full-menu_link-sub-box.full-menu_link-sub-box_sp {
max-width: initial;
}

}