@import url('https://fonts.googleapis.com/css2?family=Homemade+Apple&family=Libre+Caslon+Text&family=Roboto:wght@300;400&display=swap');

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #0c0e0f;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #0c0e0f;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}



/* *****************************************************************************
SLICK
***************************************************************************** */
/* Slider */
.slick-slider {
	position: relative;

	display: block;
	box-sizing: border-box;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;

	display: block;
	overflow: hidden;

	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;

	display: block;
	margin-left: auto;
	margin-right: auto;
}

.slick-track:before,
.slick-track:after {
	display: table;

	content: '';
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;

	height: 100%;
	min-height: 1px;
}

[dir='rtl'] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;

	height: auto;

	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}


/* -----------------------------------------------------------------------------
アニメ
----------------------------------------------------------------------------- */
@keyframes fuwafuwa {
	0% {
		transform: translateY(-5px);
	}

	100% {
		transform: translateY(5px);
	}
}


@keyframes yurayura {
	0% {
		transform: translateX(-5px);
	}

	100% {
		transform: translateX(5px);
	}
}

@keyframes furifuri {
	0% {
		transform: rotate(-5deg)
	}

	100% {
		transform: rotate(5deg)
	}
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom
}

/* -----------------------------------------------------------------------------
共通
----------------------------------------------------------------------------- */
html {
	/* 1280px で 16px */
	font-size: 16px;
	/* font-size: 1.25vw; */
}

@media screen and (min-width: 1280px) {
	html {
		/* font-size: 1.25vw; */
	}
}

@media screen and (max-width: 1185px) {
	html {
		font-size: 14px;
	}
}

body {
	font-family: "Roboto", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	letter-spacing: 0.1em;
	background: url(../images/common/bg.jpg);
	color: #333;
}

.homemadeapple {
	font-family: 'Homemade Apple', cursive;
	letter-spacing: 0 !important;
}

.librecaslon {
	font-family: 'Libre Caslon Text', serif;
}

.roboto {
	font-family: 'Roboto', sans-serif;
}

.serif {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.entry_headline {
	font-family: 'Libre Caslon Text', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

a {
	text-decoration: none;
	color: #333;
}

a:hover {
	color: #FFC0A1;
}

@keyframes a_hover {
	0% {
		opacity: 0.5;
	}

	100% {
		opacity: 1.0;
	}
}

.icon_button {
	color: #333;
}

.icon_button:hover {
	color: #FFC0A1;
}


/* アニメ用 */
.scrollanim[data-scrollanim-type="fade"] {
	opacity: 0;
	transition-duration: 1.5s;
	transition-delay: 0.2s;
	transition-property: opacity;
}

.scrollanim[data-scrollanim-type="slidein"] {
	opacity: 0;
	transform: translateX(-20px);
	transition-duration: 1.5s;
	transition-delay: 0.2s;
	transition-property: opacity transform;
}

.scrollanim.scrollanim-fired[data-scrollanim-type="fade"] {
	opacity: 1.0;
}

.scrollanim.scrollanim-fired[data-scrollanim-type="slidein"] {
	opacity: 1.0;
	transform: translateX(0);
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/* -----------------------------------------------------------------------------
ヘッダ
----------------------------------------------------------------------------- */
header {
	position: relative;
	height: 120px;
}

header>.inner {
	width: 90%;
	max-width: 1187px;
	margin: auto;
	padding-top: 25px;
}

header h1 {
	position: absolute;
	width: 108px;
	top: 25px;
	left: calc(50% - 54px);
	z-index: 5;
}

body.spmenu_opened header h1 {
	mix-blend-mode: darken;
	position: fixed;
}

.header_store {
	width: 31px;
	height: 31px;
	position: fixed;
	top: 40px;
	right: calc((100% - 1187px) / 2);
}

@media screen and (max-width: 1318px) {

	.header_store {
		right: 5%;
	}
}

@media screen and (max-width: 750px) {
	header {
		position: fixed;
		height: auto;
		width: 100%;
		z-index: 1;
	}

	header>.inner {
		width: 100%;
		padding: 0;
	}

	header h1 {
		position: absolute;
		width: auto;
		top: 5vw;
		left: auto;
		right: 6vw;
	}

	header h1 img {
		width: 23vw;
	}


	.header_store {
		display: none;
	}

}

/* -----------------------------------------------------------------------------
ハンバーガーメニュー
----------------------------------------------------------------------------- */
#btn_spmenu {
	display: block;
	border: solid 1px transparent;
	width: 30px;
	height: 30px;
	position: fixed;
	top: 40px;
	left: calc((100% - 1187px) / 2);
	z-index: 200;
	cursor: pointer;
	transition-duration: 0.1s;
}

.icon-animation {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}

.icon-animation span {
	width: 100%;
	height: 1px;
	display: block;
	background: #333;
	position: absolute;
	left: 0;
	top: calc(50% - 0.5px);
}

.icon-animation span {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.icon-animation .top {
	-webkit-transform: translateY(-8px) scale(1);
	-ms-transform: translateY(-8px) scale(1);
	transform: translateY(-8px) scale(1);
}

.icon-animation .middle {
	background: none;
	position: relative;
}

.icon-animation .middle:before,
.icon-animation .middle:after {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	content: "";
	width: 100%;
	height: 1px;
	background: #333;
	display: block;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
	position: absolute;
}

.icon-animation .bottom {
	-webkit-transform: translateY(8px) scale(1);
	-ms-transform: translateY(8px) scale(1);
	transform: translateY(8px) scale(1);
}

body.spmenu_opened .icon-animation .middle:before,
body.spmenu_opened .icon-animation .middle:after {
	background: #0c0e0f;
}

body.spmenu_opened .icon-animation .top {
	-webkit-transform: translateY(0px) scale(0);
	-ms-transform: translateY(0px) scale(0);
	transform: translateY(0px) scale(0);
}

body.spmenu_opened .icon-animation .bottom {
	-webkit-transform: translateY(0px) scale(0);
	-ms-transform: translateY(0px) scale(0);
	transform: translateY(0px) scale(0);
}

body.spmenu_opened .icon-animation .middle:before {
	-webkit-transform: rotate(45deg) scaleX(1.01111);
	-ms-transform: rotate(45deg) scaleX(1.01111);
	transform: rotate(45deg) scaleX(1.01111);
}

body.spmenu_opened .icon-animation .middle:after {
	-webkit-transform: rotate(-45deg) scaleX(1.01111);
	-ms-transform: rotate(-45deg) scaleX(1.01111);
	transform: rotate(-45deg) scaleX(1.01111);
}



/* ****************************************************************************
ナビゲーション
*/
.modal_navi {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 3;
	background-color: #fcebdc;
	height: 0;
	overflow: hidden;
	transition-property: height;
	transition-duration: 0.3s;
}

body.spmenu_opened .modal_navi {
	height: 100vh;
}

.modal_navi>.inner {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100vh;
}

.modal_navi .label_en {
	font-size: 1.4rem;
}

.modal_navi .label_ja {
	font-size: 0.8125rem;
	margin-left: 1em;
}

.modal_navi nav+nav {
	margin-left: 4em;
}

.modal_navi li {
	padding: 1.83em 0;

}

@media screen and (max-width: 1318px) {
	#btn_spmenu {
		left: 5%;
	}
}

@media screen and (max-width: 750px) {
	#btn_spmenu {
		width: 6vw;
		height: 6vw;
		left: 6vw;
		top: 4vw;
	}

	.modal_navi>.inner {
		flex-direction: column;

	}

	.modal_navi nav {
		width: 85%;
		margin-left: 15%;
	}

	.modal_navi nav+nav {
		margin-left: 15%;
	}

	.modal_navi li {
		padding: 1.4em 0;

	}

	.modal_navi .label_en {
		font-size: 1.33rem;
	}

	.modal_navi .label_en {
		font-size: 1.33rem;
	}

	.modal_navi_sns a {
		display: inline-block;
		width: 1.25em;
		height: 1.25em;
		margin-left: 1em;
	}

}

/* -----------------------------------------------------------------------------
フッタ
----------------------------------------------------------------------------- */
footer {
	background-color: #fcebdc;
	position: relative;
}

footer::before {
	content: '';
	position: absolute;
	bottom: calc(100% - 5px);
	right: 0;
	width: 180px;
	height: 75px;
	background: url(../images/common/footer_decoration.svg) right bottom no-repeat;
	background-size: contain;
}

footer>.inner {
	width: 90%;
	max-width: 1187px;
	margin: auto;
	padding-top: 60px;
	padding-bottom: 20px;
}

.footer_body>.inner {
	display: flex;
	justify-content: space-between;
}

.footer_body>.inner>* {}

.footer_title {
	margin-bottom: 1em;
}

.footer_access {
	line-height: 2.48;
	font-size: 0.78125rem;
}

.footer_nav li {
	padding: 0.5em 0 1.3em 0;
	line-height: 1;
}

.footer_nav .label_en {
	letter-spacing: 0;
	font-size: 0.9375rem;
  margin-left: -1em;
  margin-right: -0.75em;
}

.footer_nav .label_en::before,
.footer_nav .label_en::after {
  content:'　';
}

.footer_nav .label_ja {
	font-size: 0.8125rem;
	letter-spacing: 0;
}


.footer_sns dl {
	display: flex;
	align-items: center;
	line-height: 1;
}

.footer_sns ul {
	display: flex;
}

.footer_sns li {
	width: 18px;
	padding: 0;
	margin-left: 1em;
	padding-bottom: 0.5em;
}

.footer_copy {
	font-size: 0.75rem;
	margin-top: 6.5rem;
}

@media screen and (max-width: 1200px) {
	.footer_body>.inner {
		display: block;
	}

	.footer_access {
		margin-bottom: 2rem;
	}

}

@media screen and (max-width: 750px) {
	footer>.inner {
		padding-top: 10vw;
		padding-bottom: 4vw;
	}

	.footer_title {
		font-size: 1.125rem;
		margin-bottom: 1em;
	}

	.footer_access {
		font-size: 1.125rem;
		margin-bottom: 0;
	}

	.footer_nav {
		display: none;
	}
}

/* -----------------------------------------------------------------------------
共通
----------------------------------------------------------------------------- */
article {
	padding: 4rem 0 4rem 0;
}

.section_title .lang_en {
	font-size: 1.68rem;
	font-weight: normal;
}

.section_title .lang_ja {
	font-size: 0.875rem;
	margin-left: 0.5em;
}

.section_title.archive_title .lang_ja {
	font-size: 1.25rem;
}

.section_title.archive_title .lang_ja::before {
	content: '#';
}

.pager {
	font-size: 0.875rem;
}

.pager>* {
	display: inline-block;
	position: relative;
	min-height: 0.7em;
}

.pager a {
	cursor: pointer;
}

.pager .disabled {
	opacity: 0.3;
	pointer-events: none;
}

.pager .pager_prev {
	padding-left: 1em;
	margin-right: 1em;
}

.pager .pager_prev::before {
	content: '';
	width: 12px;
	height: 12px;
	background: url(../images/common/button_arrow.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	top: calc(50% - 6px);
	left: 0;
	cursor: pointer;
}

.pager .pager_next {
	padding-right: 1em;
	margin-left: 1em;
}

.pager .pager_next::before {
	content: '';
	width: 12px;
	height: 12px;
	background: url(../images/common/button_arrow.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	top: calc(50% - 6px);
	right: 0;
	transform: rotate(180deg);
	cursor: pointer;
}

.pager .pager_home span {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #333;
	margin-bottom: 1px;
}

@media screen and (max-width: 750px) {
	article {
		padding: 40vw 0 14vw 0;
	}

	.pager {
		font-size: 1rem;
	}

	.section_title .lang_en {
		font-size: 2.25rem;
	}

	.section_title .lang_ja {
		font-size: 1.3rem;
	}
}

/* -----------------------------------------------------------------------------
ホームページ
----------------------------------------------------------------------------- */
body.index {
	width: 100%;
	overflow-x: hidden;
	position: relative;
}

body.index .wrapper {
	padding: 4.6875vh 3.632vw;
	height: calc(100vh - 9.375vh);
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}

body.index header {
	text-align: left;
}

body.index header>.inner {
	width: auto;
	max-width: initial;
	padding-top: 0;
}

body.index header h1 {
	position: static;
}

body.index header h1 img {
	width: 108px;
}

body.index article {
	padding: 5vh 0;
}

.indexContents {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.indexMenu {
	letter-spacing: 0;
}

.indexMenu li+li {
	margin-top: 1.7rem;
}

.indexMenu a {
	text-decoration: none;
	color: #333;
}

.indexMenu a:hover {
	color: #FFC0A1;
}

.indexMenu a,
.indexMenu a>span {
	display: block;
}

.indexMenu .label_en {
	font-size: 1.09375rem;
  margin-left: -1em;
}

.indexMenu .label_en::before ,
.indexMenu .label_en::after {
    content:'　';
}

.indexMenu .label_ja {
	font-size: 0.8125rem;
	margin-top: 1em;
}

.indexMainvisual {
	max-width: 45%;
	min-width: 450px;
}

.indexMainvisualPager {
	align-self: flex-end;
}

.indexMainvisualPager .pager_prev,
.indexMainvisualPager .pager_next {
	padding: 0;
}

.mainvisual_inner .slick-slide img {
	opacity: 0;
	transition-property: opacity;
	transition-duration: 1.5s;
	transition-delay: 1.0s;
}

.mainvisual_inner .slick-slide.slick-active img {
	opacity: 1;
}

.indexCopy {
	font-size: 0.75rem;
	line-height: 1.666;
	position: absolute;
	top: 4.6875vh;
	right: 3.632vw;
	transform: translateX(100%);
}

.indexCopy>.inner {
	transform: rotate(90deg);
	transform-origin: left top;

}

.indexCopy>.inner>div+div {
	margin-top: 0.66em;
}

body.index footer {
	background: none;
}

body.index footer::before {
	display: none;
}

body.index footer>.inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 0;
	max-width: initial;
	width: auto;
}

.indexSnsMenu li {
	display: inline-block;
	width: 18px;
}

.indexSnsMenu li+li {
	margin-left: 0.75rem;
}

.indexNews {
	max-width: 60%;
	line-height: 1.666;
}

.indexNews dl {
	display: flex;
	align-items: flex-start;
}

.indexNews .indexNews_item+.indexNews_item {
	margin-top: 0.5em;
}

.indexNews dt {
	font-size: 1.09375rem;
}

.indexNews dt h3 {
	display: flex;
	align-items: center;
	font-weight: normal;
	margin-right: 1em;
}

.indexNews dd {
	font-size: 0.8125rem;
	flex-grow: 1;
	padding-top: 0.3em;
}

.indexNews a {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.indexNews .news_date {
	margin-left: 1em;
}

@media screen and (max-width: 750px) {
	body.index .wrapper {
		padding: 0;
		height: auto;
		display: block;
	}

	body.index header h1 {
		position: absolute;
	}

	body.index header h1 img {
		width: 23vw;
	}

	body.index article {
		padding: 14vw 0 11vw 0;
	}

	body.index footer {
		position: static;
	}

	body.index footer>.inner {
		display: block;
		width: 88%;
		margin: auto;
	}

	.indexContents {
		display: block;
	}

	.indexMainvisual {
		max-width: initial;
		min-width: initial;
		width: 100%;
	}

	.indexMainvisualPager {
		width: 88%;
		margin: 1.5rem auto;
		text-align: right;
	}

	.indexNews {
		max-width: initial;
	}

	.indexNews dl {
		margin-bottom: 2.5em;
	}

	.indexNews dt {
		font-size: 1.35rem;
		margin-bottom: 0.25em;
	}

	.indexNews dt h3 {
		width: auto;
	}

	.indexNews dt h3::after {
		display: none;
	}

	.indexNews dl,
	.indexNews dd a,
	.indexNews .news_subject,
	.indexNews .news_date {
		display: block;
	}

	.indexNews .news_subject {
		font-size: 1rem;
		margin-bottom: 0.5em;
		margin-left: -0.5em;
	}

	.indexNews .news_date {
		font-size: 0.9375rem;
		margin-left: 0;
	}

	.indexNews .indexNews_item+.indexNews_item {
		margin-top: 2rem;
	}

	.indexNews dl+dl {
		margin-top: 2rem;
	}

	.indexCopy {
		position: static;
		transform: none;
		width: 88%;
		margin: auto;
		margin-top: 29vw;
		padding-bottom: 6vw;
	}

	.indexCopy>.inner {
		transform: none;
	}

	.indexCopy>.inner>div+div {
		margin-top: 1.2em;
	}
}




/* -----------------------------------------------------------------------------
読みもの トップページ
----------------------------------------------------------------------------- */
body.journal .section_header {
	display: flex;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.sectionJournal {
	width: 90%;
	max-width: 1187px;
	margin: 0 auto 3rem auto;
}

.entries {
	list-style-type: none;
	margin-left: 8.2%;
	height: 39.52vw;
	max-height: 506px;
	transition-property: opacity;
	transition-duration: 0.5s;
	opacity: 1;
}

body.archive .entries {
	height: auto;
	max-height: initial;
}

.sectionJournal.loading .entries {
	opacity: 0;
}

.entries .entry {
	width: 22.3%;
	height: 19.76vw;
	max-height: 253px;
	margin-right: 3.535%;
	float: left;
}

.entries .entry:nth-child(4n) {
	margin-right: 0;
}

.entries .entry a,
.entries .entry span {
	display: block;
}

.entries .entry_thumbnail {
	position: relative;
	width: 100%;
	height: 12.5vw;
	max-height: 160px;
	overflow: hidden;
	margin-bottom: 1rem;
	transition-property: filter;
	transition-duration: 0.3s;
}

.entries .entry_thumbnail.noimage {
	background-color: rgba(0, 0, 0, 0.1);
	transition-property: background-;
}

.entries .entry_thumbnail img {
	position: relative;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	float: left;
}

a:hover .entry_thumbnail {
	filter: brightness(1.2);
}

a:hover .entry_thumbnail.noimage {
	background-color: rgba(0, 0, 0, 0.05);
}

.entries .entry_subject {
	font-size: 0.8125rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 1em;
}

.entries .entry_date {
	font-size: 0.75rem;
}


.entries .entry_thumbnail.vlong img {
	width: 100%;
	height: auto;
	max-height: initial;
}

.entries.entries_first {
	margin-left: 0;
}

.entries.entries_first .entry {
	width: 20.21%;
}

.entries.entries_first .entry:first-child {
	width: 52.188%;
	height: 39.52vw;
	max-height: 506px;
}

.entries.entries_first .entry:first-child .entry_thumbnail {
	width: 100%;
	height: 32.2vw;
	max-height: 413px;
}

.entries.entries_first .entry:nth-child(4n) {
	margin-right: 3.535%;
}

.entries.entries_first .entry:nth-child(3),
.entries.entries_first .entry:nth-child(5) {
	margin-right: 0;
}

.entries.entries_first .entry:nth-child(4n+5) {
	margin-right: 0;
}

.button_back {
	width: 90%;
	max-width: 1187px;
	margin: 2rem auto;
	font-size: 0.8125rem;
}

.button_back .button_inner {
	position: relative;
	padding-left: 1.33em;
}

.button_back .button_inner::before {
	content: '';
	width: 12px;
	height: 12px;
	background: url(../images/common/button_arrow.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	top: calc(50% - 6px);
	left: 0;
}

.button_next {
	font-size: 0.8125rem;
}

.button_next .button_inner {
	position: relative;
	padding-right: 1.33em;
}

.button_next .button_inner::before {
	content: '';
	width: 12px;
	height: 12px;
	background: url(../images/common/button_arrow.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	top: calc(50% - 6px);
	right: 0;
	transform: rotate(180deg);
}

.button_next.button_gmap {
	font-size: inherit;
}

.sectionJournal+.button_back {
	margin-top: 4rem;
}

@media screen and (max-width: 750px) {
	.entries {
		margin-left: 0;
		height: auto;
		max-height: initial;
	}

	.sectionJournal {
		width: 88%;
		position: relative;
		padding-bottom: 1.5rem;
		margin-bottom: 6rem;
	}

	body.journal .section_header {
		margin-bottom: 1.6rem;
	}

	.sectionJournal .section_header .pager {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		text-align: center;
		display: flex;
		justify-content: space-between;
	}

	.entries.entries_first .entry,
	.entries .entry {
		width: 47.5%;
		height: 52vw;
		max-height: auto;
		max-height: initial;
		margin-right: 0;
		margin-bottom: 6vw;
	}

	.entries .entry:nth-child(2n) {
		float: right;
	}

	.entries .entry_thumbnail {
		width: 100%;
		height: 27.733vw;
	}

	.entries.entries_first .entry:first-child {
		width: 100%;
		height: auto;
		float: none;
	}

	.entries.entries_first .entry:first-child .entry_thumbnail {
		height: 58.533vw;
	}

	.entries.entries_first .entry:nth-child(4n) {
		margin-right: 0;
	}

	.entries.entries_first .entry:nth-child(2n) {
		float: left;
	}

	.entries.entries_first .entry:nth-child(2n+3) {
		float: right;
	}

	.entries .entry_subject {
		font-size: 1.041rem;
		margin-bottom: 0.8em;
	}

	.entries .entry_date {
		font-size: 0.9375rem;
	}

	.button_back {
		font-size: 1rem;
	}

}

/* -----------------------------------------------------------------------------
シングル
----------------------------------------------------------------------------- */
.section_entry {
	width: 90%;
	max-width: 1187px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}


.section_entry>.entry_header {
	width: 28%;
	position: -webkit-sticky;
	position: sticky;
	height: calc(100vh - 120px - 8rem);
	top: calc(120px + 4rem);
}

.section_entry .entry_body {
	width: 57.248%;
	font-size: 0.875rem;
	margin-right: 10.530%;
	margin-bottom: 14vw;
}

.entry_category {
	margin-bottom: 4rem;
}

.entry_category .label_en {
	font-size: 1.68rem;
	letter-spacing: 0;
}

.entry_category .label_ja {
	font-size: 0.875rem;
	margin-left: 0.5em;
	font-weight: bold;
	/* letter-spacing: 0; */
}

.entry_category_explain {
	line-height: 1.96;
	text-align: justify;
}

.entry_title {
	font-size: 1.875rem;
	line-height: 1.55;
	margin-bottom: 1em;
}

.entry_header .pager {
	position: absolute;
	bottom: 0;
}

.entry_header .button_back {
	width: auto;
	position: absolute;
	bottom: 0;
}

.entry_body .entry_sentence,
.entry_body .entry_picture,
.entry_body .entry_movie,
.entry_body .entry_button {
	margin: 2rem 0;
}

.entry_body .entry_picture+.entry_picture {
	margin-top: -1rem;
}

.entry_body .entry_headline {
	margin: 4rem 0 2rem 0;
}

.entry_body .entry_headline h3 {
	font-size: 1.25rem;
	font-weight: normal;
}

.entry_body .entry_headline h3 span {
	display: inline-block;
	border-bottom: solid 1px #0c0e0f;
	padding-bottom: 0.3em;
}

.entry_body hr {
	margin: 4rem 0;
}

.entry_body .entry_headline:first-child,
.entry_body .entry_sentence:first-child,
.entry_body .entry_picture:first-child,
.entry_body .entry_movie:first-child,
.entry_body .entry_button:first-child,
.entry_body hr:first-child {
	margin-top: 0;
}

.entry_body .entry_headline:last-child,
.entry_body .entry_sentence:last-child,
.entry_body .entry_picture:last-child,
.entry_body .entry_movie:last-child,
.entry_body .entry_button:last-child,
.entry_body hr:last-child {
	margin-bottom: 0;
}

.entry_body .entry_sentence {
	line-height: 1.96;
	text-align: justify;
}

.entry_body .entry_button .button_inner,
.entry_body .entry_button button,
.entry_body .entry_button input[type="submit"] {
	display: inline-block;
	border: solid 1px #333;
	min-width: calc(150px - 2em);
	padding: 1.25em 1em;
	text-align: center;
	background-color: transparent;
	cursor: pointer;
}

.entry_body .entry_button .button_inner:hover,
.entry_body .entry_button button:hover,
.entry_body .entry_button input[type="submit"]:hover {
	background-color: #333;
	color: #fff;
}

.entry_movie .movie_inner {
	position: relative;
	padding-bottom: 56.25%;
	/*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

.entry_movie .movie_inner iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.tag_list {
	margin-top: 6em;
}

.tag_list li {
	display: inline-block;
}

.tag_list li::before {
	content: '#';
}

.tag_list li+li {
	margin-left: 1em;
}

@media screen and (max-width: 750px) {
	.section_entry {
		display: block;
		width: 88%;
		position: relative;
		padding-bottom: 6.5rem;
		margin-bottom: 10rem;
	}

	.section_entry>.entry_header {
		width: 100%;
		position: static;
		margin-bottom: 3rem;
		height: auto;
	}

	.section_entry .entry_header .pager {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		display: flex;
		justify-content: space-between;
	}

	.entry_category .label_en {
		font-size: 2.25rem;
	}

	.entry_category .label_ja {
		font-size: 1.29rem;
	}

	.entry_body .entry_headline h3 {
		font-size: 1.45rem;
	}

	.section_entry .entry_header .button_back {
		position: absolute;
		bottom: 0;
		left: 0;
		margin: 0;
	}

	.entry_body .entry_sentence,
	.entry_body .entry_picture,
	.entry_body .entry_button {
		margin: 3rem 0;
	}

	.entry_body .entry_headline+.entry_sentence {
		margin-top: 2rem;
	}

	.entry_body .entry_picture+.entry_picture {
		margin-top: -2rem;
	}

	.section_entry .entry_body {
		width: 100%;
		margin-right: 0;
		margin-bottom: 0;
		font-size: 1.16rem;
	}

	.entry_title {
		font-size: 2.5rem;
	}

	.entry_date {
		font-size: 1.25rem;
	}

	.entry_category_explain {
		font-size: 1.16rem;
		line-height: 1.96;
	}
}

/* -----------------------------------------------------------------------------
道案内
----------------------------------------------------------------------------- */
.access_infomation {
	line-height: 1.96;
	display: flex;
	margin: 8rem 0 7rem 0;
}

.access_data {
	width: 47.8%;
	letter-spacing: 0.03em;
}


.access_map {
	width: 51.1%;
}

@media screen and (max-width: 1318px) {
	.access_infomation {
		display: block;
		margin: 6rem 0 3rem 0;
	}

	.access_data {
		width: 100%;
	}

	.access_map {
		margin-top: 3rem;
		width: 350px;
	}

}

@media screen and (max-width: 750px) {
	.access_infomation {
		display: block;
		margin: 3rem 0 3rem 0;
	}

	.access_data,
	.access_map {
		width: 100%;
	}

	.access_map {
		margin-top: 2rem;
	}
}

/* -----------------------------------------------------------------------------
 工房訪問記
----------------------------------------------------------------------------- */
body.zakka .entry_body {
	width: 67.818%;
	margin-right: 0;
}

body.zakka .entry_body .pager {
	text-align: right;
}

body.zakka .entries {
	margin-left: 0;
	margin-top: 2rem;
}

body.zakka .entries .entry {
	width: 29.813%;
	margin-right: 5.27%;
}

body.zakka .entries .entry:nth-child(3n) {
	margin-right: 0;
}

@media screen and (max-width: 750px) {
	body.zakka .entry_body {
		width: 100%;
		position: relative;
		padding-bottom: 4rem;
	}

	body.zakka .entry_body .pager {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		text-align: center;
		display: flex;
		justify-content: space-between;
	}

	body.zakka .entries .entry {
		width: 47.5%;
		height: 50vw;
		margin-right: 0;
	}

	body.zakka .entries .entry:nth-child(2n) {
		float: right;
	}

	body.zakka .entries .entry:nth-child(3n) {
		margin-right: 0;
	}
}

/* -----------------------------------------------------------------------------
カフェバー
----------------------------------------------------------------------------- */
.entry_cafebarmenu {
	letter-spacing: 0.0em;
}

/* -----------------------------------------------------------------------------
コンタクト
----------------------------------------------------------------------------- */
.entry_body .entry_fields {
	margin: 2.5rem 0;
}

.entry_body .entry_fields:first-child {
	margin-top: 0;
}

.entry_body .entry_fields:last-child {
	margin-bottom: 0;
}

.entry_body .entry_fields dl {
	width: 100%;
}

.entry_body .entry_fields dt {
	font-size: 0.875rem;
	margin-bottom: 0.5em;
}

.entry_body .entry_fields input,
.entry_body .entry_fields textarea {
	width: calc(100% - 1em - 2px);
	border: solid 1px #333;
	padding: 1em 0.5em;
	background-color: transparent;
	font-size: 0.875rem;
}

.entry_body .entry_fields textarea {
	height: 12rem;
}

.entry_select {
	overflow: hidden;
	position: relative;
}

.entry_select::after {
	content: '';
	width: 1em;
	height: 1em;
	background: url(../images/common/button_arrow.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	top: calc(50% - 0.5em);
	right: 1em;
	transform: rotate(-90deg);
	pointer-events: none;
}

.entry_select select {
	width: 100%;
	border: solid 1px #333;
	padding: 1em 0.5em;
	border: solid 1px #333;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	font-size: 0.875rem;
}

.wpcf7-not-valid-tip {
	margin-top: 0.5em;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0 1em;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: #FFC0A1;
	padding: 0.5em;
}

.wpcf7 form.sent .wpcf7-response-output {
	padding: 0.5em;
}

@media screen and (max-width: 750px) {

	.entry_body .entry_fields dt,
	.entry_body .entry_fields input,
	.entry_body .entry_fields textarea,
	.entry_select select {
		font-size: 1.1875rem;
	}
}

/* ************************************ タイトル
*/

/* -----------------------------------------------------------------------------
--------------------------------------------------------------------------------
モバイル
--------------------------------------------------------------------------------
----------------------------------------------------------------------------- */
@media screen and (min-width: 751px) {
	.disp_sp {
		display: none !important;
	}
}

@media screen and (max-width: 750px) {
	.disp_pc {
		display: none !important;
	}

	/* -----------------------------------------------------------------------------
共通
----------------------------------------------------------------------------- */
	html {
		/* font-size:24px */
		font-size: 3.2vw;
	}


	/* -----------------------------------------------------------------------------
ヘッダ
----------------------------------------------------------------------------- */




	/* -----------------------------------------------------------------------------
フッタ
----------------------------------------------------------------------------- */
	footer {}

	/* -----------------------------------------------------------------------------
共通
----------------------------------------------------------------------------- */


	/* -----------------------------------------------------------------------------
ホームページ
----------------------------------------------------------------------------- */

	/* ************************************ タイトル
*/

}