@charset 'UTF-8';
/* #####################################################
 * common.css
 * - Core
 * - Layout
 * - Modules
 * - Pages
 * ################################################## */

/* =====================================================
 * Base
 * ================================================== */

/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
@import url(//fonts.googleapis.com/css?family=Roboto:400,700,900);
html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: .67em 0;
}

mark {
	color: #000;
	background: #ff0;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -.5em;
}

sub {
	bottom: -.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	font: inherit;
	margin: 0;
	color: inherit;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
	cursor: pointer;
	-webkit-appearance: button;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0;
	border: 0;
}

input {
	line-height: normal;
}

input[type='checkbox'],
input[type='radio'] {
	box-sizing: border-box;
	padding: 0;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
	height: auto;
}

input[type='search'] {
	box-sizing: content-box;
	-webkit-appearance: textfield;
}

input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	margin: 0 2px;
	padding: .35em .625em .75em;
	border: 1px solid #c0c0c0;
}

legend {
	padding: 0;
	border: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

td,
th {
	padding: 0;
}

/* -----------------------------------------------------
 * Font
 * -------------------------------------------------- */
@font-face {
	font-family: 'MyYuGothicM';
    font-weight: normal;
    src: local('YuGothic-Medium'), local('Yu Gothic Medium'), local('YuGothic-Regular');
}

@font-face {
	font-family: 'MyYuGothicM';
    font-weight: bold;
    src: local('YuGothic-Bold'), local('Yu Gothic');
}

/* -----------------------------------------------------
 * Init
 * -------------------------------------------------- */
*,
*:before,
*:after {
	box-sizing: border-box;
}

/* normalize overwrite */
html {
	font-family: '-apple-system', 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'MyYuGothicM', 'Yu Gothic', YuGothic, Meiryo, sans-serif;
	font-size: 62.5%;
	position: relative;
	height: 100%;
}

body {
	font-size: 1.2rem;
	line-height: 1.2;
	height: 100%;
	margin: 0;
	padding: 0;
	color: #000;
	background: #fff;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

a {
	color: #000;
}

a:visited {
	color: #000;
}

a:hover {
	color: #262626;
}

a:active,
a:focus {
	color: #000;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ol,
ul,
li,
figure,
figcaption,
small {
	font-size: 100%;
	font-weight: normal;
	margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.2;
}

img {
	vertical-align: bottom;
}

th {
	font-weight: normal;
	text-align: left;
}

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

/* =====================================================
 * Layout
 * ================================================== */

/**
 * Header module
 */
@media only screen and (min-width: 768px) {
	.l-header {
		position: relative;
		width: 100%;
		padding: 30px 0;
	}

	.l-header-inner {
		width: 1080px;
		height: 60px;
		margin: 0 auto;
		padding: 0 20px;
	}

	.l-header-inner:after {
		display: block;
		clear: both;
		content: '';
	}

	.l-header-logo {
		display: block;
		float: left;
		width: 150px;
		height: 60px;
	}

	.l-header-logo a {
		line-height: 1.5;
		display: block;
		overflow: hidden;
		width: 150px;
		height: 0;
		padding-top: 60px;
		background: url(../img/common/logo_01.png) no-repeat 0 0;
		background-size: contain;
	}

	.l-header-logo a:hover {
		opacity: .7;
	}

	.l-header .sp-menu-btn {
		display: none;
	}

	.l-header-nav {
		font-size: 1.4rem;
		position: relative;
		float: right;
		width: 800px;
		transition: none;
	}

	.l-header-nav a {
		text-decoration: none;
		color: #000;
	}

	.l-header-nav a:hover {
		color: #e51926;
	}

	.l-header-nav a.is-current {
		color: #e51926;
	}

	.l-header-nav .nav-main {
		display: flex;
		width: 100%;
		padding-top: 40px;
		text-align: right;
		justify-content: flex-end;
	}

	.l-header-nav .nav-main > li {
		position: relative;
		margin-left: 50px;
	}

	.l-header-nav .nav-main > li:hover .nav-main-children {
		visibility: visible;
		overflow: visible;
		opacity: 1;
	}

	.l-header-nav .nav-main-children {
		font-size: 1.2rem;
		position: absolute;
		z-index: 10;
		top: 30px;
		left: 0;
		visibility: hidden;
		width: 170px;
		transition: .2s ease-in-out;
		text-align: left;
		opacity: 0;
		background: #f5f5f5;
	}

	.l-header-nav .nav-main-children li {
		border-bottom: 1px solid #fff;
	}

	.l-header-nav .nav-main-children a {
		line-height: 1.4;
		display: block;
		padding: 5px 10px;
	}

	.l-header-nav .nav-main-children a:hover {
		color: #000;
		background: #ccc;
	}

	.l-header-nav .nav-sub {
		font-size: 1.3rem;
		position: absolute;
		top: 0;
		right: 0;
	}

	.l-header-nav .nav-sub li {
		float: left;
		min-height: 20px;
		margin-left: 40px;
		padding-left: 25px;
		background-repeat: no-repeat;
		background-position: 0 -2px;
	}

	.l-header-nav .nav-sub li.shop {
		background-image: url(../img/common/ico_cart_01.png);
	}

	.l-header-nav .nav-sub li.lang {
		background-image: url(../img/common/ico_en_01.png);
	}
}

@media only screen and (max-width: 767px) {
	.l-header {
		position: relative;
		width: 100%;
		height: 65px;
		background: #fff;
	}

	.l-header-inner {
		height: 40px;
	}

	.l-header-logo {
		position: relative;
		z-index: 50;
		display: block;
		width: 100%;
		padding: 15px 10px;
		background: #fff;
	}

	.l-header-logo a {
		display: block;
		overflow: hidden;
		width: 100px;
		height: 0;
		padding-top: 40px;
		background: url(../img/common/logo_01.png) no-repeat 0 0;
		background-size: contain;
	}

	.l-header-logo a:hover {
		opacity: .7;
	}

	.l-header .sp-menu-btn {
		position: absolute;
		z-index: 100;
		top: 17px;
		right: 20px;
		display: block;
		width: 36px;
		height: 28px;
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		background: none;
		-webkit-appearance: none;
	}

	.l-header .sp-menu-btn span,
    .l-header .sp-menu-btn:before,
    .l-header .sp-menu-btn:after {
		transition: .2s ease-in;
	}

	.l-header .sp-menu-btn.is-open span {
		opacity: 0;
	}

	.l-header .sp-menu-btn.is-open:before {
		top: 12px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.l-header .sp-menu-btn.is-open:after {
		bottom: 13px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.l-header .sp-menu-btn span,
    .l-header .sp-menu-btn:before,
    .l-header .sp-menu-btn:after {
		position: absolute;
		left: 3px;
		display: block;
		width: 30px;
		height: 3px;
		margin: 0 auto;
		content: '';
		background: #ccc;
	}

	.l-header .sp-menu-btn span {
		top: 12px;
	}

	.l-header .sp-menu-btn:before {
		top: 2px;
	}

	.l-header .sp-menu-btn:after {
		bottom: 2px;
	}

	.sp-menu-btn.is-open + .l-header-nav {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	.l-header-nav {
		position: absolute;
		z-index: 5;
		top: 70px;
		left: 0;
		width: 100%;
		transition: all .5s ease;
		-webkit-transform: translateY(-500px);
		transform: translateY(-500px);
	}

	.l-header-nav .nav-main {
		background: #ededed;
	}

	.l-header-nav .nav-main > li {
		border-bottom: 1px solid #fff;
	}

	.l-header-nav .nav-main > li:first-child {
		display: none;
	}

	.l-header-nav .nav-main > li a {
		position: relative;
		display: block;
		padding: 10px;
		text-decoration: none;
		color: #000;
	}

	.l-header-nav .nav-main > li a.is-current {
		color: #e51926;
	}

	.l-header-nav .nav-main > li a:after {
		font-family: FontAwesome;
		font-size: 2.7rem;
		line-height: 1;
		position: absolute;
		top: 5px;
		right: 10px;
		display: block;
		width: .5em;
		margin: auto;
		content: '\f105';
		vertical-align: middle;
		color: #959595;
	}

	.l-header-nav .nav-main-children {
		font-size: 1.2rem;
		position: absolute;
		z-index: 10;
		top: 30px;
		left: 0;
		display: none;
		visibility: hidden;
		width: 170px;
		transition: .2s ease-in-out;
		text-align: left;
		opacity: 0;
		background: #f5f5f5;
	}

	.l-header-nav .nav-main-children li {
		border-bottom: 1px solid #fff;
	}

	.l-header-nav .nav-main-children a {
		line-height: 1.4;
		display: block;
		padding: 5px 10px;
	}

	.l-header-nav .nav-main-children a:hover {
		color: #000;
		background: #ccc;
	}

	.l-header-nav .nav-sub {
		font-size: 1.2rem;
		display: block;
		padding: 10px 3px 10px 10px;
		background: #d6d6d6;
	}

	.l-header-nav .nav-sub:after {
		display: block;
		clear: both;
		content: '';
	}

	.l-header-nav .nav-sub li {
		float: left;
		width: 48%;
		margin-right: 2%;
	}

	.l-header-nav .nav-sub li a {
		line-height: 35px;
		display: block;
		height: 35px;
		text-align: center;
		text-decoration: none;
		background: #fff;
	}

	.l-header-nav .nav-sub li a:before {
		font-family: FontAwesome;
		font-size: 1.5rem;
		position: relative;
		top: 0;
		display: inline-block;
		margin-right: 6px;
		vertical-align: middle;
		color: #aaa;
	}

	.l-header-nav .nav-sub li.shop a:before {
		content: '\f07a';
	}

	.l-header-nav .nav-sub li.lang a:before {
		content: '\f0ac';
	}
}

@media only screen and (min-width: 768px) {
	.l-header-fixed {
		position: fixed;
		z-index: 100;
		top: 0;
		left: 0;
		padding: 20px 0;
		transition: 1s ease-in-out;
		-webkit-transform: translateY(-200px);
		transform: translateY(-200px);
		background: #fff;
	}

	.l-header-fixed.is-fixed {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	.l-header-fixed .l-header-inner {
		height: 40px;
	}

	.l-header-fixed .l-header-logo {
		width: 100px;
		height: 45px;
	}

	.l-header-fixed .l-header-logo a {
		width: 100px;
		height: 45px;
	}

	.l-header-fixed .l-header-nav .nav-main {
		padding-top: 10px;
	}

	.l-header-fixed .l-header-nav .nav-sub {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	.l-header-fixed {
		display: none;
	}
}

/**
 * Footer module
 */
.l-footer {
	background: #f3f3f3;
}

@media only screen and (min-width: 768px) {
	.l-footer {
		min-width: 1080px;
		margin-top: -384px;
	}

	.l-footer-inner {
		position: relative;
		width: 1080px;
		margin: 0 auto;
		padding: 40px 20px 0 290px;
	}

	.l-footer-inner:after {
		display: block;
		clear: both;
		content: '';
	}

	.l-footer-pagetop {
		position: relative;
		width: 1080px;
		margin: 0 auto;
		padding: 0 20px;
	}

	.l-footer-pagetop a {
		position: fixed;
		z-index: 10;
		right: 30px;
		bottom: 100px;
		display: block;
		overflow: hidden;
		width: 60px;
		height: 0;
		padding-top: 60px;
		background: url(../img/common/ico_pageup_01.png) no-repeat 0 0;
	}

	.l-footer-pagetop a:hover {
		opacity: .7;
	}

	.l-footer-logos {
		position: absolute;
		top: 40px;
		left: 20px;
		width: 150px;
	}

	.l-footer-logo {
		display: block;
		overflow: hidden;
		width: 150px;
		height: 0;
		padding-top: 60px;
		background: url(../img/common/logo_01.png) no-repeat 0 0;
		background-size: contain;
	}

	.l-footer-social {
		display: flex;
		margin-top: 25px;
		justify-content: space-between;
	}

	.l-footer-social a {
		display: block;
		overflow: hidden;
		width: 32px;
		height: 0;
		padding-top: 32px;
		transition: opacity .3s ease;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: contain;
	}

	.l-footer-social a:hover {
		opacity: .7;
	}

	.l-footer-social a.facebook {
		background-image: url(../img/common/ico_facebook_01.png);
	}

	.l-footer-social a.twitter {
		background-image: url(../img/common/ico_twitter_01.png);
	}

	.l-footer-social a.instagram {
		background-image: url(../img/common/ico_instagram_01.png);
	}

	.l-footer-social a.youtube {
		background-image: url(../img/common/ico_youtube_01.png);
	}

	.l-footer-nav {
		font-size: 1.4rem;
		position: relative;
		float: left;
		width: 570px;
		padding-left: 400px;
	}

	.l-footer-nav > ul > li {
		margin-bottom: 20px;
	}

	.l-footer-nav > ul > li > a {
		position: relative;
		padding-right: 12px;
	}

	.l-footer-nav > ul > li > a:after {
		font-family: FontAwesome;
		font-size: 1.4rem;
		position: absolute;
		top: -1px;
		right: 0;
		content: '\f105';
		color: #959595;
	}

	.l-footer-nav > ul > li > a:hover:after {
		color: #e71a26;
	}

	.l-footer-nav > ul > li:nth-of-type(1) {
		position: absolute;
		top: 0;
		left: 0;
		width: 200px;
	}

	.l-footer-nav > ul > li:nth-of-type(2) {
		position: absolute;
		top: 0;
		left: 200px;
		width: 200px;
	}

	.l-footer-nav .nav-sub {
		font-size: 1.2rem;
		margin-top: 10px;
	}

	.l-footer-nav .nav-sub li {
		line-height: 1.5;
		margin-bottom: 5px;
	}

	.l-footer-nav .nav-sub a {
		color: #666;
	}

	.l-footer-nav a {
		text-decoration: none;
		color: #000;
	}

	.l-footer-nav a:hover {
		color: #e71a26;
	}

	.l-footer-banners {
		float: right;
	}

	.l-footer-banners li {
		width: 160px;
		margin-bottom: 20px;
	}

	.l-footer-banners li img {
		width: 100%;
		height: auto;
	}

	.l-footer-banners li:hover {
		opacity: .7;
	}

	.l-footer-copyright {
		font-size: 1.2rem;
		width: 1080px;
		margin: 0 auto;
		padding: 10px 20px 30px;
		color: #666;
	}
}

@media only screen and (max-width: 767px) {
	.l-footer {
		position: relative;
	}

	.l-footer-pagetop {
		position: absolute;
		top: -80px;
		right: 0;
		left: 0;
		margin: 0 auto;
	}

	.l-footer-pagetop a {
		display: block;
		overflow: hidden;
		width: 40px;
		height: 0;
		margin: 0 auto;
		padding-top: 40px;
		background: url(../img/common/ico_pageup_01.png) no-repeat 0 0;
		background-size: contain;
	}

	.l-footer-logos {
		width: 150px;
		margin: 0 auto;
		padding: 35px 0 30px;
	}

	.l-footer-logo {
		display: block;
		overflow: hidden;
		width: 150px;
		height: 0;
		padding-top: 60px;
		background: url(../img/common/logo_01.png) no-repeat 0 0;
		background-size: contain;
	}

	.l-footer-social {
		display: flex;
		margin-top: 25px;
		justify-content: space-between;
	}

	.l-footer-social a {
		display: block;
		overflow: hidden;
		width: 32px;
		height: 0;
		padding-top: 32px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: contain;
	}

	.l-footer-social a.facebook {
		background-image: url(../img/common/ico_facebook_01.png);
	}

	.l-footer-social a.twitter {
		background-image: url(../img/common/ico_twitter_01.png);
	}

	.l-footer-social a.instagram {
		background-image: url(../img/common/ico_instagram_01.png);
	}

	.l-footer-social a.youtube {
		background-image: url(../img/common/ico_youtube_01.png);
	}

	.l-footer-nav {
		font-size: 1.6rem;
		position: relative;
	}

	.l-footer-nav > ul > li {
		border-bottom: 1px solid #fff;
	}

	.l-footer-nav > ul > li > a {
		position: relative;
		display: block;
		padding: 10px 15px;
		background: #ededed;
	}

	.l-footer-nav > ul > li > a:after {
		font-family: FontAwesome;
		font-size: 2.7rem;
		line-height: 1;
		position: absolute;
		top: 5px;
		right: 10px;
		display: block;
		width: .5em;
		margin: auto;
		content: '\f105';
		vertical-align: middle;
		color: #959595;
	}

	.l-footer-nav .nav-sub {
		display: none;
	}

	.l-footer-nav a {
		text-decoration: none;
		color: #000;
	}

	.l-footer-banners {
		padding: 15px 5px 5px;
		border-bottom: 1px solid #fff;
	}

	.l-footer-banners:after {
		display: block;
		clear: both;
		content: '';
	}

	.l-footer-banners li {
		float: left;
		width: 50%;
		margin-bottom: 10px;
		padding: 0 5px;
		text-align: center;
	}

	.l-footer-banners li img {
		width: 100%;
		height: auto;
	}

	.l-footer-copyright {
		font-size: 1.1rem;
		padding: 10px 0;
		text-align: center;
		color: #666;
	}
}

/**
 * Contents module
 */
@media only screen and (min-width: 768px) {
	.l-container {
		min-height: 100%;
		padding-bottom: 400px;
	}
}

@media only screen and (min-width: 768px) {
	.l-breadcrumbs {
		font-size: 1.2rem;
		border-top: 1px solid #f5f5f5;
		border-bottom: 1px solid #f5f5f5;
	}

	.l-breadcrumbs ol {
		line-height: 1;
		width: 1080px;
		margin: 0 auto;
		padding: 8px 20px;
		list-style: none;
	}

	.l-breadcrumbs ol:after {
		display: block;
		clear: both;
		content: '';
	}

	.l-breadcrumbs li {
		float: left;
		color: #e51926;
	}

	.l-breadcrumbs li:after {
		display: inline-block;
		margin: 0 1em;
		content: '>';
		color: #000;
	}

	.l-breadcrumbs li:last-child:after {
		display: none;
	}

	.l-breadcrumbs a {
		text-decoration: underline;
		color: #000;
	}

	.l-breadcrumbs a:hover {
		color: #e51926;
	}
}

@media only screen and (max-width: 767px) {
	.l-breadcrumbs {
		display: none;
	}
}

@media only screen and (min-width: 768px) {
	.l-contents {
		width: 1080px;
		min-height: 100%;
		margin: 0 auto;
		padding: 0 20px;
	}
}

@media only screen and (max-width: 767px) {
	.l-contents {
		min-height: 500px;
	}
}

@media only screen and (max-width: 767px) {
	.l-main {
		padding: 0 10px 100px;
	}
}

@media only screen and (min-width: 768px) {
	.l-main {
		min-height: 100%;
		padding-bottom: 100px;
	}
}

/* =====================================================
 * Module
 * ================================================== */
@media only screen and (min-width: 768px) {
	.is-pc-hide {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	.is-sp-hide {
		display: none;
	}
}

@media only screen and (min-width: 768px) {
	.is-pc-show {
		display: block;
	}
}

@media only screen and (max-width: 767px) {
	.is-sp-show {
		display: none;
	}
}

/*
---
name: Color
category: module
---
*/
.text-color {
	color: #666;
}

/*
---
name: Heading
category: module
---
*/
.mod-heading1 {
	font-size: 3rem;
	padding: 2em 0;
	text-align: center;
	color: #000;
}

@media only screen and (max-width: 767px) {
	.mod-heading1 {
		font-size: 2em;
		padding: 1.3em 0;
	}
}

.mod-heading2 {
	font-size: 1.8rem;
	line-height: 1.3;
	position: relative;
	margin-bottom: 1em;
	padding-left: 1em;
	color: #000;
}

.mod-heading2:before {
	position: absolute;
	top: .4em;
	left: 0;
	display: inline-block;
	width: 10px;
	height: 10px;
	content: '';
	background: #e51926;
}

.mod-heading3 {
	font-size: 1.6rem;
	line-height: 1.5;
	margin: 0  0 1.5em;
	color: #000;
}

.mod-heading4 {
	font-size: 1.4rem;
	color: #000;
}

/*
---
name: Link
category: module
---
*/
.mod-link {
	margin: 1em 0;
	text-align: right;
	text-decoration: none;
}

.mod-link.left {
	text-align: left;
}

.mod-link a {
	font-size: 1.4rem;
	text-decoration: none;
}

.mod-link a:after {
	font-family: FontAwesome;
	line-height: 1;
	display: inline-block;
	margin-left: .5em;
	content: '\f138';
	text-align: center;
	color: #e51926;
	border-radius: 100%;
}

.mod-link a:hover {
	color: #e51926;
}

/*
---
name: Paragraph
category: module
---
*/
.mod-p {
	line-height: 1.75;
	margin: 1em 0;
	color: #666;
}

.mod-page-lead {
	font-size: 1.4rem;
	line-height: 1.75;
	margin-bottom: 5em;
	text-align: center;
	color: #666;
}

/*
---
name: Unordered List
category: module
---
*/
.mod-ul {
	display: table;
	margin: 1em 0;
}

.mod-ul > li {
	line-height: 1.5;
	position: relative;
	margin: 1em 0;
	padding-left: 1.2em;
	color: #666;
}

.mod-ul > li:before {
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 3px;
	padding-right: .4em;
	content: '•';
	color: #e51926;
}

/*
---
name: Ordered List
category: module
---
```html

```
*/
.mod-ol {
	margin: 1em 0;
	padding: 0;
	list-style-type: none;
	counter-reset: number;
}

.mod-ol > li {
	line-height: 1.5;
	margin: 0 0 1em;
	list-style-type: none;
	color: #666;
}

.mod-ol > li:before {
	display: inline-block;
	width: 1.5em;
	height: 1em;
	margin-right: .3em;
	content: counter(number) ' .';
	counter-increment: number;
	text-align: center;
	color: #e51926;
	border-radius: 50%;
}

/*
---
name: Infomation List
category: module
---
*/
.mod-info:after {
	display: block;
	clear: both;
	content: '';
}

.mod-info dt {
	float: left;
	width: 6em;
	margin: 0 0 10px;
}

.mod-info dd {
	margin: 0 0 10px 7em;
}

/*
---
name: Contact Info
category: module
---
*/
.mod-contact {
	width: 500px;
	margin: 2em 0 0;
	padding: 20px;
	border: 2px solid #f5f5f5;
}

@media only screen and (max-width: 767px) {
	.mod-contact {
		width: 100%;
		padding: 2em 1em;
	}
}

.mod-contact .heading {
	font-size: 1.6rem;
	margin-bottom: 1em;
	text-align: center;
}

.mod-contact .heading span {
	display: inline-block;
	padding-bottom: .3em;
	border-bottom: 2px solid #e51926;
}

.mod-contact .telfax {
	display: flex;
	width: 300px;
	margin: 0 auto;
	text-align: center;
	text-align: center;
	color: #666;
	justify-content: space-between;
}

@media only screen and (max-width: 767px) {
	.mod-contact .telfax {
		display: block;
	}
}

.mod-contact .telfax strong {
	font-size: 1.7rem;
	color: #000;
}

.mod-contact .time {
	margin: 1em 0 1.5em;
	text-align: center;
	color: #666;
}

/*
---
name: Table
category: module
---
*/
.mod-table table {
	width: 100%;
	color: #666;
	font-size: 1.4rem;
}

.mod-table.history th {
	width: 8em;
	padding: 1em;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.mod-table.history th {
		width: 6em;
	}
}

.mod-table tr {
	border-top: 1px solid #f5f5f5;
	border-bottom: 1px solid #f5f5f5;
}

.mod-table th {
	width: 24%;
	padding: 1em 2em;
	vertical-align: top;
}

.mod-table th.history {
	width: 14%;
}

@media only screen and (max-width: 767px) {
	.mod-table th {
		width: 30%;
		padding: 1em;
	}
}

.mod-table td {
	padding: 1em 2em;
}

.mod-table td .mod-ul {
	margin: 0;
}

.mod-table td .mod-ul > li {
	margin: 0 0 .5em;
}

.mod-table td .mod-ul > li:last-child {
	margin-bottom: 0;
}

/*
---
name: Section
category: module
---
*/
.mod-heading1 + .mod-section {
	margin-top: -2em;
}

.mod-section {
	border-bottom: 2px solid #f5f5f5;
}

.mod-section .news-header {
	margin-bottom: 2em;
	padding-bottom: .8em;
	border-bottom: 2px solid #f5f5f5;
}

.mod-section .news-header .label {
	margin-bottom: .8em;
}

.mod-section .news-header .label em {
	font-weight: normal;
	font-style: normal;
	display: inline-block;
	width: 6em;
	margin-right: 1em;
	padding: 2px 5px;
	text-align: center;
	color: #fff;
	background: #aaa;
}

.mod-section .news-header .label .date {
	font-size: 1.6rem;
	color: #999;
}

.mod-section .news-header h3 {
	font-size: 1.6rem;
}

.mod-section:last-of-type {
	border-bottom: 0;
}

.mod-section .mod-p {
	font-size: 1.4rem;
	line-height: 2;
	margin: 0 0 1em;
}

.mod-section .mod-image + .mod-p,
.mod-section .mod-p + .mod-image {
	margin-top: 2.5em;
}

.mod-section * + .mod-heading3 {
	margin-top: 2em;
}

.mod-section .mod-image + .mod-link {
	margin-top: 3em;
}

@media only screen and (max-width: 767px) {
	.mod-section {
		padding: 2em 1em;
	}
}

@media only screen and (min-width: 768px) {
	.mod-section {
		display: table;
		width: 100%;
	}

	.mod-section .section-heading {
		display: table-cell;
		width: 270px;
		padding-top: 40px;
		padding-right: 40px;
		padding-bottom: 40px;
		vertical-align: top;
	}

	.mod-section .section-body {
		display: table-cell;
		padding-top: 40px;
		padding-bottom: 40px;
		vertical-align: top;
	}
}

.mod-section .section-body-shop-news img {
	max-width: 100%;
	height: auto;
}

.mod-section .section-body-shop-news .news-header ~ .news-header {
	margin-top: 3em;
}

.mod-section .section-body-shop-news .news-body {
	line-height: 1.75;
}

/*
---
name: Item
category: module
---
*/
@media only screen and (max-width: 767px) {
	.mod-shops .item {
		margin-bottom: 40px;
	}

	.mod-shops .item:after {
		display: block;
		clear: both;
		content: '';
	}

	.mod-shops .item-link {
		display: table;
		width: 100%;
		text-decoration: none;
	}

	.mod-shops .item-image {
		display: table-cell;
		width: 40%;
		vertical-align: top;
	}

	.mod-shops .item-image img {
		width: 100%;
		height: auto;
	}

	.mod-shops .item-text {
		display: table-cell;
		width: 60%;
		padding-left: 20px;
	}

	.mod-shops .item-text-heading {
		font-size: 1.6rem;
	}

	.mod-shops .item-text-heading:after {
		font-family: FontAwesome;
		line-height: 1;
		display: inline-block;
		margin-left: .5em;
		content: '\f138';
		text-align: center;
		color: #e51926;
		border-radius: 100%;
	}

	.mod-shops .item-text-summary {
		font-size: 1.4rem;
		line-height: 1.5;
		margin-top: .5em;
		color: #666;
	}
}

@media only screen and (min-width: 768px) {
	.mod-shops:after {
		display: block;
		clear: both;
		content: '';
	}

	.mod-shops .item {
		float: left;
		width: 500px;
		margin-bottom: 40px;
	}

	.mod-shops .item:after {
		display: block;
		clear: both;
		content: '';
	}

	.mod-shops .item-link {
		display: block;
		text-decoration: none;
	}

	.mod-shops .item-link:hover .item-image {
		opacity: .7;
	}

	.mod-shops .item-link:hover .item-text-heading {
		color: #e51926;
	}

	.mod-shops .item-link:hover .item-text-summary {
		color: #ccc;
	}

	.mod-shops .item:nth-child(2n+1) {
		margin-right: 40px;
	}

	.mod-shops .item-image {
		float: left;
		width: 140px;
	}

	.mod-shops .item-image img {
		width: 100%;
		height: auto;
	}

	.mod-shops .item-text {
		float: right;
		width: 340px;
	}

	.mod-shops .item-text-heading {
		font-size: 1.6rem;
	}

	.mod-shops .item-text-heading:after {
		font-family: FontAwesome;
		line-height: 1;
		display: inline-block;
		margin-left: .5em;
		content: '\f138';
		text-align: center;
		color: #e51926;
		border-radius: 100%;
	}

	.mod-shops .item-text-summary {
		font-size: 1.4rem;
		line-height: 1.5;
		margin-top: .5em;
		color: #666;
	}
}

.mod-index:after {
	display: block;
	clear: both;
	content: '';
}

@media only screen and (min-width: 768px) {
	.mod-index {
		margin-right: -40px;
	}

	.mod-index .item {
		float: left;
		width: 230px;
		margin-right: 40px;
		margin-bottom: 40px;
	}

	.mod-index .item:after {
		display: block;
		clear: both;
		content: '';
	}

	.mod-index .item .item-image,
    .mod-index .item .item-text-heading,
    .mod-index .item .item-text-summary {
		transition: all .3s ease;
	}

	.mod-index .item-link {
		display: block;
		text-decoration: none;
	}

	.mod-index .item-link:hover .item-image {
		opacity: .7;
	}

	.mod-index .item-link:hover .item-text-heading {
		color: #e51926;
	}

	.mod-index .item-link:hover .item-text-summary {
		color: #ccc;
	}

	.mod-index .item-image img {
		width: 100%;
		height: auto;
	}

	.mod-index .item-text-heading {
		font-size: 1.6rem;
		margin: .75em 0;
		text-align: center;
	}

	.mod-index .item-text-heading:after {
		font-family: FontAwesome;
		line-height: 1;
		display: inline-block;
		margin-left: .5em;
		content: '\f138';
		text-align: center;
		color: #e51926;
		border-radius: 100%;
	}

	.mod-index .item-text-summary {
		font-size: 1.4rem;
		line-height: 1.5;
		margin-top: .5em;
		padding: 0 1em;
		color: #666;
		-webkit-font-feature-settings: 'palt';
		font-feature-settings: 'palt';
	}
}

@media only screen and (max-width: 767px) {
	.mod-index .item {
		width: 100%;
		margin-bottom: 40px;
	}

	.mod-index .item:after {
		display: block;
		clear: both;
		content: '';
	}

	.mod-index .item-link {
		display: block;
		text-decoration: none;
	}

	.mod-index .item-link:hover .item-image {
		opacity: .7;
	}

	.mod-index .item-link:hover .item-text-heading {
		color: #e51926;
	}

	.mod-index .item-link:hover .item-text-summary {
		color: #ccc;
	}

	.mod-index .item-image img {
		width: 100%;
		height: auto;
	}

	.mod-index .item-text-heading {
		font-size: 1.6rem;
		margin: .75em 0;
		text-align: center;
	}

	.mod-index .item-text-heading:after {
		font-family: FontAwesome;
		line-height: 1;
		display: inline-block;
		margin-left: .5em;
		content: '\f138';
		text-align: center;
		color: #e51926;
		border-radius: 100%;
	}

	.mod-index .item-text-summary {
		font-size: 1.4rem;
		line-height: 1.5;
		margin-top: .5em;
		text-align: center;
		color: #666;
	}
}

/*
---
name: Image
category: module
---
*/
.mod-image {
	text-align: center;
}

.mod-image.image-left {
	text-align: left;
}

.mod-image.lead-image {
	margin-bottom: 2em;
}

.mod-image.image-shop-visual {
	overflow: hidden;
	height: 200px;
	margin-bottom: 2em;
}

@media only screen and (max-width: 767px) {
	.mod-image.image-shop-visual {
		height: auto;
	}
}

.mod-image.image-shop-visual img {
	width: 100%;
}

.mod-image.image-float {
	text-align: left;
}

.mod-image.image-float:after {
	display: block;
	clear: both;
	content: '';
}

.mod-image.image-float img {
	float: right;
	margin-left: 2em;
}

@media only screen and (max-width: 767px) {
	.mod-image.image-float img {
		width: 50%;
		height: auto;
		margin-bottom: 1em;
	}
}

@media only screen and (max-width: 767px) {
	.mod-image img {
		max-width: 100%;
		height: auto;
	}
}

.mod-link + .mod-image {
	margin-top: 2em;
}

@media only screen and (min-width: 768px) {
	.mod-image-product-visual {
		margin-bottom: 40px;
	}
}

.mod-map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
}

.mod-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.mod-table + .mod-map {
	margin-top: 2em;
}

/*
---
name: News
category: module
---
*/
@media only screen and (min-width: 768px) {
	.mod-news li {
		line-height: 1.6;
		display: table;
		margin-bottom: 1.2em;
	}

	.mod-news li:after {
		display: block;
		clear: both;
		content: '';
	}

	.mod-news li span {
		display: table-cell;
	}

	.mod-news .category {
		font-family: 'Roboto';
		font-size: 1.1rem;
		width: 6em;
		text-align: center;
		color: #fff;
	}

	.mod-news .category em {
		font-weight: normal;
		font-style: normal;
		display: inline-block;
		width: 6em;
		padding: 2px 5px;
		background: #aaa;
	}

	.mod-news .date {
		width: 8em;
		font-size: 1.4rem;
		text-align: center;
		color: #666;
	}

	.mod-news .text {
		font-size: 1.4rem;
	}

	.mod-news .text a:hover {
		color: #e51926;
	}
}

@media only screen and (max-width: 767px) {
	.mod-news li {
		line-height: 1.6;
		margin-bottom: 1.2em;
		padding-bottom: 10px;
		border-bottom: 1px dotted #ccc;
	}

	.mod-news li:last-child {
		border: 0;
	}

	.mod-news .category {
		font-family: 'Roboto';
		font-size: 1.1rem;
		display: inline-block;
		width: 6em;
		text-align: center;
		color: #fff;
	}

	.mod-news .category em {
		font-weight: normal;
		font-style: normal;
		display: inline-block;
		width: 6em;
		padding: 2px 5px;
		background: #aaa;
	}

	.mod-news .date {
		display: inline-block;
		width: 10em;
		padding-left: 1em;
		text-align: left;
		color: #666;
	}

	.mod-news .text {
		display: block;
		padding-top: 5px;
	}
}

@media only screen and (min-width: 768px) {
	.block-news {
		width: 750px;
		margin: 0 auto;
	}

	.block-news .mod-page-lead {
		margin-top: -4em;
		margin-bottom: 4em;
	}
}

@media only screen and (max-width: 767px) {
	.block-news .mod-page-lead {
		margin-top: -1em;
		margin-bottom: 2em;
	}
}

.block-news-entry .wp_social_bookmarking_light {
	margin-top: 3em !important;
}

@media only screen and (min-width: 768px) {
	.block-news-entry {
		line-height: 1.5;
		margin: 0 auto;
	}

	.block-news-entry .unit-header {
		padding: 4em 0 4em;
		border-bottom: 2px solid #f5f5f5;
	}

	.block-news-entry .unit-header .mod-heading1 {
		margin-bottom: 10px;
		padding: 0;
		text-align: center;
	}

	.block-news-entry .unit-header p {
		font-size: 1.4rem;
		line-height: 1;
		text-align: center;
	}

	.block-news-entry .unit-header p .category {
		font-family: 'Roboto';
		font-size: 1.2rem;
		display: inline-block;
		width: 6em;
		padding: 2px 5px;
		text-align: center;
		color: #fff;
		background: #aaa;
	}

	.block-news-entry .unit-header p .date {
		display: inline-block;
		margin-left: 1em;
		color: #666;
	}

	.block-news-entry .unit-body {
		width: 750px;
		margin: 0 auto;
		padding-top: 4em;
		font-size: 1.4rem;
	}

	.block-news-entry .unit-body p {
		margin: 1em 0 0;
	}

	.block-news-entry .unit-body a {
		color: #e51926;
	}

	.block-news-entry .unit-body img {
		max-width: 100%;
		height: auto;
	}

	.block-news-entry .mod-link {
		margin-top: 7em;
		text-align: center;
	}
}

@media only screen and (max-width: 767px) {
	.block-news-entry .unit-header {
		padding: 2em 0 2em;
	}

	.block-news-entry .unit-header .mod-heading1 {
		font-size: 2rem;
		margin-bottom: 10px;
		padding: 0;
		text-align: left;
	}

	.block-news-entry .unit-header p {
		font-size: 1.4rem;
		line-height: 1;
	}

	.block-news-entry .unit-header p .category {
		font-size: 1.2rem;
		display: inline-block;
		width: 6em;
		padding: 2px 5px;
		text-align: center;
		color: #fff;
		background: #aaa;
	}

	.block-news-entry .unit-header p .date {
		display: inline-block;
		margin-left: 1em;
		color: #666;
	}

	.block-news-entry .unit-body {
		font-size: 1.4rem;
		line-height: 1.5;
		padding: 30px .5em;
		border-top: 2px solid #f5f5f5;
	}

	.block-news-entry .unit-body p {
		margin: 1em 0 0;
	}

	.block-news-entry .unit-body a {
		color: #e51926;
	}

	.block-news-entry .unit-body img {
		max-width: 100%;
		height: auto;
	}

	.block-news-entry .unit-body iframe {
		max-width: 100%;
	}

	.block-news-entry .mod-link {
		margin-top: 2em;
		text-align: center;
	}
}

/*
---
name: Button
category: module
---
*/
@media only screen and (min-width: 768px) {
	.mod-btn {
		font-size: 1.4rem;
		line-height: 50px;
		display: block;
		width: 300px;
		height: 50px;
		margin: 0 auto;
		transition: all .3s ease;
		text-align: center;
		text-decoration: none;
		border: 1px solid transparent;
		background: #ededed;
	}

	.mod-btn .fa {
		margin-right: 10px;
		transition: all .3s ease;
		color: #999;
	}

	.mod-btn:hover {
		color: #e51926;
		border: 1px solid #e51926;
		background: #fff;
	}

	.mod-btn:hover .fa {
		color: #e51926;
	}
}

@media only screen and (max-width: 767px) {
	.mod-btn {
		font-size: 1.4rem;
		line-height: 40px;
		display: block;
		width: 250px;
		height: 40px;
		margin: 0 auto;
		transition: all .3s ease;
		text-align: center;
		text-decoration: none;
		border: 1px solid transparent;
		background: #ededed;
	}

	.mod-btn .fa {
		margin-right: 10px;
		transition: all .3s ease;
		color: #999;
	}
}

/*
---
name: Local nav
category: module
---
*/
.mod-local-nav {
	margin: 0 0 2em;
	text-align: center;
	border-top: 2px solid #f5f5f5;
	border-bottom: 2px solid #f5f5f5;
}

@media only screen and (max-width: 767px) {
	.mod-local-nav {
		text-align: left;
	}
}

.mod-local-nav ul {
	padding: 1em;
}

@media only screen and (max-width: 767px) {
	.mod-local-nav ul {
		padding: 1em 1em .2em;
	}
}

.mod-local-nav li {
	display: inline-block;
	margin: 0 .3em;
}

@media only screen and (max-width: 767px) {
	.mod-local-nav li {
		margin: 0 5px 10px 0;
	}
}

.mod-local-nav a {
	display: inline-block;
	padding: .3em 1em;
}

.mod-local-nav a.is-active {
	text-decoration: none;
	color: #fff;
	border-radius: 10%;
	background: #e51926;
}

.mod-local-nav a.is-active:hover {
	color: #fff;
}

.mod-local-nav a:hover {
	color: #e51926;
}

/*
---
name: Archive year nav
category: module
---
*/

.mod-archive-year-nav {
   position: relative;
   margin: 0 0 70px;
}

.mod-archive-year-nav:before {
   content: '';
   display: block;
   position: absolute;
   bottom: 0;
   left: 0;
   width: 100%;
   border-bottom: 1px solid #EDEDED;
}

.mod-archive-year-nav ul {
   position: relative;
   display: flex;
   justify-content: center;
   gap: 2px;
}

@media only screen and (max-width: 767px) {
   .mod-archive-year-nav ul {
      gap: 6px;
   }
}

.mod-archive-year-nav li {
   width: 190px;
   height: 46px;
}

.mod-archive-year-nav a {
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
   width: 100%;
   height: 100%;
   background-color: #EDEDED;
   text-decoration: none;
}

@media only screen and (max-width: 767px) {
   .mod-archive-year-nav li {
      width: calc((100% - 32px) / 3);
      height: 46px;
   }
}

.mod-archive-year-nav a.is-active {
   border-top: solid 1px #EDEDED;
   border-right: solid 1px #EDEDED;
   border-left: solid 1px #EDEDED;
   background-color: #FFFFFF;
}

.mod-archive-year-nav a:hover {
   opacity: 0.7;
}

/*
---
name: Pagination
category: module
---
*/
.mod-pagination {
	font-size: 1.4rem;
	margin: 2em 0;
	text-align: center;
}

.mod-pagination a.page-numbers:hover {
	color: #e51926;
}

.mod-pagination .page-numbers {
	line-height: 1;
	display: inline-block;
	margin: 0 .2em;
	padding: .2em .4em;
}

.mod-pagination .page-numbers.current {
	color: #fff;
	background: #666;
}

/*
---
name: Shop nav
category: module
---
*/
.mod-shop-nav {
	margin: -1em 0 3em;
	text-align: center;
}

@media only screen and (min-width: 768px) {
	.mod-shop-nav {
		margin-top: -2.5em;
	}
}

.mod-shop-nav .fa {
	margin-right: .5em;
	color: #e51926;
}

.mod-shop-nav li {
	display: inline-block;
	margin: 0 1em;
}

.mod-shop-nav a:hover {
	color: #e51926;
}

/* =====================================================
 * Pages
 * ================================================== */
.block-book {
	overflow: hidden;
}

@media only screen and (min-width: 768px) {
	.block-book {
		padding-top: 60px;
	}
}

@media only screen and (max-width: 767px) {
	.block-book .pc {
		display: none;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .pc {
		display: inline-block;
	}
}

@media only screen and (max-width: 767px) {
	.block-book .sp {
		display: inline-block;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .sp {
		display: none;
	}
}

.block-book h1 {
	overflow: hidden;
	height: 0;
	padding: 0;
}

.block-book .unit {
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-image {
		margin: 0 -10px;
	}

	.block-book .unit-image .sp {
		display: block;
		width: 100%;
		height: auto;
	}
}

.block-book .unit-text {
	margin: 150px 0;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-text {
		margin: 75px 0;
	}
}

.block-book .unit-set-01 {
	position: relative;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-01 {
		margin: 75px 0;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-01 {
		margin: 150px 0 300px;
	}
}

.block-book .unit-set-01 .image {
	text-align: right;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-01 .image img {
		display: block;
		width: 100%;
		height: auto;
	}
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-01 .text {
		margin: 75px 0;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-01 .text {
		position: absolute;
		top: 300px;
		left: 160px;
	}
}

.block-book .unit-set-02 {
	position: relative;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-02 {
		display: flex;
		flex-direction: column-reverse;
		margin: 75px 0;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-02 {
		margin: 300px 0 150px;
	}
}

.block-book .unit-set-02 .image {
	text-align: right;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-02 .image img {
		display: block;
		width: 100%;
		height: auto;
	}
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-02 .text {
		margin: 0 0 75px;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-02 .text {
		position: absolute;
		top: -150px;
		left: 100px;
	}
}

.block-book .unit-set-03 {
	position: relative;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-03 {
		display: flex;
		flex-direction: column-reverse;
		margin: 75px 0;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-03 {
		margin: 300px 0 150px;
	}
}

.block-book .unit-set-03 .image {
	text-align: left;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-03 .image img {
		display: block;
		width: 100%;
		height: auto;
	}
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-03 .text {
		margin: 0 0 75px;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-03 .text {
		position: absolute;
		top: -150px;
		right: 130px;
	}
}

.block-book .unit-set-04 {
	position: relative;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-04 {
		margin: 75px 0;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-04 {
		margin: 150px 0;
	}
}

.block-book .unit-set-04 .image {
	text-align: right;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-04 .image img {
		display: block;
		width: 100%;
		height: auto;
	}
}

.block-book .unit-set-05 {
	position: relative;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-05 {
		display: flex;
		flex-direction: column-reverse;
		margin: 75px 0;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-05 {
		margin: 300px 0 150px;
	}
}

.block-book .unit-set-05 .image {
	text-align: left;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-05 .image img {
		display: block;
		width: 100%;
		height: auto;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-05 .text {
		position: absolute;
		top: -150px;
		right: 130px;
	}
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-05 .text {
		margin: 0 0 75px;
	}
}

.block-book .unit-set-06 {
	position: relative;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-06 {
		display: flex;
		flex-direction: column-reverse;
		margin: 75px 0;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-06 {
		margin: 300px 0 150px;
	}
}

.block-book .unit-set-06 .image {
	text-align: right;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-06 .image img {
		display: block;
		width: 100%;
		height: auto;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-06 .text {
		position: absolute;
		top: -150px;
		left: 100px;
	}
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-06 .text {
		margin: 0 0 75px;
	}
}

.block-book .unit-set-07 {
	position: relative;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-07 {
		margin: 75px 0;
	}
}

@media only screen and (min-width: 768px) {
	.block-book .unit-set-07 {
		margin: 150px 0;
	}
}

.block-book .unit-set-07 .image {
	text-align: left;
}

@media only screen and (max-width: 767px) {
	.block-book .unit-set-07 .image img {
		display: block;
		width: 100%;
		height: auto;
	}
}

.block-book .js-fade-image-l {
	position: relative;
}

.block-book .js-fade-image-l:after {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: '';
	transition: all 1s ease-in-out;
	background: rgba(255, 255, 255, .95);
}

.block-book .js-fade-image-l.is-show:after {
	width: 0;
}

.block-book .js-fade-image-r {
	position: relative;
}

.block-book .js-fade-image-r:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: '';
	transition: all 1s ease-in-out;
	background: rgba(255, 255, 255, .95);
}

.block-book .js-fade-image-r.is-show:after {
	width: 0;
}

@media only screen and (max-width: 767px) {
	.block-promise {
		margin: 0 -10px;
	}

	.block-promise-image {
		width: 100%;
	}
}

@media only screen and (min-width: 768px) {
	.block-promise {
		display: flex;
	}

	.block-promise-image {
		width: 50%;
	}

	.block-promise-text {
		position: relative;
		width: 50%;
	}
}

.block-promise .mod-heading2 {
	line-height: 1.6;
	margin-bottom: 2.5em;
	padding-top: 3em;
	padding-right: 1em;
	text-align: center;
	color: #e51926;
}

.block-promise .mod-heading2:before {
	display: none;
}

.block-promise p {
	line-height: 2;
	margin: 0 2em 2em;
	text-align: center;
	color: #666;
}

@media only screen and (max-width: 767px) {
	.block-promise p {
		margin: 0 1em 2em;
		text-align: left;
	}
}

.block-movie {
	position: relative;
}

@media only screen and (max-width: 767px) {
	.block-movie {
		overflow: hidden;
		height: 0;
		padding-top: 56.25%;
	}
}

.block-movie iframe {
	display: block;
	width: 1000px;
	height: 600px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.block-movie iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
	}
}

.block-contact {
	max-width: 720px;
	margin: 0 auto;
}

.block-contact .mod-heading1 {
	padding: 1.5em 0 1em;
}

.block-contact .box-form {
	padding: 40px;
	background: #f5f5f5;
}

@media only screen and (max-width: 767px) {
	.block-contact .box-form {
		padding: 2em;
	}
}

.block-contact .list-attention {
	margin-bottom: 2em;
	color: #e51926;
}

.block-contact .list-attention li {
	margin-bottom: .5em;
}

.block-contact .msg-error {
	font-size: 1.5rem;
	margin: 0 0 1em;
	padding: 1em;
	text-align: center;
	color: #e51926;
	border-bottom: 2px solid #e51926;
}

.block-contact .unit-form {
	margin-bottom: 3em;
}

.block-contact .unit-form dt {
	font-size: 1.6rem;
	margin-bottom: .5em;
}

.block-contact .unit-form dd {
	font-size: 1.4rem;
	line-height: 1.5;
	word-break: break-all;
}

.block-contact .unit-form dd.ex {
	font-size: 1.3rem;
	margin-top: 1em;
	color: #666;
}

.block-contact .unit-form .reruired,
.block-contact .unit-form .required {
	font-size: 1.2rem;
	line-height: 1;
	position: relative;
	top: -3px;
	display: inline-block;
	width: 4em;
	margin-left: 1em;
	padding: .2em .4em;
	text-align: center;
	color: #fff;
	background-color: #e51926;
}

.block-contact .unit-form input[type='text'] {
	font-size: 1.6rem;
	width: 340px;
	padding: .5em;
	border: 1px solid #ccc;
	border-radius: 0;
	outline: none;
	box-shadow: none;
}

.block-contact .unit-form input[type='text'].error-form {
	border-color: #e51926;
}

@media only screen and (max-width: 767px) {
	.block-contact .unit-form input[type='text'] {
		width: 100%;
	}
}

.block-contact .unit-form input[type='text']:focus {
	border-color: #000;
}

.block-contact .unit-form input[type='text'].input-long {
	width: 100%;
}

.block-contact .unit-form textarea {
	font-size: 1.6rem;
	width: 100%;
	padding: .5em;
	border: 1px solid #ccc;
	border-radius: 0;
	outline: none;
}

.block-contact .unit-form textarea.error-form {
	border-color: #e51926;
}

.block-contact .unit-form .error-text {
	font-size: 1.4rem;
	margin-top: .5em;
	margin-bottom: -.5em;
	color: #e51926;
}

.block-contact .box-form-confirm .unit-form dt {
	font-size: 1.4rem;
	padding: 0 0 .5em;
	border-bottom: 1px solid #aaa;
}

.block-contact .btn-submit {
	color: #fff;
	background: #666;
}

.block-contact .btn-submit:hover {
	background: #e51926;
}

.block-contact .btn-reset {
	font-size: 1.4rem;
	margin: 2em 0 1em;
	text-align: center;
}

.block-contact .btn-reset a:hover {
	color: #e51926;
}

.block-jobs {
	margin: 0 auto;
}

.block-jobs span.wpcf7-not-valid-tip {
	font-size: .9em;
	display: block;
	margin: .3em 0 -.5em;
	color: #f00;
}

.block-jobs .mod-heading1 {
	padding: 1.5em 0 1em;
}

@media only screen and (max-width: 767px) {
	.block-jobs .mod-page-lead + .mod-section {
		padding-top: 0;
	}
}

.block-jobs .mod-section {
	margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
	.block-jobs .mod-section {
		margin-bottom: 0;
	}
}

.block-jobs .mod-section .section-heading {
	padding-top: 0;
}

.block-jobs .mod-section .section-body {
	padding-top: 0;
}

.block-jobs .unit-job:not(:last-child) {
	margin: 0 0 35px;
}

@media only screen and (max-width: 767px) {
	.block-jobs .unit-job:not(:last-child) {
		margin: 0 0 25px;
	}
}

.block-jobs .link-shop {
	margin-top: 0;
	padding: 1.5em 0;
	border-bottom: 1px solid #f5f5f5;
}

.block-jobs .apply-form {
	max-width: 720px;
	margin: 0 auto;
}

.block-jobs .apply-form .mod-heading1 {
	padding: 20px 0 10px;
}

@media only screen and (max-width: 767px) {
	.block-jobs .apply-form .mod-heading1 {
		padding: 40px 0 0;
	}
}

.block-jobs .box-form {
	padding: 40px;
	background: #f5f5f5;
}

@media only screen and (max-width: 767px) {
	.block-jobs .box-form {
		padding: 2em;
	}
}

.block-jobs .list-attention {
	margin-bottom: 2em;
	color: #e51926;
}

.block-jobs .list-attention li {
	margin-bottom: .5em;
}

.block-jobs .msg-error {
	font-size: 1.5rem;
	margin: 2em 0 0;
	padding: 1em;
	color: #f00;
	border: 2px solid #e51926;
}

.block-jobs .unit-form {
	margin-bottom: 3em;
}

.block-jobs .unit-form dt {
	font-size: 1.6rem;
	margin-bottom: .5em;
}

.block-jobs .unit-form dd {
	font-size: 1.4rem;
	line-height: 1.5;
	word-break: break-all;
}

.block-jobs .unit-form dd.ex {
	font-size: 1.3rem;
	margin-top: 1em;
	color: #666;
}

.block-jobs .unit-form .reruired,
.block-jobs .unit-form .required {
	font-size: 1.2rem;
	line-height: 1;
	position: relative;
	top: -3px;
	display: inline-block;
	width: 4em;
	margin-left: 1em;
	padding: .2em .4em;
	text-align: center;
	color: #fff;
	background-color: #e51926;
}

.block-jobs .unit-form input[type='text'],
.block-jobs .unit-form input[type='email'],
.block-jobs .unit-form input[type='tel'] {
	font-size: 1.6rem;
	width: 340px;
	padding: .5em;
	border: 1px solid #ccc;
	border-radius: 0;
	outline: none;
	box-shadow: none;
}

.block-jobs .unit-form input[type='text'].error-form,
.block-jobs .unit-form input[type='email'].error-form,
.block-jobs .unit-form input[type='tel'].error-form {
	border-color: #e51926;
}

@media only screen and (max-width: 767px) {
	.block-jobs .unit-form input[type='text'],
    .block-jobs .unit-form input[type='email'],
    .block-jobs .unit-form input[type='tel'] {
		width: 100%;
	}
}

.block-jobs .unit-form input[type='text']:focus,
.block-jobs .unit-form input[type='email']:focus,
.block-jobs .unit-form input[type='tel']:focus {
	border-color: #000;
}

.block-jobs .unit-form input[type='text'].input-long,
.block-jobs .unit-form input[type='email'].input-long,
.block-jobs .unit-form input[type='tel'].input-long {
	width: 100%;
}

.block-jobs .unit-form input[type='radio'],
.block-jobs .unit-form input[type='checkbox'] {
	margin: 0 .3em 0 0;
	vertical-align: middle;
}

.block-jobs .unit-form input[type='radio'] + span,
.block-jobs .unit-form input[type='checkbox'] + span {
	vertical-align: middle;
}

.block-jobs .unit-form textarea {
	font-size: 1.6rem;
	width: 100%;
	padding: .5em;
	border: 1px solid #ccc;
	border-radius: 0;
	outline: none;
}

.block-jobs .unit-form textarea.error-form {
	border-color: #e51926;
}

.block-jobs .unit-form .form-item-horizontal {
	letter-spacing: -.4em;
}

.block-jobs .unit-form .form-item-horizontal li {
	display: inline-block;
	letter-spacing: normal;
}

.block-jobs .unit-form .form-item-horizontal li:not(:last-child) {
	margin: 0 .8em 0 0;
}

.block-jobs .unit-form .form-item-vertical li:not(:last-child) {
	margin: 0 0 .5em;
}

.block-jobs .agree {
	font-size: 1.4rem;
	margin-bottom: 2em;
}

.block-jobs .btn-submit,
.block-jobs .wpcf7-form-control.wpcf7-submit {
	font-size: 1.4rem;
	line-height: 50px;
	display: block;
	width: 300px;
	height: 50px;
	margin: 2em auto 1em;
	transition: all .3s ease;
	text-align: center;
	text-decoration: none;
	color: #fff;
	border: 1px solid transparent;
	background: #666;
}

.block-jobs .btn-submit:hover,
.block-jobs .wpcf7-form-control.wpcf7-submit:hover {
	opacity: .7;
}

@media only screen and (max-width: 767px) {
	.block-jobs .btn-submit,
    .block-jobs .wpcf7-form-control.wpcf7-submit {
		font-size: 1.4rem;
		line-height: 40px;
		display: block;
		width: 250px;
		height: 40px;
		margin: 0 auto;
		transition: all .3s ease;
		text-align: center;
		text-decoration: none;
		border: 1px solid transparent;
	}

	.block-jobs .btn-submit .fa,
    .block-jobs .wpcf7-form-control.wpcf7-submit .fa {
		margin-right: 10px;
		transition: all .3s ease;
		color: #999;
	}
}

.block-jobs .btn-reset {
	font-size: 1.4rem;
	margin: 2em 0 1em;
	text-align: center;
}

.block-jobs .btn-reset a:hover {
	color: #e51926;
}

.block-jobs .wpcf7-response-output.wpcf7-validation-errors {
	font-size: 1.5rem;
	margin: 2em 0 0;
	padding: 1em;
	color: #f00;
	border: 2px solid #e51926;
}

.block-jobs div.wpcf7-response-output.wpcf7-mail-sent-ok {
	font-size: 1.5rem;
	margin: 2em 0 0;
	padding: 1em;
	border: 2px solid #398f14;
	background: #fff;
}

.block-jobs span.wpcf7-list-item {
	display: block;
}


/* ----- 2025.07 News ----- */
.block-home-news-card {
	border-top: 2px solid #f5f5f5;
}

.mod-news-card h2 {
	font-size: 1.8rem;
	text-align: center;
}

.mod-news-card-inner {
	display: flex;
	flex-wrap: wrap;
}

.mod-news-card .item-news a {
	display: block;
	text-decoration: none;
	transition: opacity .3s ease;
}


.mod-news-card .item-image {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 230 / 120;
}

.mod-news-card .item-image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 230 / 120;
	object-fit: cover;
}

.mod-news-card .item-wrap {
	display: flex;
	align-items: center;
	margin: 10px 0 0;
}

.mod-news-card .item-wrap .category {
	display: block;
	width: 6em;
	padding: 2px 5px;
	background-color: #aaa;
	color: #fff;
	font-family: 'Roboto';
	font-size: 1.1rem;
	text-align: center;
}

.mod-news-card .item-wrap .date {
	margin: 0 0 0 1em;
	color: #666;
	font-size: 1.4rem;
	text-align: left;
}

.mod-news-card .item-news h3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	max-width: 100%;
	margin: 10px 0 0;
	font-size: 1.4rem;
	line-height: 1.5;
}

@media only screen and (min-width: 768px) {
	.block-home-news-card .mod-news-card {
		padding: 40px 0 0;
	}

	.mod-news-card .item-news a:hover {
		opacity: .7;
	}

	.mod-news-card-inner {
		gap: 40px;
		margin: 30px auto 50px;
	}

	.mod-news-card .item-news {
		width: calc(100% / 4 - 120px / 4);
	}

	.block-news {
		width: 100%;
	}
}

@media only screen and (max-width: 767px) {
	.block-home-news-card .mod-news-card {
		padding: 40px 0;
	}

	.mod-news-card-inner {
		gap: 4%;
		margin: 30px auto 20px;
	}

	.mod-news-card .item-news {
		width: calc(100% / 2 - 4% / 2);
		margin: 0 0 20px;
	}

	.mod-news-card .item-wrap .date {
		font-size: 1.2rem;
	}

	.mod-news-card .item-news h3 {
		font-size: 1.3rem;
	}

	.mod-archive-year-nav {
		margin: 0 auto 40px;
	}
}
