@charset "UTF-8";
/*
Theme Name: Himukaizer2021
Author: manabito Corp.
Author URI: https://manabito.biz/
Description: 天孫降臨ヒムカイザー公式サイトのオリジナルテーマ
Version: 3.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

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

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
	border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
	display: none;
}

/*================================
	Theme common styles
================================*/

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

html {
	font-size: 62.5%;
	scroll-padding-top: 80px;
}

body {
	color: #333;
	font-family: "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
	font-size: 1.6rem;
	font-weight: normal;
}

h1,
h2,
h3,
p,
a,
ul,
ol,
figure {
	margin: 0;
	padding: 0;
}

a {
	color: #000;
	text-decoration: none;
}

ul,
ol {
	list-style: none;
}

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

.inner {
	margin: 0 auto;
	max-width: 1000px;
}

.page-wrapper {
	padding: 140px 0 200px;
}

.br-sp {
	display: none;
}

input,
textarea,
select {
	max-width: 100%;
}

address {
	font-style: normal;
}

/* Hover settings */

@media screen and (min-width: 768px) {
	a:hover,
	a:hover img {
		opacity: .8;
	}

	.chara-voice-btn img:hover,
	.thumbnail li:hover,
	.submit-btn .wpcf7-submit:hover {
		cursor: pointer;
		opacity: .8;
	}

	.top-himumaga-project .btn a:hover {
		cursor: pointer;
		opacity: .6;
	}

	.omikuji > img:hover {
		opacity: .9;
	}
}

/*================================
	Header
================================*/
/* only-top */
.top-bar {
	background: url(./images/top-header-bg.jpg) no-repeat 0 0;
	background-size: cover;
	height: 50px;
	width: 100%;
}

.top-bar {
	align-items: center;
	display: flex;
	justify-content: center;
}

.top-main-visual {
	animation: bgiLoop 20s linear infinite;
	background: url(./images/top-chara-bg.jpg) repeat-x 0 0;
	background-size: auto 650px;
	display: flex;
	height: 650px;
	justify-content: center;
}

@keyframes bgiLoop {
    0% { background-position: 0 0;}
  100% { background-position: -1800px 0;}
}

.top-main-visual-inner {
	background: url(./images/top-chara-after-15th.png) no-repeat center 10px;
	background-size: auto 100%;
	height: 650px;
	position: relative;
	width: 100%;
}

.top-main-visual-inner .inner {
	position: relative;
}

.anniversary {
	position: absolute;
	top: 492px;
	left: 115px;
}

.only-sp {
	display: none;
}

.header .inner {
	position: relative;
}

.only-header-logo {
	left: 50%;
	top: 50%;
	position: absolute;
	transform: translate(-50%, -66%);
	-webkit-transform: translate(-50%, -66%);
	-ms-transform: translate(-50%, -66%);
}

.header {
	background: url(./images/header-bg.jpg) repeat-x 50% 0;
	padding: 12px 0;
	width: 100%;
	z-index: 20;
}

.page .header,
.single .header {
	position: fixed;
}

.home .header {
	position: static;
	padding: 20px 0;
}

.global-nav-list {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 0 30px;
	text-align: center;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.global-nav .logo {
	margin: 0 100px;
	padding: 0;
}

.only-header-logo img {
	max-width: 500px;
	width: 100%;
}

.home .global-nav li:nth-child(2),
.home .global-nav li:nth-child(5) {
	margin: 0 0 0 40px;
}

.home .global-nav .logo {
	margin: 0 28%;
	max-width: 550px;
}

.home .global-nav .logo img {
	display: none;
}

.header a {
	color: #d5d5d5;
	display: block;
	font-size: 1.8rem;
	font-weight: 600;
}

.letter-space-1 {
	letter-spacing: 1px;
}

.letter-space-2 {
	letter-spacing: 2px;
}

.header a span {
	font-size: 1.2rem;
	letter-spacing: 1px;
}

.omikuji {
	cursor: pointer;
	position: absolute;
	top: -12px;
	right: -66px;
}

.home header.home-fixed-header {
	left: 0;
	padding: 12px 0;
	position: fixed;
	top: 0;
}

.home header.home-fixed-header .only-header-logo {
	display: none;
}

.home header.home-fixed-header .global-nav li:nth-child(2),
.home header.home-fixed-header .global-nav li:nth-child(5) {
	margin: 0;
}

.home header.home-fixed-header .global-nav .logo {
	margin: 0 10.6%;
	width: initial;
}

.home header.home-fixed-header .global-nav .logo img {
	display: block;
}

/* Omikuji */
.omikuji-image-wrap img {
	margin: 0 auto;
	max-height: 96vh;
	max-width: 96vw;
}

.omikuji-image-wrap {
	display: none;
	left: 0;
	margin: auto;
	max-width: 1000px;
	position: fixed;
	right: 0;
	text-align: center;
	top: 100px;
	z-index: 32;
}

.omikuji-btn-lucky,
.omikuji-btn-close {
	bottom: 30px;
	color: #fff;
	height: 50px;
	position: absolute;
	width: 30%;
	z-index: 33;
}

.omikuji-btn-lucky {
	background: #e34444;
	line-height: 50px;
	left: 18%;
}

.omikuji-btn-close {
	appearance: none;
	background: #333 url(./images/omikuji-close.svg) no-repeat 37% 50%;
	background-size: 12px 12px;
	border: none;
	cursor: pointer;
	outline: 0;
	padding: 0 0 0 10px;
	right: 18%;
}

.bg-omikuji {
	background: rgba(0, 0, 0, .5);
	left: 0;
	height: 100%;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 31;
}

/*================================
	Fixed-sns
================================*/
.fixed-sns {
	left: 20px;
	position: fixed;
	top: 140px;
	z-index: 10;
}

.fixed-sns li:not(:last-child) {
	margin: 0 0 20px 0;
}

/*================================
	Footer
================================*/
.footer {
	background: url(./images/footer-bg.jpg) repeat 50% 0;
	padding: 60px 0;
}

.footer,
.footer a {
	color: #fff;
}

.sp-footer-contents {
	display: none;
}

.footer-logo {
	margin: 0 0 60px;
}

.footer-logo img {
	margin: 0 auto;
}

.footer-contents {
	border-bottom: 2px solid #505050;
	display: flex;
	margin: 0 0 60px;
	padding: 0 0 60px;
}

.right-top,
.footer-sns,
.right-bottom {
	display: flex;
}

.footer-contents > .footer-sitemap {
	margin: 0 10% 0 0;
}

.right-top .footer-sitemap {
	margin: 0 16% 0 0;
}

.footer-sitemap {
	line-height: 2;
}

.right-top {
	margin: 0 0 60px;
}

.footer-sns {
	height: 32px;
}

.footer-sns li {
	display: flex;
	align-items: center;
}

.footer-sns li:not(:last-child) {
	margin: 0 24px 0 0;
}

.right-bottom li:first-child {
	margin: 0 30px 0 0;
}

.footer-sitemap li::before {
	content: url(./images/footer-arrow.png);
	padding: 0 10px 0 0;
}

.footer-copy,
.footer-copy small {
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: center;
}

.performance-bnr {
	bottom: 0;
	right: 0;
	position: fixed;
	z-index: 10;
}

/*================================
	Slider
================================*/
main .bxslider {
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	width: 100%;
}

main .bx-wrapper {
	box-shadow: none;
	border: none;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 1640px;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
}

.top-himumaga .bxslider {
	height: 345px;
}

.top-himumaga .bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 42%;
	margin-top: 0;
	width: 12px;
	height: 36px;
}

.top-himumaga .bx-wrapper .bx-prev {
	background: url(./images/project-slider-prev.png) no-repeat 0 0;
	left: 530px;
}

.top-himumaga .bx-wrapper .bx-next {
	background: url(./images/project-slider-next.png) no-repeat 0 0;
	right: 530px;
}

.top-himumaga .bx-wrapper .bx-next:hover {
	background-position: 0 0;
}

/*================================
	Home
================================*/
.home .omikuji {
	top: -20px;
}

/* top-story */
.top-story {
	background: url(./images/top-story-bg.jpg) no-repeat top center;
	background-size: cover;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.top-story .inner {
	padding: 90px 0;
}

.home .japanese-title {
	margin: 0 0 60px 0;
}

.top-story-contents {
	font-size: 2rem;
	font-weight: 600;
	line-height: 2.4;
	margin: 0 auto 60px auto;
	text-shadow: 2px 2px 0 #e6e2d9,
								-2px 2px 0 #e6e2d9,
								2px -2px 0 #e6e2d9,
								-2px -2px 0 #e6e2d9,
								2px 0 0 #e6e2d9,
								0 2px 0 #e6e2d9,
								-2px 0 0 #e6e2d9,
								0 -2px 0 #e6e2d9;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}

.top-story-contents p:not(:last-child) {
	margin: 0 0 0 70px;
}

.home-youtube {
	margin: 0 0 60px;
}

.link-btn {
	text-align: center;
}

.link-btn a {
	background: url(./images/contact-btn-arrow.png) no-repeat 96% center;
	border: 6px double #ae945d;
	color: #6c5627;
	display: block;
	font-weight: 600;
	margin: 0 auto;
	padding: 26px;
	width: 580px;
}

.top-free-watch {
	background: #000 url(./images/top-free-watch-bg.jpg) no-repeat center top;
	background-size: cover;
	height: 470px;
	margin: 0 0 100px 0;
	padding: 10px 0;
	width: 100%;
}

.top-free-watch .line {
	border-bottom: 1px solid #8d9aa4;
	border-top: 1px solid #8d9aa4;
	height: 450px;
	padding: 48px 0;
}

.top-free-watch .inner {
	position: relative;
}

.free-watch-hoderi {
	left: -35%;
	position: absolute;
	top: -30px;
}

.free-watch-list {
	margin: 0 0 0 27%;
	width: 73%;
}

.free-watch-title {
	margin: 0 auto 28px;
	text-align: center;
}

.free-watch-title img {
	margin: 0 auto;
}

.free-watch-list ul {
	display: flex;
	justify-content: space-between;
	margin: 0 0 28px 0;
	text-align: center;
}

.free-watch-list li {
	width: 30%;
}

.free-watch-list li img {
	margin: 0 0 8px;
}

.free-watch-list a {
	color: #fff;
}

.channel-btn a {
	background: url(./images/top-free-watch-arrow.png) no-repeat 95% center;
	border: 2px solid #fff;
	display: block;
	font-weight: 600;
	margin: 0 auto;
	padding: 22px 0;
	text-align: center;
	width: 400px;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.top-character {
	margin: 0 0 100px;
}

.home .top-character .japanese-title {
	margin: 0 0 10px;
}

.swiper-parent .slider {
	padding: 50px 0 30px;
}

.swiper-parent .swiper-button-prev,
.swiper-parent .swiper-button-next {
	color: #c69e47;
}

.swiper-parent .swiper-button-prev {
	left: 30%;
}

.swiper-parent .swiper-button-next {
	right: 30%;
}

.slider .swiper-slide img {
	margin: 0 auto;
}

.chara-voice-btn {
	margin: 0 0 60px;
}

.chara-voice-btn img {
	margin: 0 auto;
}

.voice-thumbnail .swiper-wrapper {
	justify-content: space-between;
}

.voice-thumbnail li {
	cursor: pointer;
	height: auto;
	width: 23%!important;
}

.voice-thumbnail li {
	margin: 0 0 20px;
 }

.voice-thumbnail li img {
	margin: 0 0 10px;
}

.voice-thumbnail .swiper-slide-thumb-active picture {
	display: block;
	position: relative;
}

.voice-thumbnail .swiper-slide-thumb-active picture::before {
	background-color: rgba(51, 51, 51, .6);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.thum-chara-name {
	color: #6c5627;
	display: block;
	text-align: center;
}

.top-himumaga {
	border-bottom: 1px solid #ccc;
	margin: 0 0 100px;
	padding: 0 0 100px;
}

.top-himumaga-catch {
	background: url(./images/top-himumaga-bg.jpg) no-repeat top center;
	margin: 0 0 30px;
}

.top-himumaga-catch-inner {
	display: flex;
	justify-content: flex-end;
}

.top-himumaga-project {
	margin: 0;
	padding: 94px 0 74px;
	width: 62%;
}

.top-himumaga-project .japanese-title {
	margin: 0 0 40px;
}

.top-himumaga-project-phrase img {
	margin: 0 auto 36px;
}

.project-description {
	line-height: 1.8;
	margin: 0 0 28px;
}

.project-description strong {
	font-weight: 600;
}

.top-himumaga-project-logo {
	margin: 0 0 40px;
}

.top-himumaga-project-logo img {
	margin: 0 auto;
	width: 510px;
}

.top-himumaga-project .btn {
	margin: 0 auto;
	width: 400px;
}

.top-himumaga-project .first {
	margin: 0 auto 20px auto;
}

.top-himumaga-project .btn a {
	background: #fff url(./images/top-himumaga-arrow.png) no-repeat 95% center;
	border: 2px solid #333;
	display: block;
	font-weight: 600;
	line-height: 1;
	opacity: .8;
	padding: 22px 0;
	text-align: center;
}

.himumaga-ad {
	color: #525252;
	display: block;
	line-height: 1;
	margin: 0 auto 60px;
}

.himumaga-ad a {
	font-weight: 600;
	text-decoration: underline;
}

.top-himumaga li img {
	margin: 0 0 20px;
}

.home-project-slider-title {
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.6;
	text-align: center;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.top-item {
	border-bottom: 1px solid #ccc;
	margin: 0 0 100px;
	padding: 0 0 100px;
}

/* top-item */
.top-item-list {
	margin: 0 0 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.top-item-list li {
	width: 22%;
}

.top-item-list li:nth-child(-n+4) {
	margin: 0 0 30px;
}

.top-item-list img {
	border: 1px solid #ccc;
}

/* top-news */
.top-news {
	margin: 0 auto 100px auto;
}

.top-news-info-list .info-item:nth-child(-n+2) {
	margin: 0 2% 0 0;
}

.home .info-item:last-child {
	display: none;
}

.top-news-btn a {
	background: url(./images/contact-btn-arrow.png) no-repeat 96% center;
	border: 6px double #ae945d;
	color: #6c5627;
	display: block;
	font-weight: 600;
	margin: 0 auto;
	padding: 26px 0;
	text-align: center;
	width: 580px;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

/* bnr-area */
.bnr-area {
	background: url(./images/bnr-area-bg.jpg) no-repeat;
	background-size: cover;
	padding: 60px 0;
	width: 100%;
}

.online-bnr-area {
	margin: 0 0 30px;
}

.bnr-area-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.bnr-area-list-1bnr {
	margin: 0 0 30px;
	width: 100%;
}

.bnr-area-list-3bnr {
	margin: 0 0 30px;
	max-width: 32%;
}

.bnr-area-list-2bnr {
	max-width: 48%;
}

.footer-3bnr {
	margin: 0 0 30px;
}

/*================================
	Page.php Common
================================*/
.page-catch {
	margin: 0 0 100px;
}

.page-title {
	display: flex;
	justify-content: center;
	margin: 0 0 10px 0;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.page-title span {
	color: #6c5627;
	display: inline-block;
	font-family: "Cormorant Garamond", serif;
	font-size: 4rem;
	letter-spacing: 10px;
	line-height: 1;
	padding: 0 24px 0 34px;
	position: relative;
	text-transform: uppercase;
}

.page-title span::before {
	content: url(./images/title-left.png);
	height: 40px;
	position: absolute;
	top: 2px;
	left: 2px;
	width: 8px;
}

.page-title span::after {
	content: url(./images/title-right.png);
	height: 40px;
	position: absolute;
	top: 2px;
	right: 2px;
	width: 8px;
}

.japanese-title {
	color: #6c5627;
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 30px;
	text-align: center;
}

.eye-catch img {
	height: auto;
	margin: 0 0 26px;
	width: 100%;
}

.eye-catch figcaption {
	line-height: 2;
}

.section-title {
	color: #6c5627;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 60px 0;
	text-align: center;
}

/*================================
	SHOP
================================*/
.shop-page {
	padding: 140px 0 80px;
}

.shop-page .page-catch {
	margin: 0 0 60px;
}

.shop-page-catch-text {
	line-height: 2;
}

.shop-page .section-title::before,
.shop-page .section-title::after {
	content: "-";
}

.shop-page .section-title::before {
	padding: 0 8px 0 0;
}

.shop-page .section-title::after {
	padding: 0 0 0 8px;
}

.sp-service {
	margin: 0 0 100px;
}

.sp-service-list {
	display: flex;
	justify-content: space-between;
	margin: 0 0 12px;
}

.sp-service-list li {
	max-width: 485px;
	width: 48%;
}

.sp-service-caution {
	line-height: 1;
}

.item-list {
	display: flex;
	flex-wrap: wrap;
}

.online-shop .item-list {
	margin: 0 auto 20px;
}

.item-list li {
	width: 22%;
}

.shop-page .item-list li {
	margin: 0 0 30px;
}

.shop-page .item-list li:not(:nth-child(4n)) {
	margin: 0 4% 30px 0;
}

.online-shop img {
	aspect-ratio: 1/1;
	border: 1px solid #ccc;
	object-fit: contain;
}

.online-shop .item-name {
	margin: 0;
}

.item-list li img {
	margin: 0 auto 10px;
	max-height: 220px;
	width: auto;
}

.item-name {
	line-height: 1.5;
	margin: 0 0 6px;
}

.online-shop-drive {
	margin: 100px 0 0;
}

.limit-text-2l {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.real-store-wrapper {
	border-top: 2px solid #e1e1e1;
	margin: 70px 0 0;
	padding: 100px 0 0;
	width: 100%;
}

.shop-image {
	margin: 0 0 30px;
}

.store-info {
	display: flex;
	justify-content: space-between;
}

.store-address {
	max-width: 520px;
	width: 52%;
}

.business-hour {
	max-width: 400px;
	width: 40%;
}

.store-info-title {
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 30px;
	text-align: center;
}

.store-info-title::before,
.store-info-title::after {
	content: "-";
}

.store-info-title::before {
	padding: 0 6px 0 0;
}

.store-info-title::after {
	padding: 0 0 0 6px;
}

.store-address {
	line-height: 2;
}

.store-address-list dl {
	margin: 0;
}

.store-address-list dt {
	display: inline;
	font-weight: 600;
}
.store-address-list dd {
	display: inline;
	margin: 0;
}

.store-address-list dt::before {
	content: "●";
}

.store-address-text {
	margin: 40px 0 0;
}

.store-address a {
	color: #333;
}

.store-address-link {
	text-decoration: underline;
}

.business-hour .store-info-title {
	margin: 0 0 18px;
}

.business-hour-table {
	border-collapse: collapse;
	line-height: 1;
	margin: 0 0 30px;
	text-align: left;
	width: 100%;
}

.business-hour-table th {
	font-weight: 600;
	width: 92px;
}

.business-hour-table th,
.business-hour-table td {
	border-bottom: 2px solid #dbdbdb;
	padding: 20px 0 10px 0;
}

.business-hour-sp-service {
	line-height: 2;
}

/*================================
	Smile-project
================================*/
.project-page {
	padding: 140px 0 0;
}

.project-page .page-catch {
	margin: 0 0 30px;
}

.project-page .eye-catch img {
	margin: 0 0 60px;
}

.project-page .section-title {
	margin: 0 0 30px;
}

.project-image {
	margin: 0 0 100px;
	width: 100%;
}

.project-image .bxslider {
	height: 280px;
	max-width: 1640px;
}

.project-image .bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 42%;
	margin-top: 0;
	width: 12px;
	height: 36px;
}

.project-image .bx-wrapper .bx-prev {
	background: url(./images/project-slider-prev.png) no-repeat 0 0;
	left: 530px;
}

.project-image .bx-wrapper .bx-next {
	background: url(./images/project-slider-next.png) no-repeat 0 0;
	right: 530px;
}

.project-image .bx-wrapper .bx-next:hover {
	background-position: 0 0;
}

.about {
	padding: 0 30px;
}

.about-text {
	line-height: 2;
}

.about a {
	text-decoration: underline;
}

.about strong {
	font-weight: 600;
}

.link-magazine {
	background: url(./images/project-magazine-bg.jpg) no-repeat;
	background-size: cover;
	color: #fff;
	margin: 0 0 100px;
	padding: 60px 0;
	text-align: center;
	width: 100%;
}

.link-magazine-title {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 30px;
}

.about-magazine {
	display: flex;
	justify-content: center;
	line-height: 2;
	margin: 0 0 30px;
}

.about-magazine li:first-child {
	margin: 0 16px 0 0;
}

.about-magazine li::before {
	content: "●";
}

.magazine-image {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2%;
	justify-content: center;
	margin: 0 0 60px;
	padding: 0 20px;
}

.details-btn a {
	background: url(./images/footer-arrow.png) no-repeat 96% center;
	border: 1px solid #fff;
	color: #fff;
	display: inline-block;
	font-weight: 600;
	line-height: 1;
	margin: 0 auto;
	padding: 22px 0;
	width: 400px;
}

.recruitment {
	border: 2px solid #6c5627;
	margin: 0 auto 100px auto;
	padding: 4px;
}

.recruitment-inner {
	border: 1px solid #6c5627;
	padding: 30px;
}

.recruitment-title {
	font-size: 2rem;
	font-weight: 600;
	margin: 0 0 30px;
	text-align: center;
}

.recruitment-description {
	margin: 0 0 30px;
	text-align: center;
}

.recruitment-contact {
	display: flex;
	justify-content: center;
	margin: 0 0 30px;
}

.recruitment-contact .btn {
	background: #ed9805;
	border-radius: 10px;
	margin: 0 40px 0 0;
	width: 43%;
}

.recruitment-contact .btn a {
	align-items: center;
	color: #fff;
	display: flex;
	font-size: 2rem;
	font-weight: 600;
	justify-content: center;
	padding: 32px 0;
}

.recruitment-contact .btn a::before {
	content: url(./images/project-mail-icon.png);
	line-height: 1;
	padding: 0 10px 0 0;
}

.tel-number {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: right;
}

.tel-number img {
	margin: 0 0 12px;
}

.conditions {
	background: #f6f6f6;
	height: 146px;
	padding: 20px 70px;
	margin: 0 0 10px 0;
}

.recruitment-conditions-title {
	font-size: 2rem;
	font-weight: 600;
	margin: 0 0 20px;
	text-align: center;
}

.recruitment-conditions-title::before,
.recruitment-conditions-title::after {
	content: "-";
	display: inline-block;
}

.recruitment-conditions-title::before {
	padding: 0 6px 0 0;
}

.recruitment-conditions-title::after {
	padding: 0 0 0 6px;
}

.recruitment-conditions-list {
	flex-wrap: wrap;
}

.conditions li {
	float: left;
	line-height:2;
	width: 52%;
}

.conditions li:first-child {
	margin: 0 4% 0 0;
	width: 44%;
}

.conditions li::before {
	content: "●";
}

.conditions-caution {
	clear: both;
}

/*================================
	Himumga
================================*/
.himumaga-page {
	padding: 140px 0 0;
}

.himumaga-page .page-catch {
	margin: 0 0 60px;
}

.himumaga-page .eye-catch img {
	margin: 0 0 60px;
}

.himumaga-page .section-title {
	margin: 0 0 30px;
}

.magazine {
	background: #f3f3f3;
	font-weight: 600;
	line-height: 2;
	padding: 30px 0;
	margin: 0 auto 100px;
	text-align: center;
}

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

.magazine .magazine-image {
	margin: 0;
}

.magazine-text {
	font-weight: 300;
}

.link-project {
	background: url(./images/himumaga-project-bg.jpg) no-repeat center top;
	background-size: cover;
	color: #fff;
	padding: 60px 0;
	margin: 0 0 100px;
	text-align: center;
}

.link-project-title {
	font-size: 2rem;
	font-weight: 600;
	margin: 0 0 24px;
}

.link-project-text {
	line-height: 2;
	padding: 0 30px;
	margin: 0 0 24px;
}

.link-project strong {
	font-weight: 600;
}

.link-project-text a {
	color: #fff;
	text-decoration: underline;
}

.project-logo {
	margin: 0 0 60px;
}

.project-logo img {
	margin: 0 auto;
}

.sponsorship {
	margin: 0 auto 100px auto;
}

.sponsorship-title {
	color: #6c5627;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 24px;
	text-align: center;
}

.sponsorship-description {
	line-height: 2;
	margin: 0 0 60px;
	text-align: center;
}

.add-benefits {
	border-collapse: collapse;
	margin: 0 auto 24px;
	text-align: center;
	width: 940px;
}

.add-benefits thead {
	background: #5b9cdf;
}

.add-benefits thead th,
.add-benefits thead td {
	color: #fff;
	font-weight: 600;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.add-benefits th {
	width: 26%;
}

.add-benefits td {
	width: 18.5%;
}

.add-benefits thead td.only-pc {
	height: 52px;
}

.add-benefits thead th {
	font-size: 1.8rem;
	padding: 28px 0;
	position: relative;
	width: 256px;
}

.add-benefits .ad-unit {
	font-size: 1.6rem;
	display: block;
	margin: 6px 0 0;
 }

.table-line::after {
	background: #b4d5f6;
	content: '';
	display: inline-block;
	position: absolute;
}

.vertical-line-long::after {
	height: 80%;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 2px;
}

.add-benefits thead td {
	position: relative;
}

.side-line-long {
	font-size: 1.8rem;
}

.side-line-long::after {
	bottom: 0;
	height: 2px;
	left: 50%;
	transform: translateX(-50%);
	width: 94%;
}

.vertical-line-short::after {
	height: 64%;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 2px;
}

.add-benefits sup {
	font-size: 95%;
	left: 4px;
	top: -0.2em;
}

.add-benefits tbody th {
	font-weight: 300;
	padding: 28px 0;
}

.add-benefits tbody th span {
	font-size: 1.4rem;
}

.add-benefits tbody tr:nth-child(odd) th,
.add-benefits tbody tr:nth-child(odd) td {
	background: #fcfcfc;
}

.add-benefits tbody tr:nth-child(even) th,
.add-benefits tbody tr:nth-child(even) td {
	background: #f5f5f5;
}

.add-benefits tbody td img {
	margin: 0 auto;
}

.ad-benefits-circle {
	color: #93bde8;
	font-size: 2.8rem;
	font-weight: 600;
}

.ad-benefits-pipe {
	color: #cfcfcf;
	font-size: 3rem;
	font-weight: 600;
}

.sponsorship-caution {
	line-height: 2;
	padding: 0 0 0 30px;
	text-align: left;
	margin: 0 0 60px;
}

.sponsorship .recruitment-contact {
	margin: 0;
}

/*================================
	Widget sponsor bnr
================================*/
.sponsor-list {
	margin: 0 auto 200px;
}

.sponsor-list h2 {
	color: #6c5627;
	font-size: 2rem;
	font-weight: 600;
	margin: 0 0 30px;
	text-align: center;
}

.sponsor-list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 30px;
}

.sponsor-list li {
	width: 22%;
}

.sponsor-list li:nth-child(-n+8) {
	margin: 0 0 30px;
}

/*================================
	Contact
================================*/
.contact-page .japanese-title {
	margin: 0;
}

.contact-page .page-catch {
	margin: 0 0 60px;
}

.js-contact-form-change > br {
	display: none;
}

.input-field {
	margin: 0 0 30px;
}

.input-field th {
	background: #f5f5f5;
	font-weight: 600;
	line-height: 1.8;
	padding: 0 3% 0;
	text-align: right;
	max-width: 300px;
	width: 30%;
}

.required::after {
	border: 1px solid #ed0021;
	color: #ed0021;
	content: "必須";
	display: inline-block;
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 4px;
	line-height: 1;
	margin: 0 0 0 10px;
	padding: 4px 6px 3px 10px;
}

.input-field td {
	background: #fcfcfc;
	padding: 30px 3%;
	max-width: 700px;
	width: 70%;
}

.input-field .contact-content-th {
	line-height: 1.8;
	padding: 30px 3% 0;
	vertical-align: top;
}

.limit-letters {
	display: block;
	font-size: 1.4rem;
	line-height: 1.6;
	margin: 0 0 10px;
}

.input-field .contact-type {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 0 10px;
}

.input-field .wpcf7-list-item:not(:last-child) {
	margin: 0 0 20px 0;
}

.input-field .wpcf7-list-item:first-child,
.input-field .wpcf7-list-item:nth-child(3),
.input-field .wpcf7-list-item:nth-child(4),
.input-field .wpcf7-list-item:nth-child(5),
.input-field .wpcf7-list-item:nth-child(6) {
	margin: 0 5% 20px 0;
}

.input-field input,
.input-field textarea,
.input-field select {
	border-radius: 0;
	-webkit-appearance: none;
}

textarea.wpcf7-form-control {
	border: 1px solid #e2e2e2;
	font-size: 1.4rem;
	padding: 14px 12px;
	width: 100%;
}

.input-field input[type="text"],
.input-field input[type="tel"],
.input-field input[type="email"] {
	border: 1px solid #e2e2e2;
	font-size: 1.4rem;
	padding: 14px 12px;;
	width: 90%;
}
.contact-form input[type="radio"] {
	display: none;
}

.contact-project {
	margin-top: 26px;
	text-align: center;
}

.contact-project a {
	color: #00f;
	text-decoration: underline;
}

.wpcf7-radio .wpcf7-list-item-label {
	padding: 0 0 0 28px;
	position: relative;
}

.wpcf7-radio .wpcf7-list-item-label::before,
.wpcf7-radio .wpcf7-list-item-label::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
}

.wpcf7-radio .wpcf7-list-item-label::before {
	background: #2dc6ff;
	border-radius: 50%;
	height: 10px;
	left: 3px;
	margin-top: -5px;
	opacity: 0;
	width: 10px;
}

.wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label:before {
	opacity: 1;
}

.wpcf7-radio .wpcf7-list-item-label:after {
	border: solid 1px silver;
	border-radius: 50%;
	height: 16px;
	left: 0;
	margin-top: -8px;
	width: 16px;
}

.wpcf7-form-control::placeholder {
	color: #959494;
}

.input-field .age {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(./images/icon-select.png) no-repeat right 10px center;
	border: 1px solid #e2e2e2;
	font-size: 1.4rem;
	height: 36px;
	padding: 0 0 0 10px;
	width: 60px;
}

.input-field .unit {
	display: inline-block;
	margin: 0 0 0 6px;
}

.input-field input[type="text"].postcode {
	width: 220px;
}

.input-field .user-address .p-region {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(./images/icon-select.png) no-repeat right 10px center;
	border: 1px solid #e2e2e2;
	font-size: 1.4rem;
	margin: 0 0 20px;
	padding: 14px;
	width: 160px;
}

.input-field .contact-description {
	color: #333;
	display: block;
	line-height: 24px;
	margin: 6px 0 0;
	text-align: left;
}

.input-field input[type="text"].body-space {
	width: 100px;
}

.form-submit {
	margin: 0 0 60px;
	text-align: center;
}

.form-submit a {
	text-decoration: underline;
}

.privacy-policy {
	border: 1px solid #e2e2e2;
	font-size: 1.2rem;
	height: 160px;
	line-height: 1.3;
	margin: 0 0 60px;
	overflow-y: scroll;
	padding: 22px 40px 13px;
}

.privacy-policy p {
	margin: 0 0 18px;
}

.privacy-policy dl {
	margin: 0 0 24px;
}

.privacy-policy dd {
	margin: 0 0 20px;
}

.privacy-policy dd:last-child {
	margin: 0;
}

.privacy-policy ul {
	list-style: disc;
	padding: 0 0 0 20px;
}

.privacy-policy .privacy-policy-info {
	border-top: 1px dashed #333;
	line-height: 2;
	margin: 0;
	padding: 10px 0 0;
	max-width: 326px;
}

.privacy-policy-info a {
	color: #333;
}

.submit-btn {
	text-align: center;
}

.submit-btn .wpcf7-submit {
	background: #fff url(./images/contact-btn-arrow.png) no-repeat 540px center;
	border: 6px double #bda46e;
	border-radius: 0;
	color: #6c5627;
	font-weight: 600;
	line-height: 1;
	padding: 27px 220px;
}

.wpcf7 .submit-btn .ajax-loader {
	display: none;
}

.wpcf7-not-valid-tip {
	padding: 5px 0;
}

/*================================
	Contact complete
================================*/
.contact-complete-page .page-catch {
	margin: 0 0 60px;
}

.contact-complete-page .japanese-title {
	margin: 0;
}

.contact-complete-page .pc-text-center {
	line-height: 1.8;
	margin: 0 0 100px;
	text-align: center;
}

/*================================
	Story
================================*/
.story-page {
	padding: 80px 0 0;
}

.story-catch {
	background: url(./images/story-catch-bg.jpg) no-repeat top center;
	background-size: cover;
	padding: 60px 0 0;
	text-align: center;
}

.story-catch .japanese-title {
	margin: 0 0 90px;
}

.story-history-text {
	line-height: 2;
	margin: 0 0 42px;
}

.story-details {
	background: rgba(0,0,0,.7);
	color: #fff;
	overflow: hidden;
	padding: 38px 0 30px 0;
	width: 100%;
}

.story-details-title {
	font-family: "Cormorant Garamond", serif;
	font-size: 3.2rem;
	font-weight: 600;
	letter-spacing: 6px;
	line-height: 1;
	margin: 0 0 10px;
}

.story-details-sub-title {
	display: block;
	margin: 0 0 30px;
}

.story-details .thumb-wrap {
	margin: 0 0 40px;
}

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

	.story-details .bx-wrapper .bx-prev {
		left: -30px;
	}

	.story-details .bx-wrapper .bx-next {
		right: -35px;
	}

	.story-details .bx-wrapper .bx-next:hover {
		background-position: 0 0;
	}
}

.story-details .bx-viewport {
	overflow: visible !important;
}

.story-details .bx-wrapper {
	background: initial;
	left: 0;
	margin: 0 auto;
	transform: none;
	position: relative !important;
	width: auto;
}

.story-details .bx-wrapper .bx-controls-direction a {
	height: 54px;
	top: 38%;
	width: 22px;
}

.story-details .bx-wrapper .bx-prev {
	background: url(./images/story-details-prev.png) no-repeat 0 0;
}

.story-details .bx-wrapper .bx-next {
	background: url(./images/story-details-next.png) no-repeat 0 0;
}

.story-details .bx-wrapper .bx-next:hover {
	background-position: 0 0;
}

.story-dvd-container {
	background: url(./images/story-dvd-container-bg.png) no-repeat center top;
	background-size: cover;
	margin: -30px 0 100px;
	padding: 90px 0;
	width: 100%;
}

.story-page .story-dvd-container .bxslider {
	width: 1000px;
}

.story-page .story-dvd-container .bx-wrapper {
	left: 0;
	margin: 0 auto 30px auto;
	position: static;
	transform: none;
	width: 1000px;
}

.story-slider {
	margin: 0 0 30px;
}

.story-slider li {
	padding: 10px;
}

.story-slider-inner {
	border: 2px solid #eeeae5;
	border-radius: 5px;
	display: flex;
	justify-content: space-between;
	padding: 0 30px;
}


.story-slider .story-contents {
	padding: 30px 0 10px;
	width: 55%;
}

.story-slider .story-image {
	padding: 30px 0;
	width: 38%;
}

.story-slider-title {
	font-family: "ヒラギノ明朝 Pro", serif;
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 26px;
}

.story-slider-title::before {
	content: "■";
	margin: 0 8px 0 0;
}

.story-slider-text {
	margin: 0 0 36px;
	line-height: 1.8;
}

.story-contents a {
	color: #333;
	text-decoration: underline;
}

.story-slider-info {
	line-height: 1.8;
}

.story-dvd-title {
	color: #6c5627;
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	margin: 0 auto 30px auto;
	text-align: center;
}

.dvd-list {
	display: flex;
	justify-content: space-between;
	margin: 0 0 60px;
}

.dvd-list li {
	width: 18.4%;
}

.dvd-list img {
	margin: 0 auto 10px;
}

.dvd-list .dvd-name {
	color: #333;
	font-weight: 300;
	line-height: 1.4;
	margin: 0;
	text-align: left;
}

.photograph {
	margin: 0 0 100px;
}

.photograph .japanese-title {
	margin: 0 0 40px;
}

.photograph-main-image {
	margin: 0 0 52px;
}

.photograph-text {
	line-height: 2;
	margin: 0 0 44px;
}

.photograph-sub {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 22px;
}

.photograph-sub-image {
	padding: 8px 0 0;
	width: 48%;
}

.photograph-sub-text-wrap {
	width: 48%;
}

.photograph-sub-text {
	line-height: 2;
}

.photograph-sub-reverse {
	flex-direction: row-reverse;
	margin: 0 0 60px;
}

.photograph-sub-reverse .photograph-sub-text:first-child {
	margin: 0 0 30px;
}

.sub-contents {
	display: flex;
}

.sub-contents li {
	background: #fbfbfb;
	padding: 20px 20px 30px;
	width: 32%;
}

.sub-contents li:nth-child(-n+2) {
	margin: 0 2% 0 0;
}

.story-page .sub-contents li:nth-child(4) {
	display: none;
}

.sub-contents li img {
	margin: 0 0 15px;
}

.sub-contents li span {
	line-height: 1.4;
	text-decoration: underline;
}

.staff-container {
	background: #fbfbfb;
	padding: 100px 0;
}

.staff-container .japanese-title {
	margin: 0 0 32px;
}

.staff {
	display: flex;
	justify-content: space-between;
	margin: 0 0 22px;
}

.staff:last-child {
	margin: 0;
}

.staff-image {
	padding: 8px 0 0;
	width: 36%;
}

.staff-info {
	line-height: 2;
	width: 60%;
}

.staff-name {
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	margin: 0 0 24px;
}

.story-blog-link-btn {
	background: #fff url(./images/top-himumaga-arrow.png) no-repeat 95% center;
	border: 2px solid #c8c8c8;
	display: block;
	line-height: 1;
	margin: 60px auto 0;
	padding: 30px 0;
	text-align: center;
	width: 420px;
}

/*================================
	School
================================*/
.school-page {
	padding: 140px 0 0;
}

.school-page .japanese-title {
	margin: 0 0 40px;
}

.school-page .eye-catch img {
	margin: 0 0 60px;
}

.school-page .eye-catch-caption {
	line-height: 2;
	margin: 0 0 60px;
}

.school-kind {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0 7%;
	width: 100%;
}

.school-kind-btn {
	max-width: 400px;
	width: 50%;
}

.school-kind-btn:first-child {
	margin: 0 6% 0 0;
}

.school-kind-btn a {
	background: url(./images/school-kind-btn-arrow.png) no-repeat 96% center;
	border: 2px solid #333;
	color: #333;
	display: block;
	font-weight: 600;
	padding: 22px 0;
	line-height: 1;
	text-align: center;
}

.kids-school {
	background: #fbfbfb;
	margin: 0 0 100px;
	padding: 100px 0;
	width: 100%;
}

.school-page-third-title {
	color: #6c5627;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 26px;
	text-align: center;
}

.school-image {
	margin: 0 0 30px;
}

.school-image img {
	margin: 0 auto;
}

.school-page-text {
	line-height: 2;
	margin: 0 0 54px;
	padding: 0 30px 0;
}

.school-page .bxslider {
	height: 280px;
	margin: 0 0 60px;
}

.school-page .bx-wrapper {
	background: initial;
}

.school-page .bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 42%;
	margin-top: 0;
	width: 12px;
	height: 36px;
}

.school-page .bx-wrapper .bx-prev {
	background: url(./images/project-slider-prev.png) no-repeat 0 0;
	left: 530px;
}

.school-page .bx-wrapper .bx-next {
	background: url(./images/project-slider-next.png) no-repeat 0 0;
	right: 530px;
}

.school-page .bx-wrapper .bx-next:hover {
	background-position: 0 0;
}

.school-page-table-title {
	color: #6c5627;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 auto 22px;
	max-width: 1000px;
	text-align: center;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.school-time-schedule {
	border-spacing: 10px;
	margin: 0 auto 20px;
	padding: 0 50px;
}

.school-time-schedule-caution {
	line-height: 1;
	margin: 0 0 60px;
	padding: 0 50px;
}

.school-time-schedule th {
	background: #e9e9e9;
	line-height: 1;
	padding: 12px 0;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.school-time-schedule .first-half,
.school-time-schedule .second-half {
	font-size: 1.4rem;
	padding: 38px 0;
	width: 130px;
}

.school-time-schedule .day {
	width: 100px;
}

.school-time-schedule td {
	background: #fff;
	text-align: center;
}

.school-time-schedule-circle {
	color: #53a8ef;
	font-size: 4rem;
	font-weight: 600;
	text-shadow: 1px 0 0 #53a8ef,0 1px 0 #53a8ef,-1px 0 0 #53a8ef,0 -1px 0 #53a8ef;
}

.school-time-schedule td.school-time-schedule-pipe {
	background: #fff url(./images/school-table-none.png) no-repeat center center;
}

.adult-school .school-time-schedule td.school-time-schedule-pipe {
	background: #fbfbfb url(./images/school-table-none.png) no-repeat center center;
}

.school-page-has-caution {
	position: relative;
}

.time-schedule-caution {
	color: #53a8ef;
	display: inline-block;
	font-size: 1.4rem;
	left: 72px;
	line-height: 1;
	position: absolute;
}

.school-youtube {
	background: #414141;
	margin: 0 auto 60px auto;
	text-align: center;
	max-width: 900px;
}

.school-youtube iframe {
	vertical-align: bottom;
}

.school-info {
	padding: 0 50px;
}

.menber-kind {
	display: flex;
	justify-content: space-between;
	margin: 0 0 30px;
}

.menber-kind-wrapper {
	max-width: 420px;
	width: 48%;
}

.menber-kind table {
	border-spacing: 0;
	margin: 0 0 20px;
	text-align: left;
	width: 100%;
}

.menber-kind caption {
	border-bottom: 2px solid #dbdbdb;
	color: #6c5627;
	font-weight: 600;
	margin: 0;
	padding: 0 0 8px;
	text-align: left;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.menber-kind th,
.menber-kind td {
	background: initial;
	border-bottom: 2px solid #dbdbdb;
	line-height: 1;
	padding: 20px 0 10px 0;
	text-align: left;
}

.menber-kind th {
	font-weight: 600;
}

.menber-kind td {
	font-weight: 300;
	padding: 20px 0 10px 20px;
}

.menber-kind-text {
	line-height: 1.6;
}

.menber-kind-text::before {
	content: '※';
}

.school-info .school-info-details {
	background: #fff;
	line-height: 2;
	margin: 0 0 60px;
	padding: 18px 20px;
}

.school-info-details-contents dt,
.school-info-details-contents dd {
	display: inline;
	margin: 0;
}

.adult-school {
	margin: 0 0 100px;
}

.adult-school .school-info .school-info-details {
	background: #fbfbfb;
}

.school-info-details-contents {
	margin: 0;
}

.school-info-details-contents:last-of-type {
	margin: 0 0 34px;
}

.school-info .school-info-details .text-bold {
	display: inline;
	font-weight: 600;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.adult-school .schedule {
	display: flex;
}

.adult-school .school-time-schedule td {
	background: #fbfbfb;
}

.adult-school .schedule .text-bold {
	width: 130px;
}

.online-school-bnr {
	margin: 0 0 60px;
}

.recruitment-actors {
	background: #fbfbfb;
	padding: 100px 0;
}

.recruitment-actors .japanese-title {
	margin: 0 0 60px;
}

.recruitment-actors p {
	margin: 0 0 70px;
	padding: 0 0 0 30px;
}

.recruitment-actors-table {
	border-spacing: 10px;
	margin: 0 0 60px;
}

.recruitment-actors-table .text-bold {
	font-weight: 600;
}

.recruitment-actors-table th {
	background: #f5f5f5;
	font-weight: 600;
	padding: 26px 24px 0 0;
	text-align: right;
	vertical-align: top;
	width: 30%;
}

.recruitment-actors-table td {
	background: #fff;
	line-height: 2;
	padding: 20px;
}

/*================================
	Single.php
================================*/
.single-page {
	padding: 140px 0 200px;
}

.single-post-info {
	border: 1px solid #e2e2e2;
	padding: 20px;
	margin: 0 0 40px;
}

.single-category ul,
ul.single-category {
	display: flex;
	margin: 0 0 15px;
}

.single-category li:not(:last-child) {
	margin: 0 10px 0 0;
}

.single-category a {
	border: 1px solid #e2e2e2;
	border-radius: 12px;
	display: inline-block;
	font-size: 1.4rem;
	line-height: 1;
	padding: 6px 20px;
}

.single-page-title {
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 10px;
}

.single-posted-date {
	color: #afafaf;
	font-size: 1.4rem;
	font-weight: 1;
}

.single-page-tmb {
	margin: 0 0 30px;
}

.single-contents {
	line-height: 2;
	margin: 0 0 60px;
}

.single-contents h2 {
	background: #f8f8f8;
	border-radius: 10px;
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 40px;
	padding: 16px 20px;
}

.single-contents a {
	text-decoration: underline;
}

.single-page img {
	margin: 0 auto 30px auto;
}

.margin-bottom-middle {
	margin: 0 0 30px;
}

.single-event-page pre,
.single-page pre {
	overflow-x: auto;
	width: 100%;
}

.single-event-page cite,
.single-page cite {
	word-break: break-word;
}

.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
	max-width: 100%;
	height: auto;
}

.sticky {
	display: block;
}

.gallery-caption {
	color: #666;
	font-size: 1.2rem;
}

.bypostauthor {
	display: block;
}

.alignright {
	float: right;
}

.alignleft {
	float: left;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*================================
	Event Single
================================*/
.single-event-page {
	padding: 140px 0 200px;
}

.popular-articles-title {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 40px;
	text-align: center;
}

.popular-articles .wpp-no-data {
	margin: 0 0 50px;
	text-align: center;
}

.popular-articles .sub-contents {
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 0 50px;
}

.popular-articles .sub-contents > li {
	margin: 0 0 30px;
}

.popular-articles .sub-contents a {
	text-decoration: underline;
}

.popular-articles .sub-contents > li:not(:nth-child(3n)) {
	margin-right: 2%;
}

.popular-articles-item-title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.4;
	word-break: break-all;
}

.all-articles-btn {
	border: 2px solid #c8c8c8;
	margin: 0 auto;
	max-width: 420px;
	text-align: center;
	width: 42%;
}

.all-articles-btn a {
	background: url(./images/all-articles-btn-arrow.png) no-repeat 96% center;
	display: block;
	font-size: 1.8rem;
	line-height: 1;
	padding: 30px 3%;
}

/*================================
	Performance-example
================================*/
.performance-example-first-text {
	margin: 0 0 60px;
}

.performance-example-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 30px;
}

.performance-example-list-item {
	width: 48%;
}

.performance-example-text {
	margin: -.5em 0 0;
}

.single-youtube {
	background: #fbfbfb;
	margin: 0 0 60px;
	padding: 30px 0;
	text-align: center;
}

.single-youtube iframe {
	max-height: 288px;
	max-width: 500px;
}

/*================================
	Archive / Contens-list-page
================================*/
.info-list {
	margin: 0 0 60px;
}

.info-list ul {
	display: flex;
	flex-wrap: wrap;
}

.category-page .info-list .info-item,
.contents-list-page .info-list .info-item {
	margin: 0 0 30px;
}

.category-page .info-list .info-item:not(:nth-child(3n)),
.contents-list-page .info-list .info-item:not(:nth-child(3n)) {
	margin-right: 2%;
}

.category-page .info-item:nth-child(n+10),
.contens-list-page .info-item:nth-child(n+10) {
	margin-bottom: 0;
}

.info-item {
	background-color: #f9f9f9;
	padding: 20px 20px 30px 20px;
	width: 32%;
}

.info-item .thumbnail {
	display: block;
	margin: 0 0 15px;
}

.info-item .post-info {
	display: flex;
	font-size: 1.4rem;
	margin: 0 0 15px;
}

.info-item .thumbnail img {
	height: auto;
	width: 100%;
}

.info-list ul.single-category {
	justify-content: flex-start;
}

.post-categories li {
	display: inline-block;
	margin: 0 5px 5px 0;
}

.info-item .category {
	margin: 0 12px 0 0;
}

.info-item .category a {
	background: #51cea3;
	color: #fff;
	display: inline-block;
	line-height: 1;
	padding: 5px;
}

.info-item .posted-date {
	padding: 5px 0 0;
}

.info-item .post-title {
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.4;
	text-decoration: underline;
}

.pagination {
	margin: 0 auto;
	text-align: center;
}

.page-numbers {
	border: 1px solid #e7e7e7;
	color: #333;
	display: inline-block;
	padding: 12px;
}

.page-numbers:not(:last-child) {
	margin: 0 10px 10px 0;
}

.pagination .current {
	background-color: #ed9805;
	border: 1px solid #ed9805;
	color: #fff;
}

.screen-reader-text {
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.grecaptcha-badge {
	visibility: hidden;
}

/*================================
	archive-schema_event_post.php
================================*/
.contents-page .info-item .post-info {
	display: block;
}

.contents-page .info-item .category {
	background: #fff;
	border: 1px solid #e2e2e2;
	color: #333;
	display: inline-block;
	font-size: 1.4rem;
	margin: 0 0 15px;
	padding: 6px 12px;
}

.contents-page .info-item .category:not(:last-child) {
	margin: 0 10px 15px 0;
}

.contents-page .info-item .posted-date {
	display: block;
	padding: 0;
}

/*================================
	404page
================================*/
.not-found-page .page-catch {
	margin: 0;
}

.not-found-page .japanese-title {
	margin: 0 0 60px;
}

.not-found-page .pc-text-center {
	font-size: 1.8rem;
	line-height: 1.6;
	margin: 0 0 100px;
	text-align: center;
}

.hamburger-wrapper {
	display: none;
}

@media screen and (min-width: 1800px) {
	.top-main-visual {
		background-color: #8a8a89;
		background-size: contain;
	}
}

@media screen and (min-width: 768px) {
	.tap-only-sp {
		pointer-events:none;
	}
}


/*================================
	Home movie popup
================================*/
.movie-teaser-popup-bg {
	background: rgba(0,0,0,.6);
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 40;
}

.movie-teaser-popup-wrap {
	left: 50%;
	position: fixed;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 700px;
	z-index: 50;
}

.movie-teaser-popup-inner {
	width: 100%;
}

.movie-teaser-link {
	background: rgba(0, 0, 0, .7);
	border: 1px solid #595959;
	height: 60px;
	margin: 0 auto;
	width: 320px;
}

.movie-teaser-link:hover {
	background-color: #5a0000;
}

.movie-teaser-link a {
	align-items: center;
	background: url(images/movie/movie-teaser-arrow.png) no-repeat 94% center/8px;
	color: #fff;
	display: flex;
	font-size: 16px;
	height: 100%;
	justify-content: center;
	letter-spacing: .2em;
	width: 100%;
}

.latest-movie-news {
	background: url(images/movie/movie-teaser-news-bg.jpg) no-repeat center top/cover;
	padding: 20px 30px 30px;
}

.latest-movie-news-ttl {
	font-size: 16px;
	font-weight: normal;
	line-height: 1;
	margin: 0 0 16px;
	text-align: center;
}

.latest-movie-news-item {
	display: flex;
}

.latest-movie-news-item time {
	color: #4e3d29;
	margin: 0 4% 0 0;
}

.latest-movie-news-item a {
	color: #4e3d29;
}

.popup-close {
	align-items: center;
	-webkit-appearance: none;
	background: none;
	border: none;
	display: flex;
	height: 70px;
	justify-content: center;
	padding: 20px;
	position: absolute;
	right: 0;
	top: 0;
	width: 70px;
}

.popup-close:hover {
	cursor: pointer;
	opacity: .8;
}

.popup-close span {
	background: #fff;
	display: block;
	height: 2px;
	position: absolute;
	width: 30px;
}

.popup-close span:first-child {
	transform: rotate(45deg);
}

.popup-close span:last-child {
	transform: rotate(135deg);
}


@media screen and (max-width: 767px) {
	.movie-teaser-popup-wrap {
		width: 90%;
	}

	.movie-teaser-link {
		height: 50px;
		max-width: 100%;
	}

	.movie-teaser-link:hover {
		background: rgba(0, 0, 0, .7);
	}

	.movie-teaser-link a {
		font-size: 14px;
	}

	.popup-close {
		height: 50px;
		width: 50px;
	}

	.popup-close:hover {
		cursor: initial;
		opacity: 1;
	}

	.popup-close span {
		width: 20px;
	}

	.latest-movie-news {
		padding: 20px;
	}

	.latest-movie-news-item {
		font-size: 14px;
	}
}


@media screen and (max-height: 420px) {
	.movie-teaser-popup-wrap {
		height: 88vh;
		overflow-y: scroll;
		width: 45%;
	}

	.movie-teaser-popup-inner {
		height: auto;
	}

	.movie-teaser-link {
		bottom: 6%;
		height: 42px;
		width: 220px;
	}

	.movie-teaser-link a {
		font-size: 14px;
	}

	.latest-movie-news {
		padding: 16px;
	}
}



/*================================
	Less than 1100px CSS
================================*/
@media screen and (max-width: 1100px) {
/* 1100 common */
	.inner {
		padding: 0 50px;
	}

/* 1100 header */
	.header .inner {
		padding: 0 50px 0 30px;
	}

	.home .global-nav-list {
		padding: 0 30px 0 0;
	}

	.home .global-nav li:nth-child(2),
	.home .global-nav li:nth-child(5) {
		margin: 0;
	}

	.home .global-nav .logo {
		margin: 0 20%;
	}

	.only-header-logo img {
		margin: 0 auto;
		width: 70%;
	}

/* 1100 home */
	.home-youtube.iframe-wrap {
		height: 0;
		overflow: hidden;
		padding-bottom: 68%;
		position: relative;
		margin: 0 auto 60px;
		width: 86%
	}

	.home-youtube.iframe-wrap iframe {
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}

/* 1100 himumage */
	.himumaga-page .sp-view {
		overflow-x: scroll;
		padding: 0 0 0 50px;
		width: 100%;
	}

	.sponsorship-caution {
		padding: 0;
	}

/* 1100 prpject */
	.conditions {
		padding: 20px 15px;
	}

	.recruitment-description {
		line-height: 1.8;
		margin: 0 0 24px;
	}

	.recruitment-contact .btn a {
		font-size: 1.6rem;
	}

	.tel-number {
		font-size: 1.4rem;
	}

	.conditions li {
		font-size: 1.5rem;
	}

/* 1100 school */
	.school-page .page-catch.inner {
		padding: 0;
	}

	.school-time-schedule {
		padding: 0;
		width: 900px;
	}

	.school-page .sp-view {
		overflow-x: scroll;
		padding: 0 0 0 5%;
		width: 100%;
	}

	.school-time-schedule-caution {
		padding: 0;
	}

	.school-info {
		padding: 0;
	}

/* 1100 contact */
	.form-submit {
		line-height: 1.8;
		text-align: left;
	}
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
	.omikuji {
		right: 0;
	}

	.magazine-image {
		column-gap: 2%;
		display: grid;
		grid-template-columns: repeat(6, 1fr);
		padding: 0 20px;
	}
}

@media screen and (min-width: 1441px) {
	.swiper-parent .swiper-button-prev {
		left: 38.5%;
	}
	.swiper-parent .swiper-button-next {
		right: 38.5%;
	}
}

/*================================
	Less than 900px CSS
================================*/
@media screen and (max-width: 900px) {
/* HOME */
	.top-story-contents {
		text-align: center;
		writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		ms-writing-mode: horizontal-tb;
	}

	.top-story-contents p:not(:last-child) {
		margin: 0 0 40px;
	}
	.header a {
		font-size: 1.6rem;
	}
	.global-nav .logo {
		margin: 0;
	}

/* 900 Himumaga */
	.conditions {
		height: 174px;
	}
}

/*================================
	SP CSS
================================*/
@media screen and (max-width: 767px) {
	.inner {
		padding: 0 4%;
		width: 92%;
	}

	.br-sp {
		display: block;
	}

	.br-pc {
		display: none;
	}

	.only-pc {
		display: none;
	}

	.only-sp {
		display: block;
	}

	.fixed-sns {
		display: none;
	}

	.iframe-wrap {
		height: 0;
		overflow: hidden;
		padding-bottom: 56.25%;
		position: relative;
	}

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

	.page-wrapper {
		padding: 100px 0 100px;
	}

	.page-catch {
		margin: 0 0 50px;
	}

	.page-title {
		margin: 0 0 5px;
	}

	.page-title span {
		font-size: 3rem;
		letter-spacing: 6px;
	}

	.page-title span::before {
		height: 22px;
		top: 5px;
		left: 8px;
		overflow: hidden;
	}

	.page-title span::after {
		height: 22px;
		top: 5px;
		right: 8px;
		overflow: hidden;
	}

	.japanese-title {
		font-size: 1.2rem;
	}

	.link-btn a {
		border: 6px double #6c5627;
		font-size: 1.5rem;
		padding: 20px;
		max-width: 290px;
		width: 90%;
	}

/*================================
	SP Header
================================*/
	.header,
	.home .header {
		background: url(./images/sp-header-bg.jpg) no-repeat 0 50%;
		background-size: cover;
		height: 70px;
		padding: 0;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 30;
	}

	.header a {
		display: inline;
	}

	.header .inner {
		display: none;
	}

	.sp-header {
		position: relative;
		text-align: center;
	}

	.hamburger-open {
		height: 19px;
		left: 24px;
		position: absolute;
		top: 24px;
		width: 25px;
	}

	.sp-header h1 {
		display: inline-block;
		padding: 12px 0;
	}

	.sp-header h1 img {
		margin: 0 auto;
		width: 90%;
	}

	.sp-home-logo {
		bottom: -6%;
		display: block;
		left: 50%;
		max-width: 400px;
		position: absolute;
		transform: translateX(-50%);
		max-width: 90%;
		max-height: 200px;
	}

	.sp-omikuji {
		position: absolute;
		top: 0;
		right: 24px;
		width: 50px;
	}

	.hamburger-wrapper {
		background: #fff;
		height: 100vh;
		height: -webkit-fill-available;
		overflow-y: scroll;
		padding: 90px 0 45px;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 10;
	}

	.hamburger-nav {
		margin: 0 0 30px;
	}

	.hamburger-global-nav li {
		border-bottom: 1px solid #e5e5e5;
	}

	.hamburger-global-nav li a {
		background: url(./images/hamburger-arrow.png) no-repeat 96% center;
		background-size: 7px 12px;
		color: #705634;
		display: block;
		font-size: 1.4rem;
		font-weight: 600;
		line-height: 1;
		padding: 18px 4% 18px;
	}

	.hamburger-bnr {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 0 26px;
		padding: 0 4%;
	}

	.hamburger-bnr li:not(:first-child) {
		width: 48%;
	}

	.hamburger-bnr li:first-child {
		margin: 0 0 15px;
	}

	.hamburger-sns {
		align-items: center;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 30px;
		width: 180px;
	}

	.hamburger-sns li {
		width: 30px;
	}

	.hamburger-sns li img {
		margin: 0 auto;
		max-height: 30px;
	}

	.sp-hamburger-close {
		align-items: center;
		border-top: 1px solid #e5e5e5;
		display: flex;
		justify-content: center;
		padding: 40px 4% 0;
	}

	.sp-hamburger-close img {
		height: 14px;
		margin: 0 8px 0 0;
		width: 14px;
	}

	.top-bar,
	.anniversary {
		display: none;
	}

	.only-top {
		padding: 70px 0 0;
	}

	.top-main-visual {
		animation: bgiLoopSp 20s linear infinite;
		background-size: auto 100%;
		height: 116vw;
	}

	@keyframes bgiLoopSp {
		0% { background-position: 0 0;}
		100% { background-position: 100% 0;}
	}

	.top-main-visual-inner {
		background: url(./images/sp-top-chara-after-15th.png) no-repeat center 10px;
		background-size: cover;
		height: 116vw;
		position: relative;
	}

	.omikuji-image-wrap {
		top: 4vh;
		max-height: 92vh;
		max-width: 92vw;
	}

	.omikuji-image-wrap img {
		margin: 0 auto;
		max-height: 92vh;
		max-width: 92vw;
		width: auto;
	}

	.omikuji-btn-lucky,
	.omikuji-btn-close {
		font-size: 1.4rem;
		height: 8vh;
		line-height: 8vh;
		left: 0;
		right: 0;
		width: 70%;
	}

	.omikuji-btn-lucky {
		bottom: 13vh;
		display: block;
		margin: 0 auto;
	}

	.omikuji-btn-close {
		background-position: 25% 50%;
		bottom: 3vh;
		margin: 0 auto;
	}

/*================================
	SP Footer
================================*/
	.footer {
		padding: 30px 0 50px;
	}

	.sp-footer-contents {
		border-bottom: 2px solid #505050;
		display: block;
		margin: 0 0 30px;
		padding: 0 0 50px;
	}

	.footer-logo {
		margin: 0 auto 25px;
		width: 160px;
	}

	.footer-contents {
		border: none;
		justify-content: space-between;
		margin: 0 0 30px;
		padding: 0;
	}

	.footer-sns,
	.right-bottom {
		display: none;
	}

	.footer-contents > .footer-sitemap,
	.right-top .footer-sitemap {
		font-size: 1.2rem;
		margin: 0;
	}

	.footer-sitemap li:not(:last-child) {
		margin: 0 0 14px;
	}

	.footer-sitemap li::before {
		display: none;
	}

	.sp-footer-sns,
	.sp-footer-bnr {
		display: flex;
		justify-content: space-between;
	}

	.sp-footer-sns {
		margin: 0 auto 45px;
		width: 85%;
	}

	.sp-footer-sns li {
		align-items: center;
		display: flex;
	}

	.sp-footer-bnr li {
		width: 48%;
	}

	.footer-copy {
		font-size: 1.2rem;
		margin: 0 auto;
		padding: 0 4%;
		width: 92%;
	}

	.footer-copy small {
		font-size: 1.2rem;
		display: block;
		margin: 24px 0 0;
	}

/*================================
	SP home
================================*/
	.top-story {
		background: url(./images/sp-top-story-bg.jpg) no-repeat top center;
		background-size: cover;
	}

	.top-story .inner {
		padding: 50px 4%;
	}

	.home .japanese-title {
		margin: 0 0 30px;
	}

	.top-story-contents {
		font-size: 1.5rem;
		line-height: 2;
		margin: 0 auto 30px auto;
	}

	.home-youtube.iframe-wrap {
		width: 100%;
	}

	.home-youtube.iframe-wrap {
		margin: 0 0 30px;
	}

	.top-free-watch {
		background: url(./images/sp-top-free-watch-bg.jpg) no-repeat left top;
		background-size: 100%;
		height: auto;
		margin: 0 0 50px 0;
		padding: 30px 0 50px 0;
	}

	.top-free-watch .line {
		border: none;
		height: auto;
		padding: 0;
	}

	.free-watch-hoderi {
		display: none;
	}

	.free-watch-list {
		font-size: 1rem;
		margin: 0;
		width: 100%;
	}

	.free-watch-title {
		margin: 0 0 20px 30%;
		width: 70%;
	}

	.free-watch-list li {
		width: 32%;
	}

	.channel-btn a {
		font-size: 1.5rem;
		padding: 23px 0;
		max-width: 290px;
		width: 85%;
	}

	.top-character {
		margin: 0 0 50px;
	}

	.voice-thumbnail li {
		height: auto;
		width: 30%!important;
	}

	.voice-thumbnail li:nth-child(-n+6) {
		margin: 0 0 15px;
	}

	.thum-chara-name {
		font-size: 1.3rem;
		font-weight: 600;
	}

	.swiper-parent .slider {
		padding: 16px 0;
	}

	.swiper-parent .swiper-button-prev {
		left: 10px;
	}

	.swiper-parent .swiper-button-next {
		right: 10px;
	}

	.chara-voice-btn {
		margin: 0 0 30px;
	}

	.top-himumaga-project {
		padding: 50px 0;
	}

	.top-himumaga {
		margin: 0 0 50px;
		padding: 0 0 50px;
	}

	.top-himumaga-catch {
		background: url(./images/sp-top-himumaga-bg.jpg) no-repeat top center;
		background-size: cover;
	}

	.top-himumaga-project {
		width: 100%;
	}

	.top-himumaga-project-phrase img {
		margin: 0 auto 30px auto;
	}

	.project-description {
		font-size: 1.5rem;
		margin: 0 0 14px;
	}

	.top-himumaga-project-logo img {
		width: 100%;
	}

	.top-himumaga-project-logo {
		margin: 0 0 30px;
	}

	.top-himumaga-project .btn {
		max-width: 290px;
		width: 100%;
	}

	.top-himumaga-project .first a {
		line-height: 1.2;
	}

	.himumaga-ad {
		font-size: 1.5rem;
		line-height: 1.8;
		margin: 0 auto 30px;
	}

	.home-slider-wrap {
		overflow: hidden;
		width: 100%;
	}

	.top-himumaga .bxslider {
		height: 66vw;
	}

	.top-himumaga .bx-wrapper .bx-controls-direction a {
		top: 28%;
	}

	.top-himumaga .bx-wrapper .bx-prev {
		left: 32%;
	}

	.top-himumaga .bx-wrapper .bx-next {
		right: 32%;
	}

	.home-project-slider-title {
		font-size: 1.3rem;
		line-height: 1.5;
		text-align: left;
	}

	.top-item {
		margin: 0 0 50px;
		padding: 0 0 50px;
	}

	.top-item-list {
		margin: 0 0 30px;
	}

	.top-item-list li {
		display: flex;
		justify-content: center;
		width: 48%;
	}

	.top-item-list li:nth-child(-n+6) {
		margin: 0 0 15px;
	}

	.item-name {
		font-size: 1.4rem;
		text-decoration: underline;
	}

	.item-price {
		font-size: 1.4rem;
		font-weight: 600;
	}

	.top-news {
		margin: 0 auto 50px;
	}

	.info-list {
		margin: 0 0 30px;
	}

	.home .info-list ul {
		justify-content: space-between;
	}

	.item-list li {
		width: 48%;
	}

	.item-list li:nth-child(-n+6) {
		margin: 0 0 15px;
	}

	.home .info-item:last-child {
		display: block;
	}

	.info-item {
		padding: 10px;
		width: 48%;
	}

	.home .info-item:nth-child(-n+2) {
		margin: 0 0 20px;
	}

	.info-item .category {
		padding: 2px 6px;
	}

	.top-news-info-list .info-item .category {
		margin: 0;
	}

	.info-item .posted-date {
		padding: 6px 0 0;
	}

	.info-item .category a {
		font-size: .9rem;
	}

	.info-item .posted-date {
		font-size: 1rem;
	}

	.info-item .post-title {
		font-size: 1.4rem;
	}

	.top-news-btn a {
		font-size: 1.5rem;
		padding: 18px 0;
		max-width: 290px;
		width: 85%;
	}

/* bnr-area */
	.bnr-area {
		padding: 50px 0;
	}

	.bnr-area-list-1bnr {
		margin: 0 0 15px;
	}

	.bnr-area-list-3bnr {
		margin: 0 0 15px;
		max-width: 48%
	}

	.bnr-area-list-sp1bnr,
	.bnr-area-list-2bnr {
		max-width: 100%;
	}

	.bnr-area-list-2bnr-top {
		margin: 0 0 15px;
	}

/*================================
	SP smile-project
================================*/
	.project-page {
		padding: 100px 0 0;
	}

	.project-page .eye-catch img {
		margin: 0 0 30px;
	}

	.about {
		font-size: 1.5rem;
		padding: 0;
	}

	.section-title {
		font-size: 1.7rem;
		line-height: 1.6;
	}

	.project-image {
		margin: 0 0 50px;
	}

	.project-image .bxslider {
		height: 40vw;
	}

	.project-image .bx-wrapper .bx-controls-direction a {
		top: 40%;
	}

	.project-image .bx-wrapper .bx-prev {
		left: 32%;
	}

	.project-image .bx-wrapper .bx-next {
		right: 32%;
	}

	.link-magazine {
		background: url(./images/sp-project-magazine-bg.jpg) no-repeat 50% 0;
		background-size: cover;
		font-size: 1.5rem;
		line-height: 1.8;
		padding: 50px 0;
		margin: 0 0 50px;
		text-align: left;
	}

	.link-magazine-title {
		font-size: 1.7rem;
		text-align: center;
	}

	.about-magazine {
		justify-content: flex-start;
		margin: 0 0 30px;
	}

	.magazine-image {
		column-gap: 4%;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		margin: 0 0 50px;
		row-gap: 24px;
		padding: 0;
	}


	.magazine-image li:not(:last-child) {
		margin: 0;
	}

	.details-btn {
		text-align: center;
	}

	.details-btn a {
		font-size: 1.5rem;
		padding: 19px 0;
		text-align: center;
		max-width: 290px;
		width: 94%;
	}

	.recruitment {
		border: 6px double #6c5627;
		margin: 0 auto 50px;
		padding: 0;
	}

	.recruitment-inner {
		border: none;
		padding: 30px 15px;
	}

	.recruitment-title {
		font-size: 1.7rem;
		margin: 0 0 15px;
	}

	.recruitment-description {
		font-size: 1.5rem;
		line-height: 1.8;
		text-align: left;
	}

	.recruitment-contact {
		display: block;
	}

	.recruitment-contact .btn {
		margin: 0 0 30px;
		width: 100%;
	}

	.recruitment-contact .btn a {
		font-size: 1.5rem;
		padding: 24px 0;
	}

	.tel-number {
		font-size: 1.2rem;
		text-align: center;
	}

	.tel-number img {
		margin: 0 auto 12px;
	}

	.conditions {
		height: auto;
		padding: 15px 10px;
	}

	.recruitment-conditions-title {
		font-size: 1.7rem;
		margin: 0 0 15px;
		text-align: center;
	}

	.recruitment-conditions-list {
		display: block;
		font-size: 1.5rem;
	}

	.conditions li {
		float: none;
		width: 100%;
	}

	.conditions li:first-child {
		margin: 0;
		width: 100%;
	}

	.conditions-caution {
		font-size: 1.5rem;
		line-height: 1.8;
	}

	.sponsor-list h2 {
		font-size: 1.7rem;
	}

	.sponsor-list ul {
		padding: 0;
	}

	.sponsor-list ul li {
		width: 31%;
	}

/*================================
	SP Himumaga
================================*/
	.himumaga-page {
		padding: 100px 0 0;
	}

	.himumaga-page .eye-catch img {
		margin: 0 0 30px;
	}

	.himumaga-page .page-catch {
		margin: 0 0 52px;
	}

	.magazine-wrapper {
		padding: 0;
		width: 100%;
	}

	.magazine {
		margin: 0;
		padding: 30px 8%;
	}

	.magazine-text {
		font-weight: 300;
		margin: 26px 0 0;
		text-align: left;
	}

	.about-magazine {
		font-weight: 300;
	}

	.link-project {
		background: url(./images/sp-himumaga-project-bg.jpg) no-repeat 50% 0;
		background-size: cover;
		padding: 50px 0;
		margin: 0 0 50px;
	}

	.link-project-title {
		font-size: 1.7rem;
	}

	.link-project-text {
		font-size: 1.5rem;
		padding: 0;
		text-align: left;
	}

	.link-project .project-logo {
		margin: 0 0 30px;
	}

	.link-project .details-btn a {
		line-height: 1.35;
	}

	.sponsorship {
		margin: 0 0 50px;
	}

	.sponsorship-title {
		font-size: 1.7rem;
		line-height: 1.6;
	}

	.sponsorship-description {
		font-size: 1.5rem;
		margin: 0 0 30px;
		text-align: left;
	}

	.himumaga-page .sp-view {
		padding: 0 0 0 8%;
	}

	.add-benefits {
		margin: 0 0 15px;
		padding: 0 50px 0 0;
		width: 760px;
	}

	.sponsorship-caution {
		font-size: 1.5rem;
		line-height: 1.8;
		margin: 0 0 46px;
		padding: 0;
	}

	.add-benefits thead th {
		font-size: 1.5rem;
		padding: 15px;
	}

	.add-benefits .ad-unit {
		font-size: 1.5rem;
		margin: 0;
	}

	.vertical-line-long::after,
	.vertical-line-short::after {
		height: 68%;
	}

	.add-benefits thead td {
		font-size: 1.5rem;
		line-height: 1.2;
	}

	.add-benefits tbody th {
		padding: 15px 0;
	}

	.add-benefits caption {
		margin: 15px 0 0;
		width: 100%;
	}

	.himumaga-page .recruitment {
		margin: 0 auto;
		width: 100%;
	}

/*================================
	SP Widget sponsor bnr
================================*/
	.sponsor-list {
		margin: 0 auto 50px;
	}

	.sponsor-list li:nth-child(-n+8) {
		margin: 0 0 15px;
	}

/*================================
	SP SHOP
================================*/
	.shop-page {
		padding: 100px 0 50px;
	}

	.shop-pagep .eye-catch img {
		margin: 0 0 15px;
	}

	.shop-page-catch-text {
		font-size: 1.5rem;
		line-height: 1.8;
	}

	.shop-page .page-catch {
		margin: 0 0 50px;
	}

	.sp-service {
		margin: 0 0 30px;
	}

	.sp-service-list {
		flex-direction: column;
	}

	.sp-service-list li {
		max-width: initial;
		width: 100%;
	}

	.sp-service-list li:first-child {
		margin: 0 0 30px;
	}

	.sp-service-caution {
		font-size: 1.5rem;
		line-height: 1.8;
	}

	.shop-page .item-list {
		justify-content: space-between;
	}

	.shop-page .item-list li:not(:nth-child(4n)) {
		margin: 0 0 15px;
	}

	.shop-page .item-list li {
		margin: 0 0 15px;
		width: 46%;
	}

	.online-shop-drive {
		margin: 50px 0 0;
	}

	.shop-page .section-title {
		margin: 0 0 30px;
	}

	.real-store-wrapper {
		margin: 50px 0 0;
		padding: 50px 0 0;
	}

	.store-info {
		display: block;
		font-size: 1.5rem;
	}

	.store-address {
		margin: 0 0 30px;
		max-width: initial;
		width: 100%;
	}

	.store-address-text {
		margin: 20px 0 0;
	}

	.business-hour {
		max-width: initial;
		width: 100%;
	}

	.store-info-title {
		font-size: 1.5rem;
		margin: 0 0 15px;
	}

	.store-address-list dt {
		display: block;
	}

	.business-hour .store-info-title {
		margin: 0 0 5px;
	}

	.shop-page .business-hour .sp-border-none {
		border: none;
	}

/*================================
	SP Story
================================*/
	.story-page.page-wrapper {
		padding: 70px 0 0;
	}

	.story-catch {
		padding: 30px 0 0;
	}

	.story-catch .japanese-title {
		margin: 0 0 30px;
	}

	.story-history-text {
		font-size: 1.5rem;
		line-height: 1.8;
		margin: 0 0 32px;
		text-align: left;
	}

	.story-details {
		padding: 30px 0 70px;
	}

	.story-details-title {
		font-size: 2.5rem;
	}

	.story-details .thumb-wrap {
		margin: 0 0 30px;
	}

	.story-details-sub-title {
		font-size: 1.2rem;
	}

	.story-details .bx-wrapper .bx-controls-direction a {
		height: 30px;
		top: 46%;
		width: 10px;
	}

	.story-details .bx-wrapper .bx-prev {
		background-size: contain;
		left: -8%;
	}

	.story-details .bx-wrapper .bx-next {
		background-size: contain;
		right: -8%;
	}

	.story-dvd-container {
		background: url(./images/sp-story-dvd-container-bg.png) no-repeat center top;
		background-size: cover;
		margin: -65px 0 50px;
		padding: 90px 0 50px 0;
	}

	.story-slider li {
		background: #fff;
		border-radius: 4px;
		font-size: 1.5rem;
		padding: 8px;
	}

	.story-page .story-dvd-container .bx-wrapper {
		margin: 0 0 50px;
	}

	.story-slider-inner {
		display: block;
		padding: 28px 14px;
	}

	.story-slider-title {
		font-size: 1.7rem;
		margin: 0 0 15px;
	}

	.story-slider .story-contents {
		padding: 0;
		width: 100%;
	}

	.story-slider-text {
		margin: 0 0 20px;
		width: 100%;
	}

	.story-slider .story-image {
		margin: 15px 0 0;
		padding: 0;
		width: 100%;
	}

	.story-slider .story-image img {
		margin: 0 auto;
	}

	.story-dvd-title {
		font-size: 1.7rem;
		line-height: 1.4;
		margin: 0 auto 15px;
	}

	.dvd-list {
		flex-wrap: wrap;
		margin: 0 0 15px;
	}

	.dvd-list li {
		margin: 0 0 15px;
		width: 48%;
	}

	.dvd-list .dvd-name {
		font-size: 1.4rem;
		margin: 0 0 10px;
		text-decoration: underline;
	}

	.photograph {
		font-size: 1.5rem;
		margin: 0 0 50px;
	}

	.photograph .page-title span {
		letter-spacing: 5px;
	}

	.photograph .japanese-title {
		margin: 0 0 15px;
	}

	.photograph-main-image {
		margin: 0 0 15px;
	}

	.photograph-text {
		margin: 0 0 30px;
	}

	.photograph-sub-image,
	.photograph-sub-text-wrap {
		width: 100%;
	}

	.photograph-sub-image {
		margin: 0 auto 15px;
		padding: 0;
	}

	.photograph-sub-text-second {
		margin: 30px 0 0;
	}

	.photograph-sub-reverse {
		margin: 0 0 50px;
	}

	.sub-contents {
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.story-page .sub-contents li:nth-child(4) {
		display: block;
	}

	.sub-contents li {
		padding: 10px;
		width: 48%;
	}

	.sub-contents li:nth-child(-n+2) {
		margin: 0 0 15px;
	}

	.staff-container {
		font-size: 1.5rem;
		padding: 50px 0;
	}

	.staff-container .japanese-title {
		margin: 0 0 15px;
	}

	.staff {
		display: block;
	}

	.staff-image {
		margin: 0 0 30px;
		padding: 0;
		width: 100%;
	}

	.staff-image img {
		margin: 0 auto;
	}

	.staff-name {
		font-size: 1.7rem;
		margin: 0 0 15px;
	}

	.staff-info {
		line-height: 1.7;
		margin: 0;
		width: 100%;
	}

	.story-blog-link-btn {
		font-size: 1.5rem;
		font-weight: 600;
		margin: 30px auto 0;
		padding: 28px;
		width: 90%;
	}

/*================================
	SP School
================================*/
	.school-page {
		padding: 100px 0 0;
		font-size: 1.5rem;
	}

	.school-page .japanese-title {
		margin: 0 0 15px;
	}

	.school-page .page-catch.inner {
		padding: 0;
		width: 100%;
	}

	.school-page .eye-catch img {
		margin: 0 0 15px;
	}

	.school-page .eye-catch-caption {
		margin: 0 0 30px;
	}

	.school-page-third-title {
		font-size: 1.7rem;
	}

	.kids-school {
		margin: 0 0 50px;
		padding: 50px 0;
	}

	.school-kind {
		display: block;
		padding: 0;
	}

	.school-kind-btn {
		margin: 0 auto;
		width: 100%;
	}

	.school-kind-btn:first-child {
		margin: 0 auto 30px;
	}

	.school-page-text {
		margin: 0 0 30px;
		padding: 0;
	}

	.school-page .bxslider {
		height: 150px;
		margin: 0 0 30px;
	}

	.school-page .bx-wrapper .bx-prev {
		left: 32%;
	}

	.school-page .bx-wrapper .bx-next {
		right: 32%;
	}

	.school-time-schedule {
		padding: 0;
		width: 915px;
	}

	.school-page-table-title {
		font-size: 1.7rem;
		margin: 0 auto 15px;
		padding: 0 4%;
		width: 92%;
	}

	.school-time-schedule-caution {
		line-height: 1.8;
		margin: 0 0 30px;
		padding: 0;
	}

	.school-youtube {
		margin: 0 0 30px;
}

	.school-info {
		padding: 0;
	}

	.menber-kind {
		display: block;
	}

	.menber-kind-wrapper {
		margin: 0 auto;
		max-width: initial;
		width: 100%;
	}

	.menber-kind caption {
		text-align: center;
	}

	.menber-kind th {
		min-width: 3em;
	}

	.menber-kind td {
		line-height: 1.6;
	}

	.menber-kind-wrapper:first-child {
		margin: 0 auto 30px;
	}

	.school-info .school-info-details {
		margin: 0 0 30px;
	}

	.adult-school {
		margin: 0 0 50px;
	}

	.online-school-bnr {
		margin: 0 0 30px;
	}

	.recruitment-actors {
		padding: 50px 0;
	}

	.recruitment-actors .japanese-title {
		margin: 0 0 30px;
	}

	.school-page .recruitment-actors p {
		margin: 0 0 30px;
		padding: 0;
	}

	.recruitment-actors-table {
		border-collapse: collapse;
		margin: 0 0 15px;
	}

	.recruitment-actors-table th,
	.recruitment-actors-table td {
		display: block;
	}

	.recruitment-actors-table th {
		margin: 0 0 5px;
		padding: 15px 0;
		text-align: center;
		width: 100%;
	}

	.recruitment-actors-table td {
		margin: 0 0 15px;
	}

/*================================
	SP Contact
================================*/
	.contact-page {
		padding: 100px 0 50px;
	}

	.contact-page .page-catch {
		margin: 0 0 30px;
	}

	.input-field {
		margin: 0 0 5px;
		width: 100%;
	}

	.input-field th,
	.input-field td {
		display: block;
		width: 100%;
	}

	.input-field th {
		font-size: 1.5rem;
		line-height: 1;
		max-width: none;
		padding: 18px 0 18px 20px;
		text-align: left;
	}

	.input-field .contact-content-th {
		line-height: 1;
		padding: 18px 0 18px 20px;
		text-align: left;
	}

	.required::after {
		font-size: 1.2rem;
		padding: 3px 2px 3px 6px;
	}

	.input-field td {
		background: #fff;
		max-width: none;
		padding: 25px 0;
	}

	.input-field .contact-type {
		font-size: 1.4rem;
		margin: 0 0 30px;
		padding: 0 0 0 6%;
	}

	.input-field .wpcf7-list-item {
		width: 100%;
	}

	.input-field .last {
		margin: 0;
	}

	.limit-letters {
		font-size: 1.2rem;
		padding: 0 6%;
	}

	textarea.wpcf7-form-control {
		width: 100%;
	}

	.input-field input[type="text"],
	.input-field input[type="tel"],
	.input-field input[type="email"] {
		padding: 20px 12px;
		width: 100%;
	}

	.input-field .contact-description {
		font-size: 1.2rem;
	}

	.input-field .unit {
		font-size: 1.4rem;
	}

	.submit-btn .wpcf7-submit {
		padding: 19px 80px;
	}

	.form-submit {
		font-size: 1.8rem;
		line-height: 1.8;
		text-align: left;
	}

	.input-field input[type="text"].postcode {
		width: 55%;
	}

	.privacy-policy {
		line-height: 1.6;
		padding: 20px;
	}

	.form-submit {
		font-size: 1.5rem;
		margin: 0 0 30px;
	}

	.privacy-policy .privacy-policy-info {
		width: 100%;
	}

/*================================
	SP Contact complete
================================*/
.contact-complete-page .page-catch {
	margin: 0 0 30px;
}

.contact-complete-page .pc-text-center {
	font-size: 1.5rem;
	margin: 0 0 50px;
	text-align: left;
}

/*================================
	SP Single.php
================================*/
	.single-page {
		padding: 100px 0 50px;
	}

	.single-post-info {
		border: none;
		margin: 0 0 15px;
		padding: 0;
	}

	.single-page-title {
		font-size: 1.7rem;
	}

	.single-posted-date {
		font-size: 1.2rem;
	}

	.single-page-tmb {
		margin: 0 0 15px;
	}

	.single-contents h2 {
		font-size: 1.5rem;
		line-height: 1.5;
		margin: 0 0 30px;
		padding: 15px 10px;
	}

	.single-page img {
		margin: 0 auto 15px;
	}

.margin-bottom-middle {
		margin: 0 0 15px;
	}

/*================================
	SP Event Single
================================*/
	.single-event-page {
		padding: 100px 0 50px;
	}

	.single-event-page .single-category a {
		border-radius: 30px;
		font-size: 1.2rem;
	}

	.single-youtube {
		margin: 0 0 50px;
		text-align: center;
		vertical-align: middle;
	}

	.single-youtube iframe {
		left: 50%;
		margin: 0 auto;
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.single-event-page .tel-number {
		text-align: left;
	}

	.popular-articles .wpp-no-data,
	.popular-articles .sub-contents {
		margin: 0 0 30px;
	}

	.popular-articles .sub-contents > li {
		margin: 0 0 15px;
	}

	.popular-articles .sub-contents > li:not(:nth-child(3n)) {
		margin-right: 0;
	}

	.popular-articles .sub-contents > li:not(:nth-child(2n)) {
		margin-right: 4%;
	}

/*================================
	Performance-example
================================*/
	.performance-example-first-text {
		margin: 0 0 50px;
	}

	.performance-example-list {
		flex-direction: column;
	}

	.performance-example-list-item img {
		margin: 0 auto 15px;
	}

	.performance-example-list-item {
		width: 100%;
	}

	.performance-example-list-reverse {
		flex-direction: column-reverse;
	}

	.all-articles-btn {
		width: 88%;
	}

/*================================
	SP archive / contens-list-page
================================*/
	.category-page .page-title span {
		font-size: 2.8rem;
		letter-spacing: 2px;
		text-transform: uppercase;
	}

	.category-page .page-title span::before {
		top: 4px;
	}

	.category-page .page-title span::after {
		top: 4px;
	}

	.info-list .info-item:not(:nth-child(3n)) {
		margin-right: 0;
	}

	.contents-list-page .info-item {
		background-color: initial;
		display: flex;
		justify-content: space-between;
		padding: 0;
		width: 100%;
	}

	.contents-list-page .info-item .thumbnail {
		width: 46%;
	}

	.sp-info-wrap {
		width: 50%;
	}

	.info-item .post-info {
		margin: 0 0 10px;
	}

	.post-categories li {
		margin: 0 0 5px;
	}

	.post-categories li:not(:last-child) {
		margin: 0 5px 5px 0;
	}

	.contents-list-page .info-item .posted-date {
		font-size: 1.2rem;
	}

	.contents-list-page .info-item .category a {
		font-size: 1.2rem;
	}

	.single-category a {
		border-radius: 0;
		padding: 5px 8px;
	}

	.category-page .info-list .info-item:not(:nth-child(3n)),
	.contents-list-page .info-list .info-item:not(:nth-child(3n)) {
		margin-right: 0;
	}

	.contents-list-page .info-item:nth-child(-n+11) {
		margin: 0 0 15px;
	}

/*================================
	SP archive-schema_event_post.php
================================*/
	.contents-page {
		padding: 100px 0 50px;
	}

/*================================
	404page
================================*/
	.not-found-page .page-title span {
		font-size: 2.2rem;
		letter-spacing: 5px;
		margin: 0 0 10px;
	}

	.not-found-page .page-title span::before {
		height: 20px;
		top: 1px;
	}

	.not-found-page .page-title span::after {
		height: 20px;
		top: 1px;
	}

	.not-found-page .pc-text-center {
		font-size: 1.6rem;
		text-align: left;
	}
}

/*================================
	Small SP CSS
================================*/
@media screen and (max-width: 320px) {
	.top-character .page-title span {
		font-size: 2.8rem;
		letter-spacing: 8px;
	}

	.category-page .page-title span {
		font-size: 2.4rem;
		letter-spacing: 1px;
		padding: 4px 22px 0;
	}
}

/*================================
	SP sideways CSS
================================*/
@media screen and (max-height: 400px) {
	.fixed-sns,
	.performance-bnr {
		display: none;
	}
}

/*================================
	Omikuji other device
================================*/

@media screen and (max-width: 767px) and (max-height: 640px) {
	.omikuji-btn-lucky,
	.omikuji-btn-close {
		font-size: 1.4rem;
		height: 40px;
		line-height: 40px;
		width: 50%;
	}
}

@media screen and (max-width: 767px) and (max-height: 500px) {
	.omikuji-btn-lucky,
	.omikuji-btn-close {
		font-size: 1.2rem;
		height: 30px;
		line-height: 30px;
		width: 25%;
	}
}

@media screen and (max-width: 767px) and (max-height: 314px) {
	.omikuji-btn-close {
		background-position: 25% 50%;
	}
}

@media screen and (min-width: 768px) and (max-height: 630px) {
	.omikuji-image-wrap {
		top: 2vh;
	}
}

@media screen and (max-width: 320px) and (max-height: 568px) {
	.omikuji-btn-lucky, .omikuji-btn-close {
		font-size: 1.2rem;
	}
}