@charset "UTF-8";
/*------------------------------------
	Mobile用CSS
--------------------------------------*/
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');

@media screen and (max-width: 1024px) {
	body {
		font-size: 1.2rem;
	}

	p {
		margin: 1.25em 0;
	}

	table {
		width: 150% !important;
		table-layout: fixed;
		width: 400px;
	}

	.sp-scroll-x {
		overflow-x: scroll;
	}

	.sp-break {
		display: inline-block;
	}

	.sp-full-width {
		width: 100%;
	}

	/*-- Reset --*/
	.outer-wrap {
		max-width: auto;
		min-width: auto;
	}
	.inner-wrap, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11 {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.xlarge-margin-bottom {
		margin-bottom: 7em;
	}

	.large-margin-bottom {
		margin-bottom: 5em;
	}

	.middle-margin-bottom {
		margin-bottom: 3em;
	}

	.small-margin-bottom {
		margin-bottom: 1em;
	}

	.mb-push-none {
		float: none;
	}

	.mb-push-left {
		float: left;
	}

	.mb-push-right {
		float: right;
	}

	.mb-push-clear {
		clear: both;
	}

	.mb-small-margin-bottom {
		margin-bottom: 1em;
	}

	.mb-middle-margin-bottom {
		margin-bottom: 2em;
	}

	/*-- Gnavi --*/
	.topnav {
		background: #1c1c1c;
	}

	.topnav__logo {
		float: left;
		position: relative;
		transform: none;
		z-index: 3;
		top: 0;
		left: 0;
	}

	.topnav__nav {
		padding: 20% 0 10%;
		float: none;
	}

	.topnav__nav-list {
		margin: 0;
		float: none;
		font-size: 2rem;
	}

	.topnav__nav-list::after {
		width: 1em;
		margin-left: 0.5em;
		border-bottom: 2px solid;
		content: '';
		display: inline-block;
		vertical-align: middle;
	}

	.mb-menu-list-sub {
		margin-left: 1em;
		display: inline-block;
		vertical-align: middle;
		font-size: 1rem;
		font-weight: 400;
		letter-spacing: 0.1em;
		font-family: 'Noto Sans Japanese','游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic',sans-serif;
	}

	.inquiry {
		float: none;
		text-align: center;
		margin-bottom: 2em;
	}

	.sub-menu {
		padding-left: 0;
		display: block;
		list-style: none;
		font-weight: 400;
	}

	.sub-menu li::before {
		content: '∟';
		font-size: 0.3em;
		padding-right: 0.5em;
	}

	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		float: right;
		width: 30px;
		height: 22px;
		margin: 3%;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
		border-radius: 2px;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 10px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(-315deg);
		transform: translateY(10px) rotate(-315deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(315deg);
		transform: translateY(-10px) rotate(315deg);
	}

	.hamberger-container {
		width: 100%;
		height: 100vh;
		padding: 10%;
		background: #1c1c1c;
		position: absolute;
		top: -100vh;
		left: 0;
		transition: top .5s ease;
		overflow-y: scroll;
	}

	.hamberger-container.open {
		top: 0;
	}


	/*-- Skin --*/
	.mb-fc-wht {
		color: #fff;
	}

	.mb-bg-wht {
		background: #fff;
	}

	.mb-bg-lgry {
		background: #f9f9f9;
	}

	.service-circle {
		font-size: 2.4rem;
		top: 20%;
	}

	.service-circle__txt {
		line-height: 1em;
	}

	.top-service__circle  {
		top: 30%;
		left: 50%;
		transform: translateX(-50%);
	}

	.fs-bit-large {
		font-size: 1.2rem;
	}

	/*-- SVG --*/
	.foot-logo {
		width: 25%;
		margin: 0 auto;
	}

	.access-map-log {
		width: 60%;
		height: 50px;
	}

	.page-top {
		width: 30px;
		height: 15px;
	}

	.sns-logo {
		width: 30px;
	}

	.foot-external-link {
		height: 40px;
	}

	.top-logo {
		width: 120px;
		height: 40px;
	}

	.mail-icon {
		width: 1.5em;
		margin-right: 1em;
	}

	/* JS */
	.set-bg-img {
		background-position: 50% top;
		background-size: contain;
	}
	/* Box Settings */
	.flex-box {
		flex-wrap: wrap;
	}
	.mb-full-width {
		width: 100%;
	}

	.mb-half-box {
		width: calc(50% - 1px);
	}
	.mb-two-thirds-box {
		width: 66.666%;
	}

	.mb-three-quarter-box {
		width: 75%;
	}

	.mb-block-box {
		display: block;
	}

	.article-box {
		margin-bottom: 2em;
	}

	.content-box {
		margin-top: 7%;
	}

	.sub-content-box {
		width: 100%;
		margin: 0;
		margin-bottom: 1em;
		box-sizing: border-box;
	}

	.flow-box {
		padding-left: 0;
		padding-top: 50%;
	}

	.read-box {
		padding: 1em 2em;
	}

	/*-- Title --*/
	.top-catch .catch-title {
		top: calc(50% - 6em);
	}

	.main-title {
		margin-bottom: 0.2em;
		font-size: 2.4rem;
		line-height: 1.25em;
	}

	.sub-title {
		font-size: 1rem;
	}

	.article-title {
		margin-top: 1em;
		font-size: 2.4rem;
	}

	.article-title__sub {
		display: block;
		font-size: 1.2rem;
	}

	.footer-title {
		margin-top: 0;
		margin-bottom: 0.5em;
	}

	.vertical-title {
		margin-top: 3em;
		writing-mode: horizontal-tb;
		font-size: 2.8rem;
	}

	.read-title {
		margin-bottom: 2.5em;
		font-size: 2.4rem;
		color: #fff;
	}

	.grandchild-title {
		width: 75%;
		font-size: 1.4rem;
		margin-bottom: 1.5em;
	}

	.border-title {
		font-size: 1.4rem;
	}

	.single-article-box__title {
		font-size: 1.6rem;
	}

	.news-article-box__title {
		font-size: 1.4rem;
	}

	.number-title {
		font-size: 1.6rem;
	}

	/*-- Button --*/
	.web-button,
	.mb-tel-link {
		font-size: 1.4rem;
	}

	.tel-num {
		display: none;
	}

	.mb-tel-link {
		display: block;
		font-weight: bold;
	}

	.view-button {
		font-size: 1.2rem;
	}

	/*-- Table Style --*/
	.table__head {
		width: 100%;
		padding: 1em;
		padding-bottom: 0;
		display: block;
	}

	.table__data {
		width: 100%;
		padding: 1em;
		display: block;
	}

	/*-- Slider --*/
	#slider {
		margin-bottom: 2em;
	}
	.slick-slide img {
		width: 100%;
	}

	.thumb-list {
		width: 30%;
		margin: 0 1.5% 1em;
	}

	/*-- Archive --*/
	.blog-box {
		width: calc((100% - 10px) / 2);
	}

	.blog-box__date {
		font-size: 1rem;
	}

	.wp-pagenavi .page,
	.wp-pagenavi .extend {
		display: none;
	}

	.news-article-box {
		border-left: 4px solid;
	}

	.news-article-box__date {
		font-size: 1.2rem;
	}

	.news-article-box__icon {
		font-size: 1rem;
	}


	/*-- Single --*/
	.single-article-box__date {
		font-size: 1.2rem;
	}

	.single-article-box__icon {
		font-size: 1rem;
	}

	.single-article-box p {
		font-size: 1.2rem;
	}

	.page-nav__list > a{
		font-size: 1.2rem;
	}

	/*-- Footer --*/
	#g-map {
		height: 240px;
	}

	.footer-logo  {
		padding-bottom: 0;
	}

	.top-nav {
		padding: 2em;
	}

	.footer-col-box {
		margin-bottom: 1em;
	}

	/*-- Top Page --*/

	.infomaiton {
		padding: 2em 2em;
	}
	.news-ticker {
		width: 100%;
		min-height: 5em;
		margin-bottom: 1em;
		padding: 1em 0;
	}

	.news-article__day,
	.news-article__title {
		display: block;
	}

	.news-view-more {
		padding: 0.5em 2em;
	}

	.news-article__title {
		white-space: nowrap;
	}

	.news-view-more {
		width: 30%;
		margin-left: auto;
	}

	.new-icon::before {
		font-size: 0.8rem;
		padding: 0.2em;
	}

	.top-service  {
		padding-top: 50%;
		padding-left: 0;
	}

	.mb-read-bg {
		height: 20em;
		overflow: hidden;
	}

	/*-- About --*/
	.message-photo {
		width: 100%;
		position: relative;
	}

	/*-- Shop --*/
	#shop-map {
		height: 350px;
	}

	/*-- Contact --*/
	.wpcf7-form .table__row,
	.wpcf7-form .table__head,
	.wpcf7-form .table__data {
		width: 100%;
		display: block;
	}

	.wpcf7-form .table__data {
		border-left: none;
	}

	.wpcf7-form .table__head {
		letter-spacing: 0.1em;
	}

	input[type="submit"].wpcf7-submit {
		width: 70%;
	}

	input:focus + span.wpcf7-not-valid-tip {
		display: none;
	}

	.wpcf7-validation-errors {
		background: #fff;
	}

	.tel-text {
		margin-top: 1em;
		font-size: 1rem;
		font-weight: 400;
	}

}
