@charset "utf-8";

/********
*
* 共通
*
*********/
.title{
	margin-bottom: 1.9em;
	text-align: center;
}
.title h2,
.title h3,
.title h4,
.title h5{
	font-size: 2.6em;
	font-weight: bold;
	font-family: serif;
}

@media screen and (max-width: 767px){
	.title h2,
	.title h3,
	.title h4,
	.title h5{
		font-size: 2em;
	}
}

/********
*
* トップページ
*
*********/

/* FV */
.feature-content {
	position: relative;
}
.fv-siwper{
	width: 100%;
}
.swiper-wrapper{
	width: 100%;
}
.swiper-slide img{
	width: 100%;
	height: calc(100svh);
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.fv-logo{
	position: absolute;
	bottom: 10%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}
.fv-logo img{
	width: 400px;
	object-fit: contain;
}
.fv-text{
	position: absolute;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
	font-size: 2vw;
	font-weight: bold;
	letter-spacing: 1.3px;
	line-height: 1.8;
	text-shadow: 1px 1px 15px #000;
	color: #fff;
	z-index: 3;
}

@media screen and (min-width: 1600px){
	.fv-text{
		font-size: 1.9vw;
	}
}

@media screen and (max-width:1024px) {
	.fv-text{
		font-size: 25px;
	}
}

@media screen and (max-width:767px) {
	.swiper-slide img{
		height: calc(100svh - 60px);
		aspect-ratio: 4 / 3;
	}
	.fv-text{
		top: 2%;
		transform: translateY(0%);
		font-size: 18px;
	}
}



/* @media screen and (min-width:768px) {
	.feature-content img {
		padding-top: 60px;
	}
}

@media screen and (max-width:979px) {
	.feature-content {
		position: relative;
		overflow: hidden;
		height: 700px;
		background-size: cover;
		background-repeat: no-repeat;
		background-image: url(./img/top-sp.jpg);
	}

}

@media screen and (max-width:767px) {
	.feature-content {
		position: relative;
		overflow: hidden;
		height: 500px;
		background-size: cover;
		background-repeat: no-repeat;
		background-image: url(./img/top-sp.jpg);
	}
}

@media screen and (max-width: 450px) {
    .feature-content {
        position: relative;
        overflow: hidden;
        height: 370px;
        background-size: cover;
        background-repeat: no-repeat;
        background-image: url(./img/top-sp.jpg);
    }
} */


/********
*
* サブページテンプレート
*
*********/
.subpage-wrapper{
	margin-bottom: 2em;
}
.subpage-imagebox{
	position: relative;
	z-index: 1
}
.subpage-imagebox::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #424242;
	opacity: 0.3;
	z-index: 2;
}
.subpage-image img{
	width: 100%;
	height: 400px;
	object-fit: cover;
}
.subpage-aboutimg{
	object-position: 50% 20%;
}
.subpage-titlebox{
	position: absolute;
	top: 63%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
	text-align: center;
	z-index: 3;
}
.subpage-title{
	margin-bottom: 0.1em;
	font-size: 3.5em;
	font-weight: bold;
	font-family: serif;
	color: #fff;
	line-height: 1;
}
.subpage-subtitle{
	font-size: 1.7em;
	font-weight: bold;
	font-family: serif;
	letter-spacing: 1.3px;
	color: #fff;
}

@media screen and (max-width: 1100px){
	.subpage-image img{
		height: 300px;
	}
	.subpage-title{
		font-size: 3em;
	}
	.subpage-subtitle{
		font-size: 1.4em;
	}
}

@media screen and (max-width: 767px){
	.subpage-image img{
		height: 250px;
	}
	.subpage-title{
		font-size: 2.5em;
	}
	.subpage-subtitle{
		font-size: 1.3em;
	}
}

/********
*
* 会社概要
*
*********/
.about-concept{
	margin-bottom: 6em;
	margin-top: 6em ;
}
.about-block{
	max-width: 1200px;
	margin: 0 auto;
}
.about-text p{
	text-align: center;
	font-size: 1.3em;
}
.about-company{
	margin-bottom: 5em;
	padding: 5em 0;
	background: #F2F2F2;
}
.about-table{
	width: 70%;
	margin: 0 auto;
}
.about-table table{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.about-table table tr{
	border-bottom: solid 1px #424242;
}
.about-table table tr td{
	padding: 23px 20px 23px 20px;
	font-size: 1.4em;
}
.about-table table tr td:nth-child(1){
	width: 40%;
}
.about-table table tr td iframe{
	margin-top: 0.5em;
	width: 100%;
	height: 300px;
}



.about-ssimg p{
	border: none;
    width: 100%;
    max-width: 25%;
    height: auto;
	margin: 0 auto;
}
.about-ssimg {
	width: 70%;
    margin: 0 auto;
    height: auto;
	display: flex;
}
.about-dogimg p{
	border: none;
    width: 100%;
    max-width: 34%;
    height: auto;
	margin: 0 auto;
}
.about-dogimg {
	width: 70%;
    margin: 0 auto;
    height: auto;
	display: flex;
}

@media screen and (max-width: 767px){
	.subpage-titlebox{
		top: 50%;
		left: 50%;
	}
	.about-concept{
		margin-bottom: 6em;
		margin-top: 6em;
	}
	.about-concept .title h2{
		/*font-size: 2.2em;*/
		font-size:2em;
	}
	.about-block{
		width: 92%;
	}
	.about-text p{
		text-align: left;
		font-size: 1.2em;
	}
	.about-company{
		margin-bottom: 5em;
	}
	.about-table{
		width: 97%;
	}
	.about-table table tr td{
		padding: 23px 20px 23px 10px;
		font-size: 1.2em;
	}
	.about-table table tr td:nth-child(1){
		width: 40%;
	}
	.about-table table tr td iframe{
		margin-top: 1em;
		width: 100%;
		height: 200px;
	}

	.about-ssimg p{
		border: none;
		width: 100%;
		max-width: 70%;
		height: auto;
		margin: 15px auto;
	}
	.about-ssimg {
		margin: 0 auto;
		height: auto;
		display: block;
	}

	.about-dogimg p{
		border: none;
		width: 100%;
		max-width: 70%;
		height: auto;
		margin: 15px auto;
	}
	.about-dogimg {
		margin: 0 auto;
		height: auto;
		display: block;
	}
}



.about-sstext p {
    font-size: 1.7em;
    font-weight: bold;
    font-family: serif;
	margin-bottom: 1.7em;
    text-align: center;
}

@media screen and (max-width: 500px){
	.about-sstext p {
		font-size: 1.3em;
	}
	.about-ssimg p{
		border: none;
		width: 100%;
		max-width: 80%;
		height: auto;
		margin: 15px auto;
	}
	.about-ssimg {
		margin: 0 auto;
		height: auto;
		display: block;
	}
}

.about-dog {
    margin-bottom: 0em;
    padding: 5em 0;
    background: #F2F2F2;
}

/* 20250605 ABOUTページ（商標登録コンテンツ） */
.about-ssimg {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.about-ssimg table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.about-ssimg .tbl-layout {
	width: 100%;
	padding: 8px;
	background-color: #EAF4E4;
	margin-top: 30px;
}
.about-ssimg .tbl-layout:first-child {
	margin-top: initial;
}
.about-ssimg .tbl-wrap {
	padding: 0 35px 25px 35px;
	border: 4px #ffffff solid;
}
.about-ssimg table:first-child {
	margin: initial;
}
.about-ssimg tr {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
.about-ssimg tr td {
	font-size: 1.4em;
	vertical-align: top;
	padding: 23px 25px;
	border-top: 1px #424242 solid;
}
.about-ssimg tr td:first-child {
	width: 40%;
}
.about-ssimg tr td:last-child {
	width: 60%;
}
.about-ssimg tr:first-child td {
	border-top: initial;
	vertical-align: middle;
}
.about-ssimg tr td img {
	width: 100%;
	height: 100%;
	max-height: 160px;
	object-fit: contain;
	object-position: top left;
}
.tbl-layout:nth-child(2) tr td img {
	max-height: 130px;
}

@media screen and (max-width: 767px) {
	.about-ssimg {
		width: 97%;
	}
	.about-ssimg .tbl-layout {
		padding: 6px;
		margin-top: 25px;
	}
	.about-ssimg .tbl-wrap {
		padding: 5px 30px 20px 30px;
		border: 3px #ffffff solid;
	}
	.about-ssimg tr td {
		font-size: 1.2em;
		padding: 15px 18px;
	}
	.about-ssimg tr td:first-child {
		width: 45%;
	}
	.about-ssimg tr td:last-child {
		width: 55%;
	}
	.about-ssimg tr td img {
		max-height: initial;
	}
}
@media screen and (max-width:400px) {
	.about-ssimg .tbl-wrap {
		padding: 0 18px 15px 18px;
	}
	.about-ssimg tr td {
		padding: 15px 10px;
	}
	.tbl-layout:first-child tr td img {
		max-height: initial;
		height: auto;
	}
	.tbl-layout:nth-child(2) tr td img {
		max-height: 100px;
	}
	.tbl-layout:last-child tr td img {
		max-height: 170px;
	}
}

/********
*
* CARRIER
*
*********/
.c-container{
	max-width:1100px;
	margin:0 auto;
}
.carrier-wrap{
	width:90%;
	margin:0 auto;
}
@media screen and (max-width:767px) {
	.carrier-wrap{
		width:92%;
	}
}
.carrier-ceo{
	margin-top:3em;
	margin-bottom:4.5em;
}
.ceo-block{
	display:flex;
}
.ceo-block .ceo-block-image{
	width:30%;
}
.ceo-block .ceo-block-image-img{
	width:100%;
	height:auto;
}
.ceo-block .ceo-block-detail{
	width:70%;
	padding-left:6%;
	padding-top:1rem;
}
.ceo-block .ceo-block-detail-name{
	display:flex;
	align-items: end;
	line-height:1;
	padding:0 10px;
	padding-bottom:1.3em;
	margin-bottom:2.8em;
	border-bottom:4px solid #e2f0d9;
}
.ceo-block .ceo-block-detail-postname{
	display:flex;
	align-items: center;
}
.ceo-block .ceo-block-detail-post{
	font-size:1.5em;
	margin:0;
	font-weight:400;
	letter-spacing: 3px;
}
.ceo-block .ceo-block-detail-fullname{
	font-size:3em;
	padding-left:1.4em;
	font-family:serif;
	font-weight:500;
}
.ceo-block .ceo-block-detail-alf{
	font-size:1.2em;
	font-weight:800;
	padding-left:2.3em;
	font-family:serif;
	/*letter-spacing: 2px;*/
	letter-spacing: clamp(0rem, -0.201rem + 0.47vw, 0.125rem);
}
.ceo-block .ceo-block-detail-text{
	padding:0 10px;
	text-align: justify;
	font-size:1.3em;
	width:97%;
}
.ceo-block .ceo-block-detail-text-p{
	line-height:2.1;
}
@media screen and (max-width:767px) {
	.ceo-block{
		flex-direction: column;
	}
	.ceo-block .ceo-block-image{
		width:100%;
	}
	.ceo-block .ceo-block-detail{
		width:100%;
		padding-left:0;
		padding-top:3em;
	}
	.ceo-block .ceo-block-detail-name{
		padding-bottom:1.3em;
		margin-bottom:2em;
		border-bottom:3px solid #e2f0d9;
	}
	.ceo-block .ceo-block-detail-fullname{
		font-size:2.5em;
		padding-left:1em;
	}
	.ceo-block .ceo-block-detail-alf{
		font-size:1em;
	}
	.ceo-block .ceo-block-detail-text{
		font-size:1em;
		letter-spacing: 0.5px;
	}
}
.carrier-path{
	margin-bottom:10em;
}
.path-block{
	margin-top:6em;
}
.path-block .path-block-image{
	width:75%;
	margin:0 auto;
}
.path-block .path-block-image-img{
	width:100%;
	height:auto;
}
@media screen and (max-width:767px) {
	.carrier-path{
		margin-bottom:4.5em;
	}
	.path-block{
		margin-top:4em;
	}
	.path-block .path-block-image{
		width:95%;
		max-width:530px;
	}
}
.carrier-interview .title{
	margin-bottom:4em;
}
.interview-block{
	margin-bottom:-30px;
}
.interview-block .inner-content{
	padding:45px 0;
}
.interview-block .media:last-of-type .inner-content{
	padding-bottom:70px;
}
.interview-block .carrier-wrap{
	width:93%;
}
.intersview-block .flex-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.interview-block .media:nth-of-type(2n-1) {
  background: #f4f9f1;
}
.interview-block .media:nth-of-type(2n) {
  background: #fff;
}
.interview-block .media .media-image{
	width: 34%;
}
.interview-block .media .media-image-img{
	width:100%;
	height:auto;
	object-fit:cover;
	object-position:center;
	aspect-ratio: 23 / 21;
}
.interview-block .media .media-image > .content {
	display: table;
	table-layout: fixed;
	width: 100%;
	color: #FFF;
	background: #89c064;
	padding: 0.6em 1em;
	font-size:1.2em;
}
.interview-block .media .media-image > .content .content-dt {
	display: table-cell;
	vertical-align: middle;
	font-size: 1.3em;
}

.interview-block .media .media-content{
	width:66%;
	text-align: justify;
}
.interview-block .media:nth-of-type(2n) .media-content{
	padding-right: 2.5%;
	-ms-flex-order: -1;
	-webkit-order: -1;
	order: -1;
}
.interview-block .media:nth-of-type(2n-1) .media-content {
	padding-left: 2.5%;
}
.interview-block .media .media-content .caption,
.interview-block .media .media-content .media-content-dt {
    color: #567022;
}
.interview-block .media .media-content .media-content-dl{
	padding-bottom:1.5em;
}
.interview-block .media .media-content .media-content-dl:last-of-type{
	padding-bottom:0;
}
.interview-block .media .media-content .media-content-dt {
	font-size: 1.25em;
	border-bottom: #567022 solid 2px;
	/*padding-bottom: 0.4em;*/
	padding:0 0.2em 0.4em;
}
.interview-block .media .media-content .media-content-dd {
	line-height: 1.75;
	/*padding-top:0.5em;*/
	padding:0.5em 0.2em 0;
	font-size:1em;
}

@media screen and (max-width:767px){
	.carrier-interview .title{
		margin-bottom:1.9em;
	}
	.interview-block{
		margin-bottom:0;
	}
	.interview-block .inner-content{
		padding:30px 0;
	}
	.interview-block .media .media-image > .content {
		padding: 0.4em 0.8em;
		font-size:1.1em;
	}
	.interview-block .media .media-image > .content .content-dt {
		font-size: 1.2em;
	}
	.interview-block .media .media-image,
	.interview-block .media .media-content{
		width:100%;
	}
	.interview-block .media .media-image{
		margin-bottom:1.5em;
	}
	.interview-block .media:nth-of-type(2n) .media-content{
		padding-right: 0;
		-ms-flex-order: 0;
		-webkit-order: 0;
		order: 0;
	}
	.interview-block .media:nth-of-type(2n-1) .media-content {
		padding-left: 0;
	}
	.interview-block .media .media-content .media-content-dl{
		/*padding-bottom:1.5em;*/
		padding-bottom:2em;
	}
	.interview-block .media .media-content .media-content-dl:last-of-type{
		padding-bottom:0;
	}
	.interview-block .media .media-content .media-content-dt {
		font-size: 1.1em;
		border-bottom:#567022 solid 1px;
	}
}
@media screen and (min-width: 768px) and (max-width: 979px) {
	.interview-block .media .media-image > .media-content-dt {
		display: block;
		padding-bottom: 0.25em;
	}
}
@media screen and (min-width: 768px){
	.store-template-default #main-wrap .inner-content{
		padding-top:10px;
		padding-bottom:10px;
	}	
}

/*20250620追加*/
.notfound{
	margin-top:150px!important;
	min-height:350px;
}
body.error404{
	height:auto;
}




















