@charset "utf-8";

:root {
	--color-orange:#da4207;
	--color-black:#251E1C;
	--color-k95:#312B2A;
	--color-k90:#403D3C;
	--color-k85:#4C4A4A;
	--color-gray:#F7F7F7;
	--color-gray2:#9E9E9F;

	--font-yu:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	--font-noto:"Noto Sans JP", sans-serif;
	--font-en:'Barlow', sans-serif;
}

/*
GLOBAL
***************************************************************************/
html { 
	font-size: 62.5%; 
	-webkit-overflow-scrolling: touch;
	height:100%;
	height: -webkit-fill-available;
	scroll-behavior: smooth;
}

body{
	width: 100%;
	height:100%;
	height: -webkit-fill-available;
	min-height:100vh;
	font-family: var(--font-yu);
	font-weight:normal;
	font-style:normal;
	font-size: 1.6rem;
	overflow-wrap: break-word;
	word-wrap: break-word;
	text-align: left;
	line-height: 1.875;
	letter-spacing:0;
	color:var(--color-black);
	background-color:#FFF;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	position:relative;
}
body.fixed{ position:fixed; }


/*
DEFAULT
***************************************************************************/
body,
h1,h2,h3,h4,h5,h6,p,
ul,ol,li,dl,dt,dd,
form,fieldset,legend,pre,blockquote,figure {
	margin: 0;
	padding: 0;
	font-feature-settings: "normal";
	-webkit-font-feature-settings: "normal";
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,video {
	display: block;
}

*:focus { outline: none; }

.clearfix:after {
	display: block;
	clear: both;
	content: "";
	overflow: hidden;
}

li { list-style-type: none; }

table {
	width: 100%;
	border-collapse: collapse;
}

/* ▼LINK▼ */
a {
	color: var(--color-black);
	text-decoration: none;
	outline: none;
	transition:opacity 0.5s, background-color .5s;
}

/* ▼IMG▼ */
img, input[type="image"]{
	max-width: 100%;
	font-size: 0;
	line-height: 0;
	vertical-align: middle;
	border: none;
}

@media screen and (max-width: 767px) {
	.pc{display:none;}
	.sp{display:block;}
}
@media screen and (min-width: 768px) {
	.sp{ display: none; }
	.pc{ display:block;}
}

/*
CONTENTS
***************************************************************************/
.container{ width:100%; }
main{ 
	display:block; 
	position:relative;
}


/*************** NEWS ***************/
.news-list li {
	margin:0 0 30px;
}
.news-list li a,
.news-list li .news-article-title {
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	letter-spacing:0;
	flex-wrap:wrap;
}
.news-list .news-date {
	font-size:1.5rem;
	flex:0 1 135px;
	min-width:135px;
	letter-spacing:.06em;
}
.news-list .news-category {
	background-color:#D8D8D8;
	flex:0 1 78px;
	min-width:78px;
	border-radius:3px;
	text-align:center;
	font-size:1.4rem;
	height:26px;
	line-height:26px;
}
.news-list .news-title {
	width:100%;
	margin:10px 0 0;
	font-size:1.5rem;
}
.news-list .news-title  h1{
	font-size:1em;
	font-weight:normal;
}
.pc-view .news-list li a:hover .news-title {
	text-decoration:underline;
}
.news-list .news-thum {
	width:100%;
	min-width:100%;
	margin:10px 0 0;
}
.news-list .news-thum:has(img) {
	aspect-ratio: 25 / 12;
}
.news-list .news-thum img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.news-list + .news-btn a {
	margin:0 0 0 auto;
}
.subpage-news .title-01 {
	border-bottom:1px var(--color-gray2) solid;
	padding:0 0 15px;
	margin:0 0 30px;
}
.subpage-news {
	margin:0 0 80px;
}

@media screen and (min-width:961px) {
	.news-list li {
		margin:0 0 20px;
	}
	.news-list li a ,
	.news-list li .news-article-title {
		flex-wrap:nowrap;
		justify-content:space-between;
	}
	.news-list .news-date {
		flex:0 1 158px;
		min-width:158px;
	}
	.news-list .news-title {
		margin:0 0 0 30px;
		flex:1 1 auto;
		width:auto;
	}
	.news-list .news-thum {
		width:250px;
		min-width:250px;
		margin:0 0 0 60px;
		aspect-ratio: 25 / 12;
	}
	.subpage-news .title-01 {
		margin:0 0 60px;
	}
	.subpage-news .news-list {
		margin:0 0 60px;
	}
	.subpage-news {
		margin:0 0 130px;
	}
}


/*************** BUSINESS ***************/
.business-link {
	width:100%;
}
.business-link > li {
	margin:0 0 30px;
	position:relative;
	font-family:var(--font-noto);
	font-weight:400;
	overflow:hidden;
	border-radius:10px;
}
.business-link > li > a {
	display:block;
	width:100%;
	height:200px;
	position:relative;
}
.business-link .img {
	width:100%;
	height:100%;
	overflow:hidden;
	position:relative;
}
.business-link .img img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.business-link .txt {
	position:absolute;
	width:100%;
	bottom:-20%;
	z-index:100;
	opacity:0;
	transition:.5s;
	background:rgba(70,70,70,0.7);
	padding:20px 0;
}
.pc-view .business-link > li:hover .txt {
	opacity:1;
	bottom:0;
}
.business-link .title {
	height:100%;
	position:absolute;
	width:100%;
	top:0 ;
	left:0;
	padding:0 clamp( 10px, 5vw, 30px);
	box-sizing:border-box;
	display:flex;
	align-items:center;
}
.business-link .title h3 {
	font-weight:500;
	font-size:2rem;
	letter-spacing:.1em;
	line-height:1.5;
	color:#FFF;
}
.business-link li:nth-child(4) .title h3 {
	letter-spacing:-0.1em;
}
.business-link .title h3 span {
	font-size:.55em;
	display:block;
	margin:.3em 0 0 ;
	letter-spacing:.08em;
}
.business-link .txt > ul > li {
	margin:0 0 10px;
}
.business-link .txt > ul > li:last-child {
	margin:0 ;
}
.business-link .txt > ul > li > a,
.business-link .txt > ul > li > span {
	line-height:1.5em;
	font-size:1.5rem;
	padding:0 clamp( 10px, 5vw, 30px);
	display:block;
	width:100%;
	transition:.3s;
	box-sizing:border-box;
	color:#FFF;
}
.pc-view .business-link .txt > ul > li:hover > a {
	text-decoration:underline;
}
.subpage-business .basebox {
	padding:0 0 60px;
}
.subpage-business .basebox:has(.title-01) {
	border-top:1px var(--color-gray2) solid;
	padding:60px 0 ;
}
.subpage-business .title-01 {
	margin:0 0 40px;
}
@media screen and (min-width:768px) {
	.business-link .title h3 {
		font-size:2.5rem;
	}
}
@media screen and (min-width:961px) {
	.business-link {
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	.business-link > li {
		flex:0 1 48%;
		margin:0 0 60px;
	}
	.business-link > li > a {
		height:300px;
	}
	.business-link .title {
		height:auto;
		top:80px;
		display:block;
	}
	.subpage-business .basebox {
		padding:0 0 110px;
	}
	.subpage-business .basebox:has(.title-01) {
		padding:60px 0 110px;
	}
}
@media screen and (min-width:1024px) {
	.business-link .txt > ul > li > a,
	.business-link .txt > ul > li > span {
		font-size:1.6rem;
	}
}
@media screen and (min-width:1501px) {
	.business-link > li > a {
		height:360px;
	}
	.business-link .title h3 {
		font-size:3.4rem;
	}
}


/*************** PANKUZU ***************/
.pankuzu {
	background:rgba(255,255,255,0.8);
	min-height:43px;
	width:100%;
	position:absolute;
	left:0;
	top:0;
	padding:11px 0;
	box-sizing:border-box;
	z-index:100;
}
.pankuzu p {
	font-family:var(--font-noto);
	font-size:1.2rem;
	letter-spacing:.075em;
	margin:0 clamp(10px, 5vw, 25px);
	line-height:1.5;
}
.pc-view .pankuzu a:hover {
	text-decoration:underline;
}
@media screen and (min-width:1281px) {
	.pankuzu p {
		margin:0 25px 0 375px;
	}
}


/* SLIDE */
.slick-dots {
	margin:20px 0 40px;
	height:10px;
	text-align:center;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 9px;
	padding: 0;
	cursor: pointer;
	vertical-align:top;
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 10px;
	height: 10px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.slick-dots li button:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius:50%;
	content: '';
	text-align: center;
	background-color:var(--color-gray2);
}
.slick-dots li.slick-active button:before {
	background-color:var(--color-k90);
}


/*
HEADER
***************************************************************************/
header {
	position:sticky;
	top:-36px;
	z-index:10000;
}
.h-msg {
	background-color:var(--color-orange);
	color:white;
	height:36px;
	width:100%;
	line-height:36px;
	font-size:1.2rem;
	padding:0 clamp( 10px, 5vw, 25px);
	box-sizing:border-box;
	text-align:right;
}
.h-nav {
	background-color:#FFF;
	height:70px;
	width:100%;
	box-sizing:border-box;
	border-bottom:1px var(--color-black) solid;
	padding:0 0 4px;
}
.h-inner {
	width:100%;
	height:100%;
	border-bottom:1px var(--color-black) solid;
	display:flex;
	box-sizing:border-box;
	padding:0 0 0 clamp( 10px, 5vw, 25px);
	align-items:center;
}
.h-inner img,
.h-inner a {
	display:block;
	width:100%;
}
.h-inner a {
	height:100%;
}
.h-mtd120 {
	flex:0 1 28%;
	max-width:103px;
	padding:0 10px 0 0 ;
	box-sizing:border-box;
	height:100%;
}
.h-mtd120 a {
	display:flex;
	align-items:center;
}
.h-logo {
	flex:1 1 45%;
	height:100%;
	padding-right:10px;
}
.h-logo h1,
.h-logo p {
	max-width:168px;
	height:100%;
}
.h-logo a {
	display:flex;
	align-items:center;
}
.h-gnavi {
	display:none;
	width:100%;
	height:calc(100vh - 106px);
	box-sizing:border-box;
	background-color:#FFF;
	position:absolute;
	left:0;
	top:106px;
	text-align:center;
	font-size:1.4rem;
	padding:55px 0 ;
	overflow-y:auto;
	letter-spacing:.075em;
	opacity:0;
}
.h-inner:has(.h-menu-hidden:checked) .h-gnavi {
	display:block;
	animation:h-menu-anime .5s forwards;
}
@keyframes h-menu-anime{
	0%{ opacity:0; }
	100%{ opacity:1; }
}
.h-gnavi li {
	margin:0 0 2.8em;
	font-family: var(--font-noto);
	font-weight:500;
}
.h-gnavi > div a {
	font-weight:bold;
}
.h-menu-hidden {
	display: none;
}
.h-menu-btn {
	width:70px;
	border-left:1px var(--color-black) solid;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:center;
	height:100%;
}
.h-menu-btn > div {
	width:30px;
	height:18px;
	position:relative;
}
.h-menu-btn > div span {
	display:block;
	background-color:var(--color-black);
	width:100%;
	height:2px;
	position:absolute;
	left:0;
	transition:.5s;
}
.h-menu-btn > div span:first-child {
	top:0;
}
.h-menu-btn > div span:nth-child(2) {
	top:50%;
	margin-top:-1px;
}
.h-menu-btn > div span:last-child {
	bottom:0;
}
.h-menu-hidden:checked + .h-menu-btn > div span:first-child {
	transform:rotate(45deg) translate(5px,6px);
}
.h-menu-hidden:checked + .h-menu-btn > div span:nth-child(2) {
	opacity:0;
}
.h-menu-hidden:checked + .h-menu-btn > div span:last-child {
	transform:rotate(-45deg) translate(5px,-6px);
}
.h-nav-hover {
	display:none;
}

@media screen and (min-width: 429px) {
	.h-msg {
		font-size:1.5rem;
	}
}
@media screen and (min-width: 1281px) {
	.h-inner {
		padding:0 clamp( 10px, 5vw, 25px);
		position:relative;
	}
	.h-mtd120 {
		flex:0 1 115px;;
		max-width:115px;
		padding:0 22px 0 0 ;
	}
	.h-logo {
		flex:0 1 235px;
		padding:0 0 0 20px;
		box-sizing:border-box;
	}
	.h-gnavi {
		width:auto;
		height:100%;
		background:none;
		position:static;
		display:flex;
		flex:1 1 auto;
		justify-content:space-between;
		padding:0;
		opacity:1;
	}
	.h-inner:has(.h-menu-hidden:checked) .h-gnavi {
		display:flex;
		animation:none;
	}
	.h-gnavi ul {
		display:flex;
		flex:1 1 auto;
		justify-content:space-between;
		max-width:700px;
		margin:0 30px 0 0 ;
	}
	.h-gnavi li {
		height:100%;
		margin:0;
	}
	.h-gnavi li:last-child {
		margin:0;
	}
	.h-gnavi li a {
		display:flex;
		align-items:center;
	}
	.h-gnavi > div {
		width:190px;
		text-align:right;
	}
	.h-gnavi > div a {
		display:flex;
		align-items:center;
		justify-content:flex-end;
	}
	.h-menu-btn {
		display:none;
	}
	.h-nav-hover {
		background-color:var(--color-k90);
		width:110px;
		height:5px;
		position:absolute;
		left:0;
		bottom:-5px;
		opacity:0;
		transition:.2s;
		display:block;
	}
	.h-nav:has(a:hover) .h-nav-hover {
		opacity:1;
	}
}

/*
TOP
***************************************************************************/
.page-home main {
	padding:0 0 130px;
}

/* MV */
.top-mv .slick-slide {
	width:100%;
	height:calc(100svh - 106px);
}
.top-mv .slick-slide a,
.top-mv .slick-slide img {
	display:block;
	width:100%;
	height:100%;
}
.top-mv .slick-slide img {
	object-fit:cover;
	object-position:center bottom;
}
@media screen and (orientation: landscape) {
   /* 横向きの場合のスタイル */
	.top-mv .slick-slide img.pr {
		display:none;
	}
}
@media screen and (orientation: portrait) {
   /* 縦向きの場合のスタイル */
	.top-mv .slick-slide img.ls {
		display:none;
	}
}

/* NEWS */
.top-news {
	margin-bottom:50px;
}
.top-news .title-01 {
	margin:0 0 45px;
}

/* 事業領域 */
.top-business {
	background-color:var(--color-gray);
	padding:80px 0 90px;
	margin:0 0 85px;
}
.top-business .title-01 {
	margin:0 0 45px;
}

/* TAIYO QUALITY */
.top-quality {
	margin:0 0 120px;
}
.subpage-quality {
	margin:0 0 120px;
}
.top-quality .title-01,
.subpage-quality .title-01 {
	margin:0 0 30px;
}
.bnr-quality {
	width:100%;
	height:500px;
	background:url(../img/common/bnr_quality.webp) no-repeat center top ;
	background-size:cover;
	box-sizing:border-box;
	padding:220px 6% 0;
	border-radius:10px;
}
.bnr-quality .title {
	margin:0 0 30px;
	color:var(--color-orange);
	max-width:310px;
}
.bnr-quality .title h3 {
	font-family:var(--font-en);
	font-size:50px;
	line-height:1;
	letter-spacing:.08em;
	margin:0 0 20px;
	font-weight:800;
}
.bnr-quality .title h4 {
	font-family:var(--font-noto);
	font-size:22px;
	font-size:clamp( 14px, 5.6vw, 22px);
	line-height:1;
	font-weight:700;
	position:relative;
}
.bnr-quality .title h4:after {
	content:"";
	display:block;
	background:url(../img/common/bnr_quality_arrow.svg) no-repeat ;
	width:28%;
	max-width:89px;
	aspect-ratio:89/24;
	background-size:cover;
	position:absolute;
	right:0;
	bottom:0;
}
.bnr-quality .link a{
	color:#FFF;
	font-family:var(--font-noto);
	font-weight:700;
	font-size:22px;
	display:block;
	line-height:1;
	letter-spacing:.06em;	
}
.bnr-quality .link a:first-child {
	margin:0 0 25px;
}
.pc-view .bnr-quality .link a span {
	position:relative;
	display:inline-block;
}
.pc-view .bnr-quality .link a span:after {
	content:"";
	display:block;
	width:0;
	height:3px;
	background-color:#FFF;
	position:absolute;
	left:0;
	bottom:-8px;
	transition:.3s;
}
.pc-view .bnr-quality .link a:hover span:after{
	width:100%;
}
.top-quality .bnr-quality {
	margin:0 0 65px;
}

@media screen and (min-width: 961px) {
	.subpage-quality {
		margin:0 0 170px;
	}
	.bnr-quality {
		padding:60px 6% 60px 6%;
		display:flex;
		align-items:flex-end;
		justify-content:space-between;
	}
	.bnr-quality .title {
		margin:0;
	}
}
@media screen and (min-width: 1024px) {
	.bnr-quality {
		padding:60px 90px 60px 70px;
	}
	.bnr-quality .link {
		display:flex;
		justify-content:flex-end;
		flex:1 1 auto;
		text-align:right;
	}
	.bnr-quality .link a:first-child {
		margin:0;
		flex:0 1 55%;
	}
	.bnr-quality .link a:last-child {
		margin:0;
		flex:0 1 45%;
	}
}
@media screen and (min-width: 1501px) {
	.bnr-quality .title {
		max-width:520px;
	}
	.bnr-quality .title h3 {
		font-size:66px;
		margin:0 0 25px;
	}
	.bnr-quality .title h4 {
		font-size:33px;
	}
	.bnr-quality .title h4:after {
		width:177px;
		max-width:177px;
	}
}

/* 会社情報 */
.top-company {
	margin:0 0 120px;
}
.top-company .title-01 {
	margin:0 0 30px;
}
.top-company-link {
	background:url(../img/common/sp_link_company.png) no-repeat left top;
	width:100%;
	aspect-ratio:350/400;
	max-height:500px;
	background-size:cover;
}
.top-company-link ul {
	background:rgba(255,255,255,0.5);
	width:190px;
	height:100%;
	margin:0 0 0 auto;
	padding:45px 20px;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	font-family:var(--font-noto);
	letter-spacing:0.1em;
	font-size:1.55rem;
}
.pc-view .top-company-link ul a:hover {
	text-decoration:underline;
}
@media screen and (min-width: 501px) {
	.top-company-link {
		background:url(../img/common/sp_link_company.png) no-repeat left center;
		background-size:cover;
	}
	.top-company-link ul {
		padding:100px 20px;
	}
}
@media screen and (min-width: 768px) {
	.top-company-link {
		background:url(../img/common/link_company.png) no-repeat 40% top;
		background-size:cover;
	}
}
@media screen and (min-width: 1024px) {
	.top-company-link {
		background:url(../img/common/link_company.webp) no-repeat left top;
		background-size:cover;
		height:500px;
		aspect-ratio:auto;
		padding:400px 0 0;
		box-sizing:border-box;
		border-radius:10px;
	}
	.top-company-link ul {
		width:100%;
		height:100px;
		margin:0;
		padding:0 7%;
		flex-direction:row;
		align-items:center;
	}
	.top-company-link ul br {
		display:none;
	}
}

/* サポート・お問い合わせ・採用情報 */
.top-support .title-01,
.top-recruit .title-01 {
	margin:0 0 30px;
}
.top-supportbox,
.top-recruitbox {
	width:100%;
	height:auto;
	padding:30px clamp(10px, 5vw, 30px);
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	border-radius:10px;
}
.top-supportbox {
	background:url(../img/top/contact.png) no-repeat right bottom ;
	background-size:cover;
	color:#FFF;
}
.top-supportbox ul {
	margin:0 0 30px;
}
.top-supportbox ul li {
	font-size:1.7rem;
	font-weight:bold;
	text-indent:-2.4rem;
	padding-left:2.4rem;
}
.top-supportbox ul li::before {
	content:"□ ";
}
.top-supportbox ul + p {
	font-size:1.45rem;
	font-weight:bold;
	flex:1 1 auto;
	margin:0 0 30px;
}
.top-supportbox a,
.top-recruitbox a {
	width:100%;
	max-width:276px;
	height:60px;
	box-sizing:border-box;
	text-align:center;
	font-size:1.6rem;
	font-weight:bold;
	line-height:60px;
	display:block;
}
.top-supportbox a {
	border:1px #FFF solid;
	margin:0 auto;
	color:#FFF;
}
.pc-view .top-supportbox a:hover {
	background:rgba(255,255,255,0.4);
}
.top-recruitbox {
	border:1px var(--color-gray2) solid;
}
.top-recruitbox h3 {
	font-size:2.4rem;
	font-weight:bold;
	letter-spacing:.1em;
	width:fit-content;
	line-height:1.6;
	margin:0 0 1em;
}
.top-recruitbox h3 span {
	background: linear-gradient(transparent 40%, #fff000 40%);
	display:inline-block;
}
.top-recruitbox h3 + p {
	font-size:1.7rem;
	font-weight:bold;
	flex:1 1 auto;
	letter-spacing:.03em;
	margin:0 0 10px;
}
.top-recruitbox div {
	display:flex;
	width:100%;
	justify-content:space-between;
	align-items:center;
	flex-direction:column;
}
.top-recruitbox a {
	border:1px var(--color-k90) solid;
	order:2;
}
.pc-view .top-recruitbox a:hover {
	background:rgba(64,61,60,0.1);
}
.top-recruitbox div img {
	flex:0 1 38%;
	display:block;
	max-width:150px;
	margin:0 ;
	order:1;
}

@media screen and (min-width: 768px) {
	.top-supportbox ul {
		margin:0 0 10px;
	}
	.top-supportbox ul li {
		text-indent:-2.8rem;
		padding-left:2.8rem;
	}
	.top-supportbox a {
		margin:0 auto 0 0;
	}
	.top-recruitbox h3 {
		font-size:2.5rem;
	}
	.top-recruitbox h3 + p {
		margin:0;
	}
	.top-recruitbox div {
		flex-direction:row;
		align-items:flex-end;
	}
	.top-recruitbox a {
		order:1;
	}
	.top-recruitbox div img {
		order:2;
		max-width:210px;
	}
}
@media screen and (min-width: 1024px) {
	.top-supportbox,
	.top-recruitbox {
		/* height:444px; */
		height:calc(100% - 60px);
	}
	.top-supportbox ul + p {
		margin:0 0 60px;
	}
	.top-recruitbox div img {
		margin:0 0 0 10px;
		width:calc(100% - 290px);
	}
}
@media screen and (min-width: 1501px) {
	.top-supportbox,
	.top-recruitbox {
		padding:40px;
	}
	.top-supportbox ul {
		margin:0 0 30px;
	}
	.top-recruitbox h3 {
		margin:0 0 1.7em;
	}
	.top-recruitbox div img {
		max-width:210px;
	}
}


/*
NEWS
***************************************************************************/
.page-news .pankuzu {
	border-bottom:1px var(--color-black) solid;
}
.news-contents {
	padding:80px 0 ;
}
.news-contents .title-01 {
	border-bottom:1px var(--color-gray2) solid;
	padding:0 0 .5em;
	margin:0 0 35px;
}
.news-contents .news-hidden {
	display:none;
}
.news-more {
	font-size:1.5rem;
	text-align:center;
	cursor:pointer;
	letter-spacing:.1em;
	margin:55px auto 0 ;
	width:100px;
}
.news-more img {
	display:block;
	margin:0 auto;
	width:8px;
	transition:.3s;
}
.pc-view .news-more:hover img {
	transform:translateY(5px);
}
@media screen and (min-width: 961px) {
	.news-contents {
		padding:130px 0 ;
	}
	.news-contents .title-01 {
		margin:0 0 75px;
	}
}


/*
NEWS DETAIL
***************************************************************************/
.page-news-detail .pankuzu {
	border-bottom:1px var(--color-black) solid;
}
.news-article {
	padding:90px 0 60px;
}
.news-article .news-list {
	margin:0 0 30px;
}
.news-article .news-mainimg {
	margin:0 0 45px;
}
.news-article article p {
	margin:0 ;
	font-size:1.5rem;
}
.news-article article p a {
	color:var(--color-orange);
	text-decoration:underline;
}
.pc-view .news-article article p a:hover {
	text-decoration:none;
}
.news-article article div {
	margin:0 0 60px;
}
.news-article article div:has(img) {
	margin:0 0 20px;
}
@media screen and (min-width: 961px) {
	.news-article {
		padding:90px 0 120px;
	}
	.news-article article {
		margin:0 0 0 266px;
	}
	.news-article article p {
		margin:0;
	}
	.news-article article div {
		margin:0 0 80px;
	}
}


/*
TAIYO QUALITY
***************************************************************************/
/* TITLE */
.quality-title {
	background:url(../img/quality/pagettl.webp)no-repeat center bottom;
	width:100%;
	background-size:cover;
	color:#FFF;
	margin:0 0 60px;
	padding:80px 0 0;
	height:calc(100svh - 106px);
	box-sizing:border-box;
}
.quality-title h1 {
	font-family:var(--font-en);
	font-size:5rem;
	letter-spacing:.085em;
	line-height:1;
	margin:0 0 20px;
}
.quality-title h2 {
	font-family:var(--font-noto);
	font-size:2rem;
	font-weight:700;
	line-height:1;
	margin:0 0 20px;
}
.quality-title h2 img {
	display:inline-block;
	vertical-align:bottom;
	width:60px;
	margin:0 0 0 10px;
}
.quality-title p {
	font-family:var(--font-noto);
	letter-spacing:.1em;
	line-height:1.8;
}
@media screen and (min-width: 429px) {
	.quality-title h1 {
		font-size:6.6rem;
	}
	.quality-title h2 {
		font-size:2.6rem;
	}
	.quality-title h2 img {
		width:100px;
		margin:0 0 0 25px;
	}
}
@media screen and (min-width: 768px) {
	.quality-title {
		padding:90px 0 0;
	}
	.quality-title h1 {
		margin:0 0 2px;
	}
	.quality-title h2 {
		font-size:3.3rem;
	}
	.quality-title h2 img {
		width:177px;
	}
	.quality-title p {
		font-size:1.7rem;
	}
}
@media screen and (min-width: 1024px) {
	.quality-title .basebox {
		display:flex;
		justify-content:space-between;
	}
	.quality-title .title {
		flex:0 1 580px;
		min-width:580px;
	}
	.quality-title h2 {
		margin:0;
	}
	.quality-title p {
		max-width:720px;
		flex:0 1 auto;
	}
}

/* qualityContents */
.quality-contents article {
	margin:0 0 20px;
}
.quality-contents article:last-child {
	margin:0;
}
.quality-contents h2 {
	font-family:var(--font-en);
	color:var(--color-orange);
	font-size:3.8rem;
	line-height:1;
	letter-spacing:0.025em;
	border-bottom:1px var(--color-gray2) solid;
	margin:0 0 30px;
	padding:0 0 20px;
}
.quality-contents h2 span {
	font-family:var(--font-noto);
	display:block;
	font-weight:500;
	color:var(--color-k90);
	font-size:1.7rem;
	margin:10px 0 0 ;
}
.quality-contents .img {
	margin:0 0 10px;
}
.quality-contents .img img {
	max-width:100%;
	display:block;
	margin:0 auto;
}
.quality-contents h3 {
	font-family:var(--font-noto);
	font-weight:700;
	font-size:2.4rem;
	margin:0 0 .8em;
	line-height:1.6;
}
.quality-contents p {
	letter-spacing:.1em;
	margin:0 0 50px;
	font-size:1.5rem;
}
@media screen and (min-width: 768px) {
	.quality-contents .img img {
		max-width:360px;
	}
	.quality-contents h3 {
		font-size:2.6rem;
		line-height:1.875;
	}
	.quality-contents p {
		line-height:2;
	}
}
@media screen and (min-width: 961px) {
	.quality-contents .inner {
		display:flex;
		justify-content:space-between;
	}
	.quality-contents .img {
		order:2;
		flex:0 1 330px;
		min-width:330px;
		margin:15px 0 0 70px;
	}
	.quality-contents .img img {
		margin:0 0 0 auto;
		width:100%;
	}
	.quality-contents .txt {
		flex:0 1 auto;
		max-width:900px;
	}
}
/* qualityFlow */
.quality-flow {
	padding:80px 0 100px;
}
.quality-flow h2 {
	margin:0 0 30px;
}

.quality-flow li {
	margin:0 0 70px;
	display:flex;
	justify-content:flex-start;
	position:relative;
}
.quality-flow li::after {
	background-color:var(--color-k90);
	content:"";
	display:block;
	position:absolute;
	width:17px;
	height:13px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	left:50%;
	bottom:-44px;
}
.quality-flow li:last-child {
	margin:0;
}
.quality-flow li:last-child::after {
	content:none;
}
.quality-flow .title {
	flex:0 1 100px;
	min-width:100px;
}
.quality-flow .title img {
	width:100%;
	display:block;
}
.quality-flow .title h3 {
	background-color:var(--color-orange);
	color:#FFF;
	text-align:center;
	height:24px;
	line-height:24px;
	font-size:1.6rem;
	font-weight:bold;
	border-radius:12px;
}
.quality-flow p {
	flex:0 1 auto;
	margin:0 0 0 10px;
	letter-spacing:.1em;
	padding:15px 0 0 ;
	font-size:1.5rem;
}
@media screen and (min-width: 501px) {
	.quality-flow .title {
		flex:0 1 120px;
		min-width:120px;
	}
}
@media screen and (min-width: 961px) {
	.quality-flow h2 {
		margin:0 0 60px;
	}
	.quality-flow li:last-child {
		margin:0 0 70px;
	}
	.quality-flow p {
		margin:0 0 0 35px;
		line-height:2;
	}
}
@media screen and (min-width: 1024px) {
	.quality-flow li::after {
		left:52.5px;
	}
}


/*
COMPANY
***************************************************************************/
.page-company .pankuzu {
	border-bottom:1px var(--color-black) solid;
}

/* NAV */
.company-nav {
	background:url(../img/company/sp_main.png) no-repeat left top;
	background-size:cover;
	width:100%;
	height:calc(100svh - 106px);
	position:relative;
	margin:0 0 80px;
}
.company-nav .inner {
	background:rgba(255,255,255,.5);
	width:100%;
	height:auto;
	position:absolute;
	bottom:0;
	left:0;
}
.company-nav .inner ul {
	font-family:var(--font-noto);
	font-size:1.5rem;
	letter-spacing:.1em;
	height:auto;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	padding:30px 0 ;
	box-sizing:border-box;
}
.company-nav .inner ul li {
	padding:5px 0;
}
.pc-view .company-nav ul a:hover {
	text-decoration:underline;
}
@media screen and (min-width: 501px) {
	/* .company-nav {
		margin:0 0 125px;
	} */
	.company-nav .inner ul {
		font-size:1.6rem;
		flex-direction:row;
		align-items:center;
		justify-content:flex-start;
		flex-wrap:wrap;
	}
	.company-nav .inner ul li {
		flex:0 1 auto;
		padding:10px 3em 10px 0;
	}
}
@media screen and (min-width: 1024px) {
	.company-nav {
		background:url(../img/company/main.webp) no-repeat center top;
		background-size:cover;
		margin:0 0 125px;
	}
	.company-nav .inner {
		width:100%;
		height:100px;
		margin:0;
		position:absolute;
		left:0;
		bottom:0;
	}
	.company-nav .inner ul {
		padding:0;
		height:100%;
		flex-wrap:nowrap;
		justify-content:space-between;
	}
	.company-nav .inner ul li {
		height:100%;
		padding:0;
		flex:0 1 auto;
	}
	.company-nav .inner ul li a {
		display:block;
		height:100%;
		line-height:100px;
	}
}

/* MESSAGE */
.company-message {
	margin-bottom:80px;
	margin-top:-100px;
	padding-top:100px;
}
.company-message .img {
	margin:0 0 30px;
}
.company-message .txt {
	flex:0 1 49%;
	order:1;
}
.company-message .txt h1 {
	font-size:2.4rem;
	font-family:var(--font-noto);
	font-weight:500;
	letter-spacing:.06em;
	margin:0 0 1em;
	line-height:1;
}
.company-message .txt h1 + p {
	margin:0 0 1.5em;
}
.company-message-name {
	text-align:right;
}
@media screen and (min-width: 768px) {
	.company-message {
		display:flex;
		justify-content:space-between;
	}
	.company-message .img {
		flex:0 1 48%;
		order:2;
		margin:0;
	}
	.company-message .txt h1 {
		margin:0 0 2em;
	}
	.company-message .txt p {
		line-height:1.7;
	}
	.company-message .txt h1 + p {
		letter-spacing:-.05em;
		margin:0 0 3em;
	}
}
@media screen and (min-width: 961px) {
	.company-message {
		margin-bottom:230px;
	}
}

/* LINK */
.company-link {
	margin-bottom:80px;
}
.company-link ul li {
	border:1px var(--color-gray2) solid;
	border-radius:10px;
	box-sizing:border-box;
	margin:0 0 30px;
}
.company-link ul li a {
	display:block;
}
.company-link ul li a .img {
	width:100%;
	aspect-ratio:626 / 360;
	overflow:hidden;
	border-radius:10px 10px 0 0 ;
}
.company-link ul li a .img img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:.5s;
}
.pc-view .company-link ul li a:hover .img img {
	transform:scale(1.1);
}
.company-link ul li a .txt {
	height:60px;
	line-height:60px;
	width:100%;
	box-sizing:border-box;
	padding:0 15px;
	font-size:1.6rem;
	font-family:var(--font-noto);
	background:url(../img/common/arrow_05.svg) no-repeat right 15px center;
	background-size:10px auto;
}
@media screen and (min-width: 768px) {
	.company-link ul {
		display:flex;
		flex-wrap:wrap;
		gap:30px 4%;
	}
	.company-link ul li {
		flex:0 1 48%;
	}
}
@media screen and (min-width: 961px) {
	.company-link {
		margin-bottom:165px;
	}
}
@media screen and (min-width: 1024px) {
	.company-link ul {
		gap:65px 4%;
	}
	.company-link ul li a .txt {
		height:74px;
		line-height:74px;
		padding:0 60px;
		font-size:1.8rem;
		background:url(../img/common/arrow_05.svg) no-repeat right 60px center;
		background-size:12px auto;
		letter-spacing:.1em;
	}

}

/*
PHYLOSOPHY
***************************************************************************/
/* TITLE */
.phylosophy-title {
	background:var(--color-gray);
	width:100%;
	box-sizing:border-box;
	height:calc(100svh - 106px);
}
.phylosophy-title h1 {
	height:100%;
	width:100%;
}
.phylosophy-title h1 img {
	width:100%;
	height:100%;
	object-fit:contain;
}
@media screen and (min-width: 768px) {
	.phylosophy-title h1 {
		width:90%;
		margin:0 auto;
	}
}
@media screen and (min-width: 1281px) {
	.phylosophy-title h1 {
		width:calc(100% - 320px);
	}
}

/* phylosophy top */
.phylosophy-top {
	padding:70px 0;
	border-bottom:1px var(--color-gray2) solid;
	margin:0 0 70px;
	color:var(--color-k90);
}
.phylosophy-top h2 {
	font-family:var(--font-en);
	font-size:3.8rem;
	line-height:1.3;
	letter-spacing:.05em;
	margin:0 auto 1em;
	max-width:1040px;
}
.phylosophy-top p {
	max-width:1040px;
	margin:0 auto;
	font-family:var(--font-noto);
	line-height:2;
	letter-spacing:.1em;
	font-weight:500;
}
@media screen and (min-width: 768px) {
	.phylosophy-top {
		padding:100px 0;
		margin:0 0 170px;
	}
	.phylosophy-top h2 {
		font-size:4.2rem;
	}
	.phylosophy-top p {
		font-size:1.7rem;
	}
}

/* phylosophyContents */
.phylosophy-contents article {
	margin:0 0 80px;
}
.phylosophy-contents h2 {
	font-family:var(--font-en);
	text-align:center;
	font-size:3rem;
	letter-spacing:.1em;
	border-bottom:5px var(--color-k95) solid;
	width:fit-content;
	min-width:150px;
	line-height:1;
	padding:0 0 8px;
}
.phylosophy-mission h2,
.phylosophy-vision h2 {
	margin:0 auto 30px;
}
.phylosophy-mission h3 {
	font-family:var(--font-noto);
	font-size:3.4rem;
	font-weight:500;
	line-height:1.4;
	text-align:center;
	margin:0 0 20px;
}
.phylosophy-mission h4 {
	font-family:var(--font-en);
	text-align:center;
	font-style:italic;
	font-weight:600;
	letter-spacing:.058em;
	font-size:1.6rem;
	line-height:1.5;
	margin:0 0 40px;
}
.phylosophy-mission .txt {
	max-width:990px;
	margin:0 auto;
	letter-spacing:.06em;
}
.phylosophy-mission .txt p:first-child,
.phylosophy-vision .txt p:first-child {
	font-family:var(--font-noto);
	margin:0 0 1em;
}
.phylosophy-mission .en,
.phylosophy-vision .en {
	font-size:1.2rem;
	line-height:1.33;
}
.phylosophy-vision .inner {
	max-width:990px;
	margin:0 auto;
}
.phylosophy-vision .inner img {
	max-width:288px;
	margin:0 auto 20px;
	display:block;
}
.phylosophy-values h2 {
	margin:0 auto 15px;
}
.phylosophy-values .lead {
	font-size:1.4rem;
	text-align:center;
	margin:0 0 70px;
}
.phylosophy-values ul {
	max-width:990px;
	margin:0 auto;
}
.phylosophy-values li {
	margin:0 0 30px;
}
.phylosophy-values .txt {
	text-align:center;
	margin:0 0 15px;
}
.phylosophy-values h3 {
	font-family:var(--font-noto);
	font-size:2.8rem;
	font-weight:500;
	letter-spacing:.16em;
	margin:0 0 .5em;
}
.phylosophy-values h3 span {
	font-size:1.5rem;
	letter-spacing:.058em;
	font-weight:400;
	display:block;
}
.phylosophy-values h3 + p {
	font-size:1.7rem;
}
.phylosophy-values .img {
	text-align:center;
}
.phylosophy-values .img img {
	max-width:265px;
}

@media screen and (min-width: 768px) {
	.phylosophy-contents article {
		margin:0 0 130px;
	}
	.phylosophy-contents h2 {
		font-size:3.3rem;
		border-bottom:7px var(--color-k95) solid;
	}
	.phylosophy-mission h2 {
		margin:0 auto 65px;
	}
	.phylosophy-mission h3 {
		font-size:4.6rem;
		line-height:1;
		margin:0 0 40px;
	}
	.phylosophy-mission h4 {
		font-size:2rem;
		margin:0 0 80px;
	}
	.phylosophy-mission .txt p:first-child,
	.phylosophy-vision .txt p:first-child {
		font-size:2rem;
		margin:0 0 .4em;
	}
	.phylosophy-mission .en,
	.phylosophy-vision .en {
		font-size:1.5rem;
	}
	.phylosophy-vision h2 {
		margin:0 auto 75px;
	}
	.phylosophy-vision .inner {
		display:flex;
		justify-content:flex-start;
	}
	.phylosophy-vision .inner img {
		margin:0 45px 0 0 ;
	}
}
@media screen and (min-width: 961px) {
	.phylosophy-values li {
		display:flex;
		justify-content:space-between;
	}
	.phylosophy-values .txt {
		max-width:670px;
		flex:0 1 auto;
		text-align:left;
		margin:0;
	}
	.phylosophy-values h3 span {
		margin:0 0 0 35px;
		display:inline;
	}
	.phylosophy-values .img {
		max-width:335px;
		flex:0 1 335px;
		text-align:left;
	}
}

/* phylosophyLogo */
.phylosophy-logo {
	padding:0 0 100px;
}
.phylosophy-logo .title {
	background:url(../img/company/phylosophy/logo_title.webp) no-repeat center center ;
	background-size:cover;
	width:100%;
	height:160px;
	margin:0 0 25px;
	box-sizing:border-box;
	padding:35px 0 0 4%;
}
.phylosophy-logo .title h2 {
	color:#FFF;
	font-family:var(--font-en);
	font-size:3.6rem;
	line-height:1.26;
	letter-spacing:.05em;
}
.phylosophy-logo .lead {
	margin:0 4% 50px;
}
.phylosophy-newlogo {
	text-align:center;
	margin:0 0 70px;
}
.phylosophy-newlogo img {
	display:block;
	margin:0 auto 50px;
	width:220px;
}
.phylosophy-newlogo p {
	letter-spacing:.1em;
}
.phylosophy-oldlogo {
	text-align:center;
}
.phylosophy-oldlogo p {
	margin:0 0 20px;
	font-size:1.5rem;
}
.phylosophy-oldlogo img {
	width:200px;
	display:block;
	margin:0 auto;
}
@media screen and (min-width: 768px) {
	.phylosophy-logo {
		padding:0 0 180px;
	}
	.phylosophy-logo .title {
		height:230px;
		padding:60px 0 0 4%;
	}
	.phylosophy-logo .title h2 {
		font-size:4rem;
	}
	.phylosophy-logo .lead {
		margin:0 4% 100px;
	}
	.phylosophy-newlogo img {
		margin:0 auto 100px;
	}
}


/*
OVERVIEW
***************************************************************************/
.page-overview .pankuzu {
	border-bottom:1px var(--color-black) solid;
}
.overview-contents {
	padding:100px 0 ;
}
.overview-contents .title-01 {
	margin:0 0 30px;
}

@media screen and (min-width: 768px) {
	.overview-contents {
		padding:120px 0 260px ;
	}
	.overview-contents .title-01 {
		margin:0 0 45px;
	}
}

/* TITLE */
.overview-title {
	background:url(../img/company/overview/pagettl.png) no-repeat center left;
	width:100%;
	height:230px;
	color:#FFF;
	padding:0 5% ;
	box-sizing:border-box;
	margin:0 0 70px;
	display:flex;
	align-items:center;
}
.overview-title h1 {
	font-family:var(--font-en);
	font-size:3.6rem;
	letter-spacing:.05em;
	line-height:1.2;
}
@media screen and (min-width: 768px) {
	.overview-title {
		padding:0 55px 0;
	}
	.overview-title h1 {
		font-size:4.2rem;
	}
}

/* PROFILE */
.overview-profile {
	margin:0 0 130px;
}
.overview-profile .tbl-01 {
	margin:0 0 100px;
}
.overview-profile .tbl-01 th {
	width:100%;
	display:block;
	box-sizing:border-box;
	border-right:none;
	border-bottom:none;
	font-weight:normal;
}
.overview-profile .tbl-01 td {
	width:100%;
	display:block;
	box-sizing:border-box;
}
.prof-member dd,
.prof-place dd {
	margin:0 0 15px;
}
.prof-group dd {
	margin:0 0 15px;
}
.prof-bank ul {
	width:200px;
}
.prof-bank li {
	display:flex;
	width:100%;
	justify-content:space-between;
}

.overview-map {
	margin:0 0 50px;
}
.overview-profile h3 {
	margin:0 0 22px;
	font-size:2.4rem;
	font-family:var(--font-noto);
	font-weight:500;
	letter-spacing:.1em;
	line-height:1;
}
.overview-profile h3 + p {
	letter-spacing:.1em;
	line-height:1.7;
	margin:0 0 30px;
}
@media screen and (min-width: 501px) {
	.prof-member dt,
	.prof-place dt {
		width:100px;
	}
	.prof-member dd,
	.prof-place dd {
		margin:-1.875em 0 0 100px;
	}
	.prof-group dt{
		width:220px;
	}
	.prof-group dd {
		margin:-1.875em 0 0 220px;
	}

}
@media screen and (min-width: 768px) {
	.overview-profile .tbl-01 th {
		width:25%;
		display:table-cell;
		border-right: 1px var(--color-gray2) solid;
		border-bottom: 1px var(--color-gray2) solid;
	}
	.overview-profile .tbl-01 td {
		width:75%;
		display:table-cell;
	}
	.prof-bank {
		display:flex;
	}
	.prof-bank ul:first-child {
		margin:0 45px 0 0 ;
	}
}

/* HISTORY */
.overview-historytbl {
	overflow-x:auto;
}
.overview-history .tbl-01 {
	min-width:450px;
}
.overview-history .tbl-01 th {
	font-weight:normal;
}
.overview-history .tbl-01 th:has(+ th) {
	border-right:none;
}
.overview-history .tbl-01 tr.history-row th:last-of-type,
.overview-history .tbl-01 tr.history-row th:last-of-type + td {
	padding-bottom:2px;
	border-bottom:none;
}
.overview-history .tbl-01 tr.history-row + tr.history-row th:last-of-type,
.overview-history .tbl-01 tr.history-row + tr.history-row th:last-of-type + td {
	padding-top:2px;
}
.overview-history .tbl-01 tr.history-rowend th:last-of-type,
.overview-history .tbl-01 tr.history-rowend th:last-of-type + td {
	padding-top:2px;
}
.overview-history tr th:first-child {
	width:170px;
	padding:15px 0 15px 10px;
	box-sizing:border-box;
}
.overview-history tr th:last-of-type {
	width:50px;
	padding:15px 10px 15px 0; 
	box-sizing:border-box;
} 
.overview-history .tbl-01 tr td {
	width:auto;
	padding:15px 15px;
}
@media screen and (min-width: 768px) {
	.overview-history tr th:first-child {
		padding:15px 0 15px 30px;
		display:table-cell;
		width:190px;
	}
	.overview-history tr th:last-of-type {
		padding:15px 30px 15px 0; 
		width:70px;
	} 
	.overview-history .tbl-01 tr td {
		padding:15px 20px;
	}
}


/*
GROUP
***************************************************************************/
.page-group .pankuzu {
	border-bottom:1px var(--color-black) solid;
}
.group-contents {
	padding:80px 0 30px;
}
.group-contents .pagetitle-01 {
	margin:0 0 40px;
}
.group-contents > section {
	margin:0 0 70px;
}
.group_inner,
.network_inner {
	margin:0 0 40px;
	width:100%;
}
.group_inner .txt,
.network_inner .txt {
	margin:0 0 30px;
}
.group_inner .txt h2,
.group_inner .txt h3 {
	font-family:var(--font-noto);
	font-weight:500;
}
.group_inner .txt h2 {
	font-size:2rem;
	line-height:1.7;
	margin:0 0 .4em;
}
.group_inner .txt h3 {
	color:var(--color-orange);
	font-size:1.8rem;
	margin:0 0 25px;
}
.group_inner .txt h3 a {
	color:var(--color-orange);
	text-decoration:underline;
}
.pc-view .group_inner .txt a:hover {
	opacity:.5;
	transition:.5s;
}
.group_inner .txt h3 + p {
	font-size:1.5rem;
}
.group_inner .txt p + p {
	margin:10px 0 0;
}
.group-contents .tbl-01 th,
.network-contents .tbl-01 th {
	display:block;
	box-sizing:border-box;
	border-right:none;
	border-bottom:none;
}
.group-contents .tbl-01 td,
.network-contents .tbl-01 td {
	display:block;
	box-sizing:border-box;
}
.network-contents {
	margin-bottom:100px;
}
.network-contents .pagetitle-01 {
	margin:0 0 40px;
}
.network-contents h3 {
	font-family:var(--font-noto);
	font-weight:500;
	font-size:2rem;
	margin:0 0 15px;
}
.network-contents h3 span {
	font-size:.65em;
	font-weight:400;
}
@media screen and (min-width: 768px) {
	.group-contents {
		padding:120px 0 70px;
	}
	.group-contents .pagetitle-01 {
		margin:0 0 80px;
	}
	.group-contents > section {
		margin:0 0 130px;
	}
	.group_inner {
		margin:0 0 50px;
		display:flex;
		justify-content:space-between;
	}
	.group_inner .txt {
		flex:0 1 60%;
		margin:0;
	}
	.group_inner .txt h2 {
		font-size:2.3rem;
	}
	.group_inner .txt h3 {
		font-size:2rem;
		margin:0 0 35px;
	}
	.group_inner .txt p + p {
		margin:20px 0 0;
		font-size:1.7rem;
	}
	.group_inner .img {
		flex:0 1 36%;
	}
	.group-contents .tbl-01 th,
	.network-contents .tbl-01 th {
		width:25%;
		border-right: 1px var(--color-gray2) solid;
		border-bottom: 1px var(--color-gray2) solid;
		display:table-cell;
	}
	.group-contents .tbl-01 td,
	.network-contents .tbl-01 td {
		width:75%;
		display:table-cell;
	}
	.network-contents {
		margin-bottom:200px;
	}
	.network-contents .pagetitle-01 {
		margin:0 0 50px;
	}
	.network_inner {
		margin:0 0 25px;
		display:flex;
		justify-content:space-between;
	}
	.network_inner .txt {
		flex:0 1 43%;
	}
	.network_inner .img {
		flex:0 1 49%;
	}
	.network-contents h3 {
		font-size:2.3rem;
		margin:0 0 30px;
	}
	.network-contents .tbl-01 th {
		width:25%;
	}
	.network-contents .tbl-01 td {
		width:75%;
	}
}
@media screen and (min-width: 1281px) {
	.group_inner .txt {
		flex:0 1 69%;
	}
	.group_inner .img {
		flex:0 1 27%;
	}
}


/*
SUSTAINABILITY
***************************************************************************/
/* MESSAGE */
.sustaina-message {
	width:100%;
	background:url(../img/company/sustainability/top.png) no-repeat center center;
	background-size:cover;
	height:calc(100svh - 106px);
	margin:0 0 85px;
	color:#FFF;
	padding:50px 0 0 ;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	font-size:1.3rem;
}
.sustaina-message .inner {
	max-width:660px;
}
.sustaina-message h1,
.sustaina-message h2 {
	font-family:var(--font-noto);
	font-weight:500;
}
.sustaina-message h1 {
	font-size:2rem;
	letter-spacing:.06em;
	margin:0 0 .6em;
}
.sustaina-message h2 {
	font-size:1.6rem;
	letter-spacing:.1em;
	margin:0 0 1em;
	line-height:1.6;
}
.sustaina-message p,
.sustaina-message ul {
	line-height:1.75;
}
.sustaina-message li {
	text-indent:-1em;
	padding-left:1em;
}
.sustaina-message li::before {
	content:"・";
}
.sustaina-message .name {
	text-align:right;
	margin:1em 0 0;
}
@media screen and (min-width: 768px) {
	.sustaina-message {
		font-size:1.6rem;
	}
	.sustaina-message h1 {
		margin:0 0 1.4em;
		font-size:2.2rem;
	}
	.sustaina-message h2 {
		font-size:1.8rem;
		margin:0 0 1.4em;
	}
	.sustaina-message .name {
		margin:3em 0 0;
	}
}

/* MATERIALITY */
.sustaina-materiality {
	padding:0 0 60px;
}
.sustaina-materiality h2 {
	font-family:var(--font-en);
	color:var(--color-k85);
	font-size:3.4rem;
	line-height:1.2;
	letter-spacing:.05em;
	border-bottom:1px var(--color-gray2) solid;
	padding:0 0 .2em;
	margin:0 0 .4em;
}
.sustaina-materiality h3 {
	font-family:var(--font-noto);
	font-weight:500;
	font-size:2.4rem;
	color:var(--color-k85);
	letter-spacing:.1em;
	margin:0 0 1em;
	line-height:1.5;
}
.sustaina-materiality .lead {
	font-size:1.7rem;
	letter-spacing:-.01em;
	margin:0 0 45px;
}
.sustaina-materiality > section {
	margin:0 0 60px;
	width:100%;
}
.sustaina-materiality .left {
	background-color:#eeefef;
	padding:0 5%;
	box-sizing:border-box;
	min-height:130px;
	display:flex;
	align-items:center;
}
.sustaina-materiality .left h4 {
	font-size:2.4rem;
	font-weight:500;
	letter-spacing:.1em;
	line-height:1.75;
}
/* .sustaina-materiality .right {
	flex:0 1 calc(100% - 235px);
} */
.sustaina-materiality .right .title {
	border-bottom:1px var(--color-gray2) solid;
	padding:15px 5% 20px;
	width:100%;
	margin:0 0 18px;
	box-sizing:border-box;
}
.sustaina-materiality .right .title h5 {
	font-size:2rem;
	font-weight:500;
	letter-spacing:-.01em;
	padding:5px 0 15px;
}
.sustaina-materiality .right .title .sdgs {
	flex:0 1 258px;
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
}
.sustaina-materiality .right .title .sdgs li {
	flex:0 1 40px;
	margin:0 2px 2px 0 ;
}
.sustaina-materiality .right .txt {
	margin:0 0 10px;
	font-size:1.44rem;
	counter-reset: number;
}
.sustaina-materiality .right .txt li {
	text-indent:-2em;
	padding-left:2em;
}
.sustaina-materiality .right .txt li::before {
  counter-increment: number;
  content: counter(number) ' ）';
}
.sustaina-materiality .right .tag li{
	background-color:#eeefef;
	display:inline-block;
	font-size:1.36rem;
	padding: 0 1em;
	height:20px;
	line-height:20px;
	border-radius:10px;
	margin:0 8px 5px 0; 
}
@media screen and (min-width: 768px) {
	.sustaina-materiality {
		padding:0 0 110px;
	}
	.sustaina-materiality h2 {
		font-size:4.2rem;
	}
	.sustaina-materiality h3 {
		font-size:2.7rem;
		margin:0 0 1.8em;
	}
	.sustaina-materiality > section {
		display:flex;
	}
	.sustaina-materiality .left {
		flex:0 1 235px;
		padding:20px 30px;
		display:block;
	}
	.sustaina-materiality .right {
		flex:0 1 calc(100% - 235px);
	}
	.sustaina-materiality .right .title {
		padding:15px 15px 15px 40px;
		display:flex;
		justify-content:space-between;
		margin:0 0 18px;
		align-items:center;
	}
	.sustaina-materiality .right .title h5 {
		flex:0 1 auto;
		padding:5px 0 0 ;
	}
	.sustaina-materiality .right .title .sdgs {
		flex:0 1 258px;
		justify-content:flex-end;
	}
	.sustaina-materiality .right .title .sdgs li {
		margin:0 0 2px 2px;
	}
	.sustaina-materiality .right .txt {
		padding:0 0 0 40px;
	}
	.sustaina-materiality .right .tag {
		padding:0 0 0 40px;
	}
}


/*
HISTORY
***************************************************************************/
.history-cont-title {
	height:200px;
	width:100%;
	color:#FFF;
	margin:0 0 40px;
	padding:0 20px;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.history-cont-title h2 {
	font-family:var(--font-en);
	font-size:2.6rem;
	letter-spacing:.05em;
	margin:0 0 .4em;
	line-height:1;
}
.history-cont-title h3 {
	font-family:var(--font-noto);
	font-weight:500;
	font-size:2rem;
	letter-spacing:.1em;
	line-height:1.2;
}
@media screen and (min-width: 768px) {
	.history-cont-title {
		margin:0 0 80px;
		padding:0 40px;
		height:230px;
	}
	.history-cont-title h2 {
		font-size:4rem;
	}
	.history-cont-title h3 {
		font-size:2.8rem;
	}
}

/* HISTORY TITLE */
.history-title {
	background-color:var(--color-gray);
	/* padding:110px 0 50px; */
	padding:45px 0 0 ;
	margin:0 0 70px;
	width:100%;
	height:calc(100svh - 106px);
	box-sizing:border-box;
	display:flex;
	align-items:center;
}
.history-title-top {
	margin:0 0 20px; 
}
.history-title-top .img {
	flex:0 1 auto;
	max-width:884px;
	margin:0 0 30px;
}
.history-title-top .txt h1 {
	font-family:var(--font-noto);
	font-weight:500;
	font-size:2rem;
	line-height:1.7;
	margin:0 0 .7em;
	letter-spacing:.05em;
}
.history-title-top .txt p {
	font-size:1.3rem;
	font-weight:bold;
	line-height:2;
	letter-spacing:.01em;
}
.history-title-btm {
	display:flex;
	justify-content:space-between;
	align-items:center;
	font-size:1.5rem;
	font-weight:bold;
}
.history-title-btm div {
	width:fit-content;
}
.history-title-btm span {
	display:block;
	max-width:1172px;
	height:14px;
	background:url(../img/history/page_title_arrow.svg) no-repeat center right;
	background-size:cover;
	flex:1 1 auto;
	margin:0 15px;
}
@media screen and (min-width: 768px) {
	.history-title-top .txt h1 {
		font-size:2.4rem;
	}
	.history-title-top .txt p {
		font-size:1.5rem;
	}
	.history-title-btm {
		font-size:1.7rem;
	}
}
@media screen and (min-width: 961px) {
	.history-title-top {
		display:flex;
		justify-content:space-between;
		align-items:center;
		margin:0 0 35px; 
	}
	.history-title-top .img {
		margin:0;
	}
	.history-title-top .txt {
		flex:0 1 355px;
		min-width:355px;
		margin:0 0 0 50px;
	}
	.history-title-top .txt h1 {
		margin:0 0 1.7em;
	}
}

/* HISTORY MOVIE */
/* .history-movie {
	margin-bottom:100px;
} */
.history-movie .history-cont-title {
	background:url(../img/history/title_01.webp) no-repeat center center;
	background-size:cover;
}
.history-movie ul li {
	margin:0 0 40px;
}
.history-movie ul li figure > div {
	aspect-ratio:39 / 28 ;
	width:100%;
	margin:0 0 10px;
	overflow:hidden;
	background-color:#000;
}
.history-movie ul li figure > div img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:.5s;
}
.history-movie ul li figure figcaption {
	border-left:8px var(--color-orange) solid;
	padding:0 0 0 10px;
	font-weight:bold;
	font-size:1.7rem;
	line-height:1.5;
	letter-spacing:.03em;
}
.pc-view .history-movie ul li a:hover figure > div img {
	transform:scale(105%);
	opacity:.7;
}
@media screen and (min-width: 501px) {
	.history-movie ul {
		display:flex;
		flex-wrap:wrap;
		gap:40px 4%;
	}
	.history-movie ul li {
		flex:0 1 48%;
		margin:0;
	}
}
@media screen and (min-width: 961px) {
	.history-movie {
		margin-bottom:150px;
	}
}
@media screen and (min-width: 1024px) {
	.history-movie ul {
		gap:65px 5%;
	}
	.history-movie ul li {
		flex:0 1 30%;
	}
	.history-movie ul li figure > div {
		margin:0 0 20px;
	}
}

/* HISTORY DEVELOP */
.history-develop {
	padding-top:100px;
	margin-bottom:100px;
}
.history-develop .history-cont-title {
	background:url(../img/history/title_02.webp) no-repeat center center;
	background-size:cover;
}
.history-develop-content .txt {
	margin:0 0 30px;
}
.history-develop-content .txt .tbl-01 th {
	width:80px;
	box-sizing:border-box;
	padding:10px 0;
	text-align:center;
	font-weight:normal;
}
.history-develop-content .txt .tbl-01 td {
	padding:10px 10px;
}
.history-develop-content .img {
	text-align:center;
}
.history-develop-content .img figure {
	margin:0 0 20px;
}
.history-develop-content .img figcaption {
	font-size:1.35rem;
	margin:1em 0 0;
}
@media screen and (min-width: 768px) {
	.history-develop-content .txt .tbl-01 th {
		width:134px;
		padding:10px 15px;
	}
	.history-develop-content .txt .tbl-01 td {
		padding:10px 20px;
	}
	.history-develop-content .img {
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
		align-items:flex-end;
	}
	.history-develop-content .img figure {
		flex:0 1 48%;
	}
}
@media screen and (min-width: 961px) {
	.history-develop {
		margin-bottom:250px;
	}
	.history-develop-content {
		display:flex;
		justify-content:space-between;
	}
	.history-develop-content .txt {
		flex:0 1 630px;
		min-width:630px;
		margin:0;
	}
	.history-develop-content .img {
		flex:0 1 auto;
		margin:0 0 0 40px;
		max-width:48%;
		text-align:right;
		display:block;
	}
	.history-develop-content .img figure {
		margin:0 0 100px;
	}
	.history-develop-content .img figure:last-of-type {
		margin:0 ;
	}
}


/*
BUSINESS
***************************************************************************/
/* BUSINESS TITLE */
.business-title {
	width:100%;
	height:calc(100svh - 106px);
	color:#FFF;
	display:flex;
	align-items:center;
	margin:0 0 60px;
	padding-top:50px;
	box-sizing:border-box;
}
.printing-title {
	background:url(../img/business/title_printing.webp) no-repeat center center;
	background-size:cover;
}
.processing-title {
	background:url(../img/business/title_processing.webp) no-repeat center center;
	background-size:cover;
}
.custom-title {
	background:url(../img/business/title_custom.webp) no-repeat center center;
	background-size:cover;
}
.business-title h1 {
	font-family:var(--font-noto);
	font-weight:500;
	font-size:1.8rem;
	line-height:1;
	margin:0 0 .5em;
	letter-spacing:.1em;
}
.business-title h2 {
	font-family:var(--font-en);
	font-size:3.6rem;
	line-height:1;
	letter-spacing:.05em;
	margin:0 0 .8em;
}
.business-title ul {
	font-size:2rem;
	font-family:var(--font-noto);
	font-weight:500;
	letter-spacing:.01em;
}
.business-title ul li {
	background:url(../img/common/arrow_03.svg) no-repeat left .5em;
	background-size:8px auto;
	padding-left:16px;
	line-height:1.6;
	margin:0 0 .5em;
}
.business-title ul li span {
	color:#fff000;
}


.business-mainslide {
	margin:0 0 80px;
	width:100%;
	height:calc(100svh - 106px);
}
.business-mainslide div {
	width:100%;
	height:100%;
}
.business-mainslide div img {
	object-fit: cover;
    object-position: center center;
	display:block;
	width:100%;
	height:100%;
}
@media screen and (orientation: landscape) {
   /* 横向きの場合のスタイル */
	.business-mainslide img.pr {
		display:none;
	}
}
@media screen and (orientation: portrait) {
   /* 縦向きの場合のスタイル */
	.business-mainslide img.ls {
		display:none;
	}
}

@media screen and (min-width: 501px) {
	.business-title h1 {
		font-size:2.2rem;
	}
	.business-title h2 {
		font-size:5rem;
	}
}
@media screen and (min-width: 768px) {
	.business-title {
		margin:0 0 80px;
	}
	.business-title h1 {
		font-size:3rem;
	}
	.business-title h2 {
		font-size:8rem;
	}
	.business-title ul {
		font-size:3.4rem;
	}
	.business-title ul li {
		background-size:22px auto;
		padding-left:46px;
		margin:0 0 .15em;
	}
}
@media screen and (min-width: 1024px) {
	.business-title {
		padding-top:0;
	}
	.business-title ul {
		font-size:4.4rem;
	}
}

/* BUSINESS ITEM */
.business-item,
.business-custom-area {
	margin:0 0 80px;
}
.business-item .title-01 {
	margin-bottom:20px;
}
.business-item > section {
	margin-bottom:80px;
	padding-top:100px;
	margin-top:-100px;
}
.business-itemlist li {
	border:1px var(--color-gray2) solid;
	border-radius:10px;
	box-sizing:border-box;
	margin-bottom:30px;
	overflow:hidden;
}
.business-itemlist li a {
	padding:0;
	display:block;
	box-sizing:border-box;
	position:relative;
	width:100%;
	height:auto;
	aspect-ratio:13 / 10; 
}
.pc-view .business-itemlist li a:hover {
	opacity:.7;
}
.business-itemlist li .img {
	margin:0 ;
	width:100%;
	/* aspect-ratio:19 / 9; */
	/* overflow: visible; */
}
.business-itemlist li .img img {
	width:100%;
	height:auto;
	/* object-fit:contain; */
}
.business-itemlist li .txt {
	padding:10px calc(5% + 50px) 15px 5%;
	background:url(../img/common/arrow_04.svg) no-repeat right 5% bottom 15px rgba(255,255,255,0.5);
	background-size:24px auto;
	position:relative;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	box-sizing:border-box;
}
.business-itemlist li h3 {
	font-family:var(--font-noto);
	font-weight:500;
	font-size:1.6rem;
	letter-spacing:.05em;
	margin:0 0 .4em;
	line-height:1.2;
}
.business-itemlist li h4 {
	font-family:var(--font-en);
	font-style: italic;
	font-size:3rem;
	line-height:1;
	font-weight:700;
}
@media screen and (min-width: 768px) {
	.business-item,
	.business-custom-area {
		margin:0 0 180px;
	}
	.business-item > section {
		margin-bottom:100px;
	}
	.business-itemlist {
		display:flex;
		flex-wrap:wrap;
		gap:60px 4%;
	}
	.business-itemlist li {
		flex:0 1 48%;
		margin-bottom:0;
	}
	.business-itemlist li a {
		aspect-ratio:13 / 9; 
	}
	/* .business-itemlist li .img {
		margin:0 0 20px;
	} */
	 .business-itemlist li .txt {
		padding:20px 90px 20px 40px;
		background:url(../img/common/arrow_04.svg) no-repeat right 40px bottom 20px rgba(255,255,255,0.5);
		background-size:24px auto;
	}

	.business-itemlist li h3 {
		font-size:1.7rem;
	}
	.business-itemlist li h4 {
		font-size:4rem;
	}
	.business-custom-area .title-01 {
		margin:0 0 80px;
	}
}

/* BUSINESS CUSTOM */
.business-custom-area .title-01 {
	margin:0 0 30px;
}
.custom-left {
	margin:0 0 40px;
}
.custom-bnr-top p,
.custom-bnr-top a,
.custom-bnr-top img {
	display:block;
}
.custom-bnr-top p {
	margin:0 0 8px;
}
.custom-bnr-top p:first-child {
	margin:0 0 20px;
}
.custom-bnr-top a,
.custom-bnr-top img {
	width:100%;
}
.pc-view .custom-bnr-top a:hover {
	opacity:.7;
}
.custom-bnr-top p:first-child a {
	border:1px var(--color-k95) solid;
	box-sizing:border-box;
}
.custom-bnr-btn .btn-02 {
	width:100%;
}
@media screen and (min-width: 1024px) {
	.custom-contents {
		display:flex;
		justify-content:space-between;
	}
	.custom-left {
		margin:0 ;
		flex:0 1 auto;
	}
	.custom-right {
		flex:0 1 450px;
		min-width:450px;
		margin:0 0 0 8%;
		display:flex;
		flex-direction:column;
		justify-content:space-between;
	}
	/* .custom-bnr-top p:last-child {
		margin:0;
	} */
}
@media screen and (min-width: 1281px) {
	.business-custom-area .title-01 {
		margin:0 0 80px;
	}
	.custom-left {
		font-size:1.8rem;
		letter-spacing:.04em;
	}
}

/* BUSINESS OTHER */
.business-other {
	margin:0 0 80px;
}
.business-other .title-01 {
	margin-bottom:20px;
}
.business-other .business-link {
	gap:0 2%;
}
.business-other .business-link li {
	flex:0 1 32%;
	margin:0 0 20px;
}
.business-other .business-link li a {
	height:220px;
}
.business-other .business-link li a img {
	transition:.5s;
}
.pc-view .business-other .business-link li a:hover img {
	transform:scale(1.1);
}
.business-other .business-link .title {
	padding: 0 clamp(10px, 5vw, 20px);
}
.business-other .business-link .title h3 {
	letter-spacing:0;
}
.business-other .bnr-history {
	background-color: var(--color-gray);
}
.business-other .bnr-history img {
	mix-blend-mode: multiply;
}
@media screen and (min-width: 768px) {
	.business-other {
		margin-bottom:180px;
	}
	.business-other.business-custom-other {
		margin-bottom:80px;
	}
	.page-business-detail .business-other {
		margin-bottom:120px;
	}
	.business-other .business-link .title h3 {
		font-size: 2.15rem;
	}
}
@media screen and (min-width: 961px) {
	.business-other .business-link .title {
		top:0;
		display:flex;
		height:100%;
	}
	.business-other .business-link .title br.sp{
		display:block;
	}
}
@media screen and (min-width: 1501px) {
	.business-other .business-link .title br.sp{
		display:none;
	}
}

/*
BUSINESS DETAIL
***************************************************************************/
.page-business-detail .pankuzu {
    border-bottom: 1px var(--color-black) solid;
}

/* MAIN */
.item-main {
	padding:0 0 60px;
}
.item-main h1 {
	font-family:var(--font-noto);
	font-weight:500;
	font-size:1.8rem;
	letter-spacing:.05em;
	line-height:1.5;
}
.item-main h1 .item-num {
	font-family:var(--font-en);
	font-style: italic;
	font-size:4rem;
	font-weight:700;
	display:block;
	line-height:1;
	margin:.1em 0 20px;
}
.item-main .inner {
	width: 90%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1490px;
	box-sizing:border-box;
}
.item-main .inner .img {
	margin:0 0 15px;
}
.item-main .inner .txt h2 {
	font-family:var(--font-noto);
	font-weight:500;
	font-size:2.4rem;
	letter-spacing:.05em;
	margin:0 0 .7em;
	line-height:1.6;
}
.item-main .inner .txt p {
	font-weight:bold;
	font-size:1.5rem;
	letter-spacing:.01em;
	line-height:2;
}
.item-main-inner h1,
.item-main-inner img {
	display:block;
	width:100%;
}

@media screen and (orientation: landscape) {
   /* 横向きの場合のスタイル */
	.item-main-inner h1 img.pr {
		display:none;
	}
}
@media screen and (orientation: portrait) {
   /* 縦向きの場合のスタイル */
	.item-main-inner h1 img.ls {
		display:none;
	}
}


@media screen and (min-width: 768px) {
	.item-main h1 {
		font-size:2.4rem;
	}
	.item-main h1 .item-num {
		font-size:6rem;
	}
}
@media screen and (min-width: 961px) {
	.item-main h1 .item-num {
		font-size:7.7rem;
	}
	.item-main .inner {
		padding:0 50px 0 0;
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	.item-main .inner .img {
		flex:0 1 auto;
		margin:0;
	}
	.item-main .inner .txt {
		flex:0 1 300px;
		margin:0 0 0 25px;
		min-width:300px;
	}
	.item-main .inner .txt h2 {
		line-height:1.875;
	}
}
@media screen and (min-width: 1281px) {
	.item-main {
		padding:0 0 70px;
	}
	.item-main .inner {
		width: calc(100% - 140px);
	}
}

/* SLIDE */
.item-slide-area {
	margin-bottom:80px;
}
@media screen and (min-width: 768px) {
	.item-slide-area {
		margin-bottom:130px;
	}
}

/* VIDEO SPEC */
.item-video-spec {
	margin:0 0 60px;
}
.item-video {
	margin:0 0 40px;
}
.item-video iframe {
	aspect-ratio:560 / 315;
	width:100%;
	border-radius:10px;
}
.item-video figcaption {
	font-size:1.5rem;
	line-height:1.4;
}
.item-video figcaption a {
	text-decoration:underline;
}
.pc-view .item-video figcaption a:hover {
	text-decoration:none;
}
.item-spec {
	font-size:1.5rem;
}
.item-spec .title-02 {
	margin:0 0 10px;
}
.item-spec-grid {
	display:grid;
	gap: 10px 0;
	grid-template-columns: [key] 1fr [value] 1fr;
	line-height:1.3;
	padding:0 0 20px;
}
.item-spec-grid dt {
	grid-column: key;
	text-indent:-1em;
	padding-left:1em;
}
.item-spec-grid dt::before {
	content:"■";
}
.item-spec-grid dd {
	grid-column: value;
	margin-left: 0;
	text-indent:-1em;
	padding-left:1em;
}
.item-spec-grid dd::before {
	content:"：";
}
.item-spec-grid + h3 {
	border-top:var(--color-gray2) 1px solid;
	padding-top:10px;
}
.item-spec h3 {
	font-weight:bold;
	font-size:1.5rem;
	margin-bottom:.2em;
}
.item-spec li {
	text-indent:-1em;
	padding-left:1em;
}
.item-spec li::before {
	content:"■";
}
@media screen and (min-width: 429px) {
	.item-spec-grid {
		grid-template-columns: [key] min-content [value] 1fr;
	}
	.item-spec-grid dt {
		white-space: nowrap;
	}
}
@media screen and (min-width: 961px) {
	.item-video-spec {
		display:flex;
		justify-content:space-between;
		align-items:flex-start;
		margin:0 0 80px;
	}
	.item-video {
		flex:0 1 55%;
		margin:0;
	}
	.item-spec {
		flex:0 1 40%;
	}
	.item-video-spec > section:first-child.item-spec {
		flex:0 1 100%;
	}
}
@media screen and (min-width: 1024px) {
	.item-video {
		flex:0 1 65%;
	}
	.item-spec {
		flex:0 1 30%;
	}
}

/* FEATURE */
.item-feature {
	padding:0 0 30px;
}
.item-feature .title-02 {
	margin-bottom:20px;
}
.item-feature h3 {
	font-weight:normal;
	font-size:2rem;
	letter-spacing:.025em;
	border-bottom:1px var(--color-gray2) solid;
	margin:0 0 20px;
	line-height:1.5;
	padding:0 0 .5em;
}
.item-feature ul {
	margin:0 0 50px;
}
.item-feature ul li {
	margin:0 0 40px;
}
.item-feature ul li .img {
	margin:0 0 12px;
}
.item-feature ul li .img img {
	width:100%;
}
.item-feature ul li h4 {
	font-weight:bold;
	font-size:1.65rem;
	letter-spacing:.05em;
	margin:0 0 .5em;
	line-height:1.5;
}
.item-feature ul li p {
	font-size:1.3rem;
	line-height:1.6;
}
@media screen and (min-width: 768px) {
	.item-feature {
		padding:0 0 50px;
	}
	.item-feature .title-02 {
		margin-bottom:40px;
	}
	.item-feature h3 {
		font-size:2.4rem;
		margin:0 0 25px;
	}
	.item-feature ul {
		display:flex;
		flex-wrap:wrap;
		gap:70px 4%;
		margin:0 0 70px;
		padding:0 4%;
	}
	.item-feature ul li {
		flex:0 1 48%;
		margin:0;
	}
	/* .item-feature ul li h4 {
		font-size:1.8rem;
	} */
}
/* CATALOG */
.item-catalog {
	margin:0 0 80px;
}
.item-catalog .title-02 {
	margin:0 0 20px;
}
.item-catalog .title-02 + p {
	letter-spacing:.025em;
	margin:0 0 20px;
}
.item-catalogbox {
	border:1px var(--color-gray2) solid;
	margin:0 0 50px;
	padding:30px 5%;
	box-sizing:border-box;
}
.item-catalogbox .img {
	width:80%;
	margin:0 auto 20px;
	max-width:150px;
}
.item-catalogbox .img img {
	width:100%;
}
.item-catalogbox .txt {
	margin:0 0 20px;
}
.item-catalogbox .txt h3 {
	border-bottom:1px var(--color-black) solid;
	font-weight:normal;
	font-size:1.7rem;
	line-height:1;
	padding:0 0 .8em;
	margin:0 0 .8em;
}
.item-catalogbox .txt .name1 {
	font-size:1.8rem;
	font-weight:bold;
	line-height:1.4;
	margin:0 0 .6em;
}
.item-catalogbox .txt .name2 {
	font-size:2.8rem;
	font-weight:bold;
	line-height:1;
}
.item-catalogbox .txt .name2 span:nth-of-type(2) {
	font-weight:normal;
	font-size:1.6rem;
	display:block;
	margin:.6em 0 0 ;
}
.item-catalogbox .btn .btn-02 {
	max-width:100%;
	width:100%;
}
.item-catalog .column2 > div:first-child {
	margin:0 0 20px;
}
@media screen and (min-width: 768px) {
	.item-catalog {
		margin:0 0 120px;
	}
	.item-catalogbox .txt .name2 span:nth-of-type(1) {
		margin:0 35px 0 0 ;
	}
	.item-catalogbox .txt .name2 span:nth-of-type(2) {
		font-size:1.7rem;
		display:inline-block;
		margin:0;
	}
}
@media screen and (min-width: 961px) {
	.item-catalog .title-02 + p {
		font-size:1.7rem;
	}
	.item-catalogbox {
		margin:0 0 70px;
		padding:30px ;
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	.item-catalogbox .img {
		flex:0 1 88px;
		margin:0;
	}
	.item-catalogbox .txt {
		flex:0 1 48%;
		max-width:620px;
		margin:0;
	}
	.item-catalogbox .txt .name1 {
		font-size:2rem;
		margin:0 0 .8em;
	}
	.item-catalogbox .txt .name2 {
		font-size:3.2rem;
	}
	.item-catalogbox .btn {
		flex:0 1 276px;
	}
}
@media screen and (min-width: 1024px) {
	.item-catalogbox {
		padding:30px 60px 30px 30px;
	}
	.item-catalog .column2 > div:first-child {
		margin:0 ;
	}
}


/*
RECRUIT
***************************************************************************/
.page-recruit .pankuzu {
	border-bottom:1px var(--color-black) solid;
}
/* MESSAGE */
.recruit-message .inner {
	background:var(--color-gray);
	height:calc(100vh - 70px);
	width:100%;
	padding:90px 0;
	box-sizing:border-box;
	position:relative;
}
.recruit-message.fixed .inner {
	position:fixed;
	top:70px;
}
.recruit-message h1 {
	font-size:2.1rem;
	background: linear-gradient(transparent 40%, #fff000 40%);
    display: inline-block;
	padding:0 .3em 0 0;
}
.recruit-message .txt {
	position:absolute;
	padding:170px 0 100px;
	top:0;
	left:50%;
	transform:translateX(-50%);
	font-weight:bold;
	font-size:1.7rem;
}
.recruit-message .txt span {
	transition:.3s;
}
.recruit-message .txt span.fade-out {
	opacity:0;
}
@media screen and (min-width: 961px) {
	.recruit-message .inner {
		background:url(../img/recruit/top.webp) no-repeat right 20% center #FFF;
		background-size:auto 100%;
		padding:120px 0;
	}
	.recruit-message h1 {
		font-size:3rem;
		padding:0 1em 0 0;
	}
	.recruit-message .txt {
		padding:240px 0 150px;
		font-size:2rem;
	}
}
@media screen and (min-width: 1281px) {
	.recruit-message .inner {
		background:url(../img/recruit/top.webp) no-repeat right center #FFF;
		background-size:auto 100%;
	}
}

/* BTN */
.recruit-btn {
	padding:75px 0 ;
}
.recruit-btn .column2 > div:first-child {
    margin: 0 0 25px;
}
.recruit-btn .column2 a {
	display:block;
	height:110px;
	border:1px var(--color-gray2) solid;
	border-radius:10px;
	font-weight:bold;
	font-size:2rem;
	line-height:110px;
	text-align:center;
	position:relative;
}
.pc-view .recruit-btn .column2 a:hover {
	background-color:var(--color-orange);
	color:#FFF;
	border:1px var(--color-orange) solid;
}
.recruit-btn .column2 a span {
	font-weight:normal;
	font-size:1rem;
	display:block;
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	transform:translateY(-3.2em);
}
.recruit-btn p {
	font-size:1.25rem;
	margin:1em 0 0 ;
}
.recruit-btn p a {
	color:var(--color-orange);
}
.pc-view .recruit-btn p a:hover {
	text-decoration:underline;
}
@media screen and (min-width: 1024px) {
	.recruit-btn .column2 > div:first-child {
		margin: 0 ;
	}
}
/* WORKS */
.recruit-works {
	margin-bottom:60px;
}
.recruit-works .title-01 {
	margin:0 0 20px;
}
.recruit-works .box {
	background-color:var(--color-gray2);
	width:100%;
	height:370px;
	border-radius:10px;
}
@media screen and (min-width: 768px) {
	.recruit-works {
		margin-bottom:100px;
	}
}



/*
CONTACT
***************************************************************************/
.page-contact .pankuzu {
	border-bottom:1px var(--color-black) solid;
}
.contact-contents {
	padding:80px 0 100px;
}
.contact-contents .pagetitle-01 {
	margin-bottom:40px;
}
.contact-contents .lead {
	margin:0 0 60px;
}
.contact-contents .title-02 {
	margin:0 0 20px;
}
.contact-ex {
	margin:0 0 35px;
}
.contact-ex li {
	margin:0 0 20px;
	text-indent:-1em;
	padding-left:1em;
}
.contact-ex li::before {
	content:"■";
}
@media screen and (min-width: 768px) {
	.contact-contents {
		padding:120px 0 170px;
	}
	.contact-contents .pagetitle-01 {
		margin-bottom:45px;
	}
}

/* TEL */
.contact-tel {
	margin:0 0 80px;
}
.contact-tel .tbl-01 th{
	width:100%;
	box-sizing:border-box;
	font-size:1.5rem;
	display: block;
	border-right:none;
	border-bottom:none;
}
.contact-tel .tbl-01 td{
	width:100%;
	box-sizing:border-box;
	display: block;
}
.contact-tel .tbl-01 dl {
	display:flex;
	flex-wrap:wrap;
}
.contact-tel .tbl-01 dt,
.contact-tel .tbl-01 dd {
	display:inline-block;
	vertical-align:middle;
	line-height:38px;
}
.contact-tel .tbl-01 dt {
	font-size:1.5rem;
	flex:0 1 45px;
}
.contact-tel .tbl-01 dd {
	font-size:2rem;
	font-weight:bold;
	letter-spacing:.075em;
	flex:0 1 calc(100% - 45px);
}
.contact-tel .tbl-01 dd:first-of-type {
	margin:0 ;
}
.contact-tel .tbl-01 a {
	text-decoration:none;
}
.pc-view .contact-tel .tbl-01 a:hover {
	opacity:1;
}
@media screen and (min-width: 768px) {
	.contact-tel {
		margin:0 0 90px;
	}
	.contact-tel .tbl-01 th{
		width:25%;
		display:table-cell;
		vertical-align:middle;
		border-right: 1px var(--color-gray2) solid;
		border-bottom: 1px var(--color-gray2) solid;
	}
	.contact-tel .tbl-01 td{
		width:75%;
		display:table-cell;
	}
	.contact-tel .tbl-01 dl {
		display:block;
	}
	.contact-tel .tbl-01 dt {
		margin:0 .3em 0 0 ;
	}
	.contact-tel .tbl-01 dd:first-of-type {
		margin:0 70px 0 0 ;
	}
}

/* FORM */
.contact-form {
	padding-top:100px;
	margin-top:-100px;
}
.formbox .tbl-01 {
	margin:0 0 35px;
}
.formbox tr > th,
.formbox tr > td {
	box-sizing:border-box;
	display:block;
}
.formbox tr > th {
	width:100%;
	padding:15px 20px;
	border-right:none;
	border-bottom:none;
}
.formbox tr > th.th-address {
	background:none;
	padding:15px 20px 0;
}
.formbox tr > th span {
	width:100%;
	position:relative;
	display:block;
}
.formbox tr > th.must span::after {
	content:"必須";
	background-color:#c50018;
	display:block;
	font-size:1.3rem;
	width:32px;
	height:32px;
	color:#FFF;
	text-align:center;
	line-height:32px;
	position:absolute;
	right:0;
	top:0;
}
.formbox tr > td {
	width:100%;
	padding:15px 20px;
}
.formbox tr > td input,
.formbox tr > td select,
.formbox tr > td textarea {
	font-size:1.6rem;
	box-sizing:border-box;
	border:1px var(--color-gray2) solid;
	font-weight:normal;
	font-family:var(--font-yu);
}
.formbox tr > td input,
.formbox tr > td select {
	height:38px;
	line-height:38px;
	width:100%;
	box-sizing:border-box;
	padding:0 10px;
}
.formbox tr > td input::placeholder,
.formbox tr > td textarea::placeholder {
	color:var(--color-gray2);
}
.formbox tr > td .select-wrapper {
	position:relative;
	height:38px;
	width:100%;
}
.formbox tr > td select {
	-webkit-appearance: none;
    appearance: none;
}
.formbox tr > td .select-wrapper::after {
	content:"";
	display:block;
	width:8px;
	height:8px;
	border-left:2px var(--color-k95) solid;
	border-bottom:2px var(--color-k95) solid;
	position:absolute;
	right:18px;
	top:50%;
	transform:rotate(-45deg) translateY(-9px);
}
.formbox tr > td textarea {
	width:100%;
	height:250px;
	display:block;
	padding:10px;
	line-height:1.6;
}
.formbox tr > td.input-name span {
	width:45px;
	display:inline-block;
}
.formbox .confirm_area tr > td.input-name span {
	width:auto;
	display:inline-block;
}
.formbox tr > td.input-name .wpcf7-form-control-wrap {
	width:calc(100% - 45px);
	margin:0 0 10px;
}
.formbox tr > td.input-name input {
	width:100%;
}
.formbox tr > td.input-name span:last-child input {
	margin:0;
}
.formbox tr > td.input-post span:first-child{
	width:45px;
	display:inline-block;
}
.formbox tr > td.input-post input {
	width:62px;
}
.formbox tr > td.input-post input:first-of-type {
	margin:0 10px 0 0 ;
}
.formbox tr > td.input-post span:last-of-type input {
	margin:0 0 0 10px;
}
.formbox tr > td.input-address .select-wrapper {
	margin:0 0 10px;
}
.formbox tr > td.input-tel input {
	width:62px;
}
.formbox tr > td.input-tel span:nth-child(2),
.formbox tr > td.input-tel span:nth-child(4) {
	width:10px;
	display:inline-block;
	text-align:center;
}
.formbox tr > td.input-mail input:first-of-type {
	margin:0 0 15px;
}
.formbox .tbl-01 + p {
	margin:0 0 40px;
}
.formbox .tbl-01 + p a {
	color:var(--color-orange);
}
.pc-view .formbox .tbl-01 + p a:hover {
	text-decoration:underline;
}
.form-btn {
	text-align:center;
}
.submit-btn {
	background-color:var(--color-k95);
	color:#FFF;
	text-align:center;
	width:205px;
	height:52px;
	line-height:52px;
	font-size:2rem;
	font-weight:bold;
	letter-spacing:.05em;
	border:none;
	padding:0;
	cursor:pointer;
	transition:.3s;
}
.submit-btn.disabled {
	cursor:default;
	opacity:.3;
}
.pc-view .submit-btn:hover {
	background-color:var(--color-orange);
}
.pc-view .submit-btn.disabled:hover {
	background-color:var(--color-k95);
}
.confirm_area .button-wrap input {
	background-color:var(--color-k95);
	color:#FFF;
	text-align:center;
	width:205px;
	height:52px;
	line-height:52px;
	font-size:2rem;
	font-weight:bold;
	letter-spacing:.05em;
	border:none;
	padding:0;
	cursor:pointer;
	transition:.3s;
	display:block;
	margin:0 auto 20px;
}
.pc-view .confirm_area .button-wrap input:hover {
	background-color:var(--color-orange);
}
.confirm_area .button-wrap input.back_button {
	background-color:var(--color-gray2);
	color:#FFF;
	text-align:center;
	width:180px;
	height:52px;
	line-height:52px;
	font-size:2rem;
	font-weight:bold;
	letter-spacing:.05em;
	border:none;
	padding:0;
	cursor:pointer;
	transition:.3s;
	display:block;
	margin:0 auto;
}
.pc-view .confirm_area .button-wrap input.back_button:hover {
	background-color:var(--color-gray2);
	opacity:.7;
}

.formbox .wpcf7-spinner {
	/* display:none; */
	background-color:var(--color-orange);
	position:absolute;
}
.formbox .form-error-msg,
.formbox .mail-err-msg {
	display:none;
	color:#dc3232;
}
.formbox tr > td.input-name span.wpcf7-not-valid-tip,
.formbox tr > td.input-post span.wpcf7-not-valid-tip,
.formbox tr > td.input-address span.wpcf7-not-valid-tip {
	display:none;
}
.formbox tr > td.input-name:has(.wpcf7-not-valid-tip) .form-error-msg,
.formbox tr > td.input-post:has(.wpcf7-not-valid-tip) .form-error-msg,
.formbox tr > td.input-address:has(.wpcf7-not-valid-tip) .form-error-msg {
	display:block;
}
.formbox .mail-err-msg.err-show {
	display:block;
}
.formbox tr > th.must.th-address span::after {
	display:none;
}
.wpcf7 form.invalid .wpcf7-response-output {
	border:none;
	background-color:#dc3232;
	color:#FFF;
}
.confirm_area,
.thanks_area {
	display: none;
}
.formbox .confirm_area tr > td.input-tel span {
	width:auto;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output{
	display: none;
}

.confirm_area .title-01 {
	margin:0 0 20px;
}
.contact-thanks-page .title-01 {
	margin:0 0 20px;
	line-height:1.5;
}
@media screen and (min-width: 768px) {
	.formbox tr > th,
	.formbox tr > td {
		vertical-align:middle;
		display:table-cell;
	}
	.formbox tr > th {
		width:12%;
		padding:15px 20px;
		border-right: 1px var(--color-gray2) solid;
		border-bottom: 1px var(--color-gray2) solid;
	}
	.formbox tr > th[colspan] {
		width:33%;
	}
	.formbox tr > th[rowspan] {
		width:13%;
	}
	.formbox tr > th.th-address {
		width:20%;
		padding:15px 20px;
		background-color: #eeefef;
	}
	.formbox tr > th span {
		width:170px;
	}
	.formbox tr > td {
		width:67%;
	}
	.formbox tr > td.input-name input {
		width:110px;
		margin:0 15px 0 0 ;
	}
	.formbox tr > td.input-post input {
		width:80px;
	}
	.formbox tr > td.input-post input:first-of-type {
		margin:0 15px 0 0 ;
	}
	.formbox tr > td.input-post span:last-of-type input {
		margin:0 0 0 15px;
	}
	.formbox tr > td.input-tel input {
		width:80px;
	}
	.formbox tr > td.input-tel span:nth-child(2),
	.formbox tr > td.input-tel span:nth-child(4) {
		width:36px;
	}

	.formbox tr > th.must.th-address-area span::after {
		display:none;
	}
	.formbox .confirm_area tr > th.must.th-address-area span::after {
		display:block;
	}
	.formbox tr > th.must.th-address span::after {
		display:block;
	}
	.formbox tr > th.must.th-address-area span {
		width:100%;
	}
	.formbox .confirm_area tr > th.must.th-address-area span {
		width:190px;
	}

}
@media screen and (min-width: 1281px) {
	.formbox tr > th {
		padding:15px 40px;
		/* font-size:1.7rem; */
	}
	.formbox tr > th span {
		width:190px;
	}
	.formbox tr > td {
		padding:15px 60px 15px 20px;
		/* font-size:1.7rem; */
	}
	.formbox tr > td input,
	.formbox tr > td select {
		width:330px;
	}
	.formbox tr > td .select-wrapper {
		width:330px;
	}
	.formbox tr > td.input-name .wpcf7-form-control-wrap {
		width:200px;
		margin:0 35px 0 0 ;
	}
	.formbox tr > td.input-name input {
		width:100%;
	}
	.formbox tr > td.input-address input {
		width:540px;
	}
}

/*
PRIVACY
***************************************************************************/
.page-privacy .pankuzu {
	border-bottom:1px var(--color-black) solid;
}
.privacy-contents {
	padding:80px 0 100px;
}
.privacy-contents .pagetitle-01 {
	margin:0 0 40px;
}
.privacy-contents .lead {
	margin:0 0 35px;
}
.privacy-contents ol {
	counter-reset: number;
	text-indent:-1.2em;
	padding-left:1.2em;
	margin:0 0 30px;
} 
.privacy-contents ol li::before {
	counter-increment: number;
	content:counter(number)'.  ';
}
.privacy-contents .name {
	text-align:right;
}
@media screen and (min-width: 768px) {
	.privacy-contents {
		padding:115px 0 230px;
	}
	.privacy-contents ol {
		margin:0 0 70px;
	} 
}

/*
FOOTER
***************************************************************************/
footer {
	background-color:var(--color-gray);
	width:100%;
}
.f-content {
	padding:90px 0 100px;
}
.f-logo {
	margin: 0 0 75px;
}
.f-logo .img {
	width:112px;
	margin:0 0 35px;
}
.f-logo .img img {
	width:100%;
}
.f-txt-01 {
	font-family:var(--font-en);
	font-weight:600;
	font-style: italic;
	letter-spacing:.06em;
	line-height:1.1;
	margin:0 0 20px;
}
.f-txt-02 {
	font-size:1.5rem;
	letter-spacing:.2em;
	font-family:var(--font-noto);
	font-weight:500;
	line-height:1;
}
.f-link {
	line-height:1;
}
.f-link dl {
	margin:0 0 40px;
}
.f-link dl:last-child {
	margin:0;
}
.f-link dt {
	font-weight:bold;
	margin:0 0 40px;
	font-size:1.55rem;
}
.f-link dd + dt {
	margin-top:40px;
}
.f-link dd {
	font-size:1.55rem;
	line-height:1;
	margin:0 0 15px
}
.f-link dt + dd {
	margin-top:-10px;
}
.f-link .f-sns dt {
	margin:0 0 15px;
}
.f-sns dd {
	display:inline-block;
	margin:0 20px 0 0 ;
}
.f-sns dd img {
	max-width:28px;
}
.pc-view footer a:hover {
	text-decoration:underline;
}
.pc-view footer .f-sns a:hover img {
	opacity:0.7;
}
.f-cr {
	background:var(--color-k90);
	font-size:1.2rem;
	color:#FFF;
	padding:10px 0;
}
.f-cr a {
	color:#FFF;
}
@media screen and (min-width: 768px) {
	.f-link {
		flex:1 1 auto;
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	.f-link dl {
		flex:0 1 48%;
	}
	.f-link dt:last-child {
		margin:0;
	}
	.f-cr .basebox {
		position:relative;
		text-align:center;
	}
	.f-cr .basebox p:first-child {
		position:absolute;
		right:0;
		text-align:right;
	}
}
@media screen and (min-width: 1024px) {
	.f-link {
		flex-wrap:nowrap;
	}
	.f-link dl {
		margin:0;
		flex:0 1 auto;
	}
	.f-link .f-sns dt {
		margin:0 0 40px;
	}
	.f-sns dd {
		display:block;
		margin:0 0 15px;
	}
}
@media screen and (min-width: 1501px) {
	.f-content {
		display:flex;
		justify-content:space-between;
	}
	.f-logo {
		margin: 0;
		flex:0 1 300px;
	}
	.f-link {
		max-width:880px;
	}
}

/*
COMMON PARTS
***************************************************************************/
/* ▼display▼ */
.block { display:block; }
.inline { display:inline; }
.none { display:none!important; }

/* ▼position▼ */
.posit_r { position:relative!important; }
.posit_a { position:absolute!important; }
.posit_f { position:fixed!important; }

.align_c { text-align:center!important; }
.align_r { text-align:right!important; }
.align_l { text-align:left!important; }

.disp_l { float:left!important; }
.disp_r { float:right!important; }

.va_top { vertical-align:top!important; }
.va_mid { vertical-align:middle!important; }
.va_btm { vertical-align:bottom!important; }

/* ▼width▼ */
.w5per { width:5%; }
.w10per { width:10%; }
.w15per { width:15%; }
.w20per { width:20%; }
.w25per { width:25%; }
.w30per { width:30%; }
.w35per { width:35%; }
.w50per { width:50%; }
.w55per { width:55%; }
.w60per { width:60%; }
.w70per { width:70%; }
.w75per { width:75%; }
.w80per { width:80%; }
.w100per { width:100%!important; }

.basebox {
	width:90%;
	margin-left:auto;
	margin-right:auto;
}

.column2 > section:first-child,
.column2 > div:first-child {
	margin:0 0 85px;
}
@media screen and (min-width: 1024px) {
	.column2 {
		display:flex;
		justify-content:space-between;
	}
	.column2 > section,
	.column2 > div {
		flex:0 1 48%;
	}
	.column2 > section:first-child,
	.column2 > div:first-child {
		margin:0;
	}
}
@media screen and (min-width: 1281px) {
	.basebox {
		width:calc(100% - 320px);
		max-width:1300px;
	}
}


/* ▼font▼ */
.bold{font-weight:700!important;}

.size10 { font-size:1rem!important; }
.size11 { font-size:1.1rem!important; }
.size12 { font-size:1.2rem!important; }
.size13 { font-size:1.3rem!important; }
.size14 { font-size:1.4rem!important; }
.size16 { font-size:1.6rem!important; }
.size18 { font-size:1.8rem!important; }
.size20 { font-size:2.0rem!important; }
.size22 { font-size:2.2rem!important; }
.size24 { font-size:2.4rem!important; }
.size28 { font-size:2.8rem!important; }
.size30 { font-size:3.0rem!important; }

.lh2 { line-height:2!important; }
.lh18 { line-height:1.8!important; }
.lh16 { line-height:1.6!important; }
.lh15 { line-height:1.5!important; }
.lh14 { line-height:1.4!important; }



/* ▼link▼ */
a.line, .line { text-decoration:underline!important; }
a.no_line { text-decoration:none!important; }

.bnr-area {
	width:100%;
	overflow:hidden;
	display:block;
}
.bnr-area img {
	width:100%;
	transition:.3s;
}
.pc-view .bnr-area:hover img {
	/* transform:scale(1.05); */
	opacity:.7;
}

.bnr-history {
	aspect-ratio:35/41;
	border-radius:10px;
}
.subpage-business .bnr-history {
	background-color:var(--color-gray);
	margin:0 0 60px;
}
.subpage-business .bnr-history img {
	mix-blend-mode:multiply;
}
.bnr-philosophy {
	aspect-ratio:35/68;
}



@media screen and (min-width: 768px) {
	.bnr-history {
		aspect-ratio:325/64;
	}
	.bnr-philosophy {
		aspect-ratio:130/43;
	}
}
@media screen and (min-width: 961px) {
	.subpage-business .bnr-history {
		margin:0 0 110px;
	}
}

/* ▼title▼ */
.title-01 {
	font-family:var(--font-noto);
	font-weight:500;
	font-size:2.7rem;
	line-height:1;
	letter-spacing:.1em;
}
.title-02 {
	background-color:var(--color-gray2);
	color:#FFF;
	font-family:var(--font-noto);
	font-size:2rem;
	width:100%;
	height:40px;
	line-height:40px;
	border-radius:3px;
	padding:0 10px;
	box-sizing:border-box;
}
.pagetitle-01 {
	border:1px var(--color-gray2) solid;
	width:100%;
	box-sizing:border-box;
	height:160px;
	padding:0 20px;
	display:flex;
	align-items:center;
	font-family:var(--font-noto);
	font-weight:500;
	font-size:2.4rem;
	letter-spacing:.1em;
}
@media screen and (min-width: 768px) {
	.pagetitle-01 {
		height:230px;
		padding:0 40px;
		font-size:3.3rem;
		letter-spacing:.2em;
	}
}

/* ▼btn▼ */
.btn-01 {
	line-height:1;
	padding:3px 20px 10px 10px;
	position:relative;
	display:block;
	width:fit-content;
}
.btn-01:after {
	content:"";
	display:block;
	background:url(../img/common/btn_01.svg) no-repeat;
	width:143px;
	height:8px;
	position:absolute;
	bottom:0;
	left:0;
}

.btn-02 {
	color:#FFF;
	background-color:var(--color-orange);
	width:100%;
	height:60px;
	display:inline-block;
	text-align:center;
	line-height:60px;
	font-weight:bold;
	font-size:1.7rem;
}
.pc-view .btn-02:hover {
	text-decoration:underline;
}
.pc-view .btn-01:hover::after { animation:btn-01anime 1.5s forwards; }
@keyframes btn-01anime{
	0%{
		left:0;
		opacity:1;
	}
	30%{
		left:20px;
		opacity:0;
	}
	31%{
		left:-20px;
		opacity:0;
	}
	40%{
		opacity:1;
	}
	100%{
		left:0;
		opacity:1;
	}
}
.btn-03 {
	border:1px var(--color-gray2) solid;
	border-radius:10px;
	height:70px;
	width:100%;
	line-height:70px;
	padding:0 15px;
	box-sizing:border-box;
	display:block;
	font-size:1.7rem;
	letter-spacing:.025em;
	background:url(../img/common/arrow_05.svg) no-repeat center right 10px;
	background-size:10px auto;
}
.pc-view .btn-03:hover {
	border:1px var(--color-orange) solid;
	color:#FFF;
	background:url(../img/common/arrow_06.svg) no-repeat center right 30px var(--color-orange);
	background-size:12px auto;
}
@media screen and (min-width: 768px) {
	.btn-02 {
		width:280px;
	}
	.btn-03 {
		padding:0 40px;
		font-size:2rem;
		background:url(../img/common/arrow_05.svg) no-repeat center right 30px;
		background-size:12px auto;
	}
}

/* ▼TABLE▼ */
.tbl-01 {
	border-top:1px var(--color-gray2) solid;
}
.tbl-01 th,
.tbl-01 td {
	border-bottom:1px var(--color-gray2) solid;
	font-size:1.5rem;
	vertical-align:top;
	line-height:1.74;
}
.tbl-01 th {
	border-right:1px var(--color-gray2) solid;
	background-color:#eeefef;
	padding:15px 20px;
}
.tbl-01 td {
	padding:15px 20px;
}
.tbl-01 td p {
	max-width:780px;
}
.tbl-01 td p:has( + a),
.tbl-01 td dl:has( + a) {
	margin:0 0 1em;
}
.tbl-01 td a {
	text-decoration:underline;
	transition:.3s;
}
.pc-view .tbl-01 td a:hover {
	opacity:.5;
}

@media screen and (min-width: 961px) {
	.tbl-01 th {
		padding:15px 50px;
	}
	.tbl-01 td {
		padding:15px 40px;
	}
}

/* ▼list▼ */


/* ▼background▼ */
.bg_none { background:none!important; }

/* ▼border▼ */
.border_none { border:none!important; }



