@charset "utf-8";

/* ---------------------------------------------
 *
 * resset.dev • v5.0.2
 *
 * --------------------------------------------- */
 html{box-sizing:border-box;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;tab-size:4}*,::before,::after{background-repeat:no-repeat;box-sizing:inherit}::before,::after{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0;color:inherit}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type='number']::-webkit-inner-spin-button,[type='number']::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}[type='search']::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}button,[type='button'],[type='reset'],[type='submit'],[role='button']{cursor:pointer}button::-moz-focus-inner,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner{outline:1px dotted ButtonText}button,html [type='button'],[type='reset'],[type='submit']{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy='true']{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled='true']{cursor:default}
 /* --------------------------------------------- */

 /* ---------------------------------------------
  *
  * 追加リセット
  *
  * --------------------------------------------- */
ul,ol{
	list-style-type: none;
}
address{
	font-style: normal;
}
table{
	border-collapse: collapse;
    border-spacing: 0;
}

/* ---------------------------------------------
  
   カスタムプロパティ
  
----------------------------------------------- */
:root {
/*
	--main-base-color: #95bd2c;
	--main-base-color-hover: #b5dd4c;
*/
/* 2023.09 
	--main-base-color: #138496;
	--main-base-color-hover: #33a4b6;
	--second-base-color: #e94e4e;
*/

--main-base-color: #13963c;
--main-base-color-hover: #33b65c;
--second-base-color: #e94e4e;

--contact-btn-base-color:#13963c;
--contact-btn-grad-color:#0b8632;
--contact-btn-base-color-hover:#33a65c;
--contact-btn-grad-color-hover:#2ba652;

--main-base-color: #ffe827;
--main-base-color-hover: #fff837;

--contact-btn-base-color:#ffe827;
--contact-btn-grad-color:#efd817;
--contact-btn-base-color-hover:#ffe827;
--contact-btn-grad-color-hover:#efd817;



--sp-base-fontsize:14px;

/*	#58a6a4
	#86b902
	#2ba739;
	*/
}


/* ---------------------------------------------
 
  基本設定
 
--------------------------------------------- */
body{
	font-family: 'Noto Sans JP', sans-serif;
	line-height:1.8;
	font-size:18px;
	font-weight:400; /* 400,600,800 */
	color:#333;
}
strong{
	font-weight:600;
}
a{
	/* color:var(--main-base-color);*/
	color:#083d59;
	text-decoration:none;
	transition: 0.5s;
}
a:hover {
	/* color:var(--main-base-color-hover); */
	color:#386d89 ;
	text-decoration: none;
}
img{
	line-height:1;
}
main{
	background:#f8f8f8;
	padding:0 0 150px 0;
}

h1{

}
h2{
	font-weight: 800;
    font-size: 22px;
	/* color:var(--main-base-color); */
	width:100%;
}
h2 span{
	display: flex;
}
h2 span.en{
    font-size: 42px;
	color:#333;
	letter-spacing: -0.03em;
	border-bottom: solid 1px #555;
	margin-bottom:5px;
/*
    color: #000000;
    background: #ffe827;
	border:0;
*/
}
h2 span.en.min{
	font-size: 36px;
}

h3{

}


@media screen and (max-width:820px) { 
	body{
		padding-top:80px;

	}

	main{
		padding:0 0 50px 0;
	}

	h2{
		font-size: 18px;
		text-align:center;
	}
	h2 span{
		text-align:center;
		display: block;
	}
	h2 span.en{
		font-size: 24px;
	}
	h2 span.en.min{
		font-size: 20px;
	}
	h3{
		font-size:18px;

	}
	p{
		font-size: var(--sp-base-fontsize);

	}
}



/* -------------------------------------------

  共通

---------------------------------------------- */
.r{
	text-align: right;
}
.c{
	text-align:center;
}
.detail-link-btn{
	display: inline-block;
	color:#000;
	background-color: #ffe827;
	padding:3px 10px;

	font-size:20px;
	font-weight: 600;
/*	border-bottom:solid 3px var(--main-base-color); */
	transition: 1s;
}
.detail-link-btn:hover{
	color:#fff;
	background-color: #000;
/*	color:var(--main-base-color); */
}

@media screen and (max-width:820px) { 

	.detail-link-btn{
		font-size:16px;
	}
	

}


/* -------------------------------------------

  コンテナ

---------------------------------------------- */
.container{
	width:1200px;
	position: relative;
	margin: 0 auto;
}

.base-box{
	background:#fff;
	padding:100px;
	box-shadow: 1px 1px 8px #c5c5c555;
}
.base-box h3{
	text-align:center;
	font-size:32px;
	margin-bottom:50px;
	
}

.base-box.bottom-space{
	margin-bottom:150px;

}

@media screen and (max-width:820px) { 

	.container{
		width:100%;
	}
	.base-box{
		padding:20px;
	}
	.base-box h3{
		font-size:20px;
	}
	.base-box.bottom-space{
		margin-bottom:50px;
	}
}


/* -------------------------------------------

  ヘッダ

---------------------------------------------- */
.header{
	height:80px;
	line-height:1;
}
.header-wrap{
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.header-wrap .header-logo{
	width:400px;
	margin-left:50px;
}
.header-wrap .header-logo h1{
	font-size:20px;
	font-weight:800;

}
.header-wrap .header-logo h1 a{

}

.header-wrap .header-nav{

}






/* -------------------------------------------

  グローバルナビ

---------------------------------------------- */
.g-navi-list{
	display:flex;
	align-items: center;
	justify-content: flex-end;

}
.g-navi-list li{
	height:80px;
	display:flex;
	align-items: center;
	margin-left:15px;
	transition: 1s;
}

.g-navi-list li a{
	text-align:center;
	font-size:16px;
	font-weight:800;
	color:#333;
	transition: 0.5s;
}
.g-navi-list li a:hover{
	color:var(--main-base-color);

}

.g-navi-list li.contact-box{
	margin-left:0;
}
.g-navi-list li.contact-box a{
	display: flex;
	align-items: center;
	color:#fff;
	background:var(--main-base-color);
	padding:0 50px;
	height:100%;
	transition: 1s;
}

.g-navi-list li.contact-box:hover a{
	background:var(--main-base-color-hover);
	cursor: pointer;
}

.g-navi-list li.shock-box a{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	color:#333;
	background:#ffe827;
	height:100%;
	transition: 1s;
	
	
	position: relative;
    overflow: hidden;
    cursor: pointer;
	background:var(--main-base-color);
	transition: 1s;
    border-right:solid  1px #9b949455;
    border-bottom:solid  1px #9b949455;
	background: -webkit-linear-gradient(top,var(--contact-btn-base-color),var(--contact-btn-grad-color));



}
.g-navi-list li.shock-box a:hover{
	color:#fff837;
	background:#333;
}

.g-navi-list li.shock-box a::before {
    display: block;
    position: absolute;
    top: -50%;
    left: -30%;
    transform: rotate(30deg);
    width: 100px;
    height: 150px;
    content: '';
    background-image: linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background-image: -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0)));
    animation: animation-shock-btn 3s infinite linear;
}

@keyframes animation-shock-btn {
    17% {
        left: 120%;
    }
    100% {
        left: 120%;
    }
}





.g-navi-list li.shock-box a div.min-title{
	width:100%;
	font-size:10px;
	padding:0 20px;
	margin:0;
	line-height: 1.4;
	text-align:center;
	font-weight: 900;

}
.g-navi-list li.shock-box a span.media-name{
	width:100%;
	font-size:18px;
	font-weight: 900;

	line-height:1.5;

}

#nav-toggle {
	visibility: hidden;
}

@media screen and (max-width:820px) { 
	.header{
		position:fixed;
		top:0;
		left:0;
		width:100%;
		z-index:100;
		background:#ffffffd3;
		backdrop-filter: blur(6px);
	}
	.header-wrap .header-logo{
		margin-left:20px;
		width:260px;
		padding-top:15px;
	}
	.header-wrap .header-logo img{
		width:100%;
	}


	/* スマホメニュー */
	#nav-toggle {
		visibility:visible;
		position: fixed;
		top: 25px;
		right: 20px;
		height: 32px;
		cursor: pointer;
	}
	#nav-toggle > div {
		position: relative;
		width: 36px;
	}
	#nav-toggle span {
		width: 100%;
		height: 2px;
		left: 0;
		display: block;
		background: #333;
		position: absolute;
		transition: transform 0.3s ease-in-out, top 0.3s ease;
	}
	#nav-toggle span:nth-child(1) {
		top: 0;
	}
	#nav-toggle span:nth-child(2) {
		top: 14px;
	}
	#nav-toggle span:nth-child(3) {
		top: 28px;
	}
	#nav-toggle:hover span:nth-child(1) {
		top: 4px;
	}
	#nav-toggle:hover span:nth-child(3) {
		top: 23px;
	}
	.open #nav-toggle span {
		background:#333;
	}
	.open #nav-toggle span:nth-child(1) {
		top: 15px;
		transform: rotate(45deg);
	}
	.open #nav-toggle span:nth-child(2) {
		top: 15px;
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 15px;
		transform: rotate(-45deg);
	 } 

	/* z-index */
	#nav-toggle {
		z-index: 9001;
	}


	#global-nav {
		background: #fff;
		color: #fff;
		position: fixed;
		width:100%;
		height:100vh;
		top: 0;
		left: 0;
		z-index: 9000;
		text-align: center;
		display: flex;
		visibility: hidden;
		justify-content: center;
		align-items: flex-start;
		font-size: 29px;
		opacity: 0;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}
  
	/* open */
	.open {
		overflow: hidden;
  	}
  	.open #global-nav {
		visibility: visible;
		opacity: 1;
	}


	.g-navi-list{
		margin-top:100px;
		justify-content: space-between;
		flex-wrap:wrap;
	}
	.g-navi-list li{
		width: 100%;
		height:auto;
		display: block;
		margin-left:0;
		text-align:center;

		border-top:solid 1px #ddd;
	}
	
	.g-navi-list li a{
		color:#333;
		display: block;
		text-align:center;
		padding:15px 0 15px 0;
	}
	.g-navi-list li a:hover{
		color:var(--main-base-color);
	
	}
	.g-navi-list li.shock-box{
		text-align:center;
		margin:0 auto;
	}
	.g-navi-list li.shock-box a{
		text-align: center;
		justify-content: center;
	}
	.g-navi-list li.contact-box{
		background:none;
		padding:0;

	}
	.g-navi-list li.contact-box a{
		color:#fff;
		padding:20px 0;
		display: block;
		background:var(--main-base-color);
	}
	
	.g-navi-list li.contact-box:hover{
		background: var(--main-base-color-hover);
	}

}





/* -------------------------------------------

  フッタ

---------------------------------------------- */
.footer{
	padding:0;
	background:#fff;

}

/* -------------------------------------------
 
  フッタ / お問い合わせ
 
------------------------------------------- */
.footer-contact-section{
	/* background:var(--main-base-color); */
	background-color: #2b2b2b;
	padding:100px 0;
}
.footer-contact-section .footer-contact-block{
	background:#fff;
	padding:50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-shadow: 1px 1px 8px #3333;
}
.footer-contact-section .footer-contact-block .contact-text-box{
	width:40%;
	padding-right:50px;
	border-right:solid 1px #ddd;
}
.footer-contact-section .footer-contact-block .contact-text-box .text-box{
	margin-top:1em;
}
.footer-contact-section .footer-contact-block .contact-text-box .text-box p{
	font-size:16px;
}

.footer-contact-section .footer-contact-block .contact-link-box{
	width:60%;
	text-align:center;
}
.footer-contact-section .footer-contact-block .contact-link-box .tel-no{
	font-size:52px;
	font-weight:800;
	line-height:1;
}
.footer-contact-section .footer-contact-block .contact-link-box .tel-no span{
	background:var(--main-base-color);
	color:#333;
	display: inline-block;
	padding:3px;
	font-size:42px;
	border-radius:5px;
} 
.footer-contact-section .footer-contact-block .contact-link-box .tel-no a{
	color:#333;
}
.footer-contact-section .footer-contact-block .contact-link-box .tel-no a:hover{
	color:#333;

}

.footer-contact-section .footer-contact-block .contact-link-box .tel-time{
	text-align:center;
	font-size:16px;
	margin-top:5px;
	margin-bottom:24px;
}


.footer-contact-section .footer-contact-block .contact-link-box a.btn{
	display: inline-block;
	padding:18px 75px;
	line-height: 1;
	border-radius:2px;
	color:#333;
	font-weight:600;
	font-size:24px;
	background:var(--main-base-color);
	transition: 1s;
    box-shadow: 1px -5px 8px #9b949455;
}
.footer-contact-section .footer-contact-block .contact-link-box a.btn:hover{
	background:var(--main-base-color-hover);
}



.footer-contact-section .footer-contact-block .contact-link-box a.btn {
	position: relative;
    overflow: hidden;

    cursor: pointer;
	padding:18px 75px;
	line-height: 1;
	border-radius:2px;
	color:#333;
	font-weight:600;
	font-size:24px;
	background:var(--main-base-color);
	transition: 1s;
    border-right:solid  1px #9b949455;
    border-bottom:solid  1px #9b949455;
	background: -webkit-linear-gradient(top,var(--contact-btn-base-color),var(--contact-btn-grad-color));

}
.footer-contact-section .footer-contact-block .contact-link-box a.btn:hover {
	text-decoration:none;
	background: -webkit-linear-gradient(top,var(--contact-btn-base-color-hover),var(--contact-btn-grad-color-hover));

}
.footer-contact-section .footer-contact-block .contact-link-box a.btn::before {
    display: block;
    position: absolute;
    top: -50%;
    left: -30%;
    transform: rotate(30deg);
    width: 100px;
    height: 150px;
    content: '';
    background-image: linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background-image: -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0)));
    animation: animation-mail-btn 3s infinite linear;
}

@keyframes animation-mail-btn {
    17% {
        left: 120%;
    }
    100% {
        left: 120%;
    }
}




@media screen and (max-width:820px) { 
	.footer-contact-section{
		padding:40px 20px 30px 20px;
	}
	.footer-contact-section .footer-contact-block{
		flex-wrap:wrap;
		padding:30px;
	}

	.footer-contact-section .footer-contact-block .contact-text-box{
		width:100%;
		border:0;
		padding:0;
	}
	.footer-contact-section .footer-contact-block .contact-text-box .text-box p{
		font-size:var(--sp-base-fontsize);
	}

	.footer-contact-section .footer-contact-block .contact-link-box{
		width:100%;
	}

	.footer-contact-section .footer-contact-block .contact-link-box .tel-no{
		font-size:32px;
		margin-top:25px;
	}
	.footer-contact-section .footer-contact-block .contact-link-box .tel-no a{
		font-size:32px;
		padding:5px 0;
	}
	.footer-contact-section .footer-contact-block .contact-link-box .tel-no span{
		font-size:24px;
	} 

	.footer-contact-section .footer-contact-block .contact-link-box a{
		padding:18px 20px;
		font-size:18px;
	
	}

	.footer-contact-section .footer-contact-block .contact-link-box a.btn{
		padding-left:5px;
		font-size:20px;
		width:100%;
		padding-right:5px;
	}

	
}



/* -------------------------------------------

  フッタ / 会社情報

  ----------------------------------------------- */
.footer-profile-section{

}

.footer-profile-section .footer-profile-block{
	padding:120px 0 60px 0;
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

.footer-profile-section .footer-profile-block .profile-box{
	width:50%;
}
.footer-profile-section .footer-profile-block .profile-box .group-name{
	font-size:14px;
}
.footer-profile-section .footer-profile-block .profile-box .company-name strong{
	font-size:20px;
	font-weight:800;
}
.footer-profile-section .footer-profile-block .profile-box .company-tel{
	font-size:16px;
	margin-top:15px;
}
.footer-profile-section .footer-profile-block .profile-box .company-tel a{
	color:#333;
}
.footer-profile-section .footer-profile-block .profile-box address{
	font-size:16px;
}
.footer-profile-section .footer-profile-block .profile-box .reg-num{
	font-size:14px;
	margin-top:15px;
}
.footer-profile-section .footer-profile-block .profile-box .reg-num .reg-no{
	text-align: left;

}

.footer-profile-section .footer-profile-block .link-box{
	width:50%;
}
.footer-profile-section .footer-profile-block .link-box .link-box-layout{
	display: flex;
	justify-content: space-between;
}
.footer-profile-section .footer-profile-block .link-box .link-box-layout ul{
	width:48%;
}
.footer-profile-section .footer-profile-block .link-box .link-box-layout ul li{
	border-top:solid 1px #ddd;;
	border-bottom:solid 1px #ddd;
	margin-top:-1px;
}
.footer-profile-section .footer-profile-block .link-box .link-box-layout ul li a{
	font-size:16px;
	font-weight:600;
	color:#555;
	display: block;
	padding:10px 0px;
	position: relative;
	display: block;
	transition: 0.5s;
}
.footer-profile-section .footer-profile-block .link-box .link-box-layout ul li a:before{
	content: "";
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23888888%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M128%2C24A104%2C104%2C0%2C1%2C0%2C232%2C128%2C104.11%2C104.11%2C0%2C0%2C0%2C128%2C24Zm0%2C192a88%2C88%2C0%2C1%2C1%2C88-88A88.1%2C88.1%2C0%2C0%2C1%2C128%2C216Zm29.66-93.66a8%2C8%2C0%2C0%2C1%2C0%2C11.32l-40%2C40a8%2C8%2C0%2C0%2C1-11.32-11.32L140.69%2C128%2C106.34%2C93.66a8%2C8%2C0%2C0%2C1%2C11.32-11.32Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	width: 20px;
	aspect-ratio: 1 / 1;
	height: auto;
}
.footer-profile-section .footer-profile-block .link-box .link-box-layout ul li.child a{
	line-height:1.2;
	padding-left:1em;
	padding-right:2em;
}
.footer-profile-section .footer-profile-block .link-box .link-box-layout ul li.child a:before{
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23888888%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M181.66%2C133.66l-80%2C80a8%2C8%2C0%2C0%2C1-11.32-11.32L164.69%2C128%2C90.34%2C53.66a8%2C8%2C0%2C0%2C1%2C11.32-11.32l80%2C80A8%2C8%2C0%2C0%2C1%2C181.66%2C133.66Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
}
.footer-profile-section .footer-profile-block .link-box .link-box-layout ul li a:hover{
	color:var(--main-base-color);
}

.footer-profile-section .footer-profile-block .footer-shock-link a{
	display: block;
	margin-top:15px;
	padding:10px 0;
	background:#fff837;
	color:#333;
	text-align: center;
	border:solid 1px #333;
	font-weight: 900;
	position: relative;
	display: block;
	
	
	
	position: relative;
    overflow: hidden;
    cursor: pointer;
	background:var(--main-base-color);
	transition: 1s;

	background: -webkit-linear-gradient(top,var(--contact-btn-base-color),var(--contact-btn-grad-color));

}
.footer-profile-section .footer-profile-block .footer-shock-link a:before{
	content: "";
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23888888%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M128%2C24A104%2C104%2C0%2C1%2C0%2C232%2C128%2C104.11%2C104.11%2C0%2C0%2C0%2C128%2C24Zm0%2C192a88%2C88%2C0%2C1%2C1%2C88-88A88.1%2C88.1%2C0%2C0%2C1%2C128%2C216Zm29.66-93.66a8%2C8%2C0%2C0%2C1%2C0%2C11.32l-40%2C40a8%2C8%2C0%2C0%2C1-11.32-11.32L140.69%2C128%2C106.34%2C93.66a8%2C8%2C0%2C0%2C1%2C11.32-11.32Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	width: 20px;
	aspect-ratio: 1 / 1;
	height: auto;
}


.footer-profile-section .footer-profile-block .footer-shock-link a::before {
    display: block;
    position: absolute;
    top: -50%;
    left: -30%;
    transform: rotate(30deg);
    width: 100px;
    height: 250px;
    content: '';
    background-image: linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background-image: -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0)));
    animation: animation-footer-shock-btn 3s infinite linear;
}

@keyframes animation-footer-shock-btn {
    17% {
        left: 120%;
    }
    100% {
        left: 120%;
    }
}



.footer-profile-section .footer-profile-block .footer-shock-link a .min-title{
	font-size:12px;
	font-weight: 600;
}
.footer-profile-section .footer-profile-block .footer-shock-link a:hover{
	background:#333;
	color:#fff837;

}


@media screen and (max-width:820px) {

	.footer-profile-section .footer-profile-block{
		padding-left:30px;
		padding-right:30px;
	}

	.footer-profile-section .footer-profile-block .profile-box{
		width:100%;
	}
	.footer-profile-section .footer-profile-block .profile-box .group-name,
	.footer-profile-section .footer-profile-block .profile-box .company-name,
	.footer-profile-section .footer-profile-block .profile-box .company-tel,
	.footer-profile-section .footer-profile-block .profile-box .reg-num{
			text-align:center;
	}

	.footer-profile-section .footer-profile-block .profile-box address{
		font-size:14px;
		text-align:center;
	}

	.footer-profile-section .footer-profile-block .link-box{
		width:100%;
	}

	.footer-profile-section .footer-profile-block .link-box{
		padding-top:50px;
	}
	.footer-profile-section .footer-profile-block .link-box .link-box-layout ul li a{
		font-size:14px;
		padding-right:30px;

	}

	.footer-profile-section .footer-profile-block .link-box .link-box-layout ul li.child a{
		padding-left:0;
	}
	
}


/* -------------------------------------------
 * フッタ/コピーライト
 * ------------------------------------------- */
.footer .copyright{
	text-align:center;
	margin-top:20px;
	padding-bottom:30px;
	font-size:14px;
	margin-bottom:5px;
}



/* -------------------------------------------

  下層ページ見出し

---------------------------------------------- */
.page-header{
	display: flex;
	height:350px;
	background:#000;
	position: relative;
	margin-bottom:100px;
	background-image:url(../img/company/bg_page_header_company.jpg?2024);
	background-repeat: no-repeat;
	background-size: cover;
}
.page-header.service{
	background-image:url(../img/service/bg_page_header_service.jpg?2024);
}
.page-header.contact{
	background-image:url(../img/contact/bg_page_header_contact.jpg?2024);
}
.page-header.staff{
	background-image:url(../img/staff/bg_page_header_staff.jpg);
}
.page-header.tohto{
	background-image:url(../img/univ/bg_page_header_tohto.jpg);
}
.page-header.recruit{
	background-image:url(../img/recruit/bg_page_header_recruit.jpg?2024);
}
.page-header.news{
	background-image:url(../img/news/bg_page_header_news.jpg);
}
.page-header.foodexpress{
	background-image:url(../img/service/bg_page_header_foodexpress.jpg?2025);
}
.page-header.maguro{
	background-image:url(../img/service/maguro/bg_page_header_maguro.jpg?2025);
}
.page-header .title-box{
	position: absolute;
	display: flex;
	height:200px;
	bottom:-30px;
	left:0;
	background:#fff;
	background: linear-gradient(#fff 80%, #f8f8f8) ;
	padding:30px 50px;
	width:500px;
	/*box-shadow: 0 -5px 3px #000000; */
    box-shadow: 1px -5px 8px #9b949455;
	
}
.page-header .breadcrumb-box{
	position: absolute;
	bottom:-40px;
	right:0;
}
.page-header .breadcrumb-box ul{
	display: flex;
	justify-content: flex-end;
}
.page-header .breadcrumb-box ul li{
	font-size:16px;
}
.page-header .breadcrumb-box ul li a{
	color:#333;
	position: relative;
	display: block;
	transition: 0.5s;
}
.page-header .breadcrumb-box ul li:not(:last-child) a{
	padding-right:24px;
}
.page-header .breadcrumb-box ul li:not(:last-child) a:before{
	content: "";
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23555555%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M180.24%2C132.24l-80%2C80a6%2C6%2C0%2C0%2C1-8.48-8.48L167.51%2C128%2C91.76%2C52.24a6%2C6%2C0%2C0%2C1%2C8.48-8.48l80%2C80A6%2C6%2C0%2C0%2C1%2C180.24%2C132.24Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position:  center right;
	background-size: contain;
	position: absolute;
	right: 6px;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	width: 14px;
	aspect-ratio: 1 / 1;
	height: auto;
}
.page-header .breadcrumb-box ul li .clamp{
	display:inline-block;
	max-width:300px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}


@media screen and (max-width:820px) { 

	.page-header{
		height:300px;
		margin-bottom:100px;
	}
	.page-header{
		background-image:url(../img/company/bg_page_header_company_w800.jpg);
	}
	.page-header.service{
		background-image:url(../img/service/bg_page_header_service_w800.jpg);
	}
	.page-header.contact{
		background-image:url(../img/contact/bg_page_header_contact_w800.jpg);
	}
	.page-header.staff{
		background-image:url(../img/staff/bg_page_header_staff_w800.jpg);
	}
	.page-header.tohto{
		background-image:url(../img/univ/bg_page_header_tohto_w800.jpg);
	}
	.page-header.recruit{
		background-image:url(../img/recruit/bg_page_header_recruit_w800.jpg);
	}
	.page-header.news{
		background-image:url(../img/news/bg_page_header_news_w800.jpg);
	}
	.page-header.maguro{
		background-image:url(../img/service/maguro/bg_page_header_maguro_w800.jpg);
	}
	.page-header.foodexpress{
		background-position:top center;
	}
	.page-header.maguro{
		background-position:top center;
	}
	.page-header .title-box{
		width:85%;
		height:120px;
		bottom:0;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	.page-header .breadcrumb-box{
		left:0px;
		right:auto;
		width:100%;
		overflow-x: hidden;
        display: flex;
        flex-wrap: nowrap;
        overflow-x: scroll;
        word-break: keep-all;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
	}
	.page-header .breadcrumb-box ul{
		padding-left:15px;
		padding-right:15px;
		padding-top:10px;
		padding-bottom:10px;
	}

	.page-header .breadcrumb-box ul li{
		font-size:14px;
	}

	.page-header .breadcrumb-box ul li .clamp{
		max-width:150px;
	}

}



/* -------------------------------------------

  トップページ

---------------------------------------------- */
.index-lead{

}



/* -------------------------------------------

　トップページ / サービス

---------------------------------------------- */
.index-service-section{
	padding:100px 0 100px 0;
}
.index-service-block{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.index-service-block .text-box{
	width:50%;
	padding-right:100px;
}
.index-service-block .text-box p{
	margin-top:1.5em;
}
.index-service-block .photo-box{
	width:50%;
}
.index-service-block .photo-box img{
	width:100%;
	border-radius:3px;
}


.service-card-block{
	padding-top:100px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.service-card-block .service-card-box{
/*	width:48%;*/
	width:32%;
	background:#fff;
	box-shadow: 1px 1px 8px #c5c5c555;
	margin-bottom:50px;
}
.service-card-block .service-card-box.blank{
	background:none;
	box-shadow:none;
}
.service-card-block .service-card-box img{
	width:100%;
	border-radius:3px 3px 0 0;
}
.service-card-block .service-card-box .inner-box{
	padding:20px 20px;
}
.service-card-block .service-card-box .inner-box h3{
	font-size:22px;
	line-height: 1.2;
}
.service-card-block .service-card-box .inner-box h3 span{
	font-size:16px;
}

.service-card-block .service-card-box .inner-box p{
	margin:20px 0;
	font-size:16px;
}
.service-card-block .service-card-box a.btn{
	display: inline-block;
	background:var(--contact-btn-base-color);
	font-weight: 600;
	padding:3px 15px;
	color:#333;
}
.service-card-block .service-card-box a.btn:hover{
	background:#333;
	color:#fff;
}
.service-card-block .service-card-box a.btn i{

	vertical-align: -1px;
}

@media screen and (max-width:820px) { 

	.index-service-section{
		padding:100px 30px 30px 30px;
	}
	.index-service-block{
		/* flex-direction: column-reverse; */

	}
	.index-service-block .photo-box,
	.index-service-block .text-box{
		width:100%;
		padding:0;
	}
	.index-service-block .text-box p{
		font-size:14px;
	}
	.index-service-block .photo-box{
		display: none;
	}
	.service-card-block{
		flex-wrap: wrap;
		padding-top:30px;
	}
	.service-card-block .service-card-box{
		width:100%;
		margin-bottom:25px;
	}
	.service-card-block .service-card-box .inner-box p{
		font-size:14px;
	}
	.service-card-block .service-card-box a.btn{
		font-size: 15px;
	}
}

/* -------------------------------------------

　トップページ / 会社概要

---------------------------------------------- */
.index-company-section{
	background:#fff;
	padding:100px 0;
}
.index-company-block{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
}
.index-company-block .photo-box{
	width:50%;
}
.index-company-block .photo-box img{
	width:100%;
	border-radius:3px;
}
.index-company-block .text-box{
	width:50%;
	padding-left:50px;
}
.index-company-block .text-box p{
	margin-top:1.5em;
}

@media screen and (max-width:820px) { 

	.index-company-section{
		padding:30px;
	}
	.index-company-block .photo-box,
	.index-company-block .text-box{
		width:100%;
	}
	.index-company-block .text-box{
		padding-left:0px;
		padding-top:20px;
		font-size: var(--sp-base-fontsize);
	}

}


/* -------------------------------------------

  会社概要 / 経理理念

---------------------------------------------- */
.company-philosophy-section{


}
.company-philosophy-section .philosophy-msg{
	text-align:center;
	font-weight:900;
	font-size:32px;
	margin-bottom:50px;
}
.company-philosophy-section .philosophy-text{
	text-align:center;
	line-height:1.8;
	padding-bottom:50px;
}

.company-philosophy-section .message-body{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.company-philosophy-section .message-body .message-text{
	text-align:left;
	line-height:1.8;
	width:60%;
}
.company-philosophy-section .message-body .message-photo{
	width:35%;
}
.company-philosophy-section .message-body .message-photo img{
	width:100%;
	border-radius:5px;
}
.company-philosophy-section .message-body .message-photo .name{
	text-align:center;
	margin-top:20px;
	font-size:16px;
}
.company-philosophy-section .message-body .message-photo .name strong{
	font-size:28px;
}

.company-philosophy-section .message-body .message-photo .profile{
	font-size:15px;
	margin-top:15px;
}


.company-philosophy-section .gmvv-block{
	margin-top:30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.company-philosophy-section .gmvv-block .m-box{
	width: 45%;
	margin-bottom:50px;
}
.company-philosophy-section .gmvv-block .m-box .title{
	text-align: center;
	color:#fff;
	background-color: #000;
	padding:15px 0;
	font-weight: 900;
}
.company-philosophy-section .gmvv-block .m-box .text{
	padding:25px 0 10px 0;
	text-align: center;
	font-size:24px;
	font-weight: 700;
}
.company-philosophy-section .gmvv-block .m-box .en-text{
	font-size:14px;
	text-align:center;
	color:#666;

}


.company-philosophy-section .mvv-box{
	margin-bottom:50px;
}
.company-philosophy-section .mvv-box h4{
	font-size:24px;
}


@media screen and (max-width:820px) { 

	.company-philosophy-section{
		padding:20px;
	}

	.company-philosophy-section .philosophy-msg{
		font-size:18px;
	}

	.company-philosophy-section .philosophy-text{
		font-size:14px;
		text-align:left;
	}


	.company-philosophy-section .message-body{
		flex-wrap:wrap;
	}
	.company-philosophy-section .message-body .message-text{
		width:100%;
		font-size:14px;
		margin-bottom:30px;
	}
	.company-philosophy-section .message-body .message-photo{
		width:100%;
		text-align:center;
	}
	.company-philosophy-section .message-body .message-photo img{
		width:80%;
	}
	.company-philosophy-section .message-body .message-photo .name{
		margin-top:10px;
		font-size:14px;
	}
	.company-philosophy-section .message-body .message-photo .name strong{
		font-size:20px;
	}

	.company-philosophy-section .message-body .message-photo .profile{
		text-align:left;
		font-size: var(--sp-base-fontsize);
	}

	.company-philosophy-section .gmvv-block{

	}
	.company-philosophy-section .gmvv-block .m-box{
		width: 100%;
		margin-bottom:25px;
	}
}



/* -------------------------------------------

  会社概要 / 企業情報

---------------------------------------------- */
.company-profile-section{

}

.company-profile-section .company-table{
	width:100%;
	border-top:solid 1px #ddd;
}
.company-profile-section .company-table th,
.company-profile-section .company-table td{
	padding:30px;
	border-bottom:solid 1px #ddd;
	text-align:left;
}

.company-profile-section .company-table th{
	width:180px;
	
}
.company-profile-section .company-table td{

}

.company-profile-section .company-table td a i{
/* 	color:#004190 */
}
.company-profile-section .company-table td .map-link-btn{
	display:inline-block;
	background:var(--main-base-color);
	color:#333;
	padding:8px 50px;
	text-align:center;
	margin-top:0.5em;
	transition:0.5s all;
}
.company-profile-section .company-table td .map-link-btn i{
/*	color:#333; */
}
.company-profile-section .company-table td .map-link-btn:hover{
/*	background:#0053b9; */
	background:#333;
	color:#fff;
}

@media screen and (max-width:820px) { 
	.company-profile-section{
		padding:20px;
	}
	.company-profile-section .company-table th,
	.company-profile-section .company-table td{
		display: block;
		width:100%;
		font-size:14px;
	}
	.company-profile-section .company-table th{
		background:#eee;
		padding:5px 5px;
	}
	.company-profile-section .company-table td{
		padding:20px 5px;
	}

}




/* -------------------------------------------

  トップページ

---------------------------------------------- */
.index-main-visual{
	height:600px;
	position: relative;
	overflow: hidden;
}
/*
.index-main-visual .image-box{
	position: absolute;
	right:0;
	top:0;
	width:100%;
	height:500px;
}
.index-main-visual .image-box{
	object-fit: cover;
}



*/

/* ------------------------------------

　動画

-------------------------------------- */
.index-main-visual .catch-text{
	position: absolute;
	left:100px;
	bottom:80px;
	font-weight:800;
	font-size:48px;
	line-height:1.45;
	z-index:10;
	color:#000;
	text-shadow: 1px 1px 2px #fff;
}
.index-main-visual .catch-text span.color1{
	color:#ffe827;
	
	text-shadow: 1px 1px 2px #fff;
	background:#ffe827; 
	color:#000;
	display: inline-block;
	padding-right:5px;
	padding-left:5px;
}
.index-main-visual .catch-text span.bg-white{
	padding-left:8px;
	padding-right:8px;
	/* background-image: linear-gradient(transparent 10%, #ffffff77 0%)  */
}

.index-main-visual .index-video-overlay {
	width: 100%;
	height:600px;
	background: linear-gradient(45deg, rgba(80,80,80,.2) 50%, rgba(80,80,80,.4) 50%);
	background-size: 3px 3px;
	z-index: 5;
	position: absolute;
	left:0;
	top:0;
}
.index-main-visual .index-video{
	width:100%;
	height:600px;
	position: absolute;
	left:0;
	top:0;
	background: url(../img/index/video_default.jpg) no-repeat center/cover;
	z-index: 0;
}
.index-main-visual .index-video video{
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	position: absolute;
/*	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
*/
	left:50%;
	transform:translateX(-50%);
}
.index-main-visual .index-video video.video-sp{
	display: none;
}



@media screen and (max-width:820px) { 

	.index-main-visual{
		height:400px;
	}

	.index-main-visual .catch-text{
		left:10px;
		bottom:50px;
		font-size:24px;
		line-height:1.55;
		text-shadow: 0px 1px 5px #fff;
	}
	.index-main-visual .catch-text img{
		width:100%;
	}
	.index-main-visual .index-video video.video-pc{
		display: none;
	}
	.index-main-visual .index-video video.video-sp{
		display: block;
	}
		

	.index-main-visual .index-video-overlay {
		height:400px;
	}
	.index-main-visual .index-video{
		height:400px;
	}
	.index-main-visual .index-video video{
		object-fit: cover;
		width:100%;
		height:400px;
	}
}


/* -------------------------------------------

  お知らせ

---------------------------------------------- */
.index-news-section{
	padding:100px 0;
}
.index-news-section .news-block{
	display: flex;
	justify-content: space-between;
}
.index-news-section .news-block .title-box{ 
	padding:50px 0;
	width:30%;
	padding-right:50px;
	border-right:solid 1px #ddd;
}
.index-news-section .news-block .list-box{ 
	padding:50px 50px;
	width:70%;
}
.index-news-section .news-block .list-box li{
	margin-bottom:10px;	
	padding-bottom:10px;
	border-bottom:dotted 1px #ddd;
}

.index-news-section .news-block .news-list-table{
	width:100%;
}
.index-news-section .news-block .news-list-table th,
.index-news-section .news-block .news-list-table td{
	padding:10px;
	vertical-align:top;
	border-bottom:solid 1px #ddd;
}
.index-news-section .news-block .news-list-table td{
}
.index-news-section .news-block .news-list-table td.date{
	width:180px;
}
.index-news-section .news-block .news-list-table td span.min{
	display:block;
	font-size:14px;
	line-height:1.4;
}

@media screen and (max-width:820px) { 

	.index-news-section{
		padding:50px 20px;
	}
	.index-news-section .news-block .title-box{ 
		padding:20px 20px 20px 0;
	}
	.index-news-section .news-block .list-box{ 
		padding:20px 20px;
		font-size:14px;
	}


	.index-news-section .news-block .news-list-table th,
	.index-news-section .news-block .news-list-table td{
		width:100%;
		display:block;
		border-bottom:0;
		padding:0;
	}
	.index-news-section .news-block .news-list-table td{
		padding-bottom:15px;
	}
	.index-news-section .news-block .news-list-table td.date{
		width:100%;
		padding-bottom:0px;
	}


}

/* -------------------------------------------

  サービス案内 / 老人ホーム紹介

---------------------------------------------- */
.service-home-section{

}
.service-home-section .service-block,
.service-person-section .service-block,
.service-consul-section .service-block{
	display:flex;
	justify-content: space-between;
}
.service-home-section .service-block .text-box,
.service-person-section .service-block .text-box,
.service-consul-section .service-block .text-box{
	width:50%;
	padding-right:50px;
}
.service-home-section .service-block .text-box h4,
.service-person-section .service-block .text-box h4,
.service-consul-section .service-block .text-box h4{
	border-bottom:solid 1px #333;
	font-size:20px;
	padding:5px 0;
	margin:1em 0;
	color: var(--main-base-color);
}
.service-home-section .service-block .text-box .value-box,
.service-person-section .service-block .text-box .value-box,
.service-consul-section .service-block .text-box .value-box{
	margin-bottom:0.5em;
}
.service-home-section .service-block .text-box .value-box strong,
.service-person-section .service-block .text-box .value-box strong,
.service-consul-section .service-block .text-box .value-box strong{
	display: inline-block;
	background-color: var(--main-base-color);
	color:#fff;
	padding:5px 10px;
}
.service-home-section .service-block .text-box .value-box p,
.service-person-section .service-block .text-box .value-box p,
.service-consul-section .service-block .text-box .value-box p{
	font-size:16px;
	padding:10px;
}

.service-home-section .service-block .photo-box,
.service-person-section .service-block .photo-box,
.service-consul-section .service-block .photo-box{
	width:50%;
}
.service-home-section .service-block .photo-box img,
.service-person-section .service-block .photo-box img,
.service-consul-section .service-block .photo-box img{
	width:100%;
	border-radius:3px;
}

.service-home-section .service-block .text-box a,
.service-person-section .service-block .text-box a,
.service-consul-section .service-block .text-box a{
	display: inline-block;
	background-color: #fff837;
	color:#000;
/*    border: solid 1px var(--main-base-color); */
    font-weight: 700;
    padding: 10px;
    border-radius: 3px;
    transition: 0.5s;
}
.service-home-section .service-block.text-box a:hover,
.service-person-section .service-block.text-box a:hover,
.service-consul-section .service-block.text-box a:hover {
	background:000;
	color:#fff;
/*
	background: var(--main-base-color);
    color: #fff;
	*/
}

.service-consul-section .solution-title{
	text-align:center;
	margin-top:35px;
	margin-bottom:30px;
	font-size:24px;
	font-weight: 800;
}

.service-consul-section .solution-flex-box{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.service-consul-section .solution-box{
	padding:15px;
	margin-bottom:10px;
	border-radius:3px;
	width:32%;
	background:#f5f5f5;
}
.service-consul-section .solution-box .title{
	text-align:center;
	padding:0 0 10px 0;
	border-bottom:solid 2px var(--main-base-color);
	margin-bottom:15px;

	font-weight:600;
}
.service-consul-section .solution-box p{
	font-size:0.9em;
}

.service-act .base-box{
	background:#fff;
	/*transition:0.5s; */
	overflow:hidden;
	position:relative;
}
.service-act:hover{

}

.service-act .base-box::before{
	overflow:hidden;
	content: "";
	position: absolute;
	top: -1500px;
	left: -1500px;
	width: 1500px;
	height: 1500px;
	background: #083d59ee;
    background: linear-gradient(300deg, rgb(249 255 0) 40%, rgba(21, 71, 97, .9) 20%);
	border-radius: 50%;
	z-index: 1;
	transition: all 0.3s ease-out;
}
.service-act:hover .base-box::before {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.service-act:hover .service-block{
	z-index:5;
	color:#fff;
	position:relative;
}
.service-act:hover h3{
	z-index:5;
	color:#fff;
	position:relative;
}
.service-act .h-btns a{
	display:block;
	width:100%;
	margin-bottom:15px;
	background:#000;
	color:#fff;
}

.service-act:hover .h-btns a{
	background:#fff837;
}
.service-act:hover .h-btns a:hover{
	background:#fff;
}


@media screen and (max-width:820px) {

	.service-home-section,
	.service-person-section,
	.service-consul-section{
		padding:20px;
	}

	.service-home-section h3,
	.service-person-section h3,
	.service-consul-section h3{
		padding-top:20px;
	}


	.service-home-section .service-block,
	.service-person-section .service-block,
	.service-consul-section .service-block{
		flex-wrap:wrap;
	}

	.service-home-section .service-block .text-box,
	.service-person-section .service-block .text-box,
	.service-consul-section .service-block .text-box{
		width:100%;
		padding-right:0px;
	}

	.service-home-section .service-block .photo-box,
	.service-person-section .service-block .photo-box,
	.service-consul-section .service-block .photo-box{
		width:100%;
		margin-top:30px;
	}

	.service-home-section .service-block .text-box .contact-column,
	.service-person-section .service-block .text-box .contact-column a,
	.service-consul-section .service-block .text-box .contact-column a{
		text-align:center;
	}


	.service-consul-section .solution-flex-box{
	}

	.service-consul-section .solution-box{
		width:100%;
		margin-bottom:25px;
	}
	.service-consul-section .solution-box p{
		font-size:var(--sp-base-fontsize);
	}

}



/* -------------------------------------------

  サービス案内 / 人材紹介

---------------------------------------------- */
.service-person-section{


}


/* -------------------------------------------

  スタッフ紹介

---------------------------------------------- */
.staff-section{

}

/* スタッフ一覧
 --------------------------------------------- */
.staff-section .portfolio-block{

	margin-bottom:80px;
}
.staff-section .portfolio-block ul {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.staff-section .portfolio-block ul li{
	width: 31%;
	background: #fff;
    box-shadow: 1px 1px 8px #c5c5c555;
	margin-bottom:30px;
}
.staff-section .portfolio-block ul li .portfolio-photo{

}
.staff-section .portfolio-block ul li .portfolio-photo img{
	width:100%;
}
.staff-section .portfolio-block ul li .portfolio-title{
	text-align:center;
}
.staff-section .portfolio-block ul li .portfolio-en-name{
	text-align:center;
	font-size:14px;
}
.staff-section .portfolio-block ul li .portfolio-name{
	text-align:center;
	margin-bottom:15px;
	font-size:24px;
	font-weight: 800;
}

/* 部長
 --------------------------------------------- */
.staff-section .manager-block{
	border-radius:5px;
	box-shadow: 1px 1px 8px #c5c5c555;
	margin-bottom:80px;

}
.staff-section .manager-block .manager-box{
	display:flex;
	justify-content:space-between;
	flex-wrap:nowrap;
}
.manager-box .manager-photo-box{
	width:40%;
}
.manager-box .manager-photo-box img{
	width:100%;
	border-radius:5px 0 0 5px;
	vertical-align:top;
}
.manager-box .manager-text-box{
	width:60%;
	padding:30px;
}
.manager-box .manager-text-box .post{

}
.manager-box .manager-text-box .name{
	font-size:28px;
	font-weight:800;
	margin-bottom:2px;
}
.manager-box .manager-text-box .name span{
	font-size:14px;
	color:#888;
	font-weight:400;
}
.manager-box .manager-text-box .name span::before{
	content: "/";
	margin-right:5px;
}
.manager-box .manager-text-box .hobby{
	font-size:14px;
	color:#555;
	margin-bottom:18px;
}
.manager-box .manager-text-box .copy{
	/*color:var(--main-base-color);*/
	font-weight:800;
	font-size:24px;
	margin-bottom:10px;
}
.manager-box .manager-text-box .message{
	font-size:16px;
}



/* スタッフ
 ----------------------------------------------- */
.staff-section .staff-block{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.staff-section .staff-block .staff-box{
	width:48%;
	margin-bottom:50px;
	background:#fff;
	border-radius:5px;
	box-shadow: 1px 1px 8px #c5c5c555;
}

.staff-box .staff-photo-box{


}
.staff-box .staff-photo-box img{
	width:100%;
	border-radius:5px 5px 0 0;
}
.staff-box .staff-text-box{
	padding:15px 15px 25px 15px;

}
.staff-box .staff-text-box .copy{
	/*color:var(--main-base-color);*/
	font-weight:800;
	font-size:24px;
	text-align:center;
	margin-bottom:8px;
}
.staff-box .staff-text-box .hobby{
	font-size:14px;
	color:#555;
	margin-bottom:18px;
	text-align:center;
}

.staff-box .staff-text-box .message{
	font-size:16px;
	padding:0 20px;
}
.staff-box .staff-text-box .name{
	font-size:28px;
	font-weight:800;
	margin-bottom:2px;
	text-align:center;
}
.staff-box .staff-text-box .name span{
	font-size:14px;
	color:#888;
	font-weight:400;
}
.staff-box .staff-text-box .name span::before{
	content: "/";
	margin-right:5px;
}




@media screen and (max-width:820px) {

	.staff-section{
		padding:0 20px 20px 20px;
	}

	
	.staff-section .portfolio-block ul {

	}
	.staff-section .portfolio-block ul li{
		width: 100%;

	}

	/* 部長
	------------------------------------- */
	.staff-section .manager-block .manager-box{
		flex-wrap:wrap;
	}
	.manager-box .manager-photo-box{
		width:100%;
	}
	.manager-box .manager-photo-box img{
		width:100%;
		border-radius:5px 5px 0 0;
	}
	.manager-box .manager-text-box{
		width:100%;
		padding:15px;
	}
	.manager-box .manager-text-box .copy{
		font-size:18px;
		text-align:center;
	}
	.manager-box .manager-text-box .post{
		text-align:center;
		font-size:15px;
	}
	.manager-box .manager-text-box .name{
		font-size:24px;
		text-align:center;
	}
	.manager-box .manager-text-box .name span{

	}
	.manager-box .manager-text-box .name span::before{

	}
	.manager-box .manager-text-box .message{
		font-size:15px;
	}
	


	/* スタッフ
	------------------------------------- */
	.staff-section .staff-block{
	}
	.staff-section .staff-block .staff-box{
		width:100%;
	}
	
	.staff-box .staff-photo-box{
	
	}
	.staff-box .staff-photo-box img{

	}
	.staff-box .staff-text-box{
		padding:15px;
	}
	.staff-box .staff-text-box .copy{
		font-size:18px;
	}
	.staff-box .staff-text-box .hobby{

	}
	
	.staff-box .staff-text-box .message{
		padding: 0;
		font-size:15px;
	}
	.staff-box .staff-text-box .name{
		font-size:24px;
	}
	.staff-box .staff-text-box .name span{
		font-size:14px;
	}




	
}



/* -------------------------------------------

  問い合わせ

---------------------------------------------- */
.contact-tel-section{
	margin-bottom:100px;
}
.contact-tel-section .tel-block{
/*
	background: var(--main-base-color);
*/
/*	background:#083d7c;*/
	background:#2b2b2b;
	color:#fff;
	border-radius:3px;
	padding:30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.contact-tel-section .tel-block .text-box{
	width:40%;
	text-align:center;
	border-right:solid 1px #fff;
}
.contact-tel-section .tel-block .tel-box{
	width:60%;
}

.contact-tel-section .tel-no{
	font-size:52px;
	font-weight:800;
	line-height:1;
	/*color:#fff;*/
	color:#000;
	text-align:center;
}
.contact-tel-section .tel-no a{
	/*color:#fff;*/
	color:#fff;

}
.contact-tel-section .tel-no span{
	background:#fff;
	color:var(--main-base-color);
	color:#000;

	display: inline-block;
	padding:3px;
	font-size:42px;
	border-radius:5px;
} 
.contact-tel-section .tel-box .tel-time{
	text-align:center;
}

.contact-section{

}
.contact-section .counter-block{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;

}
.contact-section .counter-block .box{
	margin-bottom:50px;
	width:48%;
	background:#fff;
	padding:50px;
	box-shadow: 1px 1px 8px #c5c5c555;
}
.contact-section .counter-block .box h3{
	margin-bottom:30px;
	text-align:center;
}
.contact-section .counter-block .box h4{
/*	color: var(--main-base-color);*/
	margin-bottom:0.5em;
}

.contact-section .counter-block .box .contact-btn{
	display: inline-block;
	/* border:solid 1px var(--main-base-color);*/
	background-color: #fff837;
	color:#000;
	text-align:center;
	width:100%;
	font-weight:700;
	padding:20px;
	border-radius:3px;
	transition: 0.5s;
}
.contact-section .counter-block .box .contact-btn:hover{
	/*
	background:var(--main-base-color);
	color:#fff;
	*/
	background-color: #000;
	color:#fff;

}

@media screen and (max-width:820px) {
	.contact-tel-section{
		padding:0 20px;
		margin-bottom:50px;
	}
	.contact-tel-section .tel-block{
		flex-wrap: wrap;
	}
	.contact-tel-section .tel-block .text-box{
		width:100%;
		margin-bottom:15px;
		border-right:0;
	}
	.contact-tel-section .tel-block .tel-box{
		width:100%;
	}
	.contact-tel-section .tel-no{
		font-size:32px;
	}
	.contact-tel-section .tel-no span{
		font-size:22px;
	} 

	.contact-section .counter-block{
		flex-wrap:wrap;
		padding:20px;
	}
	.contact-section .counter-block .box{
		width:100%;
		padding:25px;
		margin-bottom:50px;
	}
	
}


/* -------------------------------------------

  問い合わせ

---------------------------------------------- */
.inquiry-section{


}

.inquiry-lead-text{
	text-align:center;
	margin-bottom:50px;
}
.inquiry-lead-text .private{
	color:#0081B8;
	font-size:20px;
	font-weight: 700;
	margin-bottom:20px;
}
.inquiry-lead-text .marker{
	background: linear-gradient(transparent 75%, #ffff7f 75%);
}
.inquiry-container{
	width:860px;
	margin:0 auto;
}
.form-alert-warning{
	background:#ffeded;
	color:#f82055;
	width:860px;
	margin:0 auto;
}
.form-alert-warning-inner{
	padding:30px;
	text-align:center;
	margin-bottom:50px;
}

.inquiry-box{
	background:#fff;
	padding:30px;
	box-shadow: 1px 1px 8px #c5c5c555;
}
.inquiry-box h3{
	text-align:center;
	font-size:24px;
	margin-bottom:20px;
	padding:0 0 15px 0 ;
	
}

.inquiry-table {
	width:100%;
	border-left:solid 1px #ddd;
	border-top:solid 1px #ddd;

}
.inquiry-table th,
.inquiry-table td{
	font-size:16px;
	padding:15px 10px;
	border-bottom:solid 1px #ddd;
	border-right:solid 1px #ddd;
}
.inquiry-table th{
	text-align:left;
	background:#eef0f5;
	width:200px;
}

.inquiry-table th .label-hissu,
.inquiry-table th .label-ninni{
	display: inline-block;
	background:#e94e4e;
	color:#fff;
	border-radius:3px;
	margin-left:5px;
	line-height:1;
	padding:3px 5px;
	font-size:12px;
}
.inquiry-table th .label-ninni{
	background:#aaa;

}
.inquiry-table td .postal-search-btn{
	display: inline-block;
	background:#86b902;
	color:#fff;
	border-radius:3px;
	margin-left:5px;
	padding:3px 5px;
	font-size:14px;
	transition: 0.3s;
}
.inquiry-table td .postal-search-btn:hover{
	cursor: pointer;
	background:#a6d922;
}

.inquiry-table td{

}
.inquiry-table td .example-text{
	font-size:14px;
	color:#555;
}
.inquiry-table td .form_error{
	margin-top:5px;
	background: #f82055;
    color: #fff;
    border-radius: 3px;
    font-size: 14px;
    padding: 4px 6px;
}

.form-submit-box{
	margin-top:50px;
	text-align:center;
}





/* テキストボックス */
.c-form-text {

	background:#fff;
    padding: 8px 8px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.c-form-text:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}
.c-form-text.w50{
	width:50px;
}
.c-form-text.w100{
	width:100px;
}
.c-form-text.w150{
	width:150px;
}
.c-form-text.w200{
	width:200px;
}
.c-form-text.w300{
	width:300px;
}
.c-form-text.w400{
	width:400px;
}
.c-form-text.w500{
	width:500px;
}


/* ラジオボタン */
.c-form-radio{
    display: flex;
    align-items: flex-start;
	flex-wrap:wrap;
}
.c-form-radio label{
	margin-right:15px;
}
.c-form-radio input {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    margin: -1px;
}
.c-form-radio-name {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}
.c-form-radio-name:before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    border: 1px solid #888;
    border-radius: 50%;
    margin-right: 2px;
    flex-shrink: 0;
}
.c-form-radio input:checked + .c-form-radio-name {
    color: rgb(33, 150, 243);
}
.c-form-radio input:checked + .c-form-radio-name:before {
    border: 0.35em solid rgb(33, 150, 243);
}
.c-form-radio input:focus-visible + .c-form-radio-name .c-form-radio-text {
    background: linear-gradient(transparent 90%, rgba(33, 150, 243, 0.3) 90%);
}


/* チェックボックス */
.c-form-checkbox{
    display: flex;
    align-items: flex-start;
	flex-wrap:wrap;
}
.c-form-checkbox label{
	margin-right:15px;
}
.c-form-checkbox input {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    margin: -1px;
}

.c-form-checkbox-name {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    position: relative;
}

.c-form-checkbox-name:before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    border: 1px solid #888;
    border-radius: 3px;
    margin-right: 2px;
    flex-shrink: 0;
}

.c-form-checkbox input:checked + .c-form-checkbox-name {
    color: rgb(33, 150, 243);
}

.c-form-checkbox input:checked + .c-form-checkbox-name:before {
    border: 1px solid rgb(33, 150, 243);
    background-color: rgb(33, 150, 243);
}

.c-form-checkbox input:checked + .c-form-checkbox-name:after {
    content: "";
    position: absolute;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    left: 0.4em;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 0.4em;
    height: 0.65em;
    transform: translateY(-1px) rotate(45deg);
}

.c-form-checkbox input:focus-visible + .c-form-checkbox-name .c-form-checkbox-text {
    background: linear-gradient(transparent 90%, rgba(33, 150, 243, 0.3) 90%);
}

/* テキストエリア */
.c-form-textarea {
    display: block;
    width: 100%;
    height: 100%;
    padding: 4px 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    resize: vertical;
}

.c-form-textarea:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}
.c-form-textarea.riyu {
	height:150px;
}
.c-form-textarea.yobo {
	height:200px;
}
.c-form-textarea.yobo2 {
	height:300px;
}
/* ボタン */
.c-form-submit-button {
    display: inline-block;
    padding: 15px 35px;
    border: none;
    border-radius: 4px;
	font-size:20px;
    background-color: var(--main-base-color);
    color: #333;
    font-weight: bold;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    border: 2px solid transparent;
	transition: 0.5s;
}

.c-form-submit-button:hover {
    background-color: var(--main-base-color-hover);
}

.c-back-btn{
	margin-top:8px;
    display: inline-block;
    padding: 5px 15px;
    border: none;
    border-radius: 3px;
    background-color: #555;
    color: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
	transition: 0.5s;
}
.c-back-btn:hover{
	background-color:#888;
}




@media screen and (max-width:820px) { 

	.inquiry-container{
		width:100%;
	}
	.form-alert-warning{
		width:100%;
		font-size:14px;
	}

	.inquiry-lead-text{
		padding:0 15px;
		text-align:left;
		font-size:14px;
	}
	.inquiry-lead-text .private{
		font-size:18px;
	}
	
	.inquiry-box{
		padding:30px 15px;
	}
	.inquiry-box h3{
		font-size:18px;
	}

	.c-form-text.w50{
		width:50px;
	}
	.c-form-text.w100{
		width:100px;
	}
	.c-form-text.w150{
		width:150px;
	}
	.c-form-text.w200{
		width:200px;
	}
	.c-form-text.w300{
		width:100%;
	}
	.c-form-text.w400{
		width:100%;
	}
	.c-form-text.w500{
		width:100%;
	}
	
	.inquiry-table th,
	.inquiry-table td{
		display: block;
		width:100%;
	}
	.inquiry-table th{
		font-size:14px;
		padding:8px 10px;
	}
	.inquiry-table td{
		font-size:14px;
	}
	.form-submit-box{
		margin-bottom:150px;
	}


}


/* -------------------------------------------

  採用情報

---------------------------------------------- */
.recruit-section{


}
.recruit-section .recruit-lead-block{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.recruit-section .recruit-lead-block .text-box{
	flex:1;
}
.recruit-section .recruit-lead-block .photo-box{
	width:340px;
	margin-left:50px;
}
.recruit-section .recruit-lead-block .photo-box img{
	width: 100%;
	border-radius:5px;
}


@media screen and (max-width:820px) { 
	.recruit-section{
		padding-left:20px;
		padding-right:20px;

	}

	.recruit-section .recruit-lead-block .text-box{
		width:100%;
	}
	.recruit-section .recruit-lead-block .photo-box{
		width:100%;
		text-align:center;
		margin-left:0px;
		margin-top:30px;
	}
	.recruit-section .recruit-lead-block .photo-box img{
		width: 90%;

	}
	
}


.recruit-section .recruit-entry-lead{
	margin-bottom:35px;
}
.recruit-section .recruit-entry-lead p{
	text-align: center;
}
.recruit-section .entry-list{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
}
.recruit-section .entry-list li{
	width:32%;
	margin-bottom:20px;
}
.recruit-section .entry-list li a{
	display: flex;
	align-items: center;
	justify-content: center;
	height:120px;
	width:100%;
	text-align:center;
	font-weight: 800;
	color:#333;
	background: var(--main-base-color);
	border-radius: 3px;
	font-size:24px;
}
.recruit-section .entry-list li a:hover{
	background: var(--main-base-color-hover);
	background:#333;
	color:#fff;
}


.recruit-section .recruit-table{
	border-top:solid 1px #ddd;
	width:100%;
}
.recruit-section .recruit-table th,
.recruit-section .recruit-table td{
	font-size:16px;
	padding:15px 15px;
	border-bottom:solid 1px #ddd;
}
.recruit-section .recruit-table th{
	width:150px;
	vertical-align: top;
}
.recruit-section .recruit-table td .hosoku-text{
	font-size:14px;
	padding:5px 10px;
	border-radius:3px;
	margin-top:8px;
	border:solid 1px #ddd;
	background:#f5f5f5;
}

.recruit-section .recruit-table td .pickup-point{
	display: flex;
	margin-bottom:8px;
}

.recruit-section .recruit-table td .pickup-point li{
	display: inline-block;
	font-size:14px;
	padding:3px 10px;
	margin-right:5px;
	border:solid 1px #0b8632;
	color:#0b8632;
	font-weight: 700;
	border-radius:5px;

}

@media screen and (max-width:820px) {

	.recruit-section .entry-list li{
		width:100%;
		margin-bottom:20px;
	}
	.recruit-section .entry-list li a{
		font-size:20px;
		height:80px;
	}

	.recruit-section .recruit-table th,
	.recruit-section .recruit-table td{
		width: 100%;
		display: block;
		font-size:var(--sp-base-fontsize);
		padding-left:0;
		padding-right:0;
	}
	.recruit-section .recruit-table th{
		padding:5px 0;
	}

}


/* -------------------------------------------

  お知らせ

---------------------------------------------- */
.news-section{


}

.news-section .date-box{
	text-align:right;
	margin-bottom:1em;
}


.news-section p{
	margin-bottom:1em;
}

.news-section .news-list-table{
	width:100%;
}
.news-section .news-list-table th,
.news-section .news-list-table td{
	padding:10px;
	border-bottom:solid 1px #ddd;
	vertical-align:top;
}
.news-section .news-list-table td{
}
.news-section .news-list-table td.date{
	width:180px;
}
.news-section .news-list-table  td span.min{
	display:block;
	font-size:14px;
	line-height:1.4;
}


@media screen and (max-width:820px) { 

	.news-section{
		padding-left:20px;
		padding-right:20px;

	}
	.news-section .news-list-table td{
		width:100%;
		display:block;
		border-bottom:0;
		padding:0;
	}
	.news-section .news-list-table td{
		padding-bottom:15px;
		border-bottom:solid 1px #ddd;
	}
	.news-section .news-list-table td.date{
		width:100%;
		font-size:16px;
		padding-top:15px;
		padding-bottom:0px;
		border-bottom:0;
	}


}


/* -------------------------------------------

  サービス / ケータリング

---------------------------------------------- */
.fe-section{

}
.fe-section .fe-lead-block{
	display: flex;
	justify-content: space-between;
}

.fe-section .fe-lead-block .text-box{
	width: 50%;
}
.fe-section .fe-lead-block .text-box .btn-contact{
	display: inline-block;
	background: -webkit-linear-gradient(top, var(--contact-btn-base-color-hover), var(--contact-btn-grad-color-hover));
    padding: 10px 40px;
	font-size: 18px;
	font-weight: bold;
    color: #333;
    border-radius: 2px;
    transition: 0.3s;
    border-right: 1px solid #efd065;
    border-bottom: 1px solid #efd065;
	margin-top:8px;
	box-shadow: 1px -5px 8px #9b949455;
}

.fe-section .fe-lead-block .img-box{
	flex: 1;
	padding-left:30px;
}
.fe-section .fe-lead-block .img-box img{
	width: 100%;
	border-radius: 3px;
}

.fe-pickup-title{
	text-align: center;
	font-weight: 900;
	font-size: 32px;
	margin-bottom:60px;
	line-height:1.2;
}
.fe-pickup-title .sub-title{
	font-size:18px;
	margin-top:10px;
}


.fe-section .maguro-service-block{
	display: flex;
	justify-content: space-between;
}

.fe-section .maguro-service-block .text-box{
	width: 50%;
}
.fe-section .maguro-service-block .text-box .title-box{
	font-weight: 900;
	font-size: 26px;
}
.fe-section .maguro-service-block .text-box p{
	margin:15px 0;
}
.fe-section .maguro-service-block .text-box .btn-contact{
	display: inline-block;
	background: -webkit-linear-gradient(top, var(--contact-btn-base-color-hover), var(--contact-btn-grad-color-hover));
    padding: 10px 40px;
	font-size: 18px;
	font-weight: bold;
    color: #333;
    border-radius: 2px;
    transition: 0.3s;
    border-right: 1px solid #efd065;
    border-bottom: 1px solid #efd065;
	margin-top:8px;
	box-shadow: 1px -5px 8px #9b949455;
}

.fe-section .maguro-service-block .img-box{
	flex: 1;
	padding-left:30px;
}
.fe-section .maguro-service-block .img-box img{
	width: 100%;
	border-radius: 5px;
}

@media screen and (max-width:820px) { 

	.fe-section{
		padding-left:20px;
		padding-right:20px;

	}
}

