/*!
Theme Name: refuton_coop
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: refuton_coop
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

refuton_coop is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

:root {
    --color-main-bg:#94243a;
    --color-sub-bg:#ad5958;

    --color-red:#910000;
    --color-orange:#f39800;
    --color-violet:#4d489b;
    --color-green:#036b52;
    --color-pink:#e60044;
    
    --sticker-menu-height:57px;
}

body {
    font-family: "Zen Maru Gothic", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    position:relative;
    color:#000;
}
body::after {
	content:'';
	display:block;
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	height:100vh;
	width:100vw;
	z-index:-1;
}
@media(max-width:767px) {
	body {
		width:375px;
		margin:auto;
	}
}
@media (orientation: landscape) {
	body::after {
		background: url(./image/bg-landscape-01.png) no-repeat center / cover;
	}
  }
  
  @media (orientation: portrait) {
	body::after {
		background: url(./image/bg-portrait-01.png) no-repeat center / cover;
	}
  }
p {
    margin:0;
}
ul {
    margin:0;
    padding:0;
}
li {
    list-style: none;
}
a {
    opacity:1;
    transition:opacity .15s ease-in-out;
}
a:hover {
    text-decoration:none;
    opacity:.5;
}
img {
    max-width: 100%;
    height: auto;
}




/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

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


/*--------------------------------------
bootstrap-hacks
--------------------------------------*/

/*-----gutter-----*/

.gutter-1 {
    margin-right: -1px;
    margin-left: -1px;
}
.gutter-1 > [class^='col-'] {
    padding-top: 1px;
    padding-right: 1px;
    padding-bottom: 1px;
    padding-left: 1px;
}
.gutter-5 {
    margin-right: -5px;
    margin-left: -5px;
}
.gutter-5 > [class^='col-'] {
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
}
.gutter-75 {
    margin-right: -7.5px;
    margin-left: -7.5px;
}
.gutter-75 > [class^='col-'] {
    padding-top: 7.5px;
    padding-right: 7.5px;
    padding-bottom: 7.5px;
    padding-left: 7.5px;
}
.gutter-10 {
    margin-right: -10px;
    margin-left: -10px;
}
.gutter-10 > [class^='col-'] {
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
}
.gutter-15 {
    margin-right: -15px;
    margin-left: -15px;
}
.gutter-15 > [class^='col-'] {
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
}

@media(max-width:991.98px) {
    .container {
        max-width:none;
    }
}

/*--------------------------------------
utils
--------------------------------------*/

/*-----icons-----*/


/*-----texts-----*/

/*300~700*/
.ff-quicksand {
  font-family: "Quicksand", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.ff-marugothic {
  font-family: "Zen Maru Gothic", serif;
  font-style: normal;
}

.ff-normal {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}


/*--------------------------------------
header
--------------------------------------*/

#global-header {
    background-color:var(--color-main-bg);
    color:#fff;
    position:relative;
}
.menu-button {
    display:flex;
    flex-direction:column;
    position:absolute;
    top:5px;
    right:5px;
    cursor:pointer;
    border:none;
    background:none;
    opacity:.6;
    color:#fff;
    font-size:10px;
    font-weight:bold;
    z-index:10;
    flex:0 0 auto;
}
.menu-button img {
    width:36px;
}
.logo-content {
    text-align:center;
    padding:5px 0 10px;
}
.logo-title {
    color:#fff;
    margin-bottom:5px;
    font-weight:bold;
    font-size:24px;
    opacity:.6;
}
.logo-title span {
    display:block;
    font-size:16px;
    font-weight:normal;
}
.logo-img {
    text-align:center;
}
.logo-img {
    width:27px;
}
.logo-sub-title {
    margin:5px 0 10px;
    color:#fff;
    text-align:center;
    font-size:16px;
    font-weight:bold;
}
.logo-copy {
    background:#fff;
    padding:5px 5px 10px;
    text-align:center;
}
.logo-copy span {
    display:block;
    font-size:13px;
    color:#c9caca;
}
.logo-copy img {
    width:190px;
}
#global-nav {
    display:flex;
    flex-direction: column;
    justify-content: flex-end;
    position:absolute;
    bottom:100%;
    right:0;
    height:calc(100vh - var(--sticker-menu-height));
    width:275px;
    padding:10px 20px;
    background:var(--color-sub-bg);
    overflow:auto;
    z-index:100;
    transform:translateX(100%);
    transition:.3s;
}
.menu-open #global-nav {
    transform:translateX(0%);
}
.main-nav > ul > li {
    margin-top:8px;
}
.main-nav > ul > li > a {
    background:rgba(255, 255, 255, .3);
}
.main-nav > ul > li > ul > li a {
    padding:1px 5px;
}
.main-nav > ul > li > ul {
    margin-top:8px;
}
.main-nav a {
    color:#fff;
    font-size:13px;
    font-weight:bold;
    padding:5px;
    display: flex;
    align-items:center;
}
.main-nav a::before {
    content:'';
    display:block;
    width:8px;
    height:8px;
    border-right:1px solid #fff;
    border-bottom:1px solid #fff;
    transform: rotate(-45deg);
    margin-right:10px;
}
.menu-close-button {
    display:flex;
    align-items:center;
    justify-content: flex-end;
    width:100%;
    margin-top:10px;
    cursor:pointer;
    border:none;
    background:none;
    color:#fff;
    font-size:13px;
    font-weight:bold;
    z-index:10;
    padding:0;
}
.menu-close-button img {
    margin-left:5px;
    width:18px;
}
.sticky-nav-wrap {
	position:relative;
    position:sticky;
    bottom:0;
    left:0;
	z-index:100;
}
#sticky-menu {
    display:flex;
    padding:5px 0 5px 5px;
    background:var(--color-main-bg);
    height:var(--sticker-menu-height);
}
.sticky-menu-buttons {
    display:flex;
    justify-content:space-between;
    width:100%;
}
.sticky-menu-buttons > a {
    width:calc(50% - 2.5px);
    font-weight:bold;
    border-radius: 5px;
    color:#fff !important;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:bold;
    padding:2px;
    border-radius:5px;
    text-align:center;
    flex:1 1 auto;
}
.sticky-menu-buttons > a span {
    font-size:12px;
}
.line-button {
    background:#3aae36;
}
.line-button img {
    width:30px;
}
.purchase-button {
    margin-left:5px;
    background:#f39800;
}
#sticky-menu .menu-button {
    position:static;
    opacity:1;
}


@media(min-width:768.98px) {

}



@media(max-width:991.98px) {
}
@media(max-width:767.98px) {
}
@media(max-width:575.98px) {
}
@media(min-width:768px) {
}
@media(max-width:575.98px) {
}

/*--------------------------------------
content
--------------------------------------*/
.body-inner {
}
.content-wrap {
	text-align:center;
	background: #fff;
    margin:auto;
    width:375px;
	overflow:clip;
}
.breadcrumb {
	display: flex;
	align-items: center;
	padding:10px 10px;
	background:#fff;
	font-size:13px;
	margin-bottom:0;
	color:#8d8a8a !important;
}
.breadcrumb a ,
.breadcrumb span {
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	margin:0 5px;
	color:#8d8a8a !important;
}

#main-image-slider {
	background:#fff;
}
#sub-image-slider {
	background:#fff;
	padding:10px 20px;
}
#sub-image-slider .slick-slide {
	margin:0 5px;
	position:relative;
}
#sub-image-slider .slick-slide.slick-current::before {
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	left:0;
	display:block;
	border:4px solid var(--color-main-bg);
}
.purchase-button-min {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius: 10px;
	background:var(--color-orange);
	line-height:1;
	color:#fff !important;
	font-size:22px;
	font-weight:bold;
	padding:8px 20px;
	margin:20px 0 40px;
}
.bg-red {
	background:var(--color-red);
}
.bg-violet {
	background:var(--color-violet);
}
.bg-green {
	background:var(--color-green);
}
.bg-pink {
	background:var(--color-pink);
}
.show-detail-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius: 40px;
	line-height:1;
	color:#fff !important;
	font-size:18px;
	font-weight:bold;
	padding:12px 35px 14px;
	margin:20px 0 50px;
}
.show-detail-button::before {
    content:'';
    display:block;
    width:8px;
    height:8px;
    border-right:1px solid #fff;
    border-bottom:1px solid #fff;
    transform: rotate(-45deg);
	transform-origin: bottom;
    margin-right:8px;
}
.show-list-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius: 40px;
	line-height:1;
	color:#fff !important;
	font-size:16px;
	font-weight:bold;
	padding:12px 30px 14px;
	margin:30px 0 40px;
}
.show-list-button::before {
    content:'';
    display:block;
    width:8px;
    height:8px;
    border-right:1px solid #fff;
    border-bottom:1px solid #fff;
    transform: rotate(-45deg);
	transform-origin: bottom;
    margin-right:8px;
}
.category-title {
	color:var(--color-red);
	font-weight:bold;
	font-size:20px;
	margin-top:10px;
	margin-bottom:0;
	letter-spacing:2px;
}
.line-contact-area {
	text-align:center;
	margin-top:20px;
}
.form-error .line-contact-area {
	display:none;
}
.error-area {
	display: none;;
}
.form-error .error-area {
	display:block;
}
.form-error .d-error-none {
	display:none;
}
.line-button-min {
    background:#3aae36;
    width:250px;
    font-weight:bold;
    border-radius: 5px;
    color:#fff !important;
	margin:5px auto 0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    font-weight:bold;
    padding:8px 5px 5px;
    border-radius:5px;
    text-align:center;
    flex:1 1 auto;
	margin-bottom:50px;
}
.line-button-min img {
    width:40px;
}
.line-button-min span {
	font-size:14px;
}

.member-box {
	margin-top:20px;
	padding:20px 30px 30px;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	background:#feeabe;
	text-align:left;
	margin-bottom:30px;
}
.form-box {
	margin-top:20px;
	padding:20px 30px 30px;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	background:#efefef;
	text-align:left;
}
.form-area label {
	display:block;
	font-size:14px;
	margin-top:10px;
	margin-bottom:5px;
}
.form-area br {
	display:none;
}
.form-area textarea,
.form-area select,
.form-area input:not([type="checkbox"]) {
	font-size:14px;
	background:#fff;
	border-radius:4px;
	border:1px solid #898989;
	padding:5px;
	width:100%;
}
.form-area input.tel {
	width:auto;
}
.form-area select {
	padding:8px 5px;
}
.form-twin {
	display:flex;
	align-items:center;
	justify-content: space-between;
}
.form-twin > div {
	width:calc(50% - 5px);
}
.form-twin input {
	width:100%;
}
.privacy-area {
	margin-top:20px;
	padding:20px 30px 30px;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	text-align:left;
}
.privacy-box {
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	height:200px;
	overflow:auto;
	padding:10px;
	margin-bottom:30px;
	border:1px solid #b5b5b6;
	text-align:left;
	font-size:14px;
}
.privacy-box br {
	display:block;
}
.privacy-check {
	text-align: center;
}
.privacy-check p {
}
.privacy-inputs {
	position:relative;
	text-align:center;
}
.privacy-inputs p {
	position:absolute;
	top:-2px;
	left:calc(50% + 20px);
	font-size:14px;
}
.confirm-button {
    background:var(--color-orange);
    width:250px;
    font-weight:bold;
    border-radius: 5px;
    color:#fff;
	margin:0px auto 60px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:bold;
    padding:10px 5px;
    text-align:center;
	border:none;
}
.confirm-button:disabled {
	background:#dcdddd;
}

/*--------------------------------------
footer
--------------------------------------*/

#global-footer {
    background: var(--color-main-bg);
}
.logo-menu {
    padding:10px 20px 30px;
}
.logo-pages {
    background:#fff;
    padding:20px 0 10px;
    font-size:14px;
}


@media(max-width:767.98px) {
}

@media(max-width:575.98px) {
}