@charset "utf-8";
/* -------------------------------------------------
Primary style
------------------------------------------------- */
*, *::after, *::before {
	box-sizing: border-box;
}
html {
	font-size: 10px;
}
body {
	min-width: 1040px;
	font-size: 1.4rem;
	color: #333;
	background-color: #fff;
	letter-spacing: .05em;
	font-family:
		"Meiryo", "メイリオ", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "YuGothic", "MS PGothic", sans-serif;
}
.mplus {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.noto {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
a {
	color: #333;
	text-decoration: none;
}
.container {
	width: 1000px;
	margin: 0 auto;
}
img {
	max-width: 100%;
	height: auto;
}
img {
  vertical-align: bottom;
}
.pc {
	display: inline-block;
}
.sp {
	display: none;
}
.call_on {
	/* pointer-events: none; */
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	/* -webkit-box-flex: row; */
	/* -ms-flex: row wrap; */
	/* flex: row wrap; */
}
/* placeholder 色指定 */ ::-webkit-input-placeholder {
	color: #ccc;
}
::-moz-placeholder {
	color: #ccc;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #ccc;
}
/* サイト共通パーツ
------------------------------------------------- */
#top h2 {
	padding-top: 70px;
	text-align: center;
	z-index: 10;
	position: relative;
	font-weight: 700;
	font-size: 3.4rem;
	letter-spacing: 0.075em;
}
#a_store01 h2 {
	color: #fff;
}
h2 {
	padding-top: 40px;
	text-align: center;
}
h2 img {
	vertical-align: bottom;
}
@media (max-width: 750px) {
	#top h2 {
	padding-top: 40px;
	font-size: 2rem;
	}
}
/* header
------------------------------------------------- */
header .hdr_top {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	background: none;
	z-index: 10;
	font-weight: 700;
}
header h1 {
	margin: 0 auto;
	width: 1000px;
	padding-top: 3rem;
	font-size: 1.4rem;
}
header h1 a {
	display: block;
	width: 10.3rem;
}
@media (max-width: 750px) {
	header h1 a {
	display: block;
	width: 5rem;
	}
	#top header h1 a {
	display: block;
	width: 11rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(5.5rem) translateX(-50%);
	}
}
header h1 span {
	padding: 0 10px;
}
header .ul_menu {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 20;
	align-items: center;
}
header .ul_menu li a {
	padding: 3rem 2.5rem 3rem 0;
	display: block;
	font-size: 15px;
	text-align: center;
	color: #fff;
	margin: 5rem 0;
	letter-spacing: 0.075em;
}
header li.call_on a {
	width: 18rem;
	line-height: 4.5rem;
	background-color: #ffbe00;
	box-sizing: border-box;
	color: #333 !important;
	margin: 0 3rem 0 0;
	padding: 0;
	border-radius: 1rem;
}
header li.call_on a:hover {
	background-color: #f49800;
	opacity: 1;
}
header .call_on img {
	vertical-align: middle;
}
#top header #mv .mv_photo {
	position: relative;
	z-index: 1;
}
#top header #mv .mv_photo img {
	width: 100%;
	vertical-align: bottom;
}
#top header #mv .com_logo {
	min-width: 350px;
	width: 33.57vw;
	position: absolute;
	top: 60%;
	right: 0;
	z-index: 2;
}
header #mv .com_logo img {
	margin-left: auto;
	display: block;
}
/* 下層ページ mv */
header #mv {
	position: relative;
}
header #mv .img img {
	vertical-align: bottom;
	max-width: initial;
	width: 100%;
	height: 430px;
	object-fit: cover;
	object-position: center;
}
@media (max-width: 750px) {
	header #mv .img img {
	height: 180px;
	}
}
header #mv .com_logo {
	/* min-width: 240px; */
	/* width: 100%; */
	position: absolute;
	top: 52%;
	right: 50%;
	/* z-index: 2; */
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
}
/* global navi */
#g_nav {
	width: 100%;
	height: 67px;
	background-color: #67753a;
}
#g_nav.scrolled {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
#g_nav ul {
	width: 100%;
	height: 67px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 0;
}
#g_nav ul li a {
	/* color: #fff; */
	font-size: 1.4rem;
}
#g_nav ul li:not(:last-child) a::after {
	padding: 0 25px;
	content: "|";
	font-size: 1.6rem;
}
#g_nav .current, #g_nav a:hover {
	color: #67753a;
}
#g_nav a:hover {
	opacity: 1;
}
#g_nav .current::after, #g_nav a:hover::after {
	color: #fff;
}
/* footer
------------------------------------------------- */
footer .to_top {
	width: 100%;
	height: 65px;
	background-color: #f1f1f1;
}
footer .to_top a {
	display: block;
	width: 100%;
	height: 65px;
	color: #666;
	font-size: 4rem;
	text-align: center;
	line-height: 65px;
}
footer .to_top a .fa {top: -5px;position: relative;}
.footer {
	padding: 35px 0 45px;
	color: #fff;
	background-color: #67753a;
}
.footer .com_info {
	margin-bottom: 15px;
}
.footer .com_info .com_name {
	margin-top: 7px;
}
.footer .com_info .address {
	margin: 12px 0 0 auto;
	font-size: 1.2rem;
	letter-spacing: .1em;
	text-align: right;
}
.footer .ftr_btm {
	padding-top: 30px;
	font-size: 1.2rem;
	border-top: 1px solid #fff;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.footer .ftr_btm .nav li a {
	color: #fff;
}
.footer .ftr_btm .nav li a::before {
	content: "|";
	padding: 0 7px;
}
.footer .ftr_btm .nav li:first-child a::before {
	content: "|";
	padding: 0 7px 0 0;
}
.footer .ftr_btm .nav li:last-child a::after {
	content: "|";
	padding: 0 0 0 7px;
}
/* -------------------------------------------------
topページ
------------------------------------------------- */
#top .what {
	text-align: center;
}
#top .what p {
	margin: 30px 0 40px;
	font-size: 2.2rem;
	line-height: 2.14;
}
@media (min-width: 750px) {
	#top .what .flow  {
	position: relative;
	color: #fff;
	z-index: 1;
	margin: -275px auto 110px;
	text-align: left;
	}
	#top .what .flow h2  {
	text-align: left;
	}
}
@media (max-width: 750px) {

}
#top .what ul {
	justify-content: space-between;
	padding: 0 0 70px;
}
#top .what ul li {
	/* width: calc(100% / 3); */
	overflow: hidden;
	border-radius: 10px;
}
#top .what ul li img {
	vertical-align: bottom;
}
#top .guide {
	position: relative;
	/* background: #fbfbfb; */
	z-index: 1;
	padding: 0 0 70px 0;
}
#top .guide#a_shop02  {
	/* margin: 70px 0 0 0; */
}
#top .guide .bg {
	position: absolute;
	background: #67753a;
	width: 100%;
	height: 425px;
	z-index: 0;
}
#top .guide .img {
	margin: 40px 0 0 0;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
#top .guide .img ul {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#top .guide .img img {
	vertical-align: bottom;
}
#top .guide .bg_white {
	/* background: #fff; */
	/* padding: 50px 50px 56px 50px; */
	position: relative;
	z-index: 3;
}
#top .guide .bg_white.bg_white2 {
    padding: 50px 0 0 0;
    margin: 0;
}
#top .guide .name_flex {
	justify-content: space-between;
	align-items: center;
	padding: 23px 0 22px 0;
}

#top .text01 {
	text-align: center;
	margin: 45px 0 0;
	font-size: 2.8rem;
	font-weight: 700;
}
#top .text02 {
	text-align: center;
	margin: 10px 0 0 0;
	font-size: 1.8rem;
}
#top .text03 {
	text-align: center;
	margin: 20px 0 30px 0;
}
@media (max-width: 750px) {
	#top .text01 {
	margin: 20px 0 0;
	font-size: 1.8rem;
	}
	#top .text02 {
	margin: 5px 0 0 0;
	font-size: 1.4rem;
	}
}
#top .ul01 {
	justify-content: space-between;
	width: 720px;
	margin: 30px auto;
}
#top .ul01 .btn {
	width: 345px;
	background: #fbbd02;
	color: #fff;
	text-align: center;
	line-height: 50px;
	font-size: 2.2rem;
	letter-spacing: 0.075em;
}
#top .ul02 {
	justify-content: space-between;
	width: 720px;
	margin: 0 auto 25px;
}
#top .ul02 li {
	width: 345px;
}
#top .ul02 li:nth-child(2) {
	border: 1px solid #ccc;
}
#top .ul01 .btn a {
	display: block;
	color: #fff;
}
@media (max-width: 750px) {
	#top .what ul {
	justify-content: space-between;
	padding: 0;
	}
	#top .guide {
	padding: 0;
	}
	#top .ul01 {
	width: 100%;
	flex-direction: column;
	margin: 20px auto;
	}
	#top .ul01 .btn {
	width: 100%;
	font-size: 1.5rem;
	line-height: 4.5rem;
	}
	#top .ul01 .btn:nth-child(2) {
	margin: 20px 0 0 0
	}
	#top .ul02 {
	width: 100%;
	flex-direction: column;
	}
	#top .ul02 li {
	width: 100%;
	}
	#top .ul02 li:nth-child(1) {
	margin: 0 0 20px 0;
	}
	
}


.hours {
	border: 1px solid #cccccc;
	font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
	max-width: 720px;
	margin: 0 auto;
	box-sizing: border-box;
}
.hours__row {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
}
.hours__cell {
	border-right: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
	text-align: center;
}
.hours__row .hours__cell:last-child {
	border-right: none;
}
.hours__head .hours__cell {
	background: #92a95d; /* 画像のオリーブ系 */
	color: #fff;
	font-weight: 600;
	letter-spacing: 0.08em;
	padding: 18px 0;
	font-size: 1.6rem;
}
.hours__body .hours__cell {
	padding: 18px 0;
	background: #fff;
	font-size: 1.6rem;
	color: #333;
}
.hours__cell {
	display: flex;
	align-items: center; /* 縦中央 */
	justify-content: center; /* 横中央 */
	text-align: center;
}
.hours__time > span {
	display: block;
	line-height: 1.2;
}
.hours__arrow::before {
	font-family: FontAwesome; /* FA4 */
	content: "\f107"; /* fa-angle-down */
	display: block;
	margin: 8px 0;
	font-size: 18px;
	color: #555;
}
.hours__row.hours__body .hours__cell {
	border-bottom: none;
}
@media (max-width: 750px) {
	.hours__body .hours__cell {
	padding: 18px 0;
	background: #fff;
	font-size: 1.2rem;
	color: #333;
	}
	.hours__holiday {
	writing-mode: vertical-rl;
	text-orientation: upright;
	}
}






/* お知らせ */
#top .news {
	padding-bottom: 75px;
	background: #fbfbfb;
}
#top .news .flex_title {
	justify-content: space-between;
	align-items: center;
}
#top .news .flex_title h2 {
	font-weight: 700;
	font-size: 38px;
}
@media (max-width: 750px) {
	#top .news .flex_title h2 {
	font-size: 2rem;
	}
}
#top .news .flex_title img {
	padding-top: 7rem;
}
#top .news .contsbox {
	margin-top: 25px;
	/* padding-top: 30px; */
	border-top: 5px solid #67753a;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#top .news .contsbox .news_list {
	width: 100%;
}
#top .news .contsbox .news_list h3 {
	font-size: 1.8rem;
	font-weight: 600;
}
#top .news .contsbox .news_list ul {
	/* margin-top: 25px; */
}
#top .news .contsbox .news_list ul li {
	width: 100%;
	/* height: 75px; */
	border-top: 1px solid #ccc;
}
#top .news .contsbox .news_list ul li:last-child {
	border-bottom: 1px solid #ccc;
}
#top .news .contsbox .news_list ul li a {
	font-size: 1.4rem;
	display: block;
	padding: 27.5px 0;
}
#top .news .contsbox .news_list ul li a:hover {
	background: #67753a1c;
}
#top .news .contsbox .news_list ul li a time {
	padding: 0 20px 0 5px;
	letter-spacing: .1em;
}
#top .news .contsbox .fb {
	margin-top: 43px;
}
#top .news .btn {
	margin: 40px auto 0;
	width: 350px;
	height: 65px;
	background-color: #67753a;
}
#top .news .btn a {
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	line-height: 65px;
}
#top .news .news-cat {
    margin-right: 20px;
    padding: 2px 20px 0 20px;
    color: #fff;
    font-weight: 500;
    background-color: #67753a;
    border-radius: 3px;
    font-size: 1.2rem;
}


/* -------------------------------------------------
下層ページ
------------------------------------------------- */
/* 共通パーツ */
.contsbox {
	margin-top: 30px;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}
.contsbox .img {
	width: 815px;
}
.contsbox .txt {
	margin-top: calc((385px - 250px) / 2);
	margin-left: -115px;
	width: 300px;
	height: 250px;
	background-color: #67753a;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
}


/* お知らせ
------------------------------------------------- */
#news h2 {
	padding: 7px 15px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 0.4;
	border-left: 3px solid #67753a;
}
#news .wrapper {
	margin-top: 40px;
	/* padding-bottom: 100px; */
	/* font-family: "メイリオ", Meiryo; */
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#news .main {
	width: 680px;
}
#news .main > p {
	/* padding-bottom: 10px; */
	font-size: 1.8rem;
	/* letter-spacing: .08em; */
	/* line-height: 1; */
	/* border-bottom: 4px solid #dcdcdc; */
	/* position: relative; */
	color: #67753a;
}
#news .main > p::after {
	/* content: ""; */
	/* display: block; */
	/* width: 190px; */
	/* height: 4px; */
	/* background-color: #67753a; */
	/* position: absolute; */
	/* bottom: -4px; */
	/* left: 0; */
}
#news .wrapper .main article {
	/* margin-top: 45px; */
}
#news .wrapper .main article {
	/* margin-bottom: 50px; */
	padding: 30px 0;
	border-top: 1px solid #cccccc;
}
#news .wrapper .main article:nth-of-type(1) {
	border-top: unset;
	padding: 0 0 30px 0;
}
#news .wrapper .main article:last-of-type {
	/* padding: 30px 0; */
}
#news .wrapper .main article h3 {
	padding: 7px 15px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 0.4;
	border-left: 3px solid #67753a;
}
#news .wrapper .main article p:first-of-type {
	margin-top: 25px;
}
#news .wrapper .main article p:first-of-type time, #news .wrapper .main article p:first-of-type span {
	font-size: 1.2rem;
}
#news .wrapper .main article p:first-of-type span {
	margin-left: 15px;
	padding: 2px 20px;
	color: #fff;
	font-weight: 500;
	background-color: #67753a;
	border-radius: 3px;
}
#news .wrapper .main article p:nth-of-type(2) {
	margin-top: 15px;
}
#news .wrapper .main article p {
	font-size: 1.4rem;
	letter-spacing: .08em;
	line-height: 2.14;
	text-align: justify;
}
#news aside {
	width: 270px;
	margin: 0 0 30px;
}
#news aside .news-archive {
	margin: 20px 0 0 0;
}
#news aside div {
	border: 1px solid #67753a;
	border-radius: 10px;
	overflow: hidden;
}
#news aside div p {
	height: 70px;
	font-size: 1.8rem;
	line-height: 70px;
	color: #fff;
	text-align: center;
	background-color: #67753a;
}
#news aside div ul li a {
	display: block;
	padding: 15px 20px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.35;
}
#news aside div ul li a::before {
	padding-right: 10px;
	content: "\f105";
	color: #67753a;
	font-family: FontAwesome;
}
#news .backbtn {
	margin: 50px 0;
}
#news .backbtn a {
	color: #67753a;
	padding: 5px 45px;
	border: 1px solid #67753a;
	font-size: 14px;
	border-radius: 3px;
}
#news .backbtn a:hover {
	color: #fff;
	padding: 5px 45px;
	border: 1px solid #67753a;
	font-size: 14px;
	border-radius: 3px;
	background: #67753a;
	opacity: 1;
}

/* privacy
------------------------------------------------- */
.privacy {
	padding-top: 45px;
	padding-bottom: 45px;
}
.privacy h3 {
	margin-bottom: 25px;
	text-align: center;
	font-size: 22px;
}
.privacy h4 {
	color: #67753a;
}
.privacy p {
	margin-top: 10px;
	margin-bottom: 25px;
	font-size: 1.4rem;
	line-height: 2.14;
	letter-spacing: .06em;
}



/* お問い合わせ
--------------------------------------------------------------*/
#contact .contact {
	padding-bottom: 90px;
}
#contact .contact h3 {
	font-size: 18px;
	font-weight: 500;
	margin: 75px 0 0 0;
}
#contact .contact .lead {
	padding: 10px 0 0 0;
	/* text-align: center; */
	font-size: 14px;
}
#contact .contact form {
	margin-top: 60px;
	font-size: 1.4rem;
	border: 5px solid rgba(0, 172, 193, 0.2);
}
#contact .contact form > p {
	padding: 40px 200px;
	font-weight: 500;
	line-height: 2.14;
	border-bottom: 5px solid rgba(0, 172, 193, 0.2);
	letter-spacing: 0em;
}
#contact .contact form dl {
	padding: 80px 195px 30px;
	line-height: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: wrap;
	flex-flow: wrap;
}
#contact .contact form dl dt, #contact .contact form dl dd {
	margin-bottom: 15px;
}
#contact .contact form dl dt:nth-of-type(4), #contact .contact form dl dd:nth-of-type(4) {
	margin-bottom: 30px;
}
#contact .contact form dl dt {
	padding: 12px 0 0 50px;
	width: 200px;
	font-weight: bold;
	position: relative;
}
#contact .contact form dl dt span {
	margin-top: 3px;
	width: 30px;
	height: 30px;
	font-size: 1.2rem;
	color: #fff;
	line-height: 30px;
	text-align: center;
	background-color: #67753a;
	border-radius: 15px;
	position: absolute;
	top: 0;
	left: 0;
}
#contact .contact form dl dd {
	width: 400px;
}
#contact .contact form dl dd input, #contact .contact form dl dd textarea {
	width: 400px;
	border: 2px solid rgba(0, 172, 193, .3);
}
#contact .contact form dl dd input {
	height: 38px;
	padding-left: 8px;
	padding-right: 8px;
}
#contact .contact form dl dd > p:first-of-type {
	margin-bottom: 15px;
}
#contact .contact form dl dd > p:nth-of-type(2) {
	margin-bottom: 8px;
}
#contact .contact form dl dd select {
	margin-bottom: 8px;
	border-radius: 3px;
}
#contact .contact form dl dd textarea {
	height: 143px;
	padding: 5px 8px;
	line-height: 1.75;
}
#contact .contact form .submit_cover {
	margin: 0 auto 80px;
	width: 600px;
	height: 60px;
}
#contact .contact form .submit_cover input {
	width: 600px;
	height: 60px;
	color: #fff;
	font-weight: 700;
	letter-spacing: .1em;
	border-radius: 10px;
	border-style: none;
	cursor: pointer;
	background: url(../img/recruit/arrows01.png) no-repeat right 18px center #67753a;
}



/* -------------------------------------------------
レスポンシブ
------------------------------------------------- */
@media screen and (max-width: 480px) {
	body {
		min-width: 320px;
	}
	.container {
		width: auto;
		margin: 0;
		padding: 0 20px;
	}
	.pc {
		display: none;
	}
	.sp {
		display: inline-block;
	}
	.call_on {
		pointer-events: auto;
	}
	/* サイト共通パーツ
	------------------------------------------------- */
	h2 {
		padding-top: 30px;
	}
	/* header
	------------------------------------------------- */
	#top header .hdr_top {
		/* background: #ffffff70; */
		/* position: absolute; */
		/* top: 50vw; */
		/* left: 50%; */
		/* transform: translateY(0%) translateX(-50%); */
		/* left: 50%; */
	}
	header .hdr_top a {
		opacity: 1!important;
	}
	header .hdr_top img {
		width: 20rem;
		height: auto;
		margin: 10px 0 0 0;
	}
	header h1 {
		margin: 0;
		width: calc(100% - 68px);
		padding: 5px 0 0 0;
		font-size: 1.2rem;
		line-height: 1.35;
	}
	header .tel {
		margin: -68px 0 0 auto;
		width: 68px;
		height: 68px;
	}
	header .call_on {
		width: 100%;
		height: 100%;
		line-height: 68px;
	}
	#top header #mv .com_logo {
		min-width: 200px;
		top: 68%;
	}
	/* 下層ページ mv */
	header #mv .com_logo {
		margin: -20px 0 0 0;
	}
	header #mv .com_logo img {
		max-width: unset;
		height: 40px;
		width: auto;
		margin: 20px 0 0 0;
	}
	/* global navi */
	#g_nav {
		height: auto;
		position: relative;
	}
	#g_nav .btn {
		display: block;
		height: 48px;
		font-size: 1.4rem;
		color: #fff;
		line-height: 48px;
		text-align: center;
		border-bottom: 1px solid #fff;
		position: relative;
	}
	#g_nav .btn span {
		font-size: 2.4rem;
		position: absolute;
		top: calc(100% / 2 - 24px);
		right: 15px;
		-webkit-transition: all ease-in-out 0.3s;
		transition: all ease-in-out 0.3s;
	}
	#g_nav .btn.active span {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#g_nav ul {
		width: 100%;
		height: auto;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		background-color: rgb(235 235 235);
		position: absolute;
		z-index: 9999;
	}
	#g_nav ul li {
		width: 100%;
		height: 60px;
		border-bottom: 1px solid #fff;
	}
	#g_nav ul li a {
		display: block;
		width: 100%;
		height: 100%;
		text-align: center;
		line-height: 60px;
	}
	#g_nav ul li:not(:last-child) a::after {
		padding: 0;
		content: " ";
		font-size: 0;
	}
	/* footer
	------------------------------------------------- */
	footer .to_top {
		height: 60px;
	}
	footer .to_top a {
		height: 100%;
		line-height: 60px;
	}
	.footer {
		padding: 25px 0 15px;
	}
	.footer .com_info {
		margin-bottom: 10px;
		padding: 0 10px;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.footer .com_info .com_name {
		margin-top: 0px;
		width: 100%;
	}
	.footer .com_info .com_name img {
		width: 150px;
	}
	.footer .com_info .address {
		margin: 10px 0;
		font-size: 1.2rem;
		letter-spacing: .1em;
		text-align: left;
	}
	.footer .com_info .fb {
		margin-top: 15px;
	}
	.footer .ftr_btm {
		padding: 15px 10px 0;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.footer .ftr_btm .nav {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	footer .ftr_btm .nav li {
		margin-bottom: 15px;
		width: calc(100% / 2);
		border-left: 1px solid #fff;
	}
	footer .ftr_btm .nav li:nth-child(-n+2) {
		width: calc(100% / 2);
	}
	footer .ftr_btm .nav li:nth-child(1) {
		/* width: 100%; */
		/* border-right: 1px solid #fff; */
	}
	footer .ftr_btm .nav li:nth-child(2),
	footer .ftr_btm .nav li:nth-child(4) {
		border-right: 1px solid #fff;
	}
	footer .ftr_btm .nav li:nth-child(4) {
	}
	footer .ftr_btm .nav li:last-child {
		border-right: 1px solid #fff;
	}
	.footer .ftr_btm .nav li a {
		display: block;
		width: 100%;
		text-align: center;
	}
	.footer .ftr_btm .nav li a::before {
		content: "";
		padding: 0;
	}
	.footer .ftr_btm .nav li:first-child a::before {
		content: "";
		padding: 0;
	}
	.footer .ftr_btm .nav li:last-child a::after {
		content: " ";
		padding: 0;
	}
	.footer .ftr_btm .copy {
		text-align: center;
		font-size: 1.1rem;
	}
	/* -------------------------------------------------
	topページ
	------------------------------------------------- */
	/* どんな薬局 */
	#top .what p {
		margin: 15px 0 20px;
		text-align: left;
		font-size: 1.4rem;
	}
	#top .what p span {
		letter-spacing: 0;
	}
	#top .what ul {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#top .what ul li {
		width: 32%;
		padding: 0;
	}
	/* 店舗情報 */
	#top .guide .img p {
		margin-bottom: 5px;
	}
	#top .guide .img ul li {
		width: 100%;
		margin: 0 0 20px;
	}
	#top .guide .img {
	    margin: 20px 0 0 0;
	}
	#top .guide .img ul {
		flex-wrap: wrap;
	}
	#top .guide .img ul img {
		width: 100%;
	}
	#top .guide .name_flex {
		justify-content: center;
		align-items: center;
		padding: 15px 0 22px 0;
	}
	#top .guide .name_flex img {
		max-width: 100%;
		width: unset !important;
		height: auto;
	}
	#top .guide .bg {
		position: absolute;
		background: #67753a;
		width: 100%;
		height: 200px;
		z-index: 2;
	}
	
	#top .news {
		padding-bottom: 50px;
	}
	#top .news .contsbox {
		margin-top: 25px;
		padding-top: 15px;
		border-top: 5px solid #67753a;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-align-items: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin-bottom: 20px;
	}
	#top .news .contsbox .news_list {
		width: 100%;
	}
	#top .news .contsbox .news_list ul {
		margin-top: 10px;
	}
	#top .news .contsbox .news_list ul li a {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	#top .news .contsbox .news_list ul li a time {
		padding: 0 20px 0 5px;
	}
	#top .news .contsbox .fb {
		margin-top: 25px;
	}
	#top .news .btn {
		margin: 25px auto 0;
		max-width: 350px;
		width: 100%;
		height: 60px;
	}
	#top .news .btn a {
		line-height: 60px;
	}
	/* -------------------------------------------------
	下層ページ
	------------------------------------------------- */
	/* 共通パーツ */
	.contsbox {
		margin-top: 25px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column wrap;
		flex-flow: column wrap;
	}
	.contsbox .img {
		width: 100%;
	}
	.contsbox .txt {
		margin: -35px auto 0;
		width: 280px;
		height: 200px;
		/*
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	*/
	}
	
	/* お知らせ
	------------------------------------------------- */
	#news h2 {
		font-size: 1.4rem;
	}
	#news .wrapper {
		margin-top: 25px;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	#news .main {
		/* margin-bottom: 35px; */
		width: 100%;
	}
	#news .main > p {
		/* padding-bottom: 5px; */
		/* font-size: 1.8rem; */
		/* line-height: 1; */
		/* border-bottom: 4px solid #dcdcdc; */
	}
	#news .main > p::after {
		width: 30vw;
	}
	#news .wrapper .main article {
		/* margin-top: 20px; */
		padding: 20px 0;
	}
	#news .wrapper .main article:nth-of-type(1) {
		border-top: unset;
		padding: 0 0 20px;
	}
	#news .wrapper .main article:not(:last-of-type) {
	}
	#news .wrapper .main article:last-of-type {
		/* padding: 20px 0 0 0; */
	}
	#news .wrapper .main article h3 {
		padding: 3px 12px;
		font-size: 1.5rem;
		line-height: 1.35;
		border-left: 4px solid #67753a;
	}
	#news .wrapper .main article p:first-of-type {
		margin-top: 7px;
		font-size: 1.3rem;
		line-height: 2.6rem;
		letter-spacing: 0;
	}
	#news .wrapper .main article p:nth-of-type(2) {
		margin-top: 10px;
		font-size: 1.4rem;
		line-height: 1.75;
	}
	#news aside {
		padding: 0 10px;
		width: 100%;
	}
	#news aside div p {
		height: 40px;
		font-size: 1.5rem;
		line-height: 40px;
	}
	#news aside div ul li a {
		font-size: 1.3rem;
		padding: 8px 20px;
	}
	#news .backbtn {
		margin: 0 0 40px;
		text-align: center;
		padding: 0 10px;
	}
	#news .backbtn a {
		padding: 15px;
		width: 100%;
		display: block;
	}
	/* お問い合わせ */
	#contact .contact {
		padding-bottom: 25px;
	}
	#contact .contact .lead {
		padding: 20px 10px;
		font-size: 1.4rem;
	}
	#contact .contact form {
		margin-top: 15px;
	}
	#contact .contact form > p {
		padding: 10px 15px;
		line-height: 1.75;
	}
	#contact .contact form dl {
		padding: 10px 15px;
		line-height: 1;
		/*
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: wrap;
	flex-flow: wrap;
	*/
	}
	#contact .contact form dl dt:nth-of-type(4), #contact .contact form dl dd:nth-of-type(4) {
		margin-bottom: 15px;
	}
	#contact .contact form dl dt:nth-of-type(n+3):nth-of-type(-n+6) {
		margin-bottom: 7px;
		padding: 12px 0 0 0;
	}
	#contact .contact form dl dt {
		padding: 12px 0 0 40px;
		width: 200px;
		font-weight: bold;
		position: relative;
	}
	#contact .contact form dl dd {
		width: 100%;
	}
	#contact .contact form dl dd:nth-of-type(5) {
		margin-bottom: 0;
	}
	#contact .contact form dl dd input, #contact .contact form dl dd textarea {
		width: 100%;
	}
	#contact .contact form dl dd > p:nth-of-type(2) {
		font-size: 1.3rem;
	}
	#contact .contact form dl dd textarea {
		height: 120px;
		line-height: 1.75;
	}
	#contact .contact form .submit_cover {
		margin: 0 auto 25px;
		padding: 0 20px;
		max-width: 300px;
		width: 100%;
		height: 50px;
	}
	#contact .contact form .submit_cover input {
		width: 100%;
		height: 100%;
	}
}






/* Pagenavi(一覧ページ)
--------------------------------------------------------------*/
.pagenavi {
    display: inline-block;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    padding: 25px 0 75px 0;
}
.pagenavi span.pages {
    display: none;
}
.pagenavi span,
.pagenavi a {
    border-style: solid;
    border-width: 1px;
    border-color: #f1f1f1;
    background-color: #fff;
    float: left;
    color: #666;
    text-align: center;
    -moz-transition: all 0.26s ease;
    -o-transition: all 0.26s ease;
    -webkit-transition: all 0.26s ease;
    transition: all 0.26s ease;
    display: block;
    -moz-box-shadow: 0px 2px 0px 0px #f1f1f1;
    -webkit-box-shadow: 0px 2px 0px 0px #f1f1f1;
    box-shadow: 0px 2px 0px 0px #f1f1f1;
    margin-right: 10px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    padding: 0 17px !important;
    min-width: 46px;
    box-sizing: border-box;
    line-height: 40px;
}
.pagenavi span.current,
.pagenavi span:hover,
.pagenavi a.current,
.pagenavi a:hover {
    background-color: #beb7a5;
    color: #fff;
    opacity: 1;
    border-color: #f1f1f1;
}

@media (max-width: 750px) {
    /* Pagenavi(一覧ページ) */
    .pagenavi {
    padding: 30px 0;
    }
}



/* Pagination(詳細ページ)
--------------------------------------------------------------*/
.pagination {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 19px 0;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid #eeef;
    border-bottom: 1px solid #eeef;
    margin: 30px 0 30px 0;
}
.pagination .btn-pager {
    letter-spacing: 0.15em;
    color: #333;
    background: #fff;
    display: block;
    text-align: center;
    width: 33%;
    padding: 0;
    -moz-transition: all 0.26s ease;
    -o-transition: all 0.26s ease;
    -webkit-transition: all 0.26s ease;
    transition: all 0.26s ease;
    font-weight: 500;
    line-height: 1em;
}
.pagination .page-back {
    border-left: 1px solid #eeef;
    border-right: 1px solid #eeef;
}
.pagination .btn-pager.hidden {
    color: #eeef;
    cursor: default;
}
.pagination .btn-pager:hover.hidden {
    color: #eeef;
    opacity: 1;
}
.pagination .btn-pager img {
    width: auto;
    height: 13px;
    margin: -3px 10px 0 0;
    vertical-align: middle;
}
.pagination .btn-pager.page-next img {
    margin-right: 0;
    margin-left: 10px;
}

@media (max-width: 750px) {
    /* Pagination(詳細ページ) */
    .pagination {
    position: relative;
    padding: 0 0px 42px 0px;
    margin: 30px 0 30px 0;
    width: 100%;
    }
    .pagination .page-back {
    border: unset;
    }
    .pagination a.btn-pager.page-back {
    position: absolute;
    bottom: 0px;
    margin: 0px 0px !important;
    width: 100% !important;
    border-top: 1px solid #eeef;
    }
    .pagination .btn-pager {
    margin: 0;
    width: 50%;
    line-height: 42px;
    }
    .pagination .btn-pager.page-next {
    float: right;
    margin-right: 0px;
    position: relative;
    border-bottom: 1px solid #eeef;
    }
    .pagination .btn-pager.page-next:before {
    position: absolute;
    content: '';
    height: 14px;
    width: 1px;
    display: block;
    z-index: 10;
    background: #333;
    top: 50%;
    transform: translateY(-50%) translateX(0%);
    -webkit- transform: translateY(-50%) translateX(0%);
    }
}



/* =========================
   会社概要
========================= */

:root {
	--line-green: #8faa5a; /* オリーブ寄りの罫線カラー */
}

.office {
	padding: 0 0 6rem 0;
	background: #fbfbfb;
}

.office__title {
	text-align: center;
	font-size: 1.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin-bottom: 4.5rem;
	color: #333;
}

.office__table {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 5rem;
}

.office__row {
	display: grid;
	grid-template-columns: 150px 1fr;
	align-items: center;
	padding: 2.4rem 0;
	border-bottom: 1px solid var(--line-green);
}

.office__row:nth-child(-n+2) {
	border-top: 1px solid var(--line-green);
}

.office__row dt {
	font-weight: 600;
	color: #333;
	letter-spacing: 0.04em;
}

.office__row dd {
	margin: 0;
	color: #777;
	letter-spacing: 0.03em;
	line-height: 1.6;
}

/* =========================
   SP
========================= */

@media (max-width: 750px) {
	.office {
		padding: 0 0 4rem 0;
	}

	.office__table {
		grid-template-columns: 1fr;
	}

	.office__row {
		grid-template-columns: 1fr;
		padding: 1.8rem 0;
	}

	.office__row dt {
		margin-bottom: 0.4rem;
	}
}






/* ------------------------------
  医療DX推進体制整備加算
  基本：1rem = 10px / font-size: 1.4rem（14px）
------------------------------ */

#sec_dx {
  background-color: #f7f9fa;
  padding: 7rem 0;
}

#sec_dx .container {
  max-width: 96rem; /* 960px */
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* 説明文 */
#sec_dx .text01 {
  font-size: 1.8rem; /* 14px */
  line-height: 1.7;
  font-weight: 700;
  margin: 0 0 3rem;
  padding: 0 0 2rem;
  border-bottom: 1px solid #ccc;
}

/* リスト全体 */
#sec_dx .ul01 {
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}

/* 各項目 */
#sec_dx .ul01 li {
  position: relative;
  width: calc(50% - 0.75rem);
  padding-left: 1.25rem;
  font-size: 1.4rem; /* 14px */
  line-height: 2;
}

/* チェックマーク */
#sec_dx .ul01 li {
  position: relative;
  padding-left: 1.3em;
}

#sec_dx .ul01 li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 1em;
  height: 1em;
  background: url("../img/dx/check.svg") no-repeat center / contain;
}


/* スマホ */
@media screen and (max-width: 767px) {
	#sec_dx {
	padding: 2.5rem 0;
	}
	
	#sec_dx .text01 {
	font-size: 1.5rem;
	}
	#sec_dx .ul01 li {
	width: 100%;
	}
}
