@charset "utf-8";

/*******************************
/* リセット
*******************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	font-weight: normal;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.object-fit-img {
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;'
}
*{margin:0;padding:0;}
body{
font-family: source-han-sans-japanese, sans-serif;

font-weight: 700;

font-style: normal;
color: #303030;
font-size: 16px;
line-height: 1.8;
letter-spacing:0.1rem;
overflow-x: hidden;
}


html{ overflow-x: hidden; max-width: 100%; }
a{color: #000;text-decoration:none;transition: all 300ms ease-out 0s;
    will-change: transform;}
a:hover{color:#1c5bd9;}
a:active, a:focus {outline: 0;}
img{border:0; vertical-align:bottom;}
p{ line-height: 2.5;}
.clear{clear:both;}
.center{text-align:center;}
.right{text-align:right;}
li{ list-style:none;}
.en{font-family: 'Raleway', sans-serif;}

.none_pc{ display:none;}
.none_sp{ display: block;}
.tel {
    cursor: default;
    pointer-events: none;
}
.number{font-family: 'Lato', cursive;}
input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0;
}
input {
  -webkit-appearance: none;
  border-radius: 0;
}

.wf-sawarabimincho { font-family: "Sawarabi Mincho"; }
@media screen and (max-width:767px) {
body{
font-size: 3.8vw;
line-height: 1.8;
letter-spacing:0.1rem;
overflow-x: hidden;
}
img{ width: 100%; }
.none_pc{ display: block;}
.none_sp{ display: none;}
.tel {
    pointer-events: auto;
}
}
/*******************************
/* 共通
*******************************/
.border-radius{ border-radius: 3px;}
/*******************************
/* ヘッダー
*******************************/
header{ z-index: 999;  width:100%; padding:0 3%; height:90px;display: flex;align-items: center;justify-content: space-between;box-sizing: border-box; z-index:9999; position: fixed; background: #fff;}
header .logo{ display: flex; align-items: center;}
header .logo img{ height:35px;}
header .logo span{ font-size: .95rem;  display: inline-block; padding-left: 20px;}
header nav{}
header nav ul{display: flex;}
header nav ul li{ font-size:.9rem;}
header nav ul li:nth-of-type(n+2){ margin-left:30px;}
header nav ul li a{font-weight:500; display:block; text-align: center; line-height: 49px;}
header nav ul li a span{}
header nav ul li.contact{ margin-left: 20px;}
header nav ul li.contact a{box-sizing:border-box;background:#1c5bd9;color:#fff; padding-left:35px; padding-right:35px; border-radius: 30px; line-height:45px; border:2px solid #1c5bd9;  position:relative;transition: all .3s ease-out 0s; }
header nav ul li a:hover{ }
header nav ul li.contact a::before{ content:""; position:absolute;}
header nav ul li.contact a .fa-envelope-open-text{ padding-right:5px;}
header nav ul li.contact a:hover{ color:#1c5bd9; background:#fff;}
header nav ul li.recruit{}
header nav ul li.recruit a{box-sizing:border-box;background:#F4810E;color:#fff; padding-left:35px; padding-right:35px; border-radius: 30px; line-height:45px; border:2px solid #F4810E;  position:relative;transition: all .3s ease-out 0s; }
header nav ul li.recruit a::before{ content:""; position:absolute;}
header nav ul li.recruit a .fa-envelope-open-text{ padding-right:5px;}
header nav ul li.recruit a:hover{ color:#221814; background:#fff; color: #F4810E;}
.hd_application a{ background:#0b7ef1 !important; color:#fff !important;}
.hd_application a:hover{ background:#fff !important;color: #221814 !important;}

@media screen and (max-width:767px) {
	header{ padding:0 3%; height:50px;}
	header .logo{ position: relative; z-index:999;}
	header .logo img{ height:25px; width: auto; vertical-align: middle;}
	header .logo span{ font-size:3vw;  display: inline-block; padding-left:10px; padding-top: 5px;}
	nav{ 
position: fixed;
    top: 0px;
    right: 0;
    width: 100vw;
		min-height: 100vh;
    text-align: left;
    background:#fff;
	box-sizing:border-box;
	padding:70px 10% 10% 10%;
	opacity:0;
    transform: translateX(100vw);
    transition: .4s all;
	visibility: visible;
    overflow: hidden;
	overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
	}
nav.open{transform: translateX(0);opacity:1;visibility: visible;overflow:hidden; overflow-y: scroll;
  -webkit-overflow-scrolling:touch;z-index:10;}
	header nav ul li a{font-weight:500; display:block; text-align: center; line-height:2; padding: 10px 0;}
	header nav ul li:nth-of-type(n+2){ margin-left:0px; border-top: 1px solid #F2F9FA;}
	header nav ul li.recruit{ margin: 20px 0;}
	header nav ul li.contact a,header nav ul li.recruit a{ padding: 0;}
	
.menu-trigger_oya{ position: fixed; right:2%; top:3px; z-index:11;width: 50px; height: 50px;transition: all .3s ease-in-out;}
.menu-trigger,
.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}
.menu-trigger {
    position: relative;
	top:14px;
	right:-12px;
    width: 25px;
  height: 20px;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #212121;
    border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 9px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
  background-color:#212121;
}


/*click蠕後�繧ｹ繧ｿ繧､繝ｫ*/
.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
    left: 50%;
    opacity: 0;
    -webkit-animation: active-menu-bar02 .8s forwards;
    animation: active-menu-bar02 .8s forwards;
}
@-webkit-keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}
@keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
}
	header nav ul{display: block;}
}
/*******************************
/* 創業50周年 記念エリア（事業内容の上）
*******************************/
.anniv_section{
	background: url(images/anniv_bg.png) center center / cover no-repeat;
	min-height: 822px; /* 事業内容(SERVICE)セクションと同じ高さ */
	display: flex;
	align-items: center;
	padding: 40px 0;
	box-sizing: border-box;
}
.anniv_inner{
	width: 1200px;
	max-width: 92%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 50px;
}
.anniv_logo{
	flex: 0 0 46%;
	text-align: center;
}
.anniv_logo img{
	width: 100%;
	max-width: 500px;
	height: auto;
}
.anniv_body{ flex: 1; }
.anniv_title{
	color: #1a4da0;
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: .04em;
	margin-bottom: 22px;
}
.anniv_text{
	color: #333;
	font-size: 1rem;
	line-height: 2.1;
}
@media screen and (max-width:767px){
	.anniv_section{ min-height: 0; padding: 40px 0; }
	.anniv_inner{ flex-direction: column; gap: 24px; }
	.anniv_logo{ flex: none; }
	.anniv_logo img{ max-width: 240px; }
	.anniv_title{ font-size: 5vw; text-align: center; }
	.anniv_text{ font-size: 3.6vw; line-height: 1.9; }
}

/*******************************
/* 創業50周年 キャンペーン帯（ヒーロー上部・金グラデーション）
*******************************/
.campaign_bar{
	padding-top: 90px; /* 固定ヘッダー(90px)の下に帯を配置（透明） */
	width: 100%;
}
.campaign_bar p{
	position: relative;
	z-index: 10; /* ヒーローに重ねて最前面に */
	margin: 0 0 -1px; /* ヒーロー上端にピッタリ密着（隙間防止） */
	padding: 13px 4%;
	text-align: center;
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	box-shadow: inset 0 1px 2px rgba(255,255,255,.35), inset 0 -2px 4px rgba(0,0,0,.18);
	color: #2b2417;
	font-weight: bold;
	font-size: 1rem;
	letter-spacing: .04em;
	line-height: 1.5;
	text-shadow: 0 1px 0 rgba(255,255,255,.3);
}
@media screen and (max-width:767px){
	.campaign_bar{ padding-top: 50px; } /* モバイルのヘッダー高さ(50px) */
	.campaign_bar p{ padding: 10px 4%; font-size: 3.4vw; }
}

/* メインビジュアル
*******************************/
.main_visual{ width: 100%; position: relative; display: flex; justify-content: center;  align-items: center; height: 700px;;overflow: hidden;padding-top: 0;}
.main_visual:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: rgba(0, 0, 0, 0.0);
}
.main_visual:after {
    position: absolute;
	bottom: 0;
    left: 0;
    z-index: 99;
    background-image: url(images/nami.png);
	background-position: center
}
.main_visual .inner{ position:  absolute; width:1200px; max-width: 92%; text-align: left; z-index: 3; top: 50%; left: 50%; transform: translate(-50%, -50%);}
@media all and (-ms-high-contrast: none){
.main_visual .inner{
	margin:0;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
}
.main_visual .inner h2{ font-size: 1.7rem; z-index:9; color: #fff; width: 100%; font-weight: bold;}
.main_visual .inner h2 span{ display: block; font-size: .9rem; font-weight: normal; padding-top: 10px;}
.main_visual .inner h3{ color: #fff; bottom: -31vw; font-size: 5.5rem; z-index: 2; color: #fff;
transform: translateY(-5vw); transition: 1.0s all;opacity:0;}
.main_visual .inner h3.delay_01{transform: translateY(0);opacity:1;}
.main_visual .inner h3 span{ font-weight: normal;}
/* テキストブロックを左側に収め、バッジと重ねない */
.main_visual .inner h3{ font-size: 4.7rem; white-space: nowrap; max-width: 70%; }
.main_visual .inner h2{
	max-width: 70%;
	/* 「食を通じ…」を明朝体に */
	font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", "Shippori Mincho", "Noto Serif JP", serif;
}
.main_visual .inner h2 span{
	/* 説明文はゴシックのまま */
	font-family: source-han-sans-japanese, sans-serif;
}
.main_visual .inner .mv_anniv_message{ max-width: 70%; box-sizing: border-box; }
@media screen and (max-width: 1240px){
	.main_visual .inner h3{ font-size: 5.2vw; }
}
/* ヒーローのフェードイン＋スライド演出（SMILE WITH FOOD. と同じく .mv_in 付与で発火） */
.main_visual .inner h2{ opacity: 0; transform: translateY(-40px); transition: 1.0s all; }
.main_visual .inner h2.mv_in{ opacity: 1; transform: translateY(0); }
.main_visual .inner .mv_anniv_message{ opacity: 0; transform: translateY(-40px); transition: 1.0s all; }
.main_visual .inner .mv_anniv_message.mv_in{ opacity: 1; transform: translateY(0); }
/* バッジは縦中央(-50%)を保ったままスライド */
.main_visual .mv_badge{ opacity: 0; transform: translateY(calc(-50% - 40px)); transition: 1.0s all; }
.main_visual .mv_badge.mv_in{ opacity: 1; transform: translateY(-50%); }
/* 50周年メッセージ（紺×金フレーム） */
.main_visual .inner .mv_anniv_message{
	display: inline-block;
	position: relative;
	margin: 28px 0 0;
	padding: 16px 44px;
	background: linear-gradient(90deg, #14264a 0%, #1f3a6e 50%, #14264a 100%);
	color: #ffffff;
	font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", "Shippori Mincho", "Noto Serif JP", serif;
	font-size: 1.35rem;
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.4;
	text-align: center;
	box-shadow: 0 4px 14px rgba(0,0,0,.35);
}
.main_visual .inner .mv_anniv_message::before{
	content: "";
	position: absolute;
	inset: 5px;
	border: 1px solid #c8a44d;
	pointer-events: none;
}
@media screen and (max-width: 1240px){
	.main_visual .inner .mv_anniv_message{ font-size: 2.2vw; padding: 1.4vw 3.4vw; }
}
@media screen and (max-width:767px){
	.main_visual .inner .mv_anniv_message{ display: block; font-size: 3.6vw; padding: 12px 4%; margin-top: 18px; }
}

/* ヒーロー下部の青×金リボン装飾 */
.main_visual .mv_ribbon{
	position: absolute;
	left: -2%;
	bottom: -1px;
	width: 104%;
	height: clamp(120px, 13.6vw, 260px);
	z-index: 2;
	display: block;
	pointer-events: none;
	filter: drop-shadow(0 -5px 9px rgba(0,0,0,.22));
}
@media screen and (max-width:767px){
	.main_visual .mv_ribbon{ height: clamp(68px, 20vw, 112px); }
}

/* 50周年バッジ（ヒーロー右側：参考画像比率 = 幅約24vw・右端寄り） */
.main_visual .mv_badge{
	position: absolute;
	z-index: 4;
	top: 50%;
	left: auto;
	right: 8vw;         /* 右端から約8% */
	transform: translateY(-50%);
	width: 28vw;        /* ビューポート幅の約28% */
	max-width: 560px;
	min-width: 260px;
	height: auto;
	pointer-events: none;
	filter: drop-shadow(0 6px 16px rgba(0,0,0,.35));
}
@media screen and (max-width:767px){
	.main_visual .mv_badge{ width: 32vw; right: 5vw; }
}
.main_visual video{ background-size: cover;
    background-position: center;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    z-index: 0;
    top: 0;
    left: -100%;
    right: -100%;
    margin: auto;}
.underlayer_img{ padding-top: 90px;}
.underlayer_img .inner{ display: flex; align-items: center; height: 300px;}
.underlayer_img .inner h2{}
.underlayer_img .inner h2 span{ display: block; }
.h2_jp{ display: inline-block; line-height: 1; font-weight: bold; padding-bottom: 10px;color: #1c5bd9;}
.h2_en{ font-size:4rem; font-weight: bold;line-height: 1; display: inline-block; position: relative;}
.h2_en::after{ content: ""; position: absolute; background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%); height: 3px; width: 80px; top: 50%; z-index: -1; right: -40px;}

.pankuzu{ line-height: 40px; font-size: .7rem; font-weight: normal;}
.pankuzu .inner{ position: relative;}
.pankuzu .inner::before{ content: ""; background: #F2F9FA; height: 40px; width:30vw; right: 1200px; position: absolute; }
.pankuzu .fa-angle-right{ padding: 0 10px;}
.pankuzu a{ font-weight: bold;}
.pankuzu_in{background: #F2F9FA; display: inline-block; padding-right: 30px;}
@media screen and (max-width:767px) {
	/* モバイル：縦積みレイアウト（バッジ上・テキスト下、重なり解消） */
	.main_visual{ width: 100%; position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; height: auto; min-height: 500px; overflow: hidden; padding: 24px 6% 78px; box-sizing: border-box; gap: 16px;}
	.main_visual video{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; min-width: 0; margin: 0; left: 0; top: 0; right: auto;}
	.main_visual .mv_badge{ display: none; }
	.main_visual .inner{ position: static; transform: none; width: 100%; max-width: 100%; min-width: 0; text-align: center; padding: 0; overflow-wrap: anywhere;}
	.main_visual .inner h3{ position: static; bottom: auto; transform: none; opacity: 1; white-space: normal; max-width: 100%; font-size: 7.4vw; line-height: 1.2; color: #fff; font-family: 'Concert One', cursive;}
	.main_visual .inner h2{ font-size: 4.2vw; z-index:9; color: #fff; width: 100%; max-width: 100%; box-sizing: border-box;}
	.main_visual .inner h2 span{ display: block; font-size: 3.2vw !important; font-weight: normal; padding: 6px 0 0; width: auto;}
	.main_visual .inner .mv_anniv_message{ max-width: 100%; display: inline-block; margin-top: 8px;}
	.underlayer_img{ padding-top: 50px;}
	.underlayer_img .inner{ display: flex; align-items: center; height: 60vw;}
	.underlayer_img .inner h2{}
	.underlayer_img .inner h2 span{ display: block; }
	.h2_jp{ display: inline-block; line-height: 1; font-weight: bold; padding-bottom: 10px;color: #1c5bd9;}
	.h2_en{ font-size:9vw; font-weight: bold;line-height: 1; display: inline-block; position: relative;}
	.h2_en::after{ content: ""; position: absolute; background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%); height: 2px; width: 80px; top: 50%; z-index: -1; right: -40px;}
	
	.pankuzu{ line-height: 40px; font-size: 3vw; font-weight: normal;}
	.pankuzu .inner{ position: relative; padding-left: 0;}
	.pankuzu .inner::before{ content: ""; background: #F2F9FA; display: none;}
	.pankuzu .fa-angle-right{ padding: 0 10px;}
	.pankuzu a{ font-weight: bold;}
	.pankuzu_in{background: #F2F9FA; display: inline-block; padding-right: 5%; padding-left: 5%; padding-top: 10px; padding-bottom: 10px;}
	.pankuzu_in{ line-height:1.8;}
}

/*******************************
/* セクション　インナー
*******************************/
.contents{ padding: 120px 0; position: relative;}
.padding_b_0{ padding-bottom: 0 !important;}
.inner{ margin: 0 auto; width: 1200px;font-weight: bold;}
h2.contents_title{ text-align: center;margin-bottom: 60px; font-size: 1.8rem;font-weight: bold;}
h2.contents_title span{ display: block; font-size: 1rem;color: #1c5bd9; font-weight: bold;}
h3.contents_title{ text-align: center;margin-bottom: 20px; font-size: 1.5rem;font-weight: bold;}
h3.contents_title span{ display: block; font-size: 1rem;color: #1c5bd9; font-weight: bold;}
h3.contents_subtitle{ text-align: center; margin-bottom: 30px; font-size: 1.2rem;font-weight: bold;}

.top_about_title{font-size: 1.8rem;margin-bottom: 30px;font-weight: bold;}
.top_about_title span{ display: block; font-size: 1rem; color: #1c5bd9; font-weight: bold;}

.bg_about:before {
    content: "";
    width: 55%;
    height:50%;
    position: absolute;
	bottom: 0;
    left: 0;
    z-index: -2;
    background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%);
}
.bg_about:after {
    content: "";
    width: 30%;
    height:50%;
    position: absolute;
	bottom: 20%;
	right: 5%;
    z-index: -2;
    background: #F2F9FA;
}

.employee_bg:before{
	content: "";
    width: 100%;
    height:40%;
    position: absolute;
	bottom: 0;
    left: 0;
    z-index: -2;
    background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%);
}

@media screen and (max-width:767px) {
	.contents{ padding: 60px 0;}
	.inner{width:100%;font-weight: normal; padding: 0 5vw; box-sizing: border-box;}
	.bg_about:before {
    content: "";
    width: 55%;
    height:50%;
    position: absolute;
	top: 10vw;
    left: 0;
    z-index: -2;
    background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%);
		display: none;
	}
	.bg_about:after {
    content: "";
    width: 60%;
    height:50%;
    position: absolute;
	bottom: 0;
	right: 0%;
    z-index: -2;
    background: #F2F9FA;
}
	h2.contents_title{ text-align: center;margin-bottom: 30px; font-size:5vw;}
	h2.contents_title span{ display: block; font-size: 3.6vw;color: #1c5bd9; font-weight: bold;}
	h3.contents_title{ text-align: center;margin-bottom: 15px; font-size:5vw;}
	h3.contents_title span{ display: block; font-size: 3.6vw;color: #1c5bd9; font-weight: bold;}
	.top_about_title{font-size: 5vw;margin-bottom: 20px;font-weight: bold;}
	.top_about_title span{ display: block; font-size: 3.6vw; color: #1c5bd9; font-weight: bold;}
	h3.contents_subtitle{ text-align: center; margin-bottom: 30px; font-size: 1rem;font-weight: bold;}
	
.employee_bg:before{
	content: "";
    width: 100%;
    height:80%;
    position: absolute;
	bottom: 0;
    left: 0;
    z-index: -2;
    background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%);
}
	}
	
/*******************************
/* TOP
*******************************/
.top_about{ display: flex; justify-content: space-between; flex-wrap: wrap; position: relative;}
.top_about_box{ width:50%;}
.top_about_box:nth-of-type(2){ width:50%; display: flex; align-items: center;  padding: 0 10%; box-sizing: border-box;}
.top_about_box img{ width: 100%; height: 100%; object-fit: cover;}
.top_about_box .btn{margin-top: 30px;}
@media screen and (max-width:767px) {
		.top_about{ padding: 0 5vw;}
		.top_about_box{ width:100%;}
		.top_about_box:nth-of-type(2){ margin-top: 30px; width:100%; display: flex; align-items: center;  padding: 0 0%; box-sizing: border-box;}
}

.top_service{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.top_service_box{ width:28%;}
.top_service_box_img{ margin: 0 auto; width: 70%;}
.top_service_box_img img{ width: 100%;}
.top_service_box span{ text-align: center; display: block; font-weight: bold;}
@media screen and (max-width:767px) {
	.top_service_box{ width:100%;}
	.top_service_box:nth-of-type(n+2){ margin-top: 20px;}
	.top_service_box_img{width: 50%;}
}

.top_service_other_link{display: flex; flex-wrap: wrap; position: relative;}
.top_service_other_link:before {
    content: "";
    width: 100%;
    height:440px;
    position: absolute;
	bottom: 80px;
    left: 0;
    z-index: -1;
    background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%);
}
.top_service_other_link_box{ width: 50%;align-self: flex-start;overflow: hidden;}
.top_service_other_link_box:nth-of-type(2){ margin-top: 150px;}
.top_service_other_link_box_img{ }
.top_service_other_link_box img{ width: 100%; object-fit: cover; height: 450px;}
.top_service_other_link_box{ position: relative;}
.top_service_other_text{ position: absolute; z-index: 2; display: block; width: 100%; height: 500px; display: flex; justify-content: center; align-items: center; color: #fff;}
.top_service_other_text_in{ width: 100%; text-align: center;}
.top_service_other_text_in h3{ font-size: .9rem; margin-bottom: 40px;font-weight: bold;}
.top_service_other_text_in h3 span{ display: block; font-size: 2rem;}
.top_service_other_link_box_img{ position: relative;}
.top_service_other_link_box_img:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.5);
	transition: all 300ms ease-out 0s;
}
.top_service_other_link_box:hover .top_service_other_link_box_img:after{background: rgba(0, 0, 0, 0.3);}
.top_service_other_link_box img{ transition: all 0.6s ease-out 0s !important;transform: scale(1.05); }
.top_service_other_link_box:hover img{transform: scale(1.0); }
@media screen and (max-width:767px) {
	.top_service_other_link{ padding: 0 5vw 60px;}
	.top_service_other_link:before {
    content: "";
    width: 100%;
    height:75%;
    position: absolute;
	bottom: 0;
    left: 0;
    z-index: -3;
    background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%);
	}
	.top_service_other_link_box{ width: 100%;align-self: flex-start;overflow: hidden; position: relative;}
	.top_service_other_link_box:nth-of-type(2){ margin-top: 30px;}
	.top_service_other_link_box img{ width: 100%; object-fit: cover; height:70vw; }
	.top_service_other_text{ position: absolute; z-index:5 !important; display: block; width: 100%; height: 70vw; display: flex; justify-content: center; align-items: center; color: #fff; padding: 5vw; box-sizing: border-box;}
	.top_service_other_text_in h3{ font-size: 3.6vw; margin-bottom: 20px;font-weight: bold;}
	.top_service_other_text_in h3 span{ display: block; font-size: 6vw;}
	.top_service_other_link_box_img{ position: relative;}
	.top_service_other_link_box_img:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: rgba(0, 0, 0, 0.5);
	transition: all 300ms ease-out 0s;
	}
	.top_service_other_link_box:hover .top_service_other_link_box_img:after{background: rgba(0, 0, 0, 0.3);}
	.top_service_other_link_box_img img{ position:relative; z-index: -2;}
}


.notice{ }
.notice ul{display: flex; justify-content: space-between; flex-wrap: wrap;}
.notice ul::after{
  content:"";
  display: block;
  width:31%;
}
.notice ul li{ width: 31%; position: relative;}
.notice ul li:nth-of-type(n+4){ margin-top: 60px;}
.notice ul li a{ font-weight: normal;}
.notice ul li a .notice_img{ overflow: hidden;}
.notice ul li a .notice_img img{ width: 100%; object-fit: cover; height: 230px;transition: all 0.6s ease-out 0s !important;transform: scale(1.05);}
.notice ul li a:hover .notice_img img{transform: scale(1.0);}
.notice ul li a .date{ display: block;margin-top: 10px; font-size: .8rem;}
.notice_title{ display: block; margin-top: 0px; font-size: .9rem; }
.cate{ position: absolute; display: inline-block; color: #fff; font-size: .8rem;padding:8px 10px; line-height: 1; right: 0; top: 0px;}
.news{ background: #1c5bd9;}
.blog{ background:#F4810E;}
@media screen and (max-width:767px) {
	.notice ul::after{
		content:"";
		display: none;
		width:31%;
	}
	.notice ul li{ width: 100%; position: relative;}
	.notice ul li:nth-of-type(n+2){ margin-top: 30px;}
	.notice ul li a .notice_img img{ width: 100%; object-fit: cover; height: 50vw;transition: all 0.6s ease-out 0s !important;transform: scale(1.05);}
}

.top_recruit{ position: relative; padding: 150px 0;}
.box_01{ position: absolute; width: 180px; top: -100px; left: 5%;}
.box_01 img{ width: 100%;}
.top_recruit h2{ color: #fff; text-align: center; font-size: 2rem; padding-bottom: 40px; font-weight: bold;}
.top_recruit:before{ position: absolute; content: ""; top: 0; height: 100%; width: 100%; background:linear-gradient(to right, rgba(0,91,187,.6) -1%, rgba(75,160,255,.6) 100%); z-index: -1;background-attachment: fixed;}
.top_recruit:after{ position: absolute; content: ""; top: 0; height: 100%; width: 100%; background: url(images/recruit_bg.jpg) no-repeat; background-size: cover; background-position: center; z-index: -2;background-attachment: fixed;}
.top_recruit_in{ display: flex; justify-content: space-between; }
.top_recruit_in_box{ width: 65%;display: flex; justify-content: center; align-items: center; }
.top_recruit_in_box:nth-of-type(2){ width: 35%;}
.top_recruit_in_box p{ color: #fff; font-weight: normal;}
.top_recruit_in_box .btn{margin-top: 0;}
.top_recruit_in_box .btn a{ background:#fff; color: #000; border-color: #fff; padding:0 80px; line-height: 60px;}
.top_recruit_in_box .btn a:hover{ background: none; color: #fff;}
@media screen and (max-width:767px) {
	.top_recruit{ position: relative; padding:35vw 0;}
	.top_recruit:after{ position: absolute; content: ""; top: 0; height: 100%; width: 100%; background: url(images/recruit_bg.jpg) no-repeat; background-size: cover; background-position: center; z-index: -2;background-attachment: scroll;}
	.box_01{ position: absolute; width: 25vw; top: -10vw; left: 2%;}
	.top_recruit h2{ color: #fff; text-align: center; font-size:6vw; padding-bottom: 30px; font-weight: bold;}
	.top_recruit_in{ flex-wrap: wrap;}
	.top_recruit_in_box{ width:100%;display: flex; justify-content: center; align-items: center; }
	.top_recruit_in_box:nth-of-type(2){ width:100%; margin-top: 30px;}
}
/*******************************
/* 事業内容
*******************************/
.service{ display: flex; justify-content: space-between; flex-wrap: wrap; position: relative;}
.service::before{
	content: "";
    background: #F2F9FA;
	bottom: 0;
	height: 60%;
    width: 30vw;
    right: 1200px;
    position: absolute;}
.service::after{content: "";background: #F2F9FA;bottom: 0;height: 60%;width: 110%;position: absolute; z-index: -1;}
.service:nth-of-type(n+2){ margin-top: 60px;}
.service_box{ width: 50%; position: relative;}
.service_box_img{ background: #fff; display: block; width: 300px; height: 300px; padding: 20px; box-sizing: border-box;border-radius: 50%;}
.service_box_img img{ width:100%;border-radius: 40%; }
.service_box h3{ font-size: 1.2rem; font-weight: bold; padding: 20px 0 10px 0;}
.service_box p{font-size: .9rem; line-height: 2;}
.service_box:nth-of-type(2){ width: 45%;}
.service_box:nth-of-type(2) img{ width: 100%; position: absolute; bottom: -30px;}
.service_box .btn{ margin-top: 30px; padding-bottom: 30px;}
@media screen and (max-width:767px) {
	.service::before{ display: none;}
	.service::after{content: "";background: #F2F9FA; top: 30vw; height: 30%;width: 100%;position: absolute; z-index: -1;}
	.service_box{ width:100%;}
	.service_box:nth-of-type(2){ width:100%;}
	.service:nth-of-type(n+2){ margin-top:30px;}
	.service_box_img{ background: #fff; display: block; width:60vw; height:60vw; padding: 20px; box-sizing: border-box;border-radius: 50%; margin: 0 auto;}
	.service_box h3{ font-size: 4.5vw; text-align: center; font-weight: bold; padding: 20px 0 10px 0;}
	.service_box:nth-of-type(2) img{ width: 100%; position: relative; bottom: 0px;}
	.service_box .btn{ margin-top: 30px; padding-bottom: 30px; }
}
/*******************************
/* 店舗一覧
*******************************/
.store{}
.store h3{ display: flex; align-items: center; border-bottom: 2px solid #303030; margin-bottom:30px; }
.store:nth-of-type(n+3){margin-top: 60px;}
.store h3 img{ height: 150px;}
.store h3 span{ display: inline-block; padding-left: 30px; font-size: 1.2rem; font-weight: bold;}
.store_list{ display: flex; justify-content: space-between;}
.store_list:nth-of-type(n+2){ border-top: 1px solid #ccc; padding-top: 15px; margin-top: 15px;}
.store_list_box{ width: 15%;}
.store_list_box:nth-of-type(2){ width:80%; font-size: .9rem;}
.store_list_box img{ width: 100%;}
.store_name{ display: block; font-size:1.1rem; font-weight: bold; padding-bottom: 10px;}
.store_address{ display: block;}
.store_address a{ display: inline-block; background: #303030; color: #fff; margin-left: 15px; padding: 0 10px; font-size: .8rem;}
.store_address a:hover{ background:#F2F9FA; color: #303030; }
.store_time{ display: block;}
.store_tel{ display: block;}
.store_list_box em{ font-weight: bold; display: inline-block; padding-right: 10px;}

#id_kfc,#id_mister-donut,#id_manneken{ padding-top: 89px; margin-top: -89px;}
@media screen and (max-width:767px) {
	.store_nav ul.company_nav li{ width: 100%; text-align: center;}
	.store_nav ul.company_nav li:nth-of-type(n+2){margin-top: 15px;}
	.store h3{ display: flex; align-items: center; justify-content: center; flex-wrap: wrap; margin-bottom:30px; padding-bottom: 30px; }
	.store h3 img{ height: auto; width:40%;}
	.store h3 span{ display:block; width: 100%; text-align: center; padding-left: 0px; font-size:4vw;}
	.store_list{ flex-wrap: wrap;}
	.store_list_box{ width: 100%; }
	.store_list_box:nth-of-type(1){padding: 0 18vw 15px;}
	.store_list_box:nth-of-type(2){ width: 100%; font-size: 2.6vw;}
	.store_name{font-size:3.3vw;padding-bottom: 3px;}
	.store_address a{ display: inline-block; background: #303030; color: #fff; margin-left: 15px; padding: 0 10px; font-size: 2.2vw;;}
	
	#id_kfc,#id_mister-donut,#id_manneken{ padding-top: 50px; margin-top: -50px;}
}
/*******************************
/* 企業情報
*******************************/
.company{}
ul.company_nav{ display: flex; justify-content: space-between; flex-wrap: wrap;}
ul.company_nav li{ width: 30%; text-align: center;}
ul.company_nav li a{background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%); display: block; color: #fff; padding: 15px 0; border-radius: 6px;transition: all .3s ease-out 0s;}
ul.company_nav li a:hover{background: linear-gradient(to right, #4ba0ff -1%, #005bbb 100%);}
ul.company_nav li span{ display: block; font-weight: bold; font-size: 1.2rem;}
.fa-level-down{ font-size: .9rem;}

.message{ display: flex; justify-content: space-between; flex-wrap: wrap; position: relative; }
.message_box{ width:50%;}
.message_box:nth-of-type(2){ width:50%; display: flex; align-items: center;  padding: 0 10%; box-sizing: border-box;}
.message_box img{ width: 100%; height: 100%; object-fit: cover;}
.message_box p{ line-height:2.5; font-size: .85rem;}
.message_box p span{
	padding-top: 20px;
	display: block;
	font-size: .75rem;
}
.president_name{ text-align: right !important; padding-top: 30px;}
.message_box:nth-of-type(2) img{ width: 350px; text-align: right;}

.company_profile{}
.history{}

#id_message,#id_company_profile,#id_history{ padding-top: 89px; margin-top: -89px;}
@media screen and (max-width:767px) {
	ul.company_nav li a{padding:10px 0;}
	ul.company_nav li span{ font-size:3.6vw; margin-bottom: -2vw;}
	.fa-level-down{ font-size: 2.6vw; }
	
	.message{ display: flex; justify-content: space-between; flex-wrap: wrap; position: relative;padding: 0 5%; box-sizing: border-box;}
	.message_box{ width:100%;}
	.message_box:nth-of-type(2){ margin-top: 30px; width:100%; display: flex; align-items: center;  padding: 0 0%; box-sizing: border-box;}
	.message_box img{ width: 100%; height: 100%; object-fit: cover;}
	.message_box p{ line-height:2.5; font-size: 3vw;}
	.president_name{ text-align: right !important; padding-top: 30px; padding-right: 1%;}
	.message_box:nth-of-type(2) img{ width:70%; text-align: right;}
	
	#id_message,#id_company_profile,#id_history{ padding-top: 50px; margin-top: -50px;}
}
/*******************************
/* 採用情報
*******************************/
.recruit_01{background: url(images/recruit_01.jpg) no-repeat; background-position: center top 155px; padding-bottom: 400px; background-size: cover;}
.recruit_main{}
.recruit_main_in{ display: inline-block; }
.recruit_main h2{font-size:2.5rem; font-weight:700; padding-bottom: 30px;}
.recruit_main p{background: #fff; font-size: .9rem; padding: 20px 20px; max-width: 800px;background:rgba(255,255,255,.6);}

.employee{ display: flex; justify-content: flex-start; flex-wrap: wrap; position: relative;}
.employee_box{ width:30%; padding-left: 5%;}
.employee_box:nth-of-type(1){ padding-left: 0%;}
.employee_box:nth-of-type(2){ padding-top: 60px;}
.employee_box:nth-of-type(3){ padding-top: 120px;}
a .employee_img{ overflow: hidden;}
a .employee_img img{ width: 100%; object-fit: cover; height: 450px;transition: all 0.6s ease-out 0s !important;transform: scale(1.05);}
a:hover .employee_img img{transform: scale(1.0);}
.employee_box a p{ color: #fff; line-height: 1.5; padding-top: 15px; font-size: .9rem;}
.employee_box a p span{ display: block; font-size: 1rem; padding-top: 5px;}

.entry_flow{ display: flex; justify-content: space-between; flex-wrap: wrap; position: relative;}
.entry_flow::after{ content: ""; position: absolute; background:#ccc; height: 1px; width: 100%; top: 50%; z-index: -1;}
.entry_flow_box{ width: 250px; height: 250px; border-radius: 50%; background:#F2F9FA; display: flex; align-items: center; justify-content: center;}
.entry_flow_box p{font-size: 1.6rem; text-align: center;}
.entry_flow_box p span{ display: block; font-size: .8rem;}

.entry_box .btn{ margin-top: 60px;}
.entry_box .btn a{box-sizing:border-box;background:#F4810E;color:#fff; padding-left:100px; padding-right:100px; border-radius: 30px; line-height:60px; border:2px solid #F4810E;  position:relative;transition: all .3s ease-out 0s; display: inline-block;}
.entry_box .btn a:hover{ color:#F4810E; background:#fff;}
.entry_box .btn_center{ text-align: center;}

.part_time_job_btn{ display: flex; justify-content: space-between; flex-wrap: wrap; padding-top: 60px;}
.part_time_job_btn_box{ width: 48%;}
.part_time_job_btn_box:nth-of-type(3){ width: 100%; text-align: center; padding-top: 60px;}
.part_time_job_btn_box:nth-of-type(1) a,.part_time_job_btn_box:nth-of-type(2) a {
    box-sizing: border-box;
    background: #1c5bd9;
    color: #fff;
    padding-left: 35px;
	width: 100%;
	display: block;
	text-align: center;
    padding-right: 35px;
    border-radius: 30px;
    line-height: 50px;
    border: 2px solid #1c5bd9;
    position: relative;
    transition: all .3s ease-out 0s;
}
.part_time_job_btn_box:nth-of-type(1) a:hover,.part_time_job_btn_box:nth-of-type(2) a:hover{ color:#1c5bd9; background:#fff;}
.part_time_job_btn_box:nth-of-type(3) span{ display: inline-block; font-size: 1.2rem;}
.part_time_job_btn_box:nth-of-type(3) span:nth-of-type(1){ padding-top: 15px; margin-right: 40px;}

@media screen and (max-width:767px) {
	.recruit_01{background: url(images/recruit_01.jpg) no-repeat; background-position: center 140px; padding-bottom: 50vw; background-size: cover;}
.recruit_main{}
.recruit_main_in{ display: inline-block; }
.recruit_main h2{font-size:7vw; font-weight:700; padding-bottom: 30px;}
.recruit_main p{background: #fff; font-size:3vw; padding: 10px 20px; max-width: 800px;background:rgba(255,255,255,.6);}

.employee{ display: flex; justify-content: space-between; flex-wrap: wrap; position: relative;}
.employee_box{ width:100%; margin: 0 5vw;padding-left: 0%;}
.employee_box:nth-of-type(2){ padding-top: 60px;}
.employee_box:nth-of-type(3){ padding-top: 60px;}
a .employee_img{ overflow: hidden;}
a .employee_img img{ width: 100%; object-fit: cover; height: 450px;transition: all 0.6s ease-out 0s !important;transform: scale(1.05);}
a:hover .employee_img img{transform: scale(1.0);}
.employee_box a p{ color: #fff; line-height: 1.5; padding-top: 15px; font-size: .9rem;}
.employee_box a p span{ display: block; font-size: 1rem; padding-top: 5px;}
	
.entry_flow{ display: flex; justify-content: center; flex-wrap: wrap; position: relative;}
.entry_flow::after{ content: ""; position: absolute; background:#ccc; height: 100%; width: 1px; top: 0%; z-index: -1;}
.entry_flow_box{ width: 55vw; height: 55vw; border-radius: 50%; background:#F2F9FA; display: flex; align-items: center; justify-content: center; margin: 0 10vw;}
	.entry_flow_box:nth-of-type(n+2){ margin-top: 30px;}
.entry_flow_box p{font-size: 5vw;}
    .entry_flow_box p span{font-size:2.8vw;}

.entry_box .btn{ margin-top: 60px;}
.entry_box .btn a{box-sizing:border-box;background:#F4810E;color:#fff; width: 100%; padding-left:0px; padding-right:0px; border-radius: 30px; line-height:60px; border:2px solid #F4810E;  position:relative;transition: all .3s ease-out 0s; display: inline-block;}
.entry_box .btn a:hover{ color:#F4810E; background:#fff;}
.entry_box .btn_center{ text-align: center;}
	
.part_time_job_btn{ display: flex; justify-content: space-between; flex-wrap: wrap; padding-top: 60px;}
.part_time_job_btn_box{ width: 100%;}
.part_time_job_btn_box:nth-of-type(3){ width: 100%; text-align: center; padding-top: 60px;}
	.part_time_job_btn_box:nth-of-type(1){ margin-bottom: 40px;}
.part_time_job_btn_box:nth-of-type(1) a,.part_time_job_btn_box:nth-of-type(2) a {
    box-sizing: border-box;
    background: #1c5bd9;
    color: #fff;
    padding-left: 35px;
	width: 100%;
	display: block;
	text-align: center;
    padding-right: 45px;
	padding: 10px 0;
    border-radius: 30px;
    line-height: 1.5;
    border: 2px solid #1c5bd9;
    position: relative;
    transition: all .3s ease-out 0s;
}
.part_time_job_btn_box:nth-of-type(1) a:hover,.part_time_job_btn_box:nth-of-type(2) a:hover{ color:#1c5bd9; background:#fff;}
.part_time_job_btn_box:nth-of-type(3) span{ display: inline-block; font-size: 1.2rem;}
.part_time_job_btn_box:nth-of-type(3) span:nth-of-type(1){ padding-top: 15px; margin-right: 40px;}

}

/*******************************
/* 先輩社員インタビュー
*******************************/
.interview{ display: flex;}
.interview_box{ width:40%; position: relative;}
.interview_box:nth-of-type(2){ width: 60%; padding-left: 40px; box-sizing: border-box; display: flex; align-items: center;}
.interview_box img{ width: 480px; height: 640px; object-fit: cover;}
.interview_box_in{}
.interview_box .vol_no{ font-size: 2rem; font-weight: bold; position: absolute; color: #1c5bd9; left: -50px; top: -70px;}
.interview_box .vol_no span{ font-size: 5rem;font-family: 'Lato',sans-serif !important; font-weight: bold;}
.interview_name{position: absolute;background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%); color: #fff; font-size: .8rem; padding: 5px 13px;  bottom: -30px; right: -50px;}
.interview_name span{ display: block; font-size: 1rem;}
.interview_box h3, .interview_02_box h3{ font-size: 1.5rem;font-weight: bold;padding-bottom: 30px;}
.interview_box h4.q, .interview_02_box h4.q{ font-weight: bold; padding-bottom: 15px;}
.interview_box h4.q:nth-of-type(2), .interview_02_box h4.q:nth-of-type(2){ padding-top: 40px;}
.interview_box p, .interview_02_box p{line-height: 2.5;font-size: .85rem;}

.interview_02{ display: flex; padding-top:60px; }
.interview_02_box{ width: 60%; padding-right: 40px;display: flex; align-items: center;}
.interview_02_box:nth-of-type(2){ width: 40%;}

.interview_bg_01:before{
	content: "";
    width: 70%;
    height:50%;
    position: absolute;
	bottom: 0;
    left: 0;
    z-index: -2;
    background: #F2F9FA;
}

#interview_01, #interview_02, #interview_03{ padding-top:120px; margin-top: -120px;}
@media screen and (max-width:767px) {
	.interview{ display: flex; flex-wrap: wrap;}
	.interview_box{ width:100%; position: relative;}
	.interview_box:nth-of-type(2){ width:100%; padding-left: 0px; padding-top: 10vw; box-sizing: border-box; display: flex; align-items: center;}
	.interview_box img{ width: 100%; height: auto; object-fit: cover;}
	
	.interview_box .vol_no{ font-size: 4vw; font-weight: bold; position: absolute; color: #1c5bd9; left: -3vw; top: -6vw;}
.interview_box .vol_no span{ font-size: 10vw;font-family: 'Lato',sans-serif !important; font-weight: bold;}
.interview_name{position: absolute;background: linear-gradient(to right, #005bbb -1%, #4ba0ff 100%); color: #fff; font-size: 3.2vw; padding: 5px 13px;  bottom: -5vw; right: -3vw;}
.interview_name span{ display: block; font-size: 4vw;}
.interview_box h3, .interview_02_box h3{ font-size:4.5vw;font-weight: bold;padding-bottom: 30px;}
.interview_box h4.q, .interview_02_box h4.q{ font-weight: bold; padding-bottom: 15px;}
.interview_box h4.q:nth-of-type(2), .interview_02_box h4.q:nth-of-type(2){ padding-top: 40px;}
.interview_box p, .interview_02_box p{line-height: 2.5;font-size: .85rem;}

.interview_02{ display: flex; flex-wrap: wrap;flex-flow: row wrap; padding-top:60px; }
.interview_02_box{ width: 100%; padding-right:0px;display: flex; align-items: center;order: 2;}
.interview_02_box:nth-of-type(2){ width: 100%;order: 1; padding-bottom:40px; }
	.interview_02_box img{ width: 100%;}
	#interview_01, #interview_02, #interview_03{ padding-top:50px; margin-top: -50px;}
}
/*******************************
/* プライバシーポリシー
*******************************/
.privacy{}
.privacy .privacy_title{ background: #f5f5f5; padding:20px 30px; box-sizing:border-box;}
.privacy dl{ padding-top:50px;}
.privacy dt{ font-weight:600; font-size:1.1rem; padding-bottom:5px;}
.privacy dt:nth-of-type(n+2){ padding-top:25px;}
/*******************************
/* カスタマーハラスメント
*******************************/
#customerharassment-custom {
    text-align: right;
}

/*******************************
/* お知らせ
*******************************/
.notice_single{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.notice_single_main{ width: 800px;}
.notice_single_side{ width: 360px;}

.notice_single_main h2{ text-align: left;}
.notice_single_mainimg img{ margin-bottom: 40px; max-width: 100%; width: auto; height: auto;}
.notice_single_main_text p{ padding-bottom: 20px;}
.notice_single_main_text p:last-child{padding-bottom: 0px;}
.notice_single_main_text img{ width: auto; max-width: 100%; height: auto;}

.notice_single_side h2{ font-weight: bold; padding-bottom: 20px; font-size: 1.2rem;}
.notice_single_main a{ color:#1c5bd9; text-decoration: underline; }
@media screen and (max-width:767px) {
	.notice_single_main{ width: 100%;}
	.notice_single_side{ width: 100%; padding-top: 40px;}
	.notice_single_side h2{font-size: 5vw;}
}
/*******************************
/* テーブル
*******************************/
.company_profile table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.company_profile table th{ width: 20%; border-bottom: 1px solid #303030; padding: 30px 0; text-align: left; vertical-align: middle;}
.company_profile table td{ width: 80%;border-bottom: 1px solid #ccc;padding: 30px 0;}
@media screen and (max-width:767px) {
	.company_profile table th{ width:100%; display: block; border-bottom: none; padding:20px 0 0 0; font-weight: bold; font-size: 4.1vw;}
	.company_profile table td{ width:100%; display: block; border-bottom: 1px solid #ccc; padding: 0 0 20px 0;}
}

/*******************************
/* フッター
*******************************/
footer{ padding: 150px 0;}
.ft_company_name{ display: block; text-align: center; font-weight: bold;font-size: 1.1rem; padding-bottom: 5px;}
.ft_address{ display: block; text-align: center; font-size: 0.85rem;}
ul.ft_menu{ display: flex; justify-content: center; padding-top: 40px;}
ul.ft_menu li{line-height: 1;}
ul.ft_menu li:nth-of-type(n+2){ border-left: 1px solid #ccc; }
ul.ft_menu li a{ margin: 0 15px; font-size: .85rem; text-decoration: underline; font-weight: normal;}
.copyright{ display: block; text-align: center; padding-top:40px;font-size: .75rem; font-weight: normal; color: #ccc;}
@media screen and (max-width:767px) {
	footer{ padding: 60px 0;}
	.ft_company_name{ display: block; text-align: center; font-weight: bold;font-size: 4vw; padding-bottom: 5px;}
	.ft_address{ display: block; text-align: center; font-size: 3vw;}
	ul.ft_menu{ display: flex; justify-content: center; flex-wrap: wrap; padding-top: 40px;}
	ul.ft_menu li{line-height: 2;}
ul.ft_menu li:nth-of-type(n+2){ border-left: none; }
	ul.ft_menu li a{ margin: 0 10px; font-size: 3vw; text-decoration: underline; font-weight: normal;}
	.copyright{ display: block; text-align: center; padding-top:40px;font-size: 3vw; font-weight: normal; color: #ccc;}
	
	.sp_fixed_footer{ position: fixed; bottom: 0; background: #fff; height:15vw; width: 100%; z-index: 99:transform: rotate(0deg);}
	.sp_fixed_footer ul{ display: flex; justify-content: center; align-items: center;height: 15vw;}
	.sp_fixed_footer ul li{ padding: 0 3vw; text-align: center;}
	.sp_fixed_footer ul li:nth-of-type(n+2){ border-left: 1px solid #303030;}
	.sp_fixed_footer ul li a{ display: block;}
	.sp_fixed_footer ul li a span{ font-size: 2.6vw; display: block;line-height: 1; font-weight: bold;}
	.sp_fixed_footer ul li .fa-search, .sp_fixed_footer ul li .fa-map-marker-alt, .sp_fixed_footer ul li .fa-person-carry{ font-size: 5vw; }
	}
/*******************************
/* ボタン
*******************************/
.btn{ margin-top: 60px;}
.btn a{box-sizing:border-box;background:#000;color:#fff; padding-left:45px; padding-right:45px; border-radius: 30px; line-height:45px; border:2px solid #000;  position:relative;transition: all .3s ease-out 0s; display: inline-block;}
.btn a:hover{ color:#000; background:#fff;}
.btn_center{ text-align: center;}
@media screen and (max-width:767px) {
	.btn{ width: 100%;}
	.service_box .btn a{ width: 60vw; text-align: center;}
}
.fade-in{position:relative;opacity:0;-webkit-transform:translateY(40px);-ms-transform:translateY(40px);transform:translateY(40px);-webkit-transition:opacity 2s ease,-webkit-transform 1s ease;transition:opacity 2s ease,-webkit-transform 1s ease;transition:opacity 2s ease,transform 1s ease;transition:opacity 2s ease,transform 1s ease,-webkit-transform 1s ease}
.fade-in.is-active{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}
/*******************************
/* 画像ホバーアニメーション
*******************************/
a .imgbox{ width:100%; display:block; overflow:hidden; position:relative;}
/*a .imgbox::before{
	content:"";
	position:absolute;
	background:rgb(0,0,0,0);
	width:100%;
	height:100%;
	z-index:1;
	transition: all .3s ease-out 0s;
}
a:hover .imgbox::before{
	background:rgb(0,0,0,0.30);
}
*/
a .imgbox img{transition: all .6s ease-out 0s !important;}
a:hover .imgbox img{ transform: scale(1.06);}

/*******************************
/* ページネーション
*******************************/
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0px;
    margin:80px 0 40px 0;
    position: relative;
	font-size: .75em;
}
.pagination h2.screen-reader-text {
    display: none;
}
.pagination a {
    display: inline-block;
	width: 35px;
	height: 35px;
	display: block;
    border-radius: 50%;
	background: #F2F9FA;
	text-align: center;
	line-height: 35px;
	margin: 0 5px;
}
.pagination a:hover{
	text-decoration: none;
}
.pagination span.current {
	background: #1c5bd9;
	color: #fff;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	text-align: center;
	line-height: 35px;
}
.pagination span {
    display: inline-block;
	margin: 0 5px;
}

@media screen and (max-width: 768px) {
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0px;
    margin:80px 0 40px 0;
    position: relative;
	font-size: .85rem;
}
.pagination h2.screen-reader-text {
    display: none;
}
.pagination a {
    display: inline-block;
	width: 35px;
	height: 35px;
	display: block;
    border-radius: 50%;
	text-align: center;
	line-height: 35px;
	margin: 0 5px;
}
.pagination a:hover{
	text-decoration: none;
}
.pagination span.current {
	
	width: 35px;
	height: 35px;
	border-radius: 50%;
	text-align: center;
	line-height: 35px;
}
.pagination span {
    display: inline-block;
	margin: 0 5px;
}
}
/*******************************
/* フォーム
*******************************/

.table_form{ padding-top:60px; max-width: 800px; width: 100%; margin: 0 auto;}
.table_form p{ text-align: center; padding-bottom: 60px; font-size: .9rem;}
.table_form table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
}
.table_form th {
	display:block;
	width:100%;
    background: #fff;
    text-align: left;
	padding-bottom:10px;
}
.table_form td {
	display:block;
	width:100%;
    border-bottom: 1px solid #e5eaeb;
	margin-bottom:25px;
	padding-bottom:25px;
	border-bottom:1px solid #f2f2f2;
}
.table_form td a{ color: #1ba1e6; text-decoration:underline;}
.required{ display:inline-block; background:#1c5bd9; color:#fff; padding:2px 10px 0 10px; margin-left:10px; border-radius: 3px; font-weight:normal; font-size: .85rem;}

.table_form input[type="text"], input[type="url"], .table_form input[type="tel"], .table_form input[type="email"], .table_form select, .table_form textarea {
    box-sizing:border-box;
	background:#f5f7f8;
    border: 1px solid #bbb;
    border-radius: 3px;
    padding: 20px 20px;
    width: 100%;
}
.table_form input[type="date"]{
	background:#f5f7f8;
	border: 1px solid #bbb;
	padding: 20px 20px;
	 border-radius: 3px;
}
.table_form select{ height: 55px; width: 40%;padding: 0px 20px;}
input[type="file"] {width:100%;}
.file-226, .file-227{ display:block; margin-top:10px;}

input[type=checkbox], input[type=radio] {
    background-color: initial;
    cursor: default;
    -webkit-appearance: checkbox;
    box-sizing: border-box;
    margin: 3px 3px 3px 4px;
    padding: initial;
    border: initial;
    display: inline-block;
    width: auto;
}

.wpcf7-submit, .wpcf7-confirm, .wpcf7-back {
    padding: 0 20px 0 20px;
    text-align: center;
	width:350px;
	height:50px;
	cursor:pointer;
	border: none;
	color:#fff;
	margin:0 10px;
	font-size:1rem;
	border-radius: 30px !important;
	display: inline-block;
}
.wpcf7-submit{background:#F4810E;}

.wpcf7c-conf-hidden{background: none !important;border: none !important;}
.wpcf7c-conf {
    background-color: #f8f5ee !important;
}


.wpcf7-not-valid-tip {
	margin-top:10px;
}
.wpcf7-list-item-label{
	padding-right:10px;
}
.submit{
	text-align:center;
}
div.wpcf7 .ajax-loader {
	display:none !important;
}

.checkbox-988 .wpcf7-list-item:nth-of-type(1){ white-space: pre ;}
@media screen and (max-width: 768px) {
.table_form p{ padding-bottom: 60px; font-size: 3vw;}
.table_form table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
}
.table_form th {
	display:block;
    border-bottom: none;
    padding:0;
	padding-bottom:8px;
    background: #fff;
    text-align: left;
    width: 100%;
	box-sizing:border-box;
}
.table_form td {
	display:block;
	width:100%;
    border-bottom: 1px solid #e5eaeb;
    padding: 0;
	box-sizing:border-box;
	padding-bottom:20px;
	margin-bottom:20px;
}

.required_buy{ display:inline-block; background:#00AECA; color:#fff; padding:2px 10px 0 10px; margin-left:10px; border-radius: 3px; font-weight:normal;}
.required_sale{ display:inline-block; background:#f0ac00; color:#fff; padding:2px 10px 0 10px; margin-left:10px; border-radius: 3px; font-weight:normal;}
.attention{ display:block; margin-left:0px; font-weight:normal;}

.table_form input[type="text"], .table_form input[type="tel"], .table_form input[type="email"], .table_form select, .table_form textarea {
    box-sizing:border-box;
    border-radius: 3px;
    padding: 20px 20px;
    width: 100%;
	font-size: 16px;
}
.table_form input[type="date"]{
	width: 60%;
	padding: 0px 20px;
	font-size: 16px !important;
	height: 55px;
}
.wpcf7-submit, .wpcf7-confirm, .wpcf7-back {
    border-radius: 5px;
    padding: 0 20px 0 20px;
    text-align: center;
	width:70vw;
	height:50px;
	cursor:pointer;
	border: none;
	color:#fff;
	margin:10px 0px;
	font-size:3.6vw;
}
.submit_buy .wpcf7-submit{background: #00AECA;box-shadow: 0 -3px 0 #00468C inset;}
.submit_buy .wpcf7c-elm-step1{background: #00AECA;box-shadow: 0 -3px 0 #00468C inset;}
.submit_buy .wpcf7-back{background: #293337;box-shadow: 0 -3px 0 #111 inset;}

.submit_sale .wpcf7-submit{background: #f0ac00;box-shadow: 0 -3px 0 #D96D00;}

.wpcf7c-conf-hidden{background: none !important;border: none !important;}
.wpcf7c-conf {
    background-color: #f8f5ee !important;
}


.wpcf7-not-valid-tip {
	margin-top:10px;
}
.wpcf7-list-item-label{
	padding-right:10px;
}
.submit{
	text-align:center;
}
div.wpcf7 .ajax-loader {
	display:none !important;
}
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


