/*
Theme Name: 株式会社トップ・イン
Theme URL: https://topin-inc.com/
Description: 株式会社トップ・インのテーマ
Version: 1.0.0
Author: medias
*/

@charset "utf-8";

@-ms-viewport {
    width: auto;
}

:root {
	--color-text: #333;
	--color-main: #18697f;
	--color-sub: #1d3466;
	--color-white: #f0eee9;
}

body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", sans-serif;
	letter-spacing: 1px;
	color: #333;
	line-height: 1.5;
	overflow-y: scroll;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.wrap {
	overflow: hidden;
}

ul {
	list-style-type: none;
	padding-left: 0;
	margin: 0;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	outline:none;
	color: #337ab7;
}

a:hover {
	opacity: 0.7;
}

.h2, .mainSection-title, h2 {
    font-size: 1.75rem;
}

@media screen and (min-width: 960px) {
	.pcnone {
		display: none !important;
	}
}

@media screen and (max-width: 480px) {
	.spnone {
		display: none;
	}
	
	.navbar-brand a {
		color: #333 !important;
	}
}

.siteHeader .container {
	padding: 0;
}

.siteHeadContainer {
	padding: 20px;
}

.navbar-brand {
	padding-left: 20px;
}


@media screen and (min-width: 769px) and (max-width: 990px) {
	.navbar-brand a {
		color: #333 !important;
	}
}

@media screen and (min-width: 481px) and (max-width: 768px) {
	.navbar-brand a {
		color: #333 !important;
	}
}

/* -----------------------------------------------------------
	リセットCSS
----------------------------------------------------------- */

.container {
	padding: 0;
	width: auto;
}

h1 {
	margin: 0;
}

h3 {
	border-bottom: none;
	box-shadow: none;
	font-size: 22px;
}

.nav>li>a:focus, .nav>li>a:hover {
	background-color: transparent;
}

.subSection-title:after, h3:after {
    content: none;
	border-bottom: none;
}

.siteContent {
    padding: 0;
}

.vk-mobile-nav {
	display: none;
}

body.device-mobile .vk-mobile-nav-menu-btn {
	display: none !important;
}

.vk-mobile-nav-menu-btn {
	display: none !important;
}

.siteHeader {
	box-shadow: none;
}

h2 {
    background-color: transparent;
    padding: 0;
	margin: 0;
    border-top: none;
    border-bottom: none;
	line-height: 1.5;
    font-weight: bold;
	margin-bottom: 20px;
}

p {
	margin-bottom: 0;
}

dt, dd {
	padding-left: 0;
    border-left-width: 0;
    border-left-style: none;
    margin-bottom: 0;
	font-weight: normal;
}

.entry-body {
	padding-bottom: 0;
}

a:hover, a:active, a:focus {
	text-decoration: none;
}

.di_p {
	display: inline-block;
	text-align: left;
}

footer {
	border-top: none;
	padding: 60px 0 10px;
}

footer .footerMenu {
	border: none;
}

footer .copySection {
	border: none;
}

@media (min-width: 1200px) {
	.container {
		max-width: inherit;
	}
}

@media (min-width: 992px) {
	ul.gMenu a {
		background-color: transparent;
	}
	
	.header_scrolled .navbar-header {
		margin-bottom: 0 !important;
	}
}

@media (max-width: 991.98px) {
	.mainSection {
		margin-bottom: 0;
	}
}



@media (min-width: 768px) {
	.entry-body, .widget .entry-body {
    	padding:0;
	}
	
	.navbar>.container .navbar-brand, .navbar>.container-fluid .navbar-brand {
		padding-right: 30px;
	}
}

@media (min-width: 576px) {
	.container, .container-sm {
		max-width: inherit;
	}
}


/* -----------------------------------------------------------
	ヘッダー
----------------------------------------------------------- */

.header_scrolled .gMenu_outer, .header_scrolled.admin-bar .gMenu_outer {
	display: none !important;
}

.sp_head {
	display: none;
	text-align: center;
	padding: 15px;
	margin: 0 auto;
	max-width: 250px;
}

.sp_head a {
	display: block;
}

.top_head_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
		 -ms-flex-pack: justify;
	   justify-content: space-between;
}

.headinner {
	width: 20%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.navbar-brand {
	padding: 0;
	width: 100%;
}

.siteHeader_logo a {
	display: block;
	padding: 25px 15px;
}

.siteHeader_logo img {
	max-height: inherit;
	margin: 0 auto;
}

.gnav_wrap ul {
	display: inline-block;
	text-align: left;
}

.gnav_wrap ul li {
	margin-bottom: 30px;
}

.gnav_wrap ul li a {
	color: #18697f;
	position: relative;
	padding: 8px 10px 8px 12px;
	position: relative;
	font-weight: bold;
}

.gnav_wrap ul li a::before {
	content: "";
	display: block;
	width: 6px;
	height: 1px;
	background-color: #18697f;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}

.gnav_insta {
	text-align: center;
}

.gnav_insta a {
	display: inline-block;
}

.mainvisual {
	width: 80%;
}

div#n2-ss-2 .n2-ss-slider-2 {
	height: 100%;
}

@media (min-width: 1200px) {
	.siteHeader_logo {
		float: none;
	}
}

@media screen and (min-width: 769px) and (max-width: 1360px) {
	.gnav_wrap ul li {
		margin-bottom: 15px;
	}
	
	.siteHeader_logo a {
		padding-top: 15px;
	}
}

@media screen and (min-width: 561px) and (max-width: 768px) {
	.sp_head {
		display: block !important;
	}
	
	.headinner {
		display: none;
	}
	
	.mainvisual {
		width: 100%;
	}
}

@media screen and (max-width: 560px) {
	.sp_head {
		display: block !important;
	}
	
	.headinner {
		display: none;
	}
	
	.mainvisual {
		width: 100%;
	}
}

/* -----------------------------------------------------------
	共通CSS
----------------------------------------------------------- */

.contents_wrap {
	max-width: 1130px;
	margin: 0 auto 70px;
	padding: 0 15px;
}

.flex_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
		 -ms-flex-pack: justify;
	   justify-content: space-between;
}

.flex_wrap .flex_left, .flex_wrap .flex_right {
	width: 48%;
}

.flex_odr .flex_left {
	-webkit-box-ordinal-group: 2;
             -ms-flex-order: 2;
                      order: 2;
}

.flex_odr .flex_right {
	-webkit-box-ordinal-group: 1;
             -ms-flex-order: 1;
                      order: 1;
}

.ac_flex {
	-webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}

.flex_wrap .flex_left p {
	font-size: 16px;
}

.text_center {
	text-align: center;
}

.ib {
	display: inline-block;
	text-align: left;
}

.indent_1 {
	padding-left: 1em;
	text-indent: -1em;
}

.mb_1 {
	margin-bottom: 1em;
}

.fb {
	font-weight: bold;
}

.en_text {
	display: block;
	opacity: 0;
	font-weight: no-close-quote;
}

#page_top {
    position: fixed;
    bottom: 20px;
    right: 2%;
    z-index: 9999;
}


@media screen and (max-width: 560px) {
	.flex_wrap {
		display: block;
	}

	.flex_wrap .flex_left, .flex_wrap .flex_right {
		width: auto;
	}
	
	.flex_wrap .flex_left {
		margin-bottom: 15px;
	}
	
	.mainSection {
		margin-bottom: 0;
	}
}

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

.main_top {
	position: relative;
}

.main_top h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	max-width: 625px;
    width: 90%;
}

.h_flex_inr {
	width: 100%;
}

.top_flex {
	width: 100%;
}

.top_flex .flex_box66 {
	width: 66.666%;
}

.top_flex .flex_box33 {
	width: 33.333%;
}

.slick-slider li {
	margin-bottom: 0;
}

.link_box a::before,
.link_box a::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: "";
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .5s;
}
.link_box a::before {
	background: #247d91;
}
.link_box a::after {
	background: #18697f;
}

.link_box a:hover::before,
.link_box a:hover::after {
	transform-origin: left top;
	transform: scale(1, 1);
}
.link_box a:hover::after {
	transition-delay: .5s;
}


.link_box a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	color: #333;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 15px;
}

.linkbox_inner {
	padding-bottom: 1.5em;
}

h2.title_h2 {
	font-family: "游明朝", YuMincho, 'Noto Serif JP', "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #18697f;
	transition: all .3s;
}

.link_box a:hover h2.title_h2 {
	color: #fff;
}

.link_box h2.title_h2::after {
	content: "";
	width: 1px;
	height: 25px;
	background-color: #18697f;
	display: block;
	margin: 8px auto 0;
	transition: all .3s;
}

h2.title_h2 span.en_text {
	font-size: 18px;
	font-family: 'Roboto', sans-serif;
	color: #329cb9;
	font-weight: 400;
	margin-bottom: 6px;
}

.link_box a:hover h2.title_h2::after {
	background-color: #fff;
}

.link_box a p.main_text {
	display: inline-block;
	text-align: left;
	transition: all .3s;
}

.link_box a:hover p.main_text {
	color: #fff;
}

.link_box a p.link_rm {
	position: absolute;
	right: 5px;
	bottom: 5px;
	font-family: 'Roboto Slab', serif;
	color: #18697f;
	transition: all .3s;
}

.link_box a:hover p.link_rm {
	color: #fff;
}

.lb_wrap {
	padding: 30px 15px;
	margin-bottom: 0;
}

.lb_wrap img {
	display: block;
}

.btn_wrap a {
	padding: 15px 50px 15px 20px;
	max-width: 300px;
	margin: 0 auto;
	display: inline-block;
	position: relative;
	text-align: center;
	border: 2px solid #1f8a35;
	color: #1f8a35;
	font-size: 16px;
	font-weight: bold;
	border-radius: 4px;
}

.btn_wrap a::before {
	content: url("./images/common/arrow_lb.png");
	display: block;
	height: 26px;
	position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
	transition: all 400ms ease;
}

.btn_wrap a:hover {
	opacity: 1;
}

.btn_wrap a:hover::before {
	right: 12px;
}

.insta_wrap {
	text-align: center;
	background-color: #f7f7f7;
	margin-bottom: 0 !important;
}

.insta_wrap h2 {
	color: #18697f;
	font-family: 'Roboto Slab', serif;
	font-weight: normal;
}

/*.insta_wrap #sb_instagram #sbi_images .sbi_item {

	height: 50%;
	overflow: hidden;
}


.insta_wrap #sb_instagram .sbi_photo_wrap {
	height: 50%;
	overflow: hidden;
}

.insta_wrap #sb_instagram .sbi_photo_wrap a {
	height: 50% !important;
	overflow: hidden;
}

.insta_wrap #sb_instagram.sbi_col_4 #sbi_images .sbi_item:first-child {
	width: 50% ;
	display: block;
	max-height: 1000px;
}

.insta_wrap #sb_instagram .sbi_photo:before{
  content: "";
  display: block;
  padding-top: 100%;
}
.insta_wrap #sb_instagram .sbi_photo img{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
}

@media screen and (max-width: 600px) {
	.insta_wrap #sb_instagram.sbi_col_4 #sbi_images .sbi_item {
		width: 50% !important;
	}
	
	.insta_wrap #sb_instagram.sbi_col_4 #sbi_images .sbi_item:first-child {
		float: none;
		width: 100% !important;
	}
}*/

/* 不要な height: 50% を除去し、高さを自動調整 */
.insta_wrap #sb_instagram #sbi_images .sbi_item,
.insta_wrap #sb_instagram .sbi_photo_wrap,
.insta_wrap #sb_instagram .sbi_photo_wrap a {
    height: auto !important;
}

/* 画像枠を正方形（1:1）に固定 */
.insta_wrap #sb_instagram .sbi_photo_wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

/* 画像を枠いっぱいに正方形にトリミング表示 */
.insta_wrap #sb_instagram .sbi_photo img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

/* PC時：すべて均等（4列表示の場合、各要素は幅25%） */
.insta_wrap #sb_instagram.sbi_col_4 #sbi_images .sbi_item {
    width:70% !important;
    float: left;
}


@media screen and (max-width: 600px) {
    .insta_wrap #sb_instagram.sbi_col_4 #sbi_images .sbi_item {
        width: 50% !important;
    }
    
    .insta_wrap #sb_instagram.sbi_col_4 #sbi_images .sbi_item:first-child {
        float: none;
        width: 100% !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 960px) {
	
}

@media screen and (min-width: 561px) and (max-width: 768px) {
	.link_box a {
		padding: 10px
	}
	
	.link_box a h2.title_h2 {
		font-size: 18px;
		margin-bottom: 12px;
	}
	
	h2.title_h2::after {
		height: 15px;
	}
	
	.lb_wrap {
		display: block;
		text-align: center;
	}
	
	.lb_logo {
		margin-bottom: 14px;
	}
	
	.lb_wrap img {
		display: inline-block;
	}
	
	.lb_text {
		margin-bottom: 14px;
		text-align: left;
		display: inline-block;
	}
}

@media screen and (max-width: 560px) {
	.top_flex .flex_box66 {
		width: 100%;
	}
	
	.sp_flex {
		display: flex;
		-ms-flex-wrap: wrap;
      flex-wrap: wrap;
	}
	
	.top_flex .flex_box33 {
		width: 100%;
		
	}
	
	.sp_flex .flex_box33 { 
		-webkit-box-ordinal-group: 2;
				 -ms-flex-order: 2;
						  order: 2;
	}
	
	.top_flex .sp_box50 {
		width: 50%;
		-webkit-box-ordinal-group: 1;
             -ms-flex-order: 1;
                      order: 1;
	}
	
	.link_box a h2.title_h2 {
		font-size: 18px;
	}
	
	.lb_wrap {
		text-align: center;
	}
	
	.lb_logo {
		margin-bottom: 14px;
	}
	
	.lb_text {
		margin-bottom: 14px;
		text-align: left;
	}
}

/* -----------------------------------------------------------
	フッター
----------------------------------------------------------- */

footer.siteFooter {
	border: none;
	padding: 0;
	margin: 0;
	color: #333;
	background-color: transparent;
}

.ftr_info_wrap {
	background-color: #ccffff;
	padding: 40px 0;
	position: relative;
	z-index: 0
}

.ftr_info_wrap::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background-color: rgba(255,255,255,0.8);
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: 0;
	z-index: 1;
}

.ftr_info_wrap .contents_wrap {
	position: relative;
	z-index: 2;
	margin-bottom: 0;
}

.ftr_info_wrap .ftr_logo_wrap {
	max-width: 400px;
}

.ftr_info_wrap .ftr_logo_wrap a {
	display: block;
}

.ftr_info_wrap .flex_left {
	max-width:620px;
	width: 60%;
	position: relative;
}

.ftr_info_wrap .flex_left p {
	padding-left: 80px;
	margin-bottom: 15px;
}

.ftr_insta {
	padding-left: 80px;
}

.ftr_insta a {
	display: inline-block;
}

.ftr_info_wrap .flex_right {
	max-width: 250px;
	width: 35%;
	text-align: right;
}

.ftr_info_wrap .flex_right a {
	display: block;
	text-decoration: none;
}

.ftr_tel_wrap, .ftr_fax_wrap {
	margin-bottom: 10px;
	text-align: center;
}

.ftr_tel_wrap a, .ftr_fax_wrap p {
	color: #212121;
	font-family: 'Roboto Slab', serif;
	font-weight: 500;
}

.ftr_tel_wrap a span.num, .ftr_fax_wrap p span.num {
	font-size: 28px;
	margin-left: 10px;
}

.ftr_mail_wrap a {
	border: 2px solid #18697f;
	color: #18697f;
	padding: 10px 10px 8px 45px;
	position: relative;
	font-size: 16px;
	font-weight: bold;
	background-color: #fff;
	border-radius: 4px;
}

.ftr_mail_wrap a::before {
	content: url("./images/common/icon_mail.png");
	position: absolute;
	top: 50%;
    left: 10px;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
	height: 23px;
}

.ftr_menu {
	background-color: #f7f7f7;
	padding: 15px 0;
}

.ftr_menu ul {
	margin-bottom: 0;
}

.ftr_menu ul li {
	text-align: left;
	margin-bottom: 0;
}
.ftr_menu ul li a {
	color: #18697f;
	display: block;
	position: relative;
	display: block;
	padding-left: 14px;
	font-size: 14px;
	font-weight: bold;
}

.ftr_menu ul li a::before {
	content: "";
	display: block;
	width: 7px;
	height: 1px;
	background-color: #18697f;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);

}

.ftr_menu ul li a:hover {
	text-decoration: none;
}


.copySection {
	background-color: #ededed;
	color: #333;
	margin-bottom: 0;
	padding: 10px;
}

.copySection p {
	margin-bottom: 0;
}

@media screen and (min-width: 768px) and (max-width: 960px) {
	
}

@media screen and (min-width: 561px) and (max-width: 768px) {
	.ftr_info_wrap .flex_left {
		text-align: center;
	}
	
	.ftr_info_wrap .flex_wrap {
		display: block;
	}
	
	.ftr_info_wrap .flex_left {
		margin: 0 auto 15px;
		width: 100%;
		max-width: 400px;
	}
	
	.ftr_info_wrap .flex_right {
		margin: 0 auto;
		width: 100%;
	}
	
	.ftr_logo_wrap {
		margin-bottom: 10px;
	}
	
	.ftr_info_wrap .flex_left p {
		padding-left: 0;
		display: inline-block;
		text-align: left;
	}
	
	.ftr_insta {
		padding-left: 0;
		text-align: center;
	}
}

@media screen and (max-width: 560px) {
	.ftr_info_wrap .flex_left {
		margin: 0 auto 15px;
		width: 100%;
	}
	
	.ftr_info_wrap .flex_right {
		margin: 0 auto;
		width: 100%;
	}
	
	.ftr_menu ul {
		display: flex;
		-ms-flex-wrap: wrap;
      flex-wrap: wrap;
		max-width: 320px;
		margin: 0 auto;
	}
	
	.ftr_menu ul li {
		width: 48%;
		margin-bottom: 10px;
	}
	
	.ftr_info_wrap .flex_left {
		text-align: center;
	}
	
	.ftr_logo_wrap {
		margin-bottom: 10px;
	}
	
	.ftr_info_wrap .flex_left p {
		padding-left: 0;
		display: inline-block;
		text-align: left;
	}

	.ftr_insta {
		padding-left: 0;
		text-align: center;
	}
}

/* -----------------------------------------------------------
	メインビジュアル
----------------------------------------------------------- */

.home .main_company, .home .main_business, .home .main_products, .home .main_recruit {
	display: none;
}

.company .main_top, .company .main_business, .company .main_products, .company .main_recruit {
	display: none;
}

.business .main_top, .business .main_company, .business .main_products, .business .main_recruit {
	display: none;
}

.products .main_top, .products .main_company, .products .main_business, .products .main_recruit {
	display: none;
}

.recruit .main_top, .recruit .main_company, .recruit .main_business, .recruit .main_products {
	display: none;
}

.contact .main_top, .contact .main_business, .contact .main_products, .contact .main_recruit {
	display: none;
}

.confirm .main_top, .confirm .main_business, .confirm .main_products, .confirm .main_recruit {
	display: none;
}

.thanks .main_top, .thanks .main_business, .thanks .main_products, .thanks .main_recruit {
	display: none;
}

/* -----------------------------------------------------------
	会社案内
----------------------------------------------------------- */

.page-header {
	background-color: #18697f;
}

.page-header_pageTitle, h1.page-header_pageTitle:first-child {
	position: relative;
	z-index: 10;
	font-size: 2rem;
}

.breadSection {
	margin-bottom:60px;
}

.breadSection .container {
	max-width: 1130px;
	padding: 0 15px;
}

.bg_gray {
	background-color: #f7f7f7;
	padding: 40px 0;
	margin-bottom: 70px;
}

.bg_gray .contents_wrap {
	margin-bottom: 0;
}

.topname {
	text-align: right;
}

.topname .fb {
	font-size: 1.4em;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.president_greet h2 {
	font-size: 1.6em;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #18697f;
	text-align: center;
}

.top_intr {
	max-width: 500px;
	margin-left: auto;
	-webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}

.president_greet .top_intr p {
	text-align: right;
	font-size: 18px;
}

.top_name_wrap {
	border-top: 1px solid #ddd;
	
}

.top_name_wrap span.top_name {
	font-size: 1.6em;
	margin-left: 10px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.president_greet .flex_right {
	text-align: center;
}

.rinen_wrap {
	background-color: #fff;
	padding: 30px;
	max-width: 500px;
	margin: 0 auto 30px;
	text-align: center;
}

.rinen_wrap p {
	font-size: 26px;
	display: inline-block;
	text-align: left;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bold;
}

.rinen_hosoku {
	max-width: 800px;
	margin: 0 auto;
}

.dl_flex dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
	padding: 0;
	width: 100%;
}

.dl_flex dl dt {
	width: 25%;
	min-width: 200px;
	border-top: 1px solid #18697f;
    padding: 20px 0 20px 5px;
    color: #18697f;
    font-weight: bold;
	font-size: 18px;
}

.dl_flex dl:last-child dt {
	border-bottom: 1px solid #18697f;
}

.dl_flex dl dd {
	width: 70%;
    border-top: 1px solid #dcdcdc;
    padding: 20px 0 20px 5px;
	font-size: 18px;
}

.dl_flex dl:last-child dd {
	border-bottom: 1px solid #dcdcdc;
}

.dl_flex dl dd ul li {
	margin-bottom: 6px;
}
.dl_flex dl dd ul.zigyo li {
	padding-left: 1em;
	text-indent: -1em;
}

.dl_flex dl dd ul.history li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.dl_flex dl dd ul li p:first-child {
	width: 18%;
	min-width: 100px;
}

.dl_flex dl dd ul li p:last-child {
	width: 82%;
}

.recruit_mes {
	margin-bottom: 40px;
}

.history_wrap {
	text-align: center;
	max-width: 1000px;
	margin: 0 auto;
}

.history_wrap ul {	
	margin-bottom: 52px;
	padding-left: 26px;
	display: inline-block;
	text-align: left;
	width: auto;
}

.history_wrap ul li {
	margin-bottom: 0;
}

.history_wrap ul dl {
	display: table;
	table-layout: fixed;
	width: 100%;
	margin: 0;
}

.history_wrap ul dt,
.history_wrap ul dd {
	display: table-cell;
	vertical-align: middle;
	padding: 5px 0;
	line-height: 1.4;
	font-size: 18px;
}

.history_wrap ul dt {
	position: relative;
	width: 18%;
	padding-left: 20px;
	border-left: solid 1px #18697f;
	font-weight: bold;
	color: #18697f;
	min-width: 8em;
	vertical-align: top;
}

.history_wrap ul dt:before {
	content: "";
	position: absolute;
	top: 13px;
	left: -5px;
	margin: auto;
	height: 8px;
	width: 8px;
	background-color: #18697f;
	border-radius: 50%;
	box-shadow: 0px 0px 2px 8px #f7f7f7;
}

.history_wrap ul dd {
	width: 82%;
	word-break: break-all;
	overflow-wrap : break-word;
}

.map_wrap {
	width: 100%;
	margin-bottom: 50px;
}

.ggmap {
	position: relative;
	width: 100%;
	height: 100%;
	/*padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;*/
	padding-top: 66%;
	overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.group_info {
	border-top: 1px solid #ddd;
	padding: 30px 15px 0;
}

.group_wrap h3 {
	font-size: 22px;
	line-height: 1;
	margin-bottom: 8px;
	font-weight: bold;
}

.group_wrap h3::before {
	content: "■";
	color: #18697f;
}

.group_info .flex_left {
	padding-left: 25px;
}

.group_info .flex_right {
	
}

.group_info dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 8px 0;
	padding: 0;
}

.group_info dl dt {
	width: 3em;
	font-weight: bold;
	color: #555;
}

.group_info dl dd {
	
}

.group_wrap .ac_flex {
	margin-bottom: 40px;
}

@media screen and (min-width: 959px) and (max-width: 1100px) {
	.history_wrap ul dl {
		display: block;
	}
	
	.history_wrap ul dt {
		display: block;
		width:100%;
	}
	
	.history_wrap ul dd {
		display: block;
		width:100%;
		padding: 0 0 20px 20px;
		border-left: solid 1px #3f598f
	}
}

@media screen and (min-width: 769px) and (max-width: 959px) {

	.history_wrap ul dl {
		display: block;
	}
	
	.history_wrap ul dt {
		display: block;
		width:100%;
	}
	
	.history_wrap ul dd {
		display: block;
		width:100%;
		padding: 0 0 20px 20px;
		border-left: solid 1px #3f598f
	}
}

@media screen and (min-width: 561px) and (max-width: 768px) {
	.president_greet .flex_wrap {
		display: flex;
	}
	
	.history_wrap ul dl {
		display: block;
	}
	
	.history_wrap ul dt {
		display: block;
		width:100%;
	}
	
	.history_wrap ul dd {
		display: block;
		width:100%;
		padding: 0 0 20px 20px;
		border-left: solid 1px #3f598f
	}
	
	.group_info .flex_right {
		padding-left: 25px;
	}
	
	.map_wrap .flex_left {
		margin-bottom: 15px;
	}
	
	.group_info .flex_left {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 560px) {
	.top_intr {
		max-width: 300px;
		margin: 0 auto;
	}
	
	h2.title_h2 span.title_en {
		font-size: 18px;
	}
	
	h2.title_h2 {
		font-size: 22px;
	}
	
	h2.title_h2 span.title_en::after {
		width: 50px;
	}
	
	.president_greet .flex_left {
		width: 100%;
	}
	
	.flex_wrap .flex_left {
		margin-bottom: 15px;
	}
	
	.rinen_wrap {
		padding: 15px;
	}
	
	.rinen_wrap p {
		font-size: 18px;
	}
	
	.dl_flex dl {
		display: block;
	}
	
	.dl_flex dl dt {
		width: 100%;
		padding: 10px 0 10px 5px;
	}
	
	.dl_flex dl dd {
		width: 100%;
		padding: 10px 0 10px 5px;
	}
	
	.dl_flex dl:last-child dt {
		border-bottom: none;
	}
	
	.dl_flex dl:last-child dd {
		border-bottom: 1px solid #18697f;
	}
	
	.history_wrap ul dl {
		display: block;
	}
	
	.history_wrap ul dt {
		display: block;
		width:100%;
	}
	
	.history_wrap ul dd {
		display: block;
		width:100%;
		padding: 0 0 20px 20px;
		border-left: solid 1px #3f598f
	}
	
	.group_info .flex_left {
		margin-bottom: 0;
	}
	
	.group_info .flex_right {
		padding-left: 25px;
	}
	
	.group_info .dc_ggmap {
		padding-left: 0;
	}
}

/* -----------------------------------------------------------
	取組みページ
----------------------------------------------------------- */

h2.ex_title {
	display: inline-block;
	position: relative;
	z-index: 2;
	padding: 10px 10px 110px;
	overflow: hidden;
	font-size: 18px;
	line-height: 1;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #18697f;
	text-align: center;
}
h2.ex_title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 1px;
	height: 80px;
	background: #18697f;
}

h2.ex_title::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 1px;
	height: 80px;
	background: rgba(24, 105, 127, .4);
}
h2.ex_title::after {
  animation: sdl 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.business_text {
	text-align: center;
	max-width: 900px;
	margin: 0 auto 50px;
}

.business_text h2 {
	font-size: 22px;
	color: #18697f;
}

.business_text p {
	text-align: left;
	display: inline-block;
}

.example_erea .flex_wrap {
	margin-bottom: 30px;
}

.example_wrap {
	width: 32%;
	text-align: center;
}

.example_wrap p {
	font-weight: bold;
}

.example_erea .example_text {
	max-width: 900px;
	margin: 0 auto 30px;
}

.flex_ar {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

.flex_ar .example_wrap p.ib {
	font-weight: normal;
}

.link_btn {
	text-align: center;
}

.link_btn a {
	background-color: #18697f;
	color: #fff;
	padding: 10px 40px 10px 25px;
	display: inline-block;
	min-width: 150px;
	margin: 0 auto;
	border-radius: 2px;
	position: relative;
}

.link_btn a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;
	border-left: 5px solid #fff;
	transition: all 400ms ease;
}
.link_btn a:hover::before {
	right: 15px;
}

.lb_erea ul {
	-ms-flex-wrap: wrap;
      flex-wrap: wrap;
	max-width: 900px;
	margin: 0 auto 30px;
}

.lb_erea ul li {
	width: 50%;
	padding: 35px 25px;
	margin-bottom: 0;
}

.lb_erea ul li:first-child {
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.lb_erea ul li:nth-child(2) {
	border-bottom: 1px solid #ddd;
}

.lb_erea ul li:nth-child(3) {
	border-right: 1px solid #ddd;
}

.lb_erea ul li h3 {
	margin: 0 auto 10px;
	padding: 10px;;
	color: #18697f;
	font-weight: bold;
	text-align: center;
	display: inline-block;
}

.lb_erea ul li p {
	display: inline-block;
	text-align: left;
}

.mb_block {
	margin-bottom: 30px;
}

.linkbox {
    position: relative;
    margin: 2em auto;
    padding: 20px 15px;
    border: solid 3px #18697f;
    border-radius: 6px;
	max-width: 380px;
}
.linkbox .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #f7f7f7;
    color: #18697f;
    font-weight: bold;
}
.linkbox p {
    margin: 0 0 8px 0; 
    padding: 0;
	text-align: center;
}

.eco_hosoku {
	max-width: 870px;
	margin: 0 auto 50px;
}

.eco_hosoku p {
	display: inline-block;
	text-align: left;
}

.savings_wrap {
	max-width: 900px;
	text-align: center;
}

.savings_wrap h2 {
    display: inline-block;
    padding: 0 10px 5px;
    border-bottom: 4px dotted #18697f;
    font-weight: bold;
	font-size: 24px;
}

.savings_wrap p {
	display: inline-block;
	text-align: left;
}

.movie_corner {
	max-width: 900px;
	text-align: center;
}

.movie_corner h2 {
	font-size: 24px;
	margin-bottom: 35px;
}

.movie_corner h2 span.h2kazari {
	color: #18697f;
	font-size: 18px;
	padding: 0 5px;
	position: relative;
	bottom: 3px;
}

.top_moive {
	margin-bottom: 50px;
}

.top_moive h3 {
	display: inline-block;
    padding: 0 10px 5px;
    border-bottom: 4px dotted #18697f;
    font-weight: bold;
	font-size: 18px;
	margin-bottom: 1.2em;
}

.movie_corner video {
	width: 100%;
	display: block;
	margin-bottom: 20px;
}

.moive_backnumber {
	max-width: 900px;
	margin: 0 auto;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.movie_corner h4 {
	font-size: 20px;
	font-weight: bold;
}

ul.moive_backnumber::after {
	content: "";
	display: block;
	width: 32%;
}

ul.moive_backnumber li {
	width: 32%;
	margin-bottom: 20px;
}

@media screen and (min-width: 561px) and (max-width: 768px) {
	
}

@media screen and (max-width: 560px) {
	.business_text h2 {
		text-align: left;
		display: inline-block;
	}
	
	.example_wrap {
		width: 100%;
		margin-bottom: 15px;
	}
	
	.example_erea .flex_wrap {
		margin-bottom: 15px;
	}
	
	.example_wrap img {
		margin-bottom: 5px;
	}
	
	.flex_ar .example_wrap p.ib {
		margin-top: 15px;
	}
	
	.lb_erea ul li {
		width: 100%;
	}
	
	.lb_erea ul li:first-child {
		border-right: none;
		border-bottom: 1px solid #ddd;
	}

	.lb_erea ul li:nth-child(3) {
		border-right: none;
		border-bottom: 1px solid #ddd;
	}
	
	.movie_corner h2 {
		font-size: 18px;
	}
	
	.movie_corner h2 span.h2kazari:first-child {
		display: block;
		margin-bottom: 8px;
	}
	
	.movie_corner h2 span.h2kazari:nth-child(2) {
		display: none;
	}
	
	ul.moive_backnumber {
		display: flex;
	}
	
	ul.moive_backnumber li {
		width: 48%;
	}
}

/* -----------------------------------------------------------
	取扱い商品
----------------------------------------------------------- */

.products_link ul.flex_wrap {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.products_link ul.flex_wrap li {
	width: 25%;
	text-align: center;
	border-left: 1px dashed #18697f;
	border-right: 1px dashed #18697f;
	margin-bottom: 15px;
}

.products_link ul.flex_wrap li+ li {
  border-left: 0;
  border-right: 1px dashed #18697f;
}

.products_link ul.flex_wrap li:nth-child(5), .products_link ul.flex_wrap li:nth-child(9) {
	border-left: 1px dashed #18697f;
}

.products_link ul.flex_wrap li a {
	display: block;
	color: #333;
	padding: 0 10px;
}

.products_link ul.flex_wrap li a::before {
	display: block;
}

.products_link ul.flex_wrap li.pl_1 a:hover {
	color: #91351d;
}

.products_link ul.flex_wrap li.pl_2 a:hover {
	color: #27797f;
}

.products_link ul.flex_wrap li.pl_3 a:hover {
	color: #7c1927;
}

.products_link ul.flex_wrap li.pl_4 a:hover {
	color: #7f4622;
}

.products_link ul.flex_wrap li.pl_5 a:hover {
	color: #375d7f;
}

.products_link ul.flex_wrap li.pl_6 a:hover {
	color: #227f4d;
}

.products_link ul.flex_wrap li.pl_7 a:hover {
	color: #4e507f;
}

.products_link ul.flex_wrap li.pl_8 a:hover {
	color: #537f26;
}

.products_link ul.flex_wrap li.pl_9 a:hover {
	color: #5a8a95;
}

.products_link ul.flex_wrap li.pl_10 a:hover {
	color: #347f6c;
}

.products_link ul.flex_wrap li.pl_11 a:hover {
	color: #873a3a;
}

.products_link ul.flex_wrap li.pl_12 a:hover {
	color: #7c691c;
}

.products_link ul.flex_wrap li.pl_1 a::before {
	content: url("./images/common/icon_youki.png");
}

.products_link ul.flex_wrap li.pl_2 a::before {
	content: url("./images/common/icon_paper.png");
}

.products_link ul.flex_wrap li.pl_3 a::before {
	content: url("./images/common/icon_food.png");
}

.products_link ul.flex_wrap li.pl_4 a::before {
	content: url("./images/common/icon_foodzakka.png");
}

.products_link ul.flex_wrap li.pl_5 a::before {
	content: url("./images/common/icon_chubou.png");
}

.products_link ul.flex_wrap li.pl_6 a::before {
	content: url("./images/common/icon_film.png");
}

.products_link ul.flex_wrap li.pl_7 a::before {
	content: url("./images/common/icon_bag.png");
}

.products_link ul.flex_wrap li.pl_8 a::before {
	content: url("./images/common/icon_bungu.png");
}

.products_link ul.flex_wrap li.pl_9 a::before {
	content: url("./images/common/icon_soutyaku.png");
}

.products_link ul.flex_wrap li.pl_10 a::before {
	content: url("./images/common/icon_senzai.png");
}

.products_link ul.flex_wrap li.pl_11 a::before {
	content: url("./images/common/icon_butsuryu.png");
}

.products_link ul.flex_wrap li.pl_12 a::before {
	content: url("./images/common/icon_hansoku.png");
}

.products_link ul.flex_wrap li a:hover {
	opacity: 1;
	color: #18697f;
	text-decoration: underline;
}

.pr_title_top {
	text-align: center;
	margin-bottom: 30px;
}

.pr_title_top h2 {
	background-color: #18697f;
	color: #fff;
	padding: 10px 15px;
}

.pr_title {
	text-align: center;
}

.products_details {
	border: 4px solid #f7f7f7;
	background-color: #fcfcfc;
	padding: 30px 20px 20px;
	margin-bottom: 30px;
	border-radius: 5px;
}

.details_top {
	max-width: 820px;
	margin: 0 auto 30px;
}

.details_top p {
	display: inline-block;
	text-align: left;
}

.products_details .pr_name {
	font-weight: bold;
	color: #18697f;
	text-align: center;
	margin-bottom: 5px;
	display: block;
}

.pr_title h3 {
	display: inline-block;
	padding: 0 10px 5px;
	border-bottom: 4px dotted #18697f;
	font-weight: bold;
	font-size: 22px;
	margin: 0 0 1.2em;
}

.pr_title h4 {
	color: #18697f;
    border-top: #18697f solid 1px;
    border-bottom: #18697f solid 1px;
	font-weight: bold;
	display: inline-block;
	padding: 12px 15px;
	font-size: 20px;
	margin: 0 0 1.2em;
}

ul.products_img::after {
	content: "";
	display: block;
	width: 32%;
}

ul.products_img li a {
	display: block;
}

.products_details ul.flex_wrap li a img {
	max-height: 168px;
}

.products_details ul {
	flex-wrap: wrap;
}

.products_details ul.flex_wrap li {
	width: 24%;
	margin-bottom: 25px;
	text-align: center;
}

.products_details ul.products_img li {
	width: 32%;
	text-align: center;
}

li {
    margin-bottom: .8em;
    line-height: 1.65em;
}

.products_details ul.flex_wrap li a {
	display: block;
}


.products_details ul::before {
	content: "";
	display: block;
	width: 24%;
	order: 1;
}

.products_details ul::after {
	content: "";
	display: block;
	width: 24%;
}

.ti_h5 {
	position: relative;
	background-color: #fcfcfc;
	padding-right: 8px;
	z-index: 6;
	overflow: hidden;
	font-weight: bold;
	color: #444;
	font-size: 16px;
	margin: 1.5em 0 1.2em;
}

.ti_h5::after {
	content: "";
    background-color: #ccc;
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    top: 0;
    bottom: 0;
	left: 13em;
    margin: auto;
	z-index: -5;
}

.products_img {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.maker_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.maker_list li {
	width: 24%;
	margin-right: 1%;
}

.maker_list li a {
	display: inline-block;
	position: relative;
}

.maker_list li a::after {
	content: url("./images/common/icon_external.png");
	margin-left:4px;
}

.maker_list li.nolink a {
	pointer-events: none;
	color: #333;
}

.maker_list li.nolink a::after {
	content: none;
}

.comment_list {
	display: inline-block;
	text-align: left;
	margin-bottom: 10px;
}

.comment_list li {
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 10px;
	font-size: 15px;
}

.d_inner {
	text-align: center;
}

.d_inner p {
	margin-bottom: 10px;
	font-size: 14px;
	text-align: left;
	display: inline-block;
}

.details_two {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 800px;
	margin: 0 auto;
}

.details_two li {
	width: 47.5%;
}

.details_two li p {
	display: inline-block;
	text-align: left;
}

.details_two li p.pti {
	margin-bottom: 0;
}

.details_type2 ul.maker_list li {
	width: 48%;
}

/**/

.sp_select {
    position: relative;
    width: 100%;
    height: 50px;
    max-width: 300px;
    margin: 0 auto 50px;
	background-color: #18697f;
	z-index: 30;
	display: none;
}

.sp_select> li a {
    display: block;
    color: #fff;
}

.sp_select > li a:hover {
    color: #999;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

.sp_select > li:hover {
    background: #072A24;
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    border-top: 1px solid #111;
	margin-bottom: 0;
}

.menu__third-level li {
    border-top: 1px solid #111;
}

.menu__second-level li a:hover {
    background: #111;
}

/* 下矢印 */
.init-bottom::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 auto;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
	position: absolute;
	top: 20px;
	right: 12px;
}

/* floatクリア */
.sp_select:before,
.sp_select:after {
    content: " ";
    display: table;
}

.sp_select:after {
    clear: both;
}

.sp_select {
    *zoom: 1;
}

/**/

.sp_select a {
	display: block;
	color: #fff;
	padding: 10px;
}

.sp_select > li.menu__single {
    position: relative;
}

.menu__single ul.menu__second-level {
    position: absolute;
    top: 40px;
    width: 100%;
    background: #18697f;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

.menu__single:hover ul.menu__second-level {
    top: 50px;
    visibility: visible;
    opacity: 1;
}

.lb-data .lb-number {
	display: none !important;
}

@media screen and (min-width: 561px) and (max-width: 768px) {
	.sp_select {
		display: block;
	}
	
	/*.products_link {
		display: none;
	}*/
	
	.pr_title_top h2 {
		font-size: 24px;
	}
	
	.pr_title h3 {
		font-size: 20px;
	}
	
	.pr_title h4 {
		font-size: 18px;
	}
}

@media screen and (max-width: 560px) {
	/*.products_link {
		display: none;
	}*/
	
	.products_link ul.flex_wrap {
		display: flex;
	}

	.products_link ul.flex_wrap li {
		width: 33.3%;
		width: calc(100% / 3);
	}
	
	.products_link ul.flex_wrap li:nth-child(4), .products_link ul.flex_wrap li:nth-child(7), .products_link ul.flex_wrap li:nth-child(10) {
		border-left: 1px dashed #18697f;
	}
	
	.products_link ul.flex_wrap li:nth-child(5), .products_link ul.flex_wrap li:nth-child(9) {
		border-left: none;
	}
	
	.sp_select {
		display: block;
	}
	
	.pr_title_top h2 {
		font-size: 22px;
	}
	
	.pr_title h3 {
		font-size: 18px;
	}
	
	.pr_title h4 {
		font-size: 18px;
	}
	
	ul.products_img {
		max-width: 400px;
		margin: 0 auto;
		display: flex;
	}
	
	ul.products_img li {
		width: 48%;
	}
	
	.maker_list li {
		width: 49%;
	}
	
	.details_two {
		max-width: 400px;
		margin: 0 auto;
	}
	
	.details_two li {
		width: 100%;
	}
	
	.products_details ul {
		display: flex;
	}
	
	.products_details ul.products_img li, .products_details ul.flex_wrap li {
		width: 48%;
	}
}

/* -----------------------------------------------------------
	採用情報
----------------------------------------------------------- */

.entry-full {
	margin-bottom: 0 !important;
}

.mb_none {
	margin-bottom: 0;
}

.re_message {
	max-width: 800px;
	margin-bottom: 140px;
}

.re_message {
	font-size: 16px;
}

.interviewer_wrap {
	background-color: #18697f;
	color: #fff;
	margin-bottom: 40px;
	padding: 20px 0;
}

.interviewer_wrap .title_h2 {
	color: #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", sans-serif;
}

.interviewer_wrap .flex_left {
	width: 60%;
	position: relative;
	bottom: 70px;
}

.interviewer_wrap .flex_right {
	width: 30%;
	margin-left: 5%;
	margin-left: 5%;
}

.interviewer_wrap .flex_right h3 {
	font-size: 20px;
	font-weight: normal;
}

.interviewer_wrap .katagaki {
	background-color: #fff;
	padding: 3px 5px;
	color: #18697f;
	display: inline-block;
	font-size: 14px;
	margin-bottom: 4px;
}

.interviewer_wrap .inter_name {
	font-size: 24px;
	position: relative;
	font-weight: bold;
}

.interviewer_wrap .inter_name .en_name {
	margin-left: 12px;
	font-size: 16px;
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
}

.interviewer_wrap .inter_name::after {
	content: "";
	width: 2em;
	height: 1px;
	background-color: #fff;
	display: block;
	margin-top: 8px;
	margin-bottom: 8px;
}

.re_intr .flex_left ul {
	width: 80%;
	margin-left: auto;
}

.re_intr img {
	width: 100%;
}

.re_intr .flex_right ul li:last-child {
	width: 70%;
	margin-right: auto;
}

.re_intr .inner_y {
	margin-bottom: 15px;
}

.schedule_wrap {
	text-align: center;
}

.schedule_inner {
	display: inline-block;
	text-align: left;
}

.schedule_wrap dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
}

.schedule_wrap dl dt {
	width: 85px;
	text-align: center;
	margin-right: 15px;
	position: relative;
}

.schedule_wrap dl dt::before {
	content: "";
	display: block;
	width: 2px;
	height: 100%;
	background-color: #18697f;
	position: absolute;
	left: 50%;
	z-index: -1;
}

.schedule_wrap dl dt span {
	background-color: #fff;
	/*border: 2px solid #333;*/
	padding: 8px 10px 5px;
	line-height: 1;
	font-family: 'Roboto', sans-serif;
	display: block;
	width: 80px;
	height: 80px;
	background-color: #18697f;
	border-radius: 50%;
	
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	margin-right: 0;
	white-space: nowrap;
}

.schedule_wrap dl dd {
	width: 90%;
	padding-top: 15px;
	padding-bottom: 60px;
}

.schedule_wrap dl dd h4 {
	margin: 3px 0 10px;
	font-size: 20px;
	font-weight: bold;
	color: #18697f;
}

.schedule_wrap dl:last-child dt::before {
	content: none;
}

.requirements_wrap dl {
	background-color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 30px 15px;
	margin: 0 0 8px;
	border: none;
}


.requirements_wrap dl dt {
	width: 20%;
	margin-right: 5%;
	font-weight: bold;
	font-size: 16px;
	margin-bottom: 0;
	border-right: 1px solid #0589c2;
	border-top: none;
	padding: 0;
}

.requirements_wrap dl dt::before {
	content: none;
}

.requirements_wrap dl dd {
	width: 75%;
	font-size: 16px;
	margin-bottom: 0;
	border-top: none;
	padding: 0;
}

.dl_flex dl:last-child dt {
	border-bottom: none;
}

.dl_flex dl:last-child dd {
	border-bottom: none;
}


h3.re_title {
	position: relative;
	padding: 1.5rem 0 14px;
	margin: 0 0 12px 0;
	font-size: 20px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

h3.re_title::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #999, #999 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #999, #999 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.interview_wrap .interviewer {
	position: relative;
	margin-bottom: 20px;
}

.interviewer .prof_wrap {
	background-color: rgba(116,147,196,0.8);
	padding: 15px 20px;
	max-width: 400px;
	position: absolute;
	right: 0;
	bottom: 10%;
	color: #fff;
}

.interviewer .prof_wrap h3 {
	margin: 0 0 15px 0;
}

.prof_wrap .inter_name {
	font-size: 18px;
	font-weight: bold;
	text-align: right
}

.prof_wrap .inter_name .busho {
	display: block;
	font-size: 14px;
	font-weight: normal;
}

.interviewer .prof_wrap h3 .en_title {
	display: block;
	font-size: 16px;
	font-family: 'Josefin Sans', sans-serif;

}

.voice_inner h3::before {
	content: "";
	background-color: #4f81bd;
	width: 25px;
	height: 1px;
	display: block;
	position: absolute;
	top: 10px;
	left: 0;
}

.voice_inner p {
	margin-left: 30px;
}



.voice_wrap ul li {
	background-color: #fff;
	padding: 20px 15px;
	box-shadow: 0px 0px 16px 1px rgba(180,180,180,0.2);
	margin-bottom: 20px
}

.voice_wrap ul li h3 {
	font-weight: bold;
	position: relative;
	margin: 0 0 8px 0;
	font-size: 20px;
	font-weight: bold;
	color: #444;
	padding: 0 0 0 30px;
}

.voice_wrap ul li h3::before {
	content: "";
	background-color: #4f81bd;
	width: 25px;
	height: 1px;
	display: block;
	position: absolute;
	top: 10px;
	left: 0;
}

.voice_wrap ul li p {
	margin-left: 30px;
}

.voice_prof {
	text-align: right;
	color: #555;
}

.voice_wrap .voice_prof p {
	font-size: 1em;
	background-color: #fff;
	display: inline-block;
	padding: 4px 10px;
}

.voice_wrap .voice_prof p span.voice_name {
	font-size: 1.1em;
	margin-left: 10px;
	font-weight: bold;
}


.fadein {
  opacity: 0;
  transform : translate(0, 10px);
  transition : all 900ms;
}

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

h2.title_h2 .min_ti {
	font-size: 18px;
	margin-left: 0.5em;
}

@media screen and (min-width: 768px) and (max-width: 960px) {
	
}

@media screen and (min-width: 561px) and (max-width: 768px) {
	.re_intr .flex_wrap {
		display: block;
	}
	
	.re_intr .flex_wrap .flex_left {
		width: 100%;
	}
	
	.re_intr .flex_wrap .flex_right {
		width: 100%;
	}
	
	.interviewer_wrap {
		padding: 15px 0;
	}
	
	.interviewer_wrap .flex_left {
		width: 48%;
	}
	
	.interviewer_wrap .flex_right {
		width: 48%;
		padding-right: 15px;
	}
	
	.interviewer_wrap .flex_right h3 {
		font-size: 16px;
	}
	
	.interviewer_wrap .inter_name {
		font-size: 20px;
	}
	
	.re_intr .flex_left ul {
		width: 100%;
	}
	
	.re_intr .flex_right ul li:last-child {
		width: 100%;
	}
	
}

@media screen and (max-width: 560px) {
	.re_intr .flex_left ul {
		width: 100%;
	}
	
	.re_intr .flex_right ul li:last-child {
		width: 100%;
	}
	
	.interviewer_wrap .flex_left {
		width: 100%;
		max-width: 380px;
		margin: 0 auto 15px;
		bottom: 40px;
	}
	
	.interviewer_wrap .flex_right {
		width: 100%;
		margin-bottom: 20px;
	}
	
	.prof_wrap .inter_name {
		font-size: 18px;
	}

	.prof_wrap .inter_name .busho {
		font-size: 12px;
	}
	
	.voice_wrap ul li h3 {
		font-size: 18px;
	}

	.requirements_wrap dl {
		display: block;
		padding: 15px;
	}
	
	.requirements_wrap dl dt {
		border-right: none;
		width: 100px;
		margin-bottom: 6px;
	}
	
	.requirements_wrap dl dd {
		width: 100%;
	}
}

/* -----------------------------------------------------------
	お問い合わせ
----------------------------------------------------------- */

.contact_flex .flex_left img {
    box-shadow: 0px 0px 16px 1px rgb(180 180 180 / 40%);
}

.mw_wp_form .error-message {
	display: none;
}

.mw_wp_form_error .error-message {
	display: inline-block;
	color: #E60012;
	text-align: left;
	padding-left: 1em;
	text-indent: -1em;
}

.ctel_wrap {
	border: 4px solid #efefef;
	padding: 20px;
	margin-bottom: 25px;
}

.ctel_wrap .title_h2 {
	margin-bottom: 16px;
}

.contact_mass {
	text-align: center;
	max-width: 900px;
	margin: 0 auto 30px;
}

.ctel_wrap {
	max-width: 600px;
}

.contact_p_block ul {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}

.contact_p_block ul li p, .thanks_wrap ul li.tel_wrap p {
	position: relative;
	font-size: 18px;
	margin-bottom: 10px;
}

.contact_p_block ul li.tel_wrap a, .thanks_wrap ul li.tel_wrap a {
	font-size: 34px;
	font-weight: bold;
	color: #393939;
	font-family: 'Lato', serif;
	padding-left: 30px;
	position: relative;
}

.contact_p_block ul li.tel_wrap a::before, .thanks_wrap ul li.tel_wrap a::before {
	content: url("./images/common/contact_tel.png");
	position: absolute;
	top: 9px;
	left: 0;
}

.contact_p_block ul li.fax_wrap a::before {
	content: url("./images/common/contact_fax.png");
	top: 9px;
	left: 0;
	position: absolute;
}

.contact_p_block ul li.fax_wrap a {
	pointer-events: none;
}

/* -----------------------------------------------------------
	お問い合わせフォーム
----------------------------------------------------------- */

.midashi_title h2.form_title_h2 {
	font-size: 24px;
}

.midashi_title h2.form_title_h2::before {
	content: url("./images/common/form_mail.png");
	display: block;
	text-align: center;
}

.midashi_title h2.mitsumori_title::before {
	content: url("./images/common/form_mitsumori.png");
	display: block;
	text-align: center;
}

.stepBar {
	display: flex;
	max-width: 400px;
	position: relative;
	margin: 20px auto;
	text-align: center;
}

.stepBar li {
	font-size: 12px;
	list-style: none;
	position: relative;
	width: 33.333%;
}

.stepBar li:after {
	background: #7AA54F;
	content: "";
	width: calc(100% - 24px);
	height: 4px;
	position: absolute;
	left: calc(-50% + 12px);
	top: 10px;
}

.stepBar li:first-child:after {
	display: none;
}

.stepBar li span {
	background: #7AA54F;
	color: #ffffff;
	display: inline-block;
	height: 24px;
	margin-bottom: 5px;
	line-height: 24px;
	width: 24px;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.stepBar .visited:after {
	background: #4D648D;
}

.stepBar .visited span {
	background: #061c51;
}

.form_wrap table {
	width: 100%;
	border-color: #e5e5e5;
	table-layout: fixed;
}

.form_wrap table tr th {
	padding: 20px 10px;
	text-align: left;
	width: 30%;
	min-width: 15em;
	color: #333;
	border-top: 1px solid #18697f;
	font-weight: bold;
	border-color: #18697f;
	vertical-align: inherit;
}

.form_wrap table tr th span {
	color: #f00;
	font-size: 12px;
	display: block;
	float: right;
	padding-top: 2px;
}

.form_wrap table tr td {
	padding: 20px 10px;
	text-align: left;
	width: 65%;
	border-top: 1px solid #ccc;
	border-color: #ccc;
}

.form_wrap table tr td p {
	margin-bottom: 0;
}

.form_wrap table tr td dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
	margin-top: 1.5em;
    margin-bottom: 1.2em;
}

.form_wrap table tr td dl dt {
	margin-bottom: 0;
	padding-top: 2px;
	width: 7em;
	font-weight: normal;
	border-left: none;
}

.form_wrap table tr td dl dd {
	margin-bottom: 0;
	border-left: none;
	padding-left: 0;
}

.form_wrap table tr td p.pi {
	text-indent: -1em;
	padding-left: 1em;
}

form input[type=text], form input[type=email], form input[type=password], form input[type=date], form textarea {
	width: 100%;
}

.form_wrap form select {
	width: 210px;
}

.form-control {
	background-color: #eee;
}

.submt_wrap {
	text-align: center;
	padding-top: 15px;
}

.submt_wrap input[type=submit] {
	font-size: 16px;
	width: 120px;
	border-radius: 4px;
}

.submt_wrap input[type=submit]:hover {
	opacity: 0.8;
}

.form_wrap select {
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
        text-indent: .01px;
        text-overflow: "";
    appearance:none;
     
}

.submt_wrap input[type=submit] {
	background-image: none;
	font-weight: bold;
}

.submt_wrap button {
	color: #efefef;
	display: inline-block;
	overflow: hidden;
	position: relative;
	padding: 10px 20px 8px;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid #18697f;
	box-shadow: inset 0px 0px 1px rgba(255,255,255,1);
	background-color: #18697f;
	border-color: #18697f;
	font-size: 16px;
    width: 120px;
    border-radius: 5px;
	font-weight: bold;
}

.submt_wrap button:hover {
	opacity: 0.7;
}

.thanks_wrap {
	text-align: center;
	font-size: 18px;
	padding-top: 30px;
	margin-bottom: 70px;
}

.thanks_contact {
	margin-top: 25px;
}

.thanks_contact a {
	color: #212121;
	font-weight: bold;
	font-size: 1.4em;
}

form input[type=text], form input[type=email], form input[type=password], form input[type=date], form textarea {
	width: 90%;
}

.submt_wrap .btn-primary {
	border: 1px solid #18697f;
    box-shadow: inset 0px 0px 1px rgba(255,255,255,1);
    background-color: #18697f;
	padding: 10px 20px 8px;
	margin-bottom: 3px;
	color: #efefef;
}

.mw_wp_form form {
	width: auto;
}

.table tbody tr td .form-control, .table tbody tr th .form-control, .table td .form-control, .table th .form-control, .table thead tr td .form-control, .table thead tr th .form-control, table tbody tr td .form-control, table tbody tr th .form-control, table td .form-control, table th .form-control, table thead tr td .form-control, table thead tr th .form-control {
	
}

.form_wrap table tr td span.mwform-checkbox-field {
	display: block;
	margin-left: 10px;
}

.er_m_wrap {
	text-align: center;
	margin-bottom: 15px;
}

.mw_wp_form .error-message {
	display: none;
}

.mw_wp_form_error .error-message {
	display: inline-block;
	color: #E60012;
	text-align: left;
	padding-left: 1em;
	text-indent: -1em;
}

.form_aten {
	text-align: center;
	margin-bottom: 20px;
}

.online_kibou {
	text-align: center;
	margin: 25px auto 15px;
}

form input[type=text].online_date {
	width: 210px;
}

.mitsu_title {
	background-color: #888;
	color: #fff;
	padding: 8px 15px;
	border-radius: 3px;
	font-size: 16px;
}

@media screen and (min-width: 561px) and (max-width: 768px) {
	.contact_p_block ul li.tel_wrap a, .thanks_wrap ul li.tel_wrap a {
		font-size: 28px;
	}
	
	.contact_p_block ul li.tel_wrap a::before, .thanks_wrap ul li.tel_wrap a::before {
		top: 4px;
	}
}

@media screen and (max-width: 600px) {
	.form_wrap table tr th {
		display: block;
		width: 100%;
		border-top: none;
		border-bottom: none;
		padding-bottom: 5px;
	}
	
	.form_wrap table tr td {
		display: block;
		width: 100%;
		border-top: none;
		border-bottom: 1px solid #ccc;
		padding-top: 0;
	}
	
	.table tbody tr td .form-control, .table tbody tr th .form-control, .table td .form-control, .table th .form-control, .table thead tr td .form-control, .table thead tr th .form-control, table tbody tr td .form-control, table tbody tr th .form-control, table td .form-control, table th .form-control, table thead tr td .form-control, table thead tr th .form-control {
		width: 100%;
		max-width: 100%;
	}
	
	.mw_wp_form .horizontal-item + .horizontal-item {
		margin-left: 0;
	}
	
	.form_wrap table tr td dl dt {
		padding-left: 0;
		min-width: 7em;
	}
	
	.form_wrap form table tr select.form-control {
		width: 210px;
	}
	
	.contact_p_block ul li p, .thanks_wrap ul li.tel_wrap p {
		max-width: 240px;
		margin-right: auto;
		margin-left: auto;
	}
	
	.form_wrap table tr td span.mwform-checkbox-field {
		margin-left: 0;
	}
	
	.submt_wrap .btn-primary {
		margin-bottom: 6px;
	}
}

/* -----------------------------------------------------------
	プライバシーポリシー
----------------------------------------------------------- */

.privacy_page {
	padding-top: 50px;
	margin-bottom: 20px;
}

.privacy_erea {
	border: 1px solid #ccc;
	height: 250px;
    overflow-y: scroll;
	padding: 15px;
}

.privacy_page dl dt {
	font-weight: bold;
	margin-bottom: 0.4em;
}

.privacy_page  h2 {
	font-size: 24px;
}

.consent_erea {
	padding-top: 30px;
	text-align: center;
}

.consent_btn {
	margin-bottom: 20px;
}

.consent_btn span.red {
    color: #f00;
    font-size: 12px;
	padding-top: 2px;
}

.confirm_block .privacy_page, .confirm_block .consent_erea {
	display: none !important;
}

/*----- 入力ステップ -^----*/

.step_wrap {
	margin-bottom: 30px;
}

.thanks_wrap .step_wrap {
	margin-bottom: 50px;
}

@media screen and (min-width: 601px) {
	.step {
		list-style-type: none;
		display:table;
		width:100%;
		padding:0;
		margin:0;
		overflow:hidden;
	}

	.step li {
		display:table-cell;
		position:relative;
		background: #504944;
		padding: 1em 0.5em 1em 2em;
		color: #fff;
		font-size: 16px;
	}

	.step li:last-child {
		padding-right: 1em;
	}

	.step li:last-child:before, .step li:last-child:after{
		display:none;
	}

	.step li:before, .step li:after {
		content: "";
		position: absolute;
		width: 0;
		height: 0;
		margin: auto;
	}

	.step li:before {
		top:-15px;
		right:-1em;
		border-style: solid;
		border-color: transparent transparent transparent #fff;
		border-width: 40px 0 40px 1em;
		z-index: 10;
	}

	.step li:after {
		top:-15px;
		right:-.8em;
		border-style: solid;
		border-color: transparent transparent transparent #504944;
		border-width: 40px 0 40px 1em;
		z-index: 10;
	}

	.step li.is-current {
		background: #18697f;
		font-weight: bold;
	}

	.step li.is-current:after {
		border-color: transparent transparent transparent #18697f;
	}

	.step li span.step_n {
		display: block;
	}
}

@media screen and (max-width: 600px) {
	.step{
		list-style-type: none;
		width:300px;
		margin: 0 auto;
		text-align: center;
		padding: 0;
	}

	.step li{
		position: relative;
		width:300px;
		background: #504944;
		padding: 1em;
		margin-bottom: 1em;
		text-align:center;
		color: #fff;
	}
	.step li:after{
		content: "";
		position: absolute;
		width: 100px;
		height: 0;
		bottom: -9px;
		left: 0;
		right: 0;
		border-style: solid;
		border-color: #504944 transparent transparent transparent;
		border-width: 10px 50px 0 50px;
		z-index: 1;
		margin: auto;
	}
	.step li.is-current{
		background: #18697f;
		font-weight: bold;
	}
	.step li.is-current:after{
		border-color: #18697f transparent transparent transparent;
	}
	
	.step li.last_arrow::after {
		content: none;
	}
}

/* -----------------------------------------------------------
	トップページお知らせ
----------------------------------------------------------- */

.flex_wrap.clm3 {
	flex-wrap: wrap;
}

.flex_wrap.clm3::after {
	content: "";
	display: block;
	width: 32%;
}

.flex_wrap.clm3 li {
	width: 32%;
	margin-bottom: 15px;
}

.top_news_wrap h2.title_h2 {
	text-align: center;
}

.top_news_wrap h2.title_h2::after {
	content: "";
	width: 1px;
	height: 25px;
	background-color: #18697f;
	display: block;
	margin: 8px auto 0;
	transition: all .3s;
}

.top_news_wrap ul li {
	background-color: #fff;
}

.top_news_wrap ul li .imgcut {
	margin-bottom: 10px;
}

.top_news_wrap ul li .top_news_contents {
	padding: 0 15px 15px;
}

.top_news_wrap ul li .date_and_cate {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 4px;
	color: #66615d;
}

.top_news_wrap ul li .date_and_cate p span.new {
	font-size: 12px;
	display: inline-block;
	padding: 3px 4px 2px;
	border-radius: 1px;
	background-color: #1AA1A0;
	color: #fff;
	line-height: 1;
	position: relative;
	top: -1px;
}

.top_news_wrap ul li .date_and_cate .news_cate a {
	display: inline-block;
	color: #fff;
	border-radius: 2px;
	font-size: 13px;
	line-height: 1;
	padding: 4px 10px;
}

.top_news_wrap ul li p {
	margin-bottom: 5px;
	font-size: 16px;
}

.top_news_wrap ul li p a {
	color: #333;
}

.top_news_wrap ul li .date_and_cate p {
	margin-bottom: 0;
}

@media screen and (min-width: 561px) and (max-width: 768px) {
	.flex_wrap.clm3 li {
		width: 100%;
	}
	
	.flex_wrap.clm3 li:not(:last-child) {
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 560px) {
	.flex_wrap.clm3 li {
		width: 100%;
	}
	
	.flex_wrap.clm3 li:not(:last-child) {
		margin-bottom: 20px;
	}
}

/*-------------------------------------*/
/* お知らせ・ブログ
/*-------------------------------------*/

.news_wrap {
	display :flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 1130px;
}

.news_wrap .news_main {
	flex: 1;
	margin-right: 40px;
}

.news_meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.news_meta time {
	font-family: var(--font-en);
	color: var(--sub-color);
}

.news_meta a.post_cat {
	display: inline-block;
	padding: 5px 10px 6px;
	border-radius: 4px;
	color: #fff;
	font-size: 14px;
	line-height: 1;
}

.news_category a.post_cat:not(:first-child) {
	margin-left: 10px;
}

.news_main h1.news_title {
	font-size: 1.4em;
	margin-bottom: 15px;
	font-weight: bold;
}

ul.news_tags {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 25px;
}

ul.news_tags li {
	font-size: 14px;
}

ul.news_tags li:not(:last-child) {
	margin-right: 10px;
}

.news_content {
	margin-bottom: 50px;
}

.news_pager {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 25px;
}

.news_pager .news_prev, .news_pager .news_next {
	width: 48%;
	border-radius: 10px;
}

.news_pager .news_prev p.prev_post {
	font-size: 13px;
}

.news_pager .news_next p.next_post {
	font-size: 13px;
	text-align: right;
}

.news_pager a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px;
	background-color: #f4f4f4;
	border: 1px solid #eee;
	border-radius: 5px;
}

.news_pager .pager_text {
	width: 55%;
}

.news_pager .pager_text span.pager_label {
	font-size: 12px;
	font-family: var(--font-en);
	letter-spacing: 0;
	background-color: var(--bg-color);
	color: var(--sub-color);
	line-height: 1;
	padding: 5px 5px 3px;
	margin-bottom: 4px;
	display: inline-block;
	border-radius: 3px;
}

.news_pager .pager_text p {
	margin-left: 5px;
	font-size: 14px;
}

.news_pager a .pager_thumb {
	width: 40%
}

.news_pager .imgcut {
	border-radius: 0;
}

/*--------- サイドバー ---------*/

.news_wrap aside.sidebar {
	width: 32%;
	min-width: 320px;
	position: sticky;
	top: 0;
	color: var(--sub-color);
	
}

.news_wrap .sidebar h2 {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	font-size: 18px;
	padding: 0 5px 5px;
	font-weight: bold;
	position: relative;
	margin-bottom: 0;
}

.news_wrap .sidebar h2::after {
    content: "";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
	left: 0;
    width: 6em;
    border-bottom: 1px solid var(--color-brown);
}

.sidebar_box {
	margin-bottom: 30px;
}

.new_post_wrap ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 5px;
	border-bottom: 1px solid rgba(0, 0, 0, .05);
}

.new_post_wrap ul li .new_post_thumb {
	width: 80px;
	margin-right: 15px;
	padding: 1px;
	border: 1px solid #C6B3A7;
	background-color: #fff;
}

.new_post_wrap ul li .new_post_thumb a {
	display: block;
}

.new_post_wrap ul li .new_post_thumb .imgcut {
	border-radius: 0;
}

.new_post_wrap ul li .new_post_thumb .imgcut::before {
	padding-bottom: 100%;
}

.new_post_wrap ul li .new_post {
	flex: 1;
}

.new_post_wrap ul li .new_post p {
	font-size: 14px;
}

.new_post_wrap ul li .new_post p.new_post_date {
	font-family: var(--font-en);
}

.side_cate_wrap ul li {
	padding: 10px 5px;
	border-bottom: 1px solid rgba(0, 0, 0, .05);
}

.side_cate_wrap ul li a {
	font-size: 14px;
}

.sidebar_box.side_tag_wrap .sidebar_box_inr {
	padding: 10px 5px 0;
}

.side_tag_wrap a {
	font-size: 14px;
	display: inline-block;
	margin-bottom: 10px;
}

.sidebar_box.side_archive_wrap .sidebar_box_inr {
	padding: 15px 5px 0;
}

.sidebar_box select {
    display: block;
    width: 100%;
	max-width: 320px;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-weight: 400;
    line-height: 1.5;
    background-color: var(--color-white);
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/*--------- アーカイブ ---------*/

ul.news_list {
	border-top: 1px solid rgba(0, 0, 0, .05);
	margin-bottom: 30px;
}

ul.news_list li {
	border-bottom: 1px solid rgba(0, 0, 0, .05);
	padding: 30px 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

ul.news_list li .news_list_thumb {
	width: 30%;
	max-width: 150px;
	margin-right: 20px;
}

ul.news_list li .news_list_thumb a {
	padding: 1px;
    border: 1px solid rgba(0, 0, 0, .1);
	display: block;
}

ul.news_list li .news_list_thumb .imgcut {
	border-radius: 0;
}

ul.news_list li .news_list_thumb .imgcut::before {
	padding-bottom: 100%;
}

ul.news_list li .news_meta {
	margin-bottom: 5px;
}

ul.news_list li .news_list_content {
	flex: 1;
}

ul.news_list li h2 {
	font-weight: bold;
	margin-bottom: 5px;
	font-size: 18px;
}

ul.news_list li p.news_excerpt {
	font-size: 14px;
}

.news_wrap a {
	color: #333;
}

.copySection p {
	text-align: center;
	font-size: 13px;
}

@media screen and (min-width: 769px) and (max-width: 1250px) {
	.news_wrap {
		max-width: 90%;
	}
}

@media screen and (min-width: 561px) and (max-width: 768px) {
	.news_wrap {
		display: block;
		max-width: 90%;
	}
	
	.news_wrap .news_main {
		margin-right: 0;
		margin-bottom: 40px;
	}
	
	.news_wrap aside.sidebar {
		width: 100%;
		min-width: inherit;
	}
}

@media screen and (max-width: 560px) {
	.news_wrap {
		display: block;
		max-width: 90%;
	}
	
	.news_wrap .news_main {
		margin-right: 0;
		margin-bottom: 40px;
	}
	
	.news_wrap aside.sidebar {
		width: 100%;
		min-width: inherit;
	}
	
	.news_pager {
		display: block;
	}
	
	.news_pager .news_prev {
		width: 100%;
		margin-bottom: 15px;
	}
	
	.news_pager .news_next {
		width: 100%;
	}
	
	ul.news_list li {
		display: block;
	}
	
	ul.news_list li .news_list_thumb {
		width: 50%;
		margin: 0 auto 10px;
	}
	
	.news_wrap {
		padding: 0;
	}
}


/* -----------------------------------------------------------
	管理画面用追加CSS
----------------------------------------------------------- */

.imgcut {
	position: relative;
	overflow: hidden;
}

.imgcut::before {
	content:"";
	display: block;
	padding-bottom: 66.6%;
}

.imgcut.img_long::before {
	padding-bottom: 46.85%;
}

.imgcut.img_square::before {
	padding-bottom: 100%;
}

.imgcut img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.page-header {
	text-align: center;
}

.page-header h1 {
	font-size: 2rem;
	padding: 1.2em 0;
	line-height: 1.1;
	color: #fff;
}

.breadcrumb {
	padding: 10px 0 5px;
	border-bottom: 1px solid rgba(0, 0, 0, .05);
	margin-bottom: 60px;
}

.breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 0;
}

.breadcrumb ul li {
	font-size: 14px;
}

.breadcrumb ul li a {
	color: #666;
}

.breadcrumb ul li:not(:last-child) {
	position: relative;
	padding-right: 20px;
}

.breadcrumb ul li:not(:last-child)::after {
	content: "/";
	position: absolute;
	top: 0;
	right: 5px;
}

.breadcrumb ul li:first-child a {
	padding-left: 18px;
	position: relative;
}

.breadcrumb ul li:first-child a::before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	background-image: url("./images/common/icon_home.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.mb_05 {
	margin-bottom: 5px;
}

.mb_30 {
	margin-bottom: 30px;
}

.form_wrap input[type=text], .form_wrap input[type=email] {
    display: block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem 1.5rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	background-color: #eee;
}

.form_wrap textarea {
    display: block;
    width: 100%;
    padding: .375rem 1.5rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	background-color: #eee;
}

.form_wrap form select {
    display: block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem 1.5rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	background-color: #eee;
}

.submt_wrap input[type=submit] {
    font-size: 16px;
    width: 120px;
    border-radius: 4px;
    border: 1px solid #18697f;
    box-shadow: inset 0px 0px 1px rgba(255, 255, 255, 1);
    background-color: #18697f;
    padding: 10px 20px 8px;
    color: #efefef;
}

.privacy_erea dl {
	margin-bottom: 15px;
}

.food_list p:not(:first-child) {
	margin-top: 20px;
}

.food_list p strong {
	font-weight: bold;
}

.linkbtn_wrap {
	text-align: center;
}

.linkbtn_wrap a {
	background-color: var(--color-main);
	color: #faf5ea;
	display: inline-block;
	padding: 12px 40px 9px 20px;
	border-radius: 3px;
	text-align: center;
	position: relative;
	white-space: nowrap;
}

.linkbtn_wrap a::after {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	background-image: url("./images/common/icon_arrow.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

.linkbtn_wrap.shoplink {
	text-align: left;
	margin-top: 10px;
}

.linkbtn_wrap.shoplink a {
	background-color: var(--color-main);
}

.page404 h2 {
	text-align: center;
	font-size: 18px;
	color: var(--color-main);
}

.page404 h2 strong {
	font-size: 1.2em;
	display: block;
	color: #333;
	margin-top: 15px;
}

/* ------------------------------------
   メインビジュアル Slick
------------------------------------ */

/* 矢印ボタン */
.main_slick-slider .slick-prev,
.main_slick-slider .slick-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;

	width: 36px;
	height: 36px;
	padding: 0;

	border: none;
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.7);

	display: flex;
	align-items: center;
	justify-content: center;

	cursor: pointer;
	transition: background 0.3s ease;
}

/* 左矢印 */
.main_slick-slider .slick-prev {
	left: 10px;
}

/* 右矢印 */
.main_slick-slider .slick-next {
	right: 10px;
}

/* 矢印 */
.main_slick-slider .slick-prev span {
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-right: 10px solid #fff;
	border-left: 0;
	border-radius: 2px;
}

.main_slick-slider .slick-next span {
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-left: 10px solid #fff;
	border-right: 0;
	border-radius: 2px;
}

/* ホバー */
.main_slick-slider .slick-prev:hover,
.main_slick-slider .slick-next:hover {
	background: rgba(0, 0, 0, 0.9);
}


/* ------------------------------------
   ドット
------------------------------------ */

.main_slick-slider .slick-dots {
	position: absolute;

	bottom: 20px;
	left: 0;
	right: 0;

	display: flex;
	justify-content: center;
	align-items: center;

	margin: 0;
	padding: 0;

	list-style: none;

	z-index: 10;
}

/* ドット同士の間隔 */
.main_slick-slider .slick-dots li {
	width: 10px;
	height: 10px;

	margin: 0 4px;
	padding: 0;
}

/* ボタン */
.main_slick-slider .slick-dots li button {
	width: 10px;
	height: 10px;

	padding: 0;
	margin: 0;

	border: none;
	border-radius: 50%;

	background: rgba(0, 0, 0, 0.4);

	font-size: 0;
	line-height: 0;

	cursor: pointer;
}

/* Slick標準の「before」を消す */
.main_slick-slider .slick-dots li button:before {
	display: none;
}

/* 現在表示中のドット */
.main_slick-slider .slick-dots li.slick-active button {
	background: #007aff;
}

.news_main a {
	color: #337ab7;
}

.news_main ul li a {
	color: #333;
}

.news_main .news_pager a {
	color: #333;
}

.news_main .linkbtn_wrap a {
	color: #faf5ea;
}

@media screen and (max-width: 769px) {
    button#responsive-menu-button {
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
}
