@charset "utf-8";


.inner_content-s,.inner_content {
	max-width: 950px;
    width: 80%;
    margin: 0 auto;
}


/* ======================
fv
========================= */
.fv {
  width: 100vw;
  height: 42.71vw;
  height: 56.94vw;
  max-height: 100vh;
  min-height: 475px;
  position: relative;
}
.fv__inner {
  width: 100vw;
  height: 42.71vw;
  height: 56.94vw;
  max-height: 100vh;
  min-height: 475px;
  position: fixed;
  top: 70px;
  left: 0;
}
.fv .video_wrap {
  width: 100%;
  height: 42.71vw;
  height: 56.94vw;
  max-height: 100vh;
  min-height: 475px;
  /*position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);*/
}
.fv__headingbk {
	width:90%;
	max-width:950px;
  position: absolute;
  top: 5%;
  left:50%;
  transform: translate(-50%, 0);
}
.fv__heading {
	width:24%;
	max-width:221px;
}
.fv__headingbk p {
}

.scroll-indicator {
	position: absolute;
	left: 50%;
	bottom: 30px;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	z-index: 10;
}

.scroll-line {
	position: relative;
	width: 1px;
	height: 80px;
	background: rgba(255,255,255,0.3);
	overflow: hidden;
}

.scroll-line::after {
	content: "";
	position: absolute;
	top: -40px;
	left: 0;
	width: 100%;
	height: 40px;
	background: #fff;
	animation: scrollLine 2s ease-in-out infinite;
}

.scroll-indicator p {
	margin-top: 12px;
	font-size: 12px;
	letter-spacing: 0.3em;
}

@keyframes scrollLine {
	0% {
		top: -40px;
	}

	100% {
		top: 80px;
	}
}







/* ======================
btn 
========================= */
.btn {
	position: relative;
	display: flex;
	align-items: center;
	width:100%;
	max-width: 409px;
	height: 76px;
	padding: 0 24px;
	box-sizing: border-box;
	text-decoration: none;
	font-size: 14px;
	letter-spacing: 0.15em;
	border: 1px solid;
	transition: .3s ease;
}

/* テキスト */
.btn_txt {
	color:#555;
	font-size:22px;
	font-family: m-2p-medium, sans-serif;
	font-style: normal;
	font-weight:500;
	line-height: 1;
	letter-spacing:0.1em;
}
.btn_txt >* {
	display:inline-block;
}
.btn_txt.futu {
	font-family: futura-pt, sans-serif;
}

/* --------------------
   矢印
-------------------- */

.btn_arrow {
	position: absolute;
	top: 50%;
	right:22px;
	width: 95px;
	height: 14px;
	transform: translateY(-50%);
	overflow:hidden;
}
.arrow_in {
	display:block;
	height:100%;
	width:100%;
	position:relative;
	transform: translateX(-40px);
	transition: all 0.3s;
}

/* 横線 */
.arrow_in::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: #a7944c;
	transform: translateY(-50%);
}

/* 矢印先端（上だけ） */
.arrow_in::after {
	content: "";
	position: absolute;
	top: 11px;
	right: 0;
	width: 14px;
	height: 14px;
	border-top: 2px solid #a7944c;
	transform: rotate(45deg);
	transform-origin: right top;
}

/* hover時に右へ伸びる */
.btn:hover .arrow_in {
	color:#fff;
	transform: translateX(0);
}

/* --------------------
   ゴールド
-------------------- */

.btn_gld {
	background: #fff;
	border-color: transparent;
}

.btn_gld:hover {
	background:#b59d4f;
}
.btn_gld:hover .btn_txt {
	color: #fff;
}
.btn_gld:hover .arrow_in::before {
	background-color: #fff;
}
.btn_gld:hover .arrow_in::after {
	border-color: #fff;
}

/* --------------------
   ブルー
-------------------- */
.btn_bl {
	background: #fff;
	color: #2e5b89;
	border-color: #4062ab;
}
.btn_bl .btn_txt {
	font-weight:700;
}
.btn_bl .arrow_in::before {
	background-color: #4062ab;
}
.btn_bl .arrow_in::after {
	border-color: #4062ab;
}
.btn_bl:hover {
	background: #4062ab;
	color: #fff;
}
.btn_bl:hover .btn_txt {
	color: #fff;
}
.btn_bl:hover .arrow_in::before {
	background-color: #fff;
}
.btn_bl:hover .arrow_in::after {
	border-color: #fff;
}

/* --------------------
   ブルー2
-------------------- */
.btn_bl2 {
	background: #fff;
	color: #5bbbd8;
	border-color: #5bbbd8;
}
.btn_bl2 .arrow_in::before {
	background-color: #5bbbd8;
}
.btn_bl2 .arrow_in::after {
	border-color: #5bbbd8;
}
.btn_bl2:hover {
	background: #5bbbd8;
	color: #fff;
}
.btn_bl2:hover .btn_txt {
	color: #fff;
}
.btn_bl2:hover .arrow_in::before {
	background-color: #fff;
}
.btn_bl2:hover .arrow_in::after {
	border-color: #fff;
}

/* --------------------
   ホワイト
-------------------- */
.btn_wh {
	background: transparent;
	color: #fff;
	border-color: transparent;
}
.btn_wh .btn_txt {
	color: #fff;
}
.btn_wh .arrow_in::before {
	background-color: #fff;
}
.btn_wh .arrow_in::after {
	border-color: #fff;
}



/* ======================
company_about
========================= */
#company_about {
	padding:63px 40px 90px;
	margin-bottom:min(9vw,130px)
}
#company_nav {
	display:flex;
	flex-direction:column;
	gap:75px;
	padding-bottom:min(148px,10.2vw);
}
.company_nav_sec {
}
.navsec_ttl {
	font-size:27px;
	line-height:1;
	text-align:center;
	padding-bottom:15px;
	margin-bottom:15px;
	border-bottom:1px solid #555555;
}
.navsec_list {
	display:flex;
	justify-content:space-between;
	gap:20px;
}
.navsec_list.list_btn {
	align-items:flex-end;
}
.navsec_list_item {
	max-width:269px;
	transition: all 0.3s;
}
.navsec_list_item:hover {
	opacity:0.5;
}

/*事業案内*/
.busi_list {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:min(8.1vw,77px) 20px;
	padding-top: 35px;
}
.busi_list_item.item_sub {
	width:calc((100% - 20px)/2);
	transition: all 0.3s;
}
.busi_list_item.item_sub a {
	width:100%;
	max-width:319px;
	margin:0 auto;
}
.busi_list_item:hover {
	opacity:0.5;
}
.busi_list_item.item_main {
	width:100%;
}
.busi_list_item.item_main a {
	width:65%;
	max-width:482px;
	margin:0 auto;
}




.company_about_content {
	text-align:center;
}
.company_about_content .head_blk {
	margin-bottom:60px;
}
.company_about_content .head_ttl {
	line-height: 1;
	margin-bottom:60px;
}
.company_about_content .head_ttl_main {
	display:inline-block;
	width:100%;
	max-width:875px;
	line-height:1;
	margin-bottom:10px;
}
.company_about_content .head_ttl_sml {
	font-size:20px;
	letter-spacing:0.5em;
	line-height:1;
}
.company_about_content .head_copy {
	font-size:55px;
	font-weight:500;
	letter-spacing:0.3em;
	line-height:1.4;
	display:block;
}
.company_about_content .head_copy >* {
	display:inline-block;
}
.company_about_txt_wrap {
	display:flex;
	flex-direction:column;
	gap:40px;
}
.company_about_txt {
	font-size:25px;
	font-weight:500;
	letter-spacing:0.1em;
	line-height:2.2;
}


/* ======================
message
========================= */
#message {
	background:url(../imgs/index/topmessage_bg.png) center center no-repeat;
	background-size:cover;
	padding:100px 0;
	margin-bottom:119px;
}
#message .head_blk {

}
#message .head_ttl {
	line-height: 1;	
	margin-bottom:80px;
}
#message .head_ttl_main {
	display:inline-block;
	line-height: 1;
}
.message_content {
	position:relative;
	border-bottom:1px solid #555;
	padding-bottom:53px;
	margin-bottom:57px;
}
.message_content .textbk {
	max-width:690px;
	width:75%;
}
.message_txt {
	font-size:30px;
	font-weight:700;
	line-height:1.83;
	margin-bottom:20px;
}
.message_txt span {
	display:inline-block;
}
.message_name {
	display:flex;
	align-items:center;
	gap:15px;
	margin-bottom:20px;
}
.message_name .name_1 {
	font-size:18px;
	line-height:1.66;
}
.message_name .name_2 {
	line-height:1.4;
	display:flex;
	flex-direction:column;
}
.message_name .name_2 .ja {
	font-size:30px;
	letter-spacing:0.2em;
}
.message_name .name_2 .en {
	font-size:17px;
	letter-spacing:0.1em;
}
.message_content .imgbk {
	width:34%;
	max-width:320px;
	position:absolute;
	right:-25px;
	bottom:0;
}

/*#message .btn.btm_intv .btn_txt {
	font-size:20px;
	letter-spacing:0;
	line-height:1.2;
	width: calc(100% - 95px);
}*/

#message .btn.btn_l {
	width:100%;
	max-width:644px;
	margin:0 auto;
}
#message .btn.btn_l .btn_txt {
	font-size:20px;
}
/*#message .btn.btn_l .btn_arrow {
	width:108px;
	height:23px;
}
#message .btn.btn_l .arrow_in::after {
	width: 29px;
	height: 22px;
	top: 20px;
}*/


/* ======================
sec_content 共通
========================= */
.sec_content {
	align-items:flex-start;
	gap:20px;
	margin-bottom:90px;
}
.sec_content.rgt {
	text-align:right;
}
.sec_content.lft {
	flex-direction:row-reverse;
}
.sec_content .imgbk {
	width: 50vw;
	margin-left: calc(50% - 50vw);
	position: relative;
}
.sec_content.lft .imgbk {
	margin-right: calc(45.5% - 50vw);
	margin-left: auto;
}
.sec_content .txtbk {
	width:50%;
	padding-top:40px;
}
.sec_ttl {
	line-height:1;
}
.sec_ttl >* {
	display:inline-block;
}
.line_ja {
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 1;
	padding-left: 86px;
	margin-bottom: 15px;
	position: relative;	
}

.line_ja::before {
    content: "";
    width: 69px;
    height: 3px;
    background-color: #a7944c;
    position: absolute;
    top: 50%;
    left: 0;
}
.line_ja.col_bl-1::before {
	background-color:#4062ab;
}
.line_ja.col_bl-2::before {
	background-color:#5bbbd8;
}
.sec_ttl .en {
	font-size:55px;
	letter-spacing:0.3em;
	line-height:1.2;
	text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	position:relative;
	margin-bottom:20px;
}
.sec_content.rgt .sec_ttl .en {
	right:-0.3em;
}

.sec_content .sec_mcopy {
	display:flex;
	flex-direction:column;
	line-height:1;
	gap:15px;
	padding-bottom:18px;
	margin-bottom:10px;
	position:relative;
}
.sec_content .sec_mcopy::before {
	content:"";
	background:url(../imgs/index/sttl_bg.png) right bottom no-repeat;
	background-size:contain;
	width:203px;
	height:208px;
	position:absolute;
	right:20px;
	top:25px;
	bottom:auto;
}
.sec_content.lft .sec_mcopy::before,
.sec_content.cent .sec_mcopy::before {
	right:auto;
	left:10px;
}
.sec_content .sml {
	font-size:20px;
	font-weight:500;
}
.sec_content .txt_ver {
	font-size:55px;
	writing-mode: vertical-rl;
	letter-spacing:0.15em;
}
.sec_content.lft .txt_ver,
.sec_content.cent .txt_ver {
    writing-mode: vertical-lr;
}

.sec_content .sec_txt {
	font-size:18px;
}


/* ======================
company
========================= */
#company {
	padding:105px 0;
}
.sec_link_wrap {

}
.sec_link_list {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.sec_link_list >* {
	width:calc((100% - 20px)/2);
	max-width:426px;
	border-top:1px solid #555;
	padding:23px 0;
}
.sec_link_list >*:nth-last-child(-n+2) {
	border-bottom:1px solid #555;
}
.sec_link_list .btn {
	max-width: 100%;
}
.sec_link_list .btn_txt {
	font-size:20px;
	line-height:1.4;
	letter-spacing:0;
	width: calc(100% - 95px);
}

/* ======================
recruit
========================= */
#recruit {
	padding:105px 0;
}
.recruit_info_txt {
	font-size:40px;
	font-weight:500;
	letter-spacing:0.2em;
}
.recruit_info_txt-s {
	font-size:22px;
	font-weight:500;
	margin-bottom:74px;
}
.recruit_link_list {
	justify-content:space-between;
	flex-wrap:wrap;
}
.recruit_link_list >* {
	width:calc((100% - 40px)/2);
	max-width:422px;
}


.recruit_link_list.list1 {
	margin-bottom:86px;
}
.recruit_link_list.list1 .btn {
	max-width:100%;
}

.recruit_link_list.list2 {
	gap:min(7.5vw,72px) min(1.1vw,105px);
}
.recruit_link_list.list2 >* {
	transition:all 0.3s;
}
.recruit_link_list.list2 a {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	height:100%;
}
.recruit_link_list.list2 .item_img {
}
.recruit_link_list.list2 .item_txt {
	display:flex;
	flex-direction:column;
	gap:10px;
	padding:16px 20px 26px;
}
.recruit_link_list.list2 .bnr_label_bk {
	font-weight:700;
	line-height:1;
}
.recruit_link_list.list2 .bnr_label {
	color:#555;
	font-size:16px;
	line-height:1;
	display:inline-block;
	background-color:#fff;
	border-radius:5px;
	padding:5px 10px;
}
.recruit_link_list.list2 .bnr_txt {
	color:#fff;
	font-size:18px;
	line-height:1;
	display:inline-block;
	padding-top:10px;
}
.recruit_link_list.list2 .btn {
	height:auto;
	padding:0;
}
.recruit_link_list.list2 .btn_txt {
	font-family: m-2p-medium, sans-serif;
	font-size:30px;
	font-weight:800;
	letter-spacing:0;
}
.recruit_link_list.list2 .btn_arrow {
    right: 0;
}
/* hover時に右へ伸びる */
.recruit_link_list.list2 >*:hover .arrow_in {
	transform: translateX(0);
}

.recruit_item1 {
	background-color:rgba(64,98,171,1);
}
.recruit_item2 {
	background-color:rgba(45,181,169,1);
}
.recruit_item3 {
	background-color:rgba(91,187,216,1);
}
.recruit_item4 {
	background-color:rgba(237,133,167,1);
}

.recruit_item1:hover {
	background-color:rgba(64,98,171,0.6);
}
.recruit_item2:hover {
	background-color:rgba(45,181,169,0.6);
}
.recruit_item3:hover {
	background-color:rgba(91,187,216,0.6);
}
.recruit_item4:hover {
	background-color:rgba(237,133,167,0.6);
}



/* ======================
interview
========================= */

#interview {
	color:#fff;
	padding:50px 0;
}
.interview_ttl_wrap {
	margin-bottom:130px;
}
.interview_ttl {
	
}
.interview_ttl .en  {
	font-size:70px;
	line-height:1.2;
	letter-spacing:0.3em;
	font-weight:600;
	display:flex;
	align-items:center;
	margin-bottom:20px;
}
.interview_ttl .sml {
	font-size:57%;
	letter-spacing:0.1em;
	margin-right:20px;
}
.interview_ttl .ja {
	font-size:30px;
	line-height:1.2;
	display:block;
}

.interview_list_wrap {
	position: relative;
	overflow: visible;
	padding-bottom: 80px;
}
.interview_slide {
	width: 120vw; 
	margin-left: calc(50% - 60vw);
	position: relative;
}
.interview_item {
	margin-right:min(3.73vw,47px);
	transition:all 0.3s;
}
.interview_item:hover {
	opacity:0.7;
}
.item_in .imgbk {
	margin-bottom:16px;

}
.item_in .txtbk {
	display:flex;
	align-items:flex-start;
	gap:19px;
}
.item_in .txtbk .item_cat {
	color:#4062AB;
	font-size:21px;
	font-weight:700;
	letter-spacing:0.1em;
	display:flex;
	align-items:center;
	justify-content:center;
	width:97px;
	height:80px;
	background-color:#fff;
	border-radius:5px;
}
.item_in .txtbk .item_name {
	color:#fff;
	font-size:20px;
	line-height:1.4;
	width:calc(100% - 116px);
}
.item_in .txtbk .item_name span {
	display:block;
}


.interview_slide .slick-arrow {
	font-size: 15px;
	font-family: futura-pt, sans-serif;
	font-style: normal;
	font-weight:400;
	letter-spacing:0.1em;
	line-height: 1.4;
	color: #fff;
	width: 83px;
	height: 37px;
	background-size:contain;
	padding: 0;
	position: absolute;
	top: auto;
	bottom:-100px;
	z-index: 10;
	cursor: pointer;
}
.interview_slide .slick-prev {
	padding-right:45px;
    right: calc(50% + 35px);
    left:auto;
    background:url(../imgs/index/prev_arrow.svg) right top no-repeat;
}
.interview_slide .slick-next {
	padding-left:45px;
    left: calc(50% + 35px);
    right:auto;
    background:url(../imgs/index/next_arrow.svg) left top no-repeat;
}
.slick-next:before,.slick-prev:before {
	content:"";
}


/* ======================
sdgs
========================= */
#sdgs {
	padding:139px 0;
}
#sdgs .sec_content .txtbk {
    padding-top: 20px;
}
#sdgs .sec_ttl .en {
    letter-spacing: 0.1em;
    right:0;
}
#sdgs .sec_content .sec_txt {
    margin-bottom:59px;
}
#sdgs .btn.btn_gld {
	margin:0 0 0 auto;
	border-color:#a7944c;
}
#sdgs .sec_content .imgbk {
    width: 44vw;
    margin-left: calc(50% - 50vw);
}
#sdgs .sec_content .sec_mcopy {
    margin-bottom: 20px;
}
#sdgs .sec_content .sec_mcopy::before {
	content:"";
	background:url(../imgs/index/sdgs_bg.svg) right bottom no-repeat;
	background-size:contain;
	width:118px;
	height:118px;
	position:absolute;
	right:25px;
	top:auto;
	bottom:0;
}

/* ======================
shop_cf
========================= */
#shop_cf {
	padding-bottom:129px;
}
#shop_cf .shop_img {
	margin-bottom:min(8.95vw,129px);
}
#shop_cf .sec_content .txtbk {
	max-width:342px;
	min-width:265px;
	padding-top:0;
}
#shop_cf .sec_ttl .en {
    letter-spacing: 0.1em;
}
#shop_cf .sec_content .sec_txt {
    margin-bottom:35px;
}
#shop_cf .sec_content .sec_mcopy::before {
	content:"";
	background:url(../imgs/index/cf_logo_bg.png) left top no-repeat;
	background-size:contain;
	width:279px;
	height:228px;
	position:absolute;
	left:-35px;
	top:auto;
	bottom:-40px;
}

.shop_link_list {
	width:100%;
	max-width:535px;
}
.shop_link_list >* {
	padding:14px 0;
	border-top:1px solid #555;
}
.shop_link_list >*:last-child {
	border-bottom:1px solid #555;
}
.shop_link_list .btn {
	max-width:100%;
	border-color:transparent;
	background-color:transparent;
	padding:18px 20px;
}
.shop_link_list .btn .add_label {
	color:#fff;
	font-size:16px;
	font-weight:500;
	display:flex;
	align-items:center;
	justify-content:center;
	width:160px;
	height:40px;
	background-color:#5bbbd8;
	margin-right:15px;
}
.shop_link_list .btn:hover {
	background-color:#5bbbd8;
}
.shop_link_list .btn:hover .add_label {
	color:#555;
	background-color:#f4fbfd;
}




/* ======================
shop_rb
========================= */
#shop_rb {
	padding:min(10vw,147px) 0;
}
#shop_rb .sec_content .img_blk {
	display:flex;
	flex-direction:column;
	gap:10px;
}
#shop_rb .sec_content .txtbk {
	max-width:342px;
	min-width:265px;
	padding-top:0;
}
#shop_rb .sec_content .sec_mcopy::before {
    right: 0;
    top: 71px;
}
#shop_rb .sec_content .sec_txt {
    margin-bottom:15px;
}
#shop_rb .sec_content .txtbk .btn_bl2 {
	border-color:transparent;
}

.shop_link_list.rb-list {
	justify-content:space-between;
	gap:20px;
	max-width:100%;
}
.shop_link_list.rb-list >* {
	width:100%;
	max-width:448px;
	border-bottom:1px solid #555;
}
.shop_link_list.rb-list .btn {
	background-color:#fff;
}
.shop_link_list.rb-list .btn .add_label {
    width: 123px;
}
.shop_link_list.rb-list .btn .btn_txt {
    letter-spacing: 0;
}
.shop_link_list.rb-list .btn:hover {
	background-color:#5bbbd8;
}




@media screen and (max-width: 1260px) {
.btn_txt {
    font-size:clamp(15px,1.74vw,22px);
}


/* ======================
company_about
========================= */
	.company_about_content .head_copy {
		font-size:clamp(36px,4.36vw,55px);
	}
	.company_about_txt {
		font-size:clamp(16px,1.98vw,25px);
	}

/* ======================
message
========================= */
.message_content .textbk .btn {
	width:32.4vw;
}
.message_txt {
	font-size:clamp(16px,2.38vw,30px);
}
.message_name .name_1 {
    font-size:clamp(14px,1.42vw,18px);
    line-height: 1.4;
}
.message_name .name_2 .ja {
	font-size:clamp(18px,2.38vw,30px);
	letter-spacing: 0.1em;
}
.message_name .name_2 .en {
    font-size:clamp(14px,1.34vw,17px);
    letter-spacing: 0;
}

#message .btn.btm_intv {
	width:32.4vw;
}


#message .btn.btn_l .btn_txt {
	font-size:clamp(14px,1.58vw,20px);
}

/* ======================
sec_content 共通
========================= */
.line_ja {
    font-size:clamp(15px,1.58vw,20px);
    letter-spacing: 0;
}
.sec_ttl .en {
    font-size:clamp(26px,4.36vw,55px);
    letter-spacing: 0.2em;
}
.sec_content .sml {
    font-size:clamp(15px,1.58vw,20px);
}
.sec_content .txt_ver {
    font-size:clamp(36px,4.36vw,55px);
    letter-spacing: 0.1em;
}
.sec_content .sec_txt {
    font-size:clamp(14px,1.42vw,18px);
}

/* ======================
company
========================= */
#company {
}
.sec_link_list .btn_txt,.recruit_link_list .btn_txt {
    font-size:clamp(15px,1.58vw,20px);
    line-height:1.2;
    width: calc(100% - 60px);
}

/* ======================
recruit
========================= */
.recruit_info_txt {
    font-size:clamp(28px,3.17vw,40px);
    letter-spacing: 0.1em;
}
.recruit_info_txt-s {
    font-size:clamp(16px,1.26vw,22px);
}
.recruit_link_list.list2 .bnr_label {
    font-size:clamp(13px,1.42vw,16px);
}
.recruit_link_list.list2 .bnr_txt {
    font-size:clamp(14px,1.42vw,18px);
}
.recruit_link_list.list2 .btn_txt {
	font-size:clamp(17px,2.38vw,30px);
}



/* ======================
interview
========================= */
.interview_ttl_wrap {
	margin-bottom:10vw;
}
.interview_ttl .en  {
	font-size:clamp(40px,5.5vw,70px);
	letter-spacing:0.2em;
}

.interview_ttl .ja {
	font-size:clamp(18px,2.38vw,30px);
}
.item_in .txtbk {
    gap: 10px;
}
.item_in .txtbk .item_cat {
    font-size:clamp(16px,1.66vw,21px);
    width: 4em;
    height:60px;
}
.item_in .txtbk .item_name {
    font-size:clamp(15px,1.58vw,20px);
    width: calc(100% - 4em - 10px);
}

/* ======================
shop_cf
========================= */
.shop_link_list .btn .add_label {
    font-size:clamp(12px,1.42vw,16px);
    letter-spacing:0;
    width: 30%;
}

		
}


@media screen and (max-width: 980px) {
.btn_arrow {
    width: 60px;
}

.arrow_in {
    transform: translateX(-35px);
}

/* ======================
message
========================= */
#message .head_ttl {
    margin-bottom: min(8.16vw,80px);
}

#message .btn.btn_l .btn_txt {
	letter-spacing: 0;
}


.message_content .textbk .btn {
	width:100%;
	max-width:315px;
}
#message .btn.btm_intv {
	width:100%;
	max-width:315px;
	margin:0 auto;
}


.shop_link_list.rb-list .btn .add_label {
    width: 85px;
}
.shop_link_list.rb-list .btn .btn_arrow {
        width: 45px;
}
.shop_link_list.rb-list .arrow_in {
        transform: translateX(-20px);
}


}
@media screen and (max-width: 768px) {
.inner_content-s, .inner_content {
    width: 90%;
}


/* ======================
fv
========================= */
  .fv {
    height: 50svh;
    min-height: initial;
  }
  .fv__inner {
    height: 50svh;
    min-height: initial;
  }
  .fv .video_wrap {
    height: 50svh;
    min-height: initial;
    /*top: auto;
    bottom: 0;
    transform: translate(-50%, 64%);*/
  }
  .video_wrap .pc {
    display: none;
  }
  .video_wrap .sp {
    display: block;
    scale: 3;
    max-height: 63vh;
  }

  .scroll-indicator {
    display: none;
  }

  .fv__headingbk {
    writing-mode: initial;
    top: 85px;
    right: auto;
    left: 8%;
    transform: initial;
  }
  .fv__headingbk p {
    margin-top: 4px;
    margin-right: 0;
  }
  .fv__heading {
    font-size: clamp(22px, 7.2vw, 30px);
    line-height: 1.44;
    letter-spacing: 0.16em;
  }
  .fv__txt {
    top: 85px;
    right: 5.33vw;
    display: block;
    height: 27em;
  }

/* ======================
message
========================= */
    /*#message .btn.btn_l .btn_arrow {
        width: 70px;
    }*/



}




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

/* ======================
company_about
========================= */
.company_about_txt_wrap {
	gap: 25px;
}
.navsec_list {
	flex-wrap:wrap;
	justify-content:center;
	gap: 25px;
}

.navsec_list_item {
    width:calc((100% - 25px)/2);
}



.company_about_content .head_copy {
	letter-spacing:0.1em;
}
.company_about_txt {
	letter-spacing:0;
}

/* ======================
message
========================= */
.message_content {
	display: flex;
    flex-direction: column-reverse;
    justify-content: center;
}
.message_content .imgbk {
    width: 45%;
    max-width: 270px;
    aspect-ratio:2 / 3;
    overflow:hidden;
    position: static;
    margin:0 auto 15px;
}
.message_content .textbk {
	text-align:center;
	width:100%;
}
.message_name {
	justify-content: center;
}
.message_name .name_2 .ja {
	letter-spacing: 0;
}
.message_content .textbk .btn {
	margin:0 auto;
}
#message .btn.btn_l .btn_txt {
	line-height:1.2;
	letter-spacing: 0;
	max-width:220px;
}
#message .btn.btn_l .btn_txt span {
	display:inline-block;
}



/* ======================
sec_content 共通
========================= */
.sec_content {
	flex-direction:column;
	margin-bottom:0;
}
.sec_content.lft {
	flex-direction:column;
}
.sec_content .imgbk {
    width: 100vw;
}
.sec_content.lft .imgbk {
	margin-left: calc(50% - 50vw);
	margin-right:auto;
}
.sec_content .txtbk {
    width: 100%;
    max-width:409px;
    margin:0 auto;
}


/* ======================
recruit
========================= */
#recruit .sec_link_wrap {
    width: 100%;
    max-width:409px;
    margin:0 auto;
}

.recruit_link_list {
	flex-direction:column;
	gap:20px;
}
.recruit_link_list >* {
    width:100%;
}

/* ======================
interview
========================= */
.interview_ttl .en {
	flex-direction: column;
	align-items:flex-start;
}


/* ======================
sdgs
========================= */
#sdgs .sec_content .imgbk {
    width: 100vw;
}


/* ======================
shop_cf
========================= */
#shop_cf .sec_content .txtbk .sec_ttl br {
	display:none;
}
.shop_link_list {
    max-width:409px;
    margin:0 auto;
}


/* ======================
shop_rb
========================= */
#shop_rb .sec_content .img_blk {
    max-width:409px;
    margin:0 auto;
}
#shop_rb .sec_content .txtbk {
	margin-bottom:30px;
}
.shop_link_list.rb-list {
	flex-direction:column;
    width: 100%;
    max-width:409px;
    margin:0 auto;
    gap:0;
}
.shop_link_list.rb-list >*:not(:last-child) {
	border-bottom:none;
}


}


@media screen and (max-width: 600px) {
.sec_link_list {
    width: 100%;
    max-width:409px;
    margin:0 auto;
}
.sec_link_list >* {
    width: 100%;
}
.sec_link_list >*:nth-last-child(2) {
    border-bottom: none;
}


}

@media screen and (max-width: 500px) {
    .inner_content-s {
        width: 100%;
    }
    /*.inner_content {
        width: 95%;
    }*/
}

@media screen and (max-width: 480px) {
	.message_content .imgbk {
		width: 70%;
	}


.shop_link_list .btn {
    padding: 10px 10px;
}
.shop_link_list .btn .add_label {
	    margin-right: 7px;
}
.shop_link_list .btn_txt {
	letter-spacing:0;
}




}


@media screen and (max-width: 400px) {
.interview_slide {
    width: 100%;
    margin: 0 auto;
}
.interview_item {
	margin-right:0;
}

}

