﻿@charset "UTF-8";
/*---------------------------------------

[reset]

[base]
	font
	anchor
	add class

.body_common set-up]
	h
	pagetop link

[lower.body_common]

[each page]

.body_common contents]
	container
	header
	main contents
	footer
	print

[clearfix]

[cms setting]

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

/* CSS Document */

/*===============================================
●style.css
===============================================*/

* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
.container {
	width: 100%;
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: reset */

body, div, dl, dt, dd, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote {
	margin: 0;
	padding: 0;
}
ul, ol {
	margin: 0;
}
header, nav, section, aside, footer {
	display: block;
}
table {
	border-spacing: 0;
}
fieldset, img, a img, abbr, acronym {
	border: 0;
}
img {
	max-width: 100%;
	height: auto;
	width/***/
	: auto;
	vertical-align: middle;
}
li img, dt img {
	vertical-align: top;
}
address, caption, cite, code, dfn, th, var {
	font-style: normal;
	font-weight: normal;
}
caption, th {
	text-align: left;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}
q:before, q:after {
	content: '';
}
a {
	outline: none;
}
button, fieldset, form, input, label, legend, select, textarea {
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: base */

/*--------------------------------------- font */

html {
	font-size: 62.5%;
}
body {
	font-family: 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
	line-height: 1.5;
	color: #1d2129;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	overflow-x: hidden;
}
nav#side li a:before, .contact_box .tel:before, .contact_box .mail:before {
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 780px), print {
	body {
		font-size: 1.6em;
	}
}
@media screen and (max-width:779px) {
	html, body {
		-webkit-text-size-adjust: 100%;
		-webkit-overflow-scrolling: touch;
	}
	body {
		font-size: 1.4em;
	}
	iframe {
		max-width: 100%;
	}
}
@media screen and (max-width:478px) {
	body {
		font-size: 1.3em;
	}
}
/*----------------------- color */

/* red */

.red {
	color: #FF0000;
}
/* white */

.white {
	color: #FFFFFF;
}
/* aqua */

.aqua {
	color: #2b71b7;
}
/* blue */

.blue {
	color: #334f99;
}
/* black */

.black {
	color: #0b0b0b;
}
/*----------------------- size */

/* size10px */

.size10 {
	font-size: 0.71em;
}
/* size12px */

.small, .size12 {
	font-size: 0.85em;
}
/* size14px */

.size14 {
	font-size: 1.0em;
}
/* size16px */

.size14 {
	font-size: 1.14em;
}
/* size18px */

.size18 {
	font-size: 1.28em;
}
/* size22px */

.size22 {
	font-size: 1.57em;
}
/* size24px */

.size22 {
	font-size: 1.71em;
}
/*--------------------------------------- anchor */

a {
	color: #7c7672;
	transition: color 0.5s ease 0s;
}
a:hover {
	color: #dad2c5;
}
/* btn */

.btn {
	text-align: center;
	display: block;
	padding: 0.5em 20px;
}
.btn a, .editor-style-btn1 a {
	text-decoration: none;
	background-color: #7c7672;
	color: #FFF;
	border: none;
	position: relative;
	cursor: pointer;
	transition: 800ms ease all;
	outline: none;
	display: inline-block;
	padding: 0.75em 2em;
}
@media screen and (max-width: 798px) {
	.btn a, .editor-style-btn1 a {
		background-color: #524a44;
	}
}
.btn.colorWhite a {
	color: #7c7672;
	background-color: #FFF;
	border: solid 1px #ccc;
}
.btn a:hover, .editor-style-btn1 a:hover {
	background: #fff;
	color: #7c7672;
}
.btn a:before, .btn a:after, .editor-style-btn1 a:before, .editor-style-btn1 a:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	height: 1px;
	width: 0;
	background: #7c7672;
	transition: 400ms ease all;
}
.btn a:after, .editor-style-btn1 a:after {
	right: inherit;
	top: inherit;
	left: 0;
	bottom: 0;
}
.btn a:hover:before, .btn a:hover:after, .editor-style-btn1 a:hover:before, .editor-style-btn1 a:hover:after {
	width: 100%;
	transition: 800ms ease all;
}
.anchor {
	display: block;
	padding-top: 160px;
	margin-top: -160px;
}
@media screen and (max-width: 479px) {
	.anchor {
		padding-top: 20px;
		margin-top: -20px;
	}
}
.btn_style1 a {
	color: #fff;
	border: 1px solid #876a41;
	background-color: #876a41;
}
.btn_style1 a:hover {
	color: #876a41;
	background-color: #fff;
}
.editor-style-btn1 {
	margin: 0.5em 20px;
	color: #40210F;
}
.editor-style-text1 {
	color: #ffffff;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3), -1px -1px 5px rgba(0, 0, 0, 0.3);
}
.youtube_box {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.youtube_box iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* マウスオーバーツールチップ */

a.popuphelp {
	text-decoration: none;
	border-bottom: 1px dotted #333333;
	color: #1d2129;
}
a.popuphelp:hover {
	cursor: default;
}
div.tooltip {
	width: 250px;
	max-width: 100%;
	position: absolute;
	left: -9999px;
	background: #EEE;
	padding: 5px;
	border: 1px solid #AAA;
}
div.tooltip p {
	color: #FFF;
	background: rgb(131, 131, 131);
	padding: 5px 10px;
}
/*--------------------------------------- add class */

.floatL {
	float: left;
}
.floatR {
	float: right;
}
.clearB {
	clear: both;
}
.center {
	text-align: center;
}
.centerPc {
	text-align: center;
}
@media screen and (max-width: 479px) {
	.centerPc {
		text-align: left;
	}
}
.right {
	text-align: right;
}
.hidden {
	display: none!important;
}
@media screen and (max-width: 478px) {
	.spDisplay {
		display: block!important;
	}
}
.bold {
	font-weight: bold;
}
@media screen and (max-width: 478px) {
	.sp_alignleft {
		text-align: left!important;
	}
	.sp_nobr {
		display: none;
	}
}
/* fadein */

.fadein {
	opacity: 0.1;
	transform: translate(0, 3vw);
	transition: transform 1200ms;
	-moz-transition-delay: 200ms;
	-webkit-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	-ms-transition-delay: 200ms;
	transition: all 1s;
}
.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
/* ---------	可視範囲に入ったらフェードイン common.js */
/*左から右にフェードイン*/
.left-to-right {
	opacity: 0.1;
	transform: translateX(-3vw);
	transition: all 1s;
}
.left-to-right.scrollin {
	opacity: 1;
	transform: translate(0);
}
.right-to-left {
	opacity: 0.05;
	transform: translateX(3vw);
	transition: all 1s;
}
.right-to-left.scrollin {
	opacity: 1;
	transform: translate(0);
}
/*下から上にフェードイン*/
.down-to-top {
	opacity: 0.1;
	transform: translateY(3vw);
	transition: all 1s;
}
.down-to-top.scrollin {
	opacity: 1;
	transform: translateY(0);
}
/*上から下にフェードイン*/
.top-to-down {
	opacity: 0.1;
	transform: translateY(-3vw);
	transition: all 1s;
}
.top-to-down.scrollin {
	opacity: 1;
	transform: translateY(0);
}
.sp {
	display: none;
}
@media screen and (min-width: 780px), print {
	.sp_only {
		display: none;
	}
}
@media screen and (max-width: 779px) {
	.pc_only {
		display: none;
	}

}
@media screen and (max-width: 478px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}
/*--------------------------------------- columnBox */
.align_center {
	align-items: center;
}
.align_end {
	align-items: flex-end;
}
@media screen and (min-width: 780px), print {
	.columnBox {
		display: flex;
		flex-wrap: wrap;
		gap: 2vw;
	}
	.columnBox .column {
		width: 100%;
	}
	.columnBox_2 .column {
		width: calc((100% / 2 ) - 2vw);
	}
	.columnBox_3 .column {
		width: calc((100% / 3 ) - 2vw);
	}
	.columnBox_4 .column {
		width: calc((100% / 4 ) - 2vw);
	}
	.w20 {
		width: 20%;
	}
	.w30 {
		width: 30%;
	}
	.w40 {
		width: 40%;
	}
	.w50 {
		width: 50%;
	}
	.w60 {
		width: 60%;
	}
	.w70 {
		width: 70%;
	}
	.w80 {
		width: 80%;
	}
	.padr3 {
		padding-right: 3%;
	}
	.padL3 {
		padding-left: 3%;
	}
	.padt3 {
		padding-top: 3%;
	}
	.padt6 {
		padding-top: 6%;
	}
}
@media screen and (max-width: 779px) {


}
/*--------------------------------------- list_text */

.list_text, .list_text li {
	display: block;
	padding: 0;
	margin: 0;
}
.list_text {
	padding: 1em 0;
}
.list_text li {
	border-bottom: 1px solid #ccc;
}
.list_text li:first-child {
	border-top: 1px solid #ccc;
}
.list_text li a {
	text-decoration: none;
	display: block;
	background-image: url(./img/icon_right_circle.png);
	background-position: center right;
	padding-right: 40px;
	background-repeat: no-repeat;
}
.list_text li a:before {
	content: "";
	width: 40px;
	height: 40px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background-color: #c6c6c6;
}
.list_text li .listBox {
	width: 100%;
	display: block;
	padding: 15px 0;
}
.list_text li .date {
	font-size: 0.9em;
}
.list_text li .new {
	font-size: 0.9em;
	margin-left: 20px;
	padding: 2px 10px;
	background-color: #ca0303;
	color: #ffffff;
}
.list_text li .listBox .date, .list_text li .listBox .new {
	display: inline-block;
	vertical-align: middle;
}
.list_text li .listBox .text {
	padding-top: 10px;
	display: block;
}
@media screen and (min-width: 481px), print {}
@media screen and (max-width: 480px) {}
/*--------------------------------------- list_thumbnail */

.list_thumbnail li a {
	display: block;
	text-decoration: none;
}
.list_top li a {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.list_top li .thumbnail {
	padding: 32.34%;
}
.list_thumbnail .listBox {
	display: block;
	position: relative;
	padding-bottom: clamp(10px, 2vw, 20px);
}
.box_main_img .new:after, .list_thumbnail .new:after {
	color: #695800;
	content: "NEW";
	font-size: 12px;
	position: absolute;
	z-index: 99;
	background-color: #ffe042;
	right: 10px;
	top: 0;
	transform: none;
	padding: 0 1vw;
	height: 20px;
	text-align: center;
	font-weight: 600;
}
.list_thumbnail .thumbnail_box {
	position: relative;
	display: block;
}
.list_thumbnail .thumbnail {
	display: block;
	overflow: hidden;
	text-align: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
	z-index: 80;
	border-radius: clamp(10px, 0.5vw, 30px);
	overflow: hidden;
}
.list_thumbnail .thumbnail span {
	padding: 27% 0;
	display: block;
	height: 100%;
	background-position: center top;
	background-size: cover;
	background-repeat: no-repeat;
	transition: all 0.5s ease-out;
}
.list_thumbnail li a:hover .thumbnail span {
	transform: scale(1.1);
}
.list_thumbnail .title {
	color: #333333;
	font-weight: bold;
	display: block;
	padding-top: clamp(10px, 2vw, 20px);
}
.list_thumbnail .date {
	display: block;
	text-align: right;
	color: #ccc;
	font-size: 0.9em;
}
.list_thumbnail .place {
	display: inline-block;
	text-align: center;
	color: #FFF;
	font-size: 0.9em;
	background-color: #958468;
	padding: 5px;
	top: clamp(-10px, -2vw, -20px);
	right: 15px;
	z-index: 99;
	position: absolute;
}
.list_thumbnail .new02 {
	font-weight: bold;
	position: absolute;
	display: block;
	overflow: visible;
	z-index: 9999;
	margin-top: 2px;
}
.list_thumbnail .new02:before, .list_thumbnail .new02:after {
	display: block;
	position: absolute;
	left: -10px;
}
.list_thumbnail .new02:before {
	content: "";
	border: 6px solid transparent;
	border-top-color: #a1364f;
	border-right-color: #a1364f;
	top: 32px;
}
.list_thumbnail .new02:after {
	content: "NEW!";
	background: #c31d1f;
	color: #fff;
	padding: 0 24px;
	height: 24px;
	line-height: 24px;
	top: 8px;
	z-index: 10;
}
.list_thumbnail {
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.list_thumbnail li {
	padding: 0;
	margin: 0;
}
.list_thumbnail li .text {
	margin: clamp(10px, 2vw, 20px) 0 0;
	display: block;
}
@media screen and (min-width: 1200px), print {
	.list_thumbnailC6 li {
		width: calc( calc(100% - 6vw) / 6);
	}
}
@media screen and (min-width: 780px), print {
	.list_thumbnail {
		gap: 1vw;
	}
	.list_thumbnailC2 li {
		width: calc( calc(100% - 2vw) / 2);
	}
	.list_thumbnailC3 li {
		width: calc( calc(100% - 3vw) / 3);
	}
	.list_thumbnailC4 li {
		width: calc( calc(100% - 4vw) / 4);
	}
	.list_thumbnailC5 li {
		width: calc( calc(100% - 5vw) / 5);
	}
}
@media screen and (min-width: 780px) and (max-width: 1199px) {
	.list_thumbnailC6 li {
		width: calc( calc(100% - 3vw) / 3);
	}
}
@media screen and (max-width: 779px) {
	.column_thumbnail {
		width: 35.2%;
	}
}
@media screen and (min-width: 480px) and (max-width: 779px) {
	.list_thumbnail {
		gap: 2vw;
	}
	.list_thumbnail li {
		width: calc( calc(100% - 3vw) / 2);
	}
}
@media screen and (max-width: 479px) {
	.list_thumbnail {
		gap: 2vw;
	}
	.list_thumbnail li  {
		width: calc( calc(100% - 3vw) / 2);
	}
}

.list_thumbnailC1 li {
	width: 100%;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.body_common set-up */

h1, h2, h3, h4, h5, h6 {
	clear: both;
	position: relative;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	text-decoration: none;
}
.lower h1, h2 {
	padding: 2.2em 20px;
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
	font-weight: normal;
}
@media screen and (max-width:479px) {
	.lower h1 {
		padding: 1em 20px 2em;
	}
	h2 {
		padding: 1em 20px 1em;
	}
}
/* h:変更した場合はstyle_editor.cssにも反映すること */

h3 {
	margin: 0;
	padding: 1em 0;
	font-weight: bold;
}
h4 {
	padding: 10px;
	margin: 1em 0;
	font-weight: bold;
	color: #4e4946;
	background-color: #f7f7f7;
}
h5 {
	margin: 1.5em 0 1em;
	padding: 10px 0;
	font-weight: bold;
	border-bottom: 1px dashed;
}
h6 {
	font-weight: bold;
	margin: 1em 0;
}
@media screen and (min-width: 780px), print {
	.lower h1, h2 {
		font-size: 1.71em;
	}
	h3 {
		font-size: 1.4em;
	}
	h4 {
		font-size: 1.3em;
	}
	h5 {
		font-size: 1.1em;
	}
	h6 {
		font-size: 1em;
	}
}
@media screen and (max-width: 779px) {
	.lower h1, h2 {
		font-size: 1.2em;
	}
	h3 {
		font-size: 1.1em;
	}
	h4 {
		font-size: 1.1em;
	}
	h5, h6 {
		font-size: 1em;
	}
}
/* table */

table {
	table-layout: fixed;
	border-collapse: collapse;
}
table th, table td {
	padding: 12px;
	border: 1px solid #CCCCCC;
}
table th {
	background: #f2ede7;
	text-align: center;
}
table[border="0"], table[border="0"] th, table[border="0"] td {
	border: none;
}
table[border="1"], table[border="1"] th, table[border="1"] td {
	border: 1px solid #CCCCCC;
}
table.tablelayout th, table.tablelayout td {
	border: none;
}
@media screen and (max-width: 640px) {
	.sp_table td, .sp_table th {
		width: 100%!important;
		display: block;
	}
}
@media screen and (max-width:479px) {
	table th {
		width: auto !important;
	}
	table.responsive tr {
		display: block;
	}
	table.responsive th, table.responsive td {
		text-align: left;
		width: 96% !important;
		display: list-item;
		list-style: none;
	}
	table.responsive tr table {
		display: table;
	}
	table.responsive th table th, table.responsive td table td {
		width: auto !important;
		display: table-cell;
	}
	table.noresponsive tr {
		display: table-row;
	}
	table.noresponsive th, table.noresponsive td {
		text-align: left;
		width: 100% !important;
		display: table-cell;
		list-style: none;
	}
	table.noresponsive tr table {
		display: table;
	}
	table.noresponsive th table th, table.noresponsive td table td {
		width: auto !important;
		display: table-cell;
	}
}
/* btn */

.btn_all {
	display: block;
	text-align: center;
	padding: 40px 0 20px;
}
.btn_all a {
	display: block;
	text-decoration: none;
	border: 1px solid;
	padding: 10px 20px;
	font-size: 1.1em;
	border-radius: 100em;
}
/* 吹き出し */

.balloon1-left {
	position: relative;
	display: inline-block;
	margin: 1.5em 0 1.5em 15px;
	padding: 15px 20px;
	min-width: 120px;
	max-width: 100%;
	width: 60%;
	color: #FFF;
	background-color: #93634d;
}
.balloon1-left:before {
	content: "";
	position: absolute;
	top: 50%;
	left: -30px;
	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #93634d;
}
.balloon1-left p {
	margin: 0;
	padding: 0;
}
@media screen and (max-width:779px) {
	.balloon1-left {
		margin: 1.5em 0;
	}
	.balloon1-left:before {
		top: -30px;
		left: 50%;
		margin-top: 0;
		margin-left: -15px;
		border-right: none;
		border: 15px solid transparent;
		border-bottom: 15px solid #93634d;
	}
}
/* リボン */

.ribbon {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 10px;
	margin: 0;
	padding: 10px 0;
	z-index: 99;
	width: 40px;
	text-align: center;
	font-size: 0.6em;
	font-weight: bold;
	color: white;
	background: #5cae55;
}
.ribbon:after {
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	height: 0;
	width: 0;
	border-left: 20px solid #5cae55;
	border-right: 20px solid #5cae55;
	border-bottom: 10px solid transparent;
}
/* blur */

.blurBg {
	background-size: cover;
	position: relative;
	z-index: 0;
	overflow: hidden;
}
.blurBg:before {
	content: '';
	background: inherit;
	-webkit-filter: blur(5px);
	-moz-filter: blur(5px);
	-o-filter: blur(5px);
	-ms-filter: blur(5px);
	filter: blur(5px);
	position: absolute;
	top: -5px;
	left: -5px;
	right: -5px;
	bottom: -5px;
	z-index: -1;
}
/* ---------  可視範囲に入ったらフェードイン common.js */

/*左から右にフェードイン*/

.left-to-right {
	opacity: 0.1;
	transform: translateX(-20px);
	transition: all 1s;
}
.left-to-right.scrollin {
	opacity: 1;
	transform: translate(0);
}
.right-to-left {
	opacity: 0.05;
	transform: translateX(20px);
	transition: all 1s;
}
.right-to-left.scrollin {
	opacity: 1;
	transform: translate(0);
}
/*下から上にフェードイン*/

.down-to-top {
	opacity: 0.1;
	transform: translateY(20px);
	transition: all 1s;
}
.down-to-top.scrollin {
	opacity: 1;
	transform: translateY(0);
}
/* ---------  無限ループアニメーション */

.loop_wrap {
	margin-bottom: 80px;
}
@media screen and (max-width: 779px) {
	.loop_wrap {
		margin-bottom: 2em;
	}
}
.simply-scroll-container {
	position: relative;
}
.simply-scroll-clip {
	position: relative;
	overflow: hidden;
}
.simply-scroll-list {
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.simply-scroll-list li {
	float: left;
	/* Horizontal scroll only */
	padding: 0;
	margin: 0;
	width: 450px;
	height: 395px;
	list-style: none;
}
@media screen and (max-width: 479px) {
	.simply-scroll-list li {
		width: 240px;
		height: 211px;
	}
}
.simply-scroll-list li img {
	display: block;
}
.hover-parent {
	overflow: hidden;
	display: block;
	width: 450px;
	height: 366px;
	position: relative;
	margin-bottom: 30px;
}
@media screen and (max-width: 479px) {
	.hover-parent {
		width: 240px;
		height: 211px;
	}
}
.hover-mask {
	width: 450px;
	height: 395px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 30px;
	text-align: center;
	align-items: center;
	display: flex;
	color: #FFF;
	opacity: 0;
	background: rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 479px) {
	.hover-mask {
		display: none;
		width: 240px;
		height: 211px;
	}
}
.hover-mask {
	transition: all 0.6s ease;
	padding-bottom: 0;
}
.hover-parent:hover .hover-mask {
	padding-bottom: 30px;
	opacity: 1;
}
@media screen and (max-width: 479px) {
	.hover-parent:hover .hover-mask {
		display: none;
	}
}
/* アコーディオン */

#acMenu {
	padding: 30px 5% 40px;
	background: #f7f7f7;
}
#acMenu dl {
	margin-bottom: 30px;
}
#acMenu dt {
	display: block;
	cursor: pointer;
	padding: 10px 10px 10px 0;
	font-weight: bold;
	color: #4e4946;
	font-size: 1.1em;
	position: relative;
}
#acMenu dt:after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: #4e4946 2px solid;
	border-right: #4e4946 2px solid;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	right: 2%;
	top: 0;
	bottom: 15%;
	margin: auto;
}
#acMenu dt.open:after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: #4e4946 2px solid;
	border-right: #4e4946 2px solid;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	right: 2%;
	top: 7%;
	bottom: 0;
	margin: auto;
}
#acMenu dd {
	display: none;
	margin: 1em 0;
}
/* ---------  contact form */

.form_flow {
	width: 100%;
	margin: 20px auto 0;
	padding: 0;
	display: table;
	table-layout: fixed;
}
.form_flow li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	border-left: 10px solid #ffffff;
	padding: 0 5px;
	width: 34%;
	background-color: #adadad;
}
.form_flow li:first-child {
	border-left: none;
}
.form_flow li.current {
	background-color: #958468;
}
.form_flow li span {
	color: #ffffff;
	font-size: 0.9em;
	padding: 10px;
	width: 100%;
	display: block;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
.contact_msg {
	font-size: 0.9em;
	margin: 0 auto;
}
.contact_msg_complete {
	padding: 40px;
	box-shadow: inset 0 0 0 2px #f0f0f0;
}
.contact_msg .editor-style-btn1 {
	float: right;
}
.contact_msg .editor-style-btn1:after {
	content: "";
	display: block;
	width: 100%;
	clear: both;
}
.error_box {
	font-size: 0.95em;
	margin: 0 auto;
	background-color: #fff7f6;
	box-shadow: 1px 0px #e5e5e5, -1px 0px #e5e5e5;
	padding: 20px 5%;
}
.error_box .error {
	color: #e72719;
	font-weight: bold;
	padding-bottom: 10px;
	border-bottom: 2px solid #e72719;
}
.error_box .error_msg {
	margin-top: 20px;
}
.contact form {
	text-align: center;
}
#input-table {
	display: block;
	width: 100%;
	max-width: 100%;
}
#input-table table {
	width: 100%;
	padding: 5px;
	margin: 0 auto 20px;
	border: none;
	box-shadow: inset 0 0 0 2px #f0f0f0;
	background-color: #ffffff;
}
#input-table table li {
	margin-left: 0;
}
#input-table table th {
	width: 35%;
	padding: 20px 60px 20px 30px;
	color: #3f4242;
	background: rgba(0, 0, 0, 0);
	text-align: left;
	border: none;
	position: relative;
	vertical-align: top;
}
#input-table table td {
	padding-left: 10px;
}
#input-table table tr {
	transition: background-color linear 0.2s;
	border-top: 1px solid #ccc;
}
#input-table table tr:hover {
	background-color: rgba(0, 0, 0, 0.05);
}
#input-table table tr:first-child {
	border-top: 5px solid #f0f0f0;
}
#input-table table tr:last-child {
	border-top: 2px solid #f0f0f0;
}
.input_required, .input_not_required:before {
	font-size: 0.9em;
	padding: 2px 6px;
	display: inline-block;
	background-color: #958468;
	color: #ffffff;
	position: absolute;
	right: 10px;
	top: 20px;
}
.input_not_required:before {
	content: "任意";
	background-color: #adadad;
	text-align: center;
}
#input-table table td {
	padding: 20px 30px;
	border: none;
	text-align: left;
}
#input-table table tr:last-child td {
	text-align: center;
}
#input-table div.formcomment {
	clear: both;
	margin-left: 7px;
	margin-top: 3px;
}
#input-table table td ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
input[type="text"], input[type="password"] {
	border: 0;
	padding: 4px;
	border: solid 1px #ccc;
	max-width: 100% !important;
	resize: none;
	border-radius: 5px;
}
.body_textbook_form input[type="text"] {
	margin-bottom: 10px;
}
#input-table table .form_input_addnumber {
	width: 40% !important;
}
#input-table table textarea {
	padding: 10px;
	width: 96% !important;
	border: solid 1px #ccc;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
input:focus, input:textarea {
	border: solid 1px #3ba5eb;
}
.input_button {
	font-size: 0.9em;
	font-weight: bold;
	-webkit-appearance: none;
	padding: 4px 10px;
	background-color: #958468;
	color: #ffffff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}
#input-table .input_button {
	padding: 10px 50px;
}
#input-table .submit_button {
	text-align: center;
	padding-top: 20px;
}
#input-table .privacy {
	font-size: 0.9em;
	height: 200px;
	overflow: auto;
	border: 1px solid #ddd;
	padding: 10px;
	background: #ffffff;
	border-radius: 3px;
}
/* セパレーター */

#input-table table tr.input-formgroup-blank th {
	background: #F0F0F0;
	border: none;
}
#input-table table tr.input-formgroup {
	padding-top: 20px;
}
#input-table table tr.input-formgroup th {
	text-align: left;
	border: none;
	padding: 10px 0 5px 50px;
	background-image: url(./img/icon_arrow_down.png);
	background-repeat: no-repeat;
	background-position: 5px 10px;
	background-color: #074D93;
	/* セパレーターth背景色 */
	border-top: 2px solid #EEEEEE;
	border-left: 2px solid #EEEEEE;
	border-right: 2px solid #EEEEEE;
	border-bottom: 1px solid #EEEEEE;
	border-radius: 5px 5px 0 0 / 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0 / 5px 5px 0 0;
	-moz-border-radius: 5px 5px 0 0 / 5px 5px 0 0;
}
#input-table table tr.input-formgroup th.formgroup-closed {
	background-image: url(./img/icon_arrow_down.png);
	background-repeat: no-repeat;
	background-position: 5px 10px;
	border-bottom: 2px solid #EEEEEE;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#input-table table tr.input-formgroup th:hover {
	cursor: pointer;
	filter: alpha(opacity=90);
	opacity: 0.90;
	-moz-opacity: 0.90;
	-ms-filter: "alpha(opacity=90)";
}
#input-table table tr.input-formgroup span.input-formgroup-title {
	display: block;
	color: #FFFFFF;
	/* セパレータータイトル文字色 */
	font-size: 1.3em;
	/* セパレータータイトル文字サイズ */
	padding-bottom: 5px;
}
#input-table table tr.input-formgroup span.input-formgroup-text {
	position: relative;
	display: block;
	color: #FFFFFF;
	/* セパレーター説明文文字色 */
	padding: 0 5px 0 1em;
	margin: 5px 10px 10px 10px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
}
#input-table table tr.input-formgroup span.input-formgroup-text:before {
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 0.5em;
	height: 0.5em;
	background: #FFFFFF;
	content: "";
	border-radius: 1px;
	-webkit-border-radius: 1px;
	-moz-border-radius: 1px;
}
#input-table table tr.input-formgroup span.input-formgroup-text a:visited, #input-table table tr.input-formgroup span.input-formgroup-text a:link {
	color: #FFFFFF;
	/* セパレーター説明文内リンク色1 */
	text-decoration: underline;
}
#input-table table tr.input-formgroup span.input-formgroup-text a:hover, #input-table table tr.input-formgroup span.input-formgroup-text a:active {
	color: #66FFFF;
	/* セパレーター説明文内リンク色2 */
	text-decoration: underline;
}
@media screen and (max-width:779px) {
	#input-table table {
		width: 100%;
		border-collapse: collapse;
		border-bottom: 1px solid #CCCCCC;
	}
	#input-table table th, #input-table table td {
		width: 100%;
		display: block;
		border-top: none;
		text-align: left;
	}
	#input-table table th {
		padding: 6px 45px 6px 12px;
		background: #eeeeee none repeat scroll 0 0;
		font-weight: normal;
	}
	#input-table table td {
		padding-bottom: 20px;
	}
	#input-table table td:after {
		content: "";
		display: block;
		clear: both;
	}
	input[type="text"], input[type="password"] {
		width: 100%!important;
	}
	#input-table table textarea {
		width: 96%;
		max-height: 24vw;
		font-size: 110%;
	}
	.input_required, .input_not_required:before {
		position: absolute;
		right: 10px;
		font-size: 0.8em;
		top: 6px;
	}
}
@media screen and (max-width:479px) {
	.form_flow li {
		display: block;
		width: 100%;
		border-left: 10px solid #cccccc;
		border-top: 1px dotted #ccc;
		text-align: left;
	}
	.form_flow li:first-child {
		border-top: none;
	}
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.body_common contents */

/*--------------------------------------- container */

html {
	height: 100%;
	margin: 0;
	padding: 0;
}
body {
	height: 100%;
	margin: 0;
	padding: 0;
	position: relative;
}
.layout02, .copy div, article {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
section.color01 {
	background-color: #faf8f5;
}

body {
	padding-top: clamp(50px, 8vw, 90px);
}
@media screen and (min-width: 780px), print {
}
/*--------------------------------------- header */

header {
	position: fixed;
	z-index: 99999;
	top: 0;
	width: 100%;
}
header a {
	color: #000;
	text-decoration: none;
	display: block;
}
#header_inner {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	background: rgba(255,255,255,0.8);
	backdrop-filter: saturate(180%) blur(20px);
}
header #header_logo {
	display: inline-block;
	vertical-align: middle;
}
header #header_logo {
	font-size: 1em;
	padding: 1vw;
	margin: 0;
	border-radius: 0 0 1vw 0;
}
header div {
	position: relative;
}
header #header_logo img {
	width: 100%;
	max-width: clamp(100px, 11vw, 200px);
	display: inline-block;
	vertical-align: middle;
}
#header_inner .gNavi {
	margin-left: auto;
	display: flex;
	align-items: center;
}
#header_inner .gNavi .menu_btn {
	display: block;
	font-size: 1.2em;
	padding: clamp(25px, 4vw, 45px);
	text-decoration: none;
	color: #ffffff;
	background-color: #3F8C38;
	border-radius: 0 0 0 clamp(10px, 0.5vw, 30px);
	cursor: pointer;
	background-image: url(img/men_btn_open.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
#header_inner .gNavi .menu_btn.close {
	background-image: url(img/men_btn_close.png);
}
/* sp_menu */
.sp_menu_bg {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 20;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.5);
	display: none;
}
.sp_menu_bg.bg_fixed {
	display: block;
}
.sp_menu {
	position: fixed;
	z-index: 200;
	right: 0;
	top: -100%;
	width: 100%;
	max-height: 100%;
	padding: clamp(60px, 8vw, 100px) 10px clamp(40px, 8vw, 60px);
	background-color: #f2f7f5;
	box-shadow: -3px 0 10px rgba(95, 96, 96, 0.3);
	overflow-y: auto;
	opacity:0;
	transition: top 0.3s;
}
.sp_menu_navi {
	max-width: 1100px;
	margin: 0 auto;
	padding-top: 2vw;
}
.sp_menu_navi ul {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.sp_menu_navi li a {
	color: #333333;
	display: inline-block;
	text-decoration: none;
	padding: 1vh 0;
}
.sp_menu_navi .main_navi {
	gap: 2vw;
}
.sp_menu_navi .main_navi li {
	font-size: clamp(14px, 2vw, 18px);
	line-height: 1.2;
}
.sp_menu_navi .sns_list {
	font-size: clamp(14px, 2vw, 18px);
	margin-top: 20px;
	padding: clamp(20px, 4vw, 40px);
	background-color: #ffffff;
	border-radius: clamp(10px, 0.5vw, 30px);
}
.sp_menu_navi .sns_list .titile {
	text-align: center;
	padding-bottom: 2vw;
	font-weight: bold;
}
.sp_menu_navi .sns_list .titile span {
	color: #958469;
}
.sp_menu_navi .sns_list ul {
	border-radius: clamp(10px, 0.5vw, 30px);
	overflow: hidden;
}
.sp_menu_navi .sns_list li {
	width: 25%;
	text-align: center;
	border-left: 1px solid #ddd;
}
.sp_menu_navi .sns_list li:first-child {
	border-left: none;
}
.sp_menu_navi .sns_list li a {
	display: block;
	font-size: 1.5em;
	color: #ffffff;
	background-color: #958469;
}
.sp_menu_navi ul li.sns_btn span {
	cursor: pointer;
}
.sp_menu.menu_fixed {
	top: 0;
	opacity: 10;
}


@media screen and (min-width: 780px), print {
	.sp_menu_navi .main_navi li {
		width: calc( calc(100% - 4vw) / 3);
	}
}
@media screen and (max-width: 779px) {
	.sp_menu_navi .main_navi li {
		width: calc( calc(100% - 2vw) / 2);
	}
}
/* global navigation */

nav.gNavi ul {
	padding: 0;
	font-size: 1.1em;
	border-radius: 0 0 0 1vw;
	display: flex;
	align-items: center;
	list-style: none;
	text-align: center;
	font-size: clamp(13px, 1.5vw, 16px);
}
nav.gNavi li a {
	display: block;
	padding: clamp(14px, 2vw, 20px) clamp(5px, 1vw, 20px);
	text-decoration: none;
	position: relative;
	overflow: hidden;
}
nav.gNavi li.share_btn {
	cursor: pointer;
	background-image: url(img/share_btn.png);
	background-position: bottom 1.5em center;
	background-repeat: no-repeat;
	background-color: #FFF;
}
nav.gNavi li.share_btn span {
	display: block;
	padding: 1em 1.5em 3em;
	background-color: transparent;
	transition: 0.2s;
}
nav.gNavi li.share_btn span:hover {
	color: #dad2c5;
	background-color: rgba(255, 255, 255, 0.8);
}
nav.gNavi li.sns_btn {
	cursor: pointer;
	padding: clamp(14px, 2vw, 20px) clamp(5px, 1vw, 20px);
}
nav.gNavi li.sns_btn span {
	display: block;
	padding: 1em 1.5em 3em;
	background-color: transparent;
	transition: 0.2s;
}
footer .snsList li.share_btn {
	cursor: pointer;
	background-image: url(img/share_btn.png);
	background-position: bottom 1.5em center;
	background-repeat: no-repeat;
}
footer .snsList li.share_btn span {
	display: block;
	padding: 0 0 35px;
	background-color: transparent;
	transition: 0.2s;
}
nav.gNavi li.sns_btn span:hover {
	color: #dad2c5;
	background-color: rgba(255, 255, 255, 0.8);
}
nav.gNavi li .on_text {
	font-size: 0.7em;
	line-height: 1;
	width: 100%;
	display: block;
	position: absolute;
	left: 0;
	bottom: -3em;
	transition: 0.2s bottom;
}
nav.gNavi li:hover .on_text {
	bottom: 1em;
}

/* share_box */

.share_bg, .sns_bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
	z-index: 999999;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s, visibility 0.2s;
}
.share_bg.bg_fixed, .sns_bg.bg_fixed {
	opacity: 1;
	visibility: visible;
}
.share_bg .close_btn, .sns_bg .close_btn {
	background-image: url(img/btn_close.png);
	background-position: center;
	background-repeat: no-repeat;
	position: fixed;
	right: 5%;
	top: 5%;
	width: 40px;
	height: 40px;
	cursor: pointer;
}
.share_box, .sns_box {
	padding: 0 20px;
	width: 100%;
	max-width: 360px;
	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 1000000;
	display: none;
	opacity: 0;
	visibility: hidden;
	transition: 0.2s transform, 0.2s opacity, 0.2s visibility;
}
.share_box.menu_fixed, .sns_box.menu_fixed {
	display: block;
	opacity: 1;
	visibility: visible;
}
.share_box_inner, .sns_box_inner {
	background-color: #fff;
	margin: 0 auto;
	padding: 20px;
	border-radius: clamp(10px, 1vw, 30px);
}
.share_titile, .sns_titile {
	font-size: clamp(15px, 1.6vw, 24px);
	font-weight: bold;
	border-bottom: 1px solid #ddd;
	margin-bottom: 20px;
	padding: 10px;
}
.share_box ul, .sns_box ul {
	padding: 0;
	list-style: none;
	display: flex;
	text-align: center;
}
.share_box ul li, .sns_box ul li {
	padding: 2px 5px;
	width: 25%;
}
.share_box ul li a, .sns_box ul li a {
	text-decoration: none;
	display: block;
	padding: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #958468;
	border-radius: 100%;
	background-size: 70%;
}
/*Twitterロゴ変更　PC版下部*/
.share_box ul li.li_twitter a, .sns_box ul li.li_twitter a {
	background-image: url(img/share_x.png);
}
/*Twitterロゴ変更　スマホメニュー*/
.fa-twitter::before{
	content: "";
	background-image: url(img/share_x.png);
	display: block;
	width: 24px;
	height: 24px;
	background-size: contain;
}
.share_box ul li.li_facebook a, .sns_box ul li.li_facebook a {
	background-image: url(img/share_facebook.png);
}
.share_box ul li.li_mail a {
	background-image: url(img/share_mail.png);
}
.sns_box ul li.li_instagram a {
	background-image: url(img/share_instagram.png);
}
.share_box ul li.li_youtube a, .sns_box ul li.li_youtube a {
	background-image: url(img/share_youtube.png);
}
.share_box ul li.li_line a, .sns_box ul li.li_line a {
	background-image: url(img/share_line.png);
}
@media screen and (max-width: 1200px) {}
@media screen and (min-width: 780px), print {}
@media screen and (max-width: 380px) {
	nav.gNavi li.sns_btn {
		display: none;
	}
}
/*--------------------------------------- kayFrame */

/*--------------------------------------- mainContaints */

.container {
	padding: 30px 0;
}
@media screen and (max-width:479px) {
	.container {
		padding: 15px 0;
	}
}
.bg_gray {
	background-color: #f7f7f7;
}
.bg_color {
	background-color: #f7f7f7;
}
.container article {
	padding: 0 3vw;
}
/* youtube */

.youtube iframe {
	width: 100%;
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: main.body_common */

/* sideFixNavi */

.sideFixNavi {
	position: fixed;
	background: #FFF;
	border-top-left-radius: 6px;
	-webkit-border-top-left-radius: 6px;
	-moz-border-radius-topleft: 6px;
	border-bottom-left-radius: 6px;
	-webkit-border-bottom-left-radius: 6px;
	-moz-border-radius-bottomleft: 6px;
	top: 160px;
	right: 0;
	width: 76px;
	padding: 8px;
	margin: 0;
	z-index: 99;
	border-top: solid 1px #f2f2f2;
	border-left: solid 1px #f2f2f2;
	border-bottom: solid 1px #f2f2f2;
}
@media screen and (max-width:479px) {
	.sideFixNavi {
		display: none;
	}
}
.sideFixNavi:last-of-type {
	top: 450px;
}
.sideFixNavi li {
	list-style: none;
	padding: 0 0 5px;
	margin: 0 0 5px;
	border-bottom: solid 1px #f2f2f2;
	text-align: center;
}
@media screen and (max-width:768px) {
	.sideFixNavi:last-of-type {
		top: 280px;
	}
}
.sideFixNavi li:last-of-type {
	margin: 0;
	padding: 0;
	border-bottom: none;
}
.sideFixNavi li a {
	display: block;
	text-decoration: none;
	color: #000;
}
.sideFixNavi li span {
	display: block;
	font-size: 0.4em;
	line-height: 1.1;
	margin-top: 2px;
}
.sideFixNavi li:last-of-type span {
	letter-spacing: -0.1em;
}
.sideFixNavi li img {
	width: 100%;
}
.sideFixNavi li.share_btn {
	cursor: pointer;
	background-image: url(img/share_btn.png);
	background-position: bottom 1.6em center;
	background-repeat: no-repeat;
	background-color: #FFF;
}
.sideFixNavi li.share_btn span {
	display: block;
	padding: 2em 0 0;
	background-color: transparent;
	transition: 0.2s;
}
.sideFixNavi li.share_btn span:hover {
	color: #dad2c5;
	background-color: rgba(255, 255, 255, 0.8);
}
/* */

.menu_bg {
	position: fixed;
	z-index: 9999;
	top: 283px;
	right: 0;
	transition: linear 0.1s;
}
#menu {
	list-style: none;
}
#menu:hover {
	right: 0;
}
#menu li a {
	color: #666;
	font-size: 0.95em;
	padding: 2px 10px;
	text-decoration: none;
	display: block;
	position: relative;
}
#menu li a span {
	display: none;
}
#menu li a:after {
	content: "●";
	display: inline-block;
	color: #fff;
	font-size: 10px;
	padding: 15px 13px;
	background-color: rgba(102, 102, 102, 0.3);
}
#menu li.active a {
	color: rgba(102, 102, 102, 0.8);
	background-color: rgba(255, 255, 255, 0.8);
}
#menu li.active a:after {
	color: rgba(102, 102, 102, 0.8);
	background-color: rgba(0, 0, 0, 0);
}
#menu li.active a span {
	display: inline-block;
}
#menu li a {
	padding: 0;
	text-align: right;
	line-height: 0;
}
#menu li span {
	display: block;
	font-size: 0.7em;
	line-height: 1.4;
	padding: 8px 10px;
}
#menu li:first-child a:after {
	border-radius: 6px 0 0 0;
}
#menu li:nth-last-child(2) a:after {
	border-radius: 0 0 0 6px;
}
#menu li i {
	font-size: 1.5em;
}
#menu:hover li.active a {
	background-color: rgba(255, 255, 255, 0);
}
#menu:hover li.active a span {
	display: none;
}
#menu:hover li.active a:after {
	color: #fff;
	background-color: rgba(102, 102, 102, 0.3);
}
#menu li a:hover {
	background-color: rgba(255, 255, 255, 0.8);
}
#menu li a:hover span {
	display: inline-block;
}
#menu li a:hover:after {
	color: rgba(102, 102, 102, 0.8);
	background-color: rgba(0, 0, 0, 0);
}
#menu li.active a:hover {
	color: rgba(102, 102, 102, 0.8);
	background-color: rgba(255, 255, 255, 0.8);
}
#menu li.active a:hover span {
	display: inline-block;
}
#menu li.active a:hover:after {
	color: rgba(102, 102, 102, 0.8);
	background-color: rgba(0, 0, 0, 0);
}
#menu li.menu_none a {
	background-color: rgba(0, 0, 0, 0)!important;
	color: rgba(0, 0, 0, 0)!important;
	cursor: default;
}
#menu li.menu_none a:after {
	color: rgba(0, 0, 0, 0)!important;
	background: rgba(0, 0, 0, 0)!important;
}
@media screen and (max-width:768px) {
	.menu_bg {
		display: none;
	}
}
.entry {
	padding-bottom: 50px;
}
.entry li {
	margin-left: 2em;
}
/* default */

.layout_default {
	margin-bottom: 40px;
}
.layout_default article {
	max-width: 100%;
}
.layout_default .thumnail {
	float: left;
	width: 50%;
}
@media screen and (max-width: 779px) {
	.layout_default .thumnail {
		float: none;
		width: 100%;
	}
}
.layout_default .thumnail img {
	width: 100%;
}
.layout_default .txtarea {
	float: right;
	width: 48%;
	padding-top: 30px;
	padding-right: 30px;
}
@media screen and (max-width: 779px) {
	.layout_default .txtarea {
		float: none;
		width: 100%;
		padding: 0 5% 3em;
	}
}
.layout_default.rightPattern .thumnail {
	float: right;
}
.layout_default.rightPattern .txtarea {
	float: left;
	padding-left: 5%;
}
.layout_default .txtarea.noThumnail {
	float: none;
	width: 100%;
	padding: 0 5%;
}
/*--------------------------------------- sideContaints */

#side {
	padding: 10px;
	border: 1px solid #ddd;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
#side .menu_title {
	background-color: #f4f4f4;
	font-size: 1.1em;
	padding: 1em 20px;
	word-wrap: break-word;
	overflow-wrap: break-word;
	box-sizing: border-box;
}
#side ul {
	padding: 10px 0 0 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
#side ul li {
	border-top: 1px solid #dddddd;
	position: relative;
}
#side ul li:first-child {
	border-top: none;
}
#side li a {
	color: #333;
	font-size: 0.95em;
	text-decoration: none;
	display: block;
	padding: 0.5em 0.5em 0.5em 2em;
	transition: color linear 0.2s;
}
#side li a:before {
	content: "\f105";
	position: absolute;
	left: 1em;
	top: 50%;
	margin-top: -0.5em;
}
#side li a:hover {
	color: #2B71B7;
}
#side li.current a {
	color: #ffffff;
	background-color: #2b71b7;
}
#side li.current a:before {
	content: "\f0da";
}
@media screen and (min-width:780px), print {
	.columnBox .column_side {
		width: 320px;
	}
}
@media screen and (max-width: 779px) {
	.columnBox .column_side {
		padding: 1em 0 0;
	}
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: lower */

/* breadCrumb */

.breadCrumb {
	font-size: 0.9em;
	background-color: #f7f7f7;
	color: #424242;
}
.breadCrumb ul {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0.5em 20px;
	margin: 0 auto;
}
.breadCrumb li {
	display: inline-block;
}
.breadCrumb li a {
	color: #424242;
	background: transparent url(img/breadcrumb.png) no-repeat scroll right center;
	margin-right: 2px;
	padding-right: 16px;
	text-decoration: none;
}
/*--------------------------------------- pagetop link */

#pgtp {
	border-bottom: solid 1px #b5c3df;
}
#pgtp p {
	text-align: right;
	padding: 20px 0 16px;
}
/*--------------------------------------- pageprev/next link */

.page_link {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 20px 0;
	text-align: center;
}
.page_link a.page_link_left {
	margin: 0 10px 0 0;
	padding: 0 0 0 12px;
	background: url(img/icon_page_link_left.gif) no-repeat left center;
}
.page_link a.page_link_right {
	margin: 0 0 0 10px;
	padding: 0 12px 0 0;
	background: url(img/icon_page_link_right.gif) no-repeat right center;
}
/*--------------------------------------- pager */

.pager_box {
	clear: both;
	text-align: center;
	margin-top: 15px;
	margin-bottom: 30px;
}
.pager_box .pager {
	width: 2.5em;
	display: inline-block;
	border: 1px solid #BFBFBE;
	border-radius: 3px;
}
.pager_box .pager a {
	display: block;
	width: 100%;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.pager_box .pager a:link, .pager_box .pager a:visited {
	color: #333333;
	text-decoration: none;
}
.pager_box .pager a:hover, .pager_box .pager a:active {
	background: #F1F1F1;
	text-decoration: none;
}
.pager_box .pager_current {
	background: #F1F1F1;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.pager_box .pager_dot {
	width: 1.5em;
	display: inline-block;
}
.pager_box .pager_space {
	width: 1em;
	display: inline-block;
	padding-left: 0.2em;
	padding-right: 0.2em;
}
.pager_box .pager_first {
	display: inline-block;
}
.pager_box .pager_last {
	display: inline-block;
}
/*--------------------------------------- footer */

#page_top {
	z-index: 20;
	font-size: 3em;
	line-height: 0;
	text-align: center;
}
#page_top a {
	display: block;
	width: 40px;
}
footer {
	text-align: center;
	background-color: #FFF;
}
}
footer:after {
	content: "";
	display: block;
	width: 100%;
	height: 33px;
	-webkit-background-size: 30px 30px;
	-moz-background-size: 30px 30px;
	background-size: 30px 30px;
	background-color: #e0dedd;
	background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(.5, #fff), color-stop(.5, transparent), to(transparent));
	background-image: -moz-linear-gradient(left, #fff 50%, transparent 50%, transparent);
	background-image: -o-linear-gradient(left, #fff 50%, transparent 50%, transparent);
	background-image: linear-gradient(left, #fff 50%, transparent 50%, transparent);
}
footer article {
	width: 100%;
	padding: 60px 20px 40px;
}
footer ul {
	padding: 20px 0;
}
footer ul li {
	display: inline-block;
	vertical-align: middle;
	padding: 10px;
}
footer .snsList {
	background: #f7f7f7;
}
footer .copy {
	padding: 40px 20px;
	font-size: 0.8em;
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: clear */

.supervision div:after, .faqFrame .aframe:after, li:after, .entry:after, article:after, ul:after, section:after, header:after, header div:after, footer:after, .clearFix:after {
	content: "";
	display: block;
	clear: both;
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: cms setting */

/* フォームツールチップ */

.invisible {
	display: none;
}
a.tooltiplink {
	display: inline-block;
	margin: 1px 3px 0;
	padding: 1px 3px 0;
	border: 2px solid #C7C7C7;
	background-color: #075698;
	border-radius: 5px;
	-moz-border-radius: 5px;
	text-decoration: none;
	color: #FFFFFF;
	font-size: 1.0em;
	font-weight: bold;
}
#input-table a.tooltiplink:link, #input-table a.tooltiplink:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: none;
}
#input-table a.tooltiplink:hover, #input-table a.tooltiplink:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: none;
}
a.tooltiplink:link, a.tooltiplink:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: none;
}
a.tooltiplink:hover, a.tooltiplink:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: none;
}
p.tooltipbox {
	position: absolute;
	top: 100px;
	left: 20px;
	font-size: 1.0em;
	margin: 0;
	padding: 10px;
	min-width: 100px;
	min-height: 30px;
	color: #FFFFFF;
	background: #075698;
	border: 2px solid #075698;
	border-radius: 5px;
	-moz-border-radius: 5px;
}
#input-table p.tooltipbox a:link, #input-table p.tooltipbox a:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: underline;
}
#input-table p.tooltipbox a:hover, #input-table p.tooltipbox a:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: underline;
}
p.tooltipbox a:link, p.tooltipbox a:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: underline;
}
p.tooltipbox a:hover, p.tooltipbox a:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: underline;
}
/* comment form */

.comment_box {
	width: 100%;
	margin: 0 0 15px;
	padding: 0;
	border-collapse: collapse;
	border: solid 1px #cccccc;
	background: #eeeeee;
}
.comment_box th, .comment_box td {
	padding: 10px;
}
.comment_id {
	width: 10%;
	text-align: left;
	white-space: nowrap;
}
.comment_name {
	width: 70%;
	text-align: left;
}
.comment_regist {
	width: 20%;
	text-align: right;
	vertical-align: bottom;
	white-space: nowrap;
	font-size: 0.8em;
	color: #aaaaaa;
}
.comment_box td {
	padding-top: 0;
}
.comment_text {
	padding: 15px;
	background: #ffffff;
}
.icon_comment {
	text-align: right;
}
.icon_comment a {
	padding-left: 30px;
	background: url(./icon_comment.gif) no-repeat left center;
}
/* twitter widget */

#twtr-hd h3, #twtr-hd h4, .twtr-widget h3, .twtr-widget h4, .twtr-widget p, .twtr-widget-profile h3, .twtr-widget-profile h4 {
	clear: none;
	margin: auto;
	padding: auto;
	font-size: auto;
	color: auto;
	border: none;
	background-image: none;
}
/* twitter tweet button */

iframe.twitter-share-button {
	width: 115px!important;
}
/* フォームエラー */

.error_msg, .error_msg_js {
	padding: 5px 5px 5px 20px;
	background: url(./img/form_error.gif) left 10px no-repeat;
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: main */

/*--------------------------------------- index.php */
/* section_pickup  */
.section_box {
	padding: 3vw;
}
.section_box_inner {
	padding: 3vw clamp(10px, 1vw, 20px);
	border-radius: clamp(10px, 1vw, 30px);
}
.section_box_inner_1 {
	background-color: #EFEBE8;
}
.section_box_inner_2 {
	background-color: #a0c7701a;
}
.section_pickup article {
	padding: 0 1vw;
}
.list_grid {
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
}
.list_grid li a {
	color: #333333;
	display: block;
	text-decoration: none;
}
.list_grid .listBox {
	display: block;
	position: relative;
}
.list_grid .thumbnail {
	display: block;
	overflow: hidden;
	text-align: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
	border-radius: clamp(10px, 0.5vw, 30px);
	overflow: hidden;
}
.list_grid .thumbnail span {
	padding: 26% 0;
	display: block;
	height: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: all 0.5s ease-out;
}
.list_grid li a:hover .thumbnail span {
	transform: scale(1.1);
	box-shadow: none;
}
.list_grid .new:after, .list_grid .new:after {
	color: #695800;
	content: "NEW";
	font-size: 12px;
	position: absolute;
	z-index: 99;
	background-color: #ffe042;
	right: 10px;
	top: 0;
	transform: none;
	padding: 0 1vw;
	height: 20px;
	text-align: center;
	font-weight: 600;
}
.list_grid .dateBox {
	display: block;
	padding: 0 10px;
	background-color: #fff9eb;
	font-size: 0.9em;
}
.list_grid .date {
	padding: 0.1em 0;
	margin: 5px;
	display: inline-block;
	vertical-align: middle;
}
.list_grid .title {
	display: block;
	padding-top: 0.5em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
@media screen and (min-width: 720px), print {
	.list_grid li:nth-child(3n+1) .title {
		font-size: clamp(16px, 2vw, 21px);
	}
}
@media screen and (min-width: 480px), print {
	.list_grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: repeat(1, 1fr);
		grid-auto-flow: dense;
	}
	.list_grid li {
		padding: 1vw;
	}
	.list_grid li:nth-child(3n+1) {
		grid-row: span 2;
		grid-column: span 2;
	}
}
@media screen and (max-width: 479px) {
	.list_grid {
		display: flex;
		flex-wrap: wrap;
		gap: 3vw;
	}
	.list_grid li {
		width: calc( calc(100% - 4vw) / 2);
	}
}
/* section_top_msg  */
.section_top_msg {
	padding: 3vw;
}
.section_top_msg article {
	padding: 0 2vw;
}
.top_msg_box {
	position: relative;
}
.top_msg_box .top_msg_box_text,
.top_msg_box .top_msg_box_img {
	position: relative;
	z-index: 1;
}
.top_msg_box_text li {
	padding-top: 4%;
	line-height: 2;
}
.top_msg_box .top_msg_img_bg {
	position: relative;
}
.top_msg_box .top_msg_box_img .people_img div {
	position: absolute;
}
.top_msg_box .top_msg_box_img .people_img div span {
	position: relative;
	display: block;
}
.top_msg_box .top_msg_box_img .people_1 {
	width: 25%;
	left: 3.2%;
	bottom: 1%;
}
.top_msg_box .top_msg_box_img .people_1 span {
	animation: korokoro 3s linear 0s infinite;
}
.top_msg_box .top_msg_box_img .people_2 {
	width: 8%;
	left: 29.6%;
	bottom: 12%;
}
.top_msg_box .top_msg_box_img .people_2 span {
	animation: korokoro 3.5s linear 2s infinite;
}
.top_msg_box .top_msg_box_img .people_3 {
	width: 13%;
	left: 50%;
	bottom: 11.7%;
}
.top_msg_box .top_msg_box_img .people_3 span {
	animation: korokoro 4s linear 3s infinite;
}
.top_msg_box .top_msg_box_img .people_4 {
	width: 19%;
	right: 14%;
	bottom: 6.5%;
}
.top_msg_box .top_msg_box_img .people_4 span {
	position: relative;
	display: block;
	animation:fuwafuwa 3s linear 3s infinite;
}
.top_msg_box .top_msg_box_img .people_5 {
	width: 9%;
	right: 1%;
	bottom: 0.5%;
}
.top_msg_box .top_msg_box_img .people_5 span {
	animation: korokoro 2.5s linear 1s infinite;
}
@keyframes korokoro {
	0%   { transform: translate(0%, 0%); }
	5%   { transform: translate(10%, 0%) rotate(10deg); }
	25%  { transform: translate(20%, 0%) rotate(20deg); }
	30%  { transform: translate(-10%, 0%) rotate(-10deg); }
	35%  { transform: translate(-15%, 0%) rotate(-15deg); }
	45%  { transform: translate(10%, 0%) rotate(10deg); }
	50%  { transform: translate(15%, 0%) rotate(15deg); }
	60%  { transform: translate(-5%, 0%) rotate(-5deg); }
	65%  { transform: translate(-7%, 0%) rotate(-7deg); }
	75%  { transform: translate(0%, 0%) rotate(0deg); }
	100% { transform: translate(0%, 0%) rotate(0deg); }
}
@keyframes fuwafuwa {
	0%   { transform: translate(0%, 0%); }
	10%  { transform: translate(0%, -5%); }
	20%  { transform: translate(0%, -10%); }
	30%  { transform: translate(0%, -3%); }
	40%  { transform: translate(0%, 0%); }
	50%  { transform: translate(0%, -5%); }
	60%  { transform: translate(0%, -10%); }
	70%  { transform: translate(0%, -3%); }
	100% { transform: translate(0%, 0%); }
}
@keyframes poyopoyo {
	0%, 40%, 60%, 80% {
		transform: scale(1.0);
	}
	50%, 70% {
		transform: scale(0.95);
	}
}
@media screen and (min-width: 720px), print {
	.top_msg_box {
		display: flex;
		align-items: center;
		gap: 3vw;
	}
	.top_msg_box .top_msg_box_text{
		width: 40%;
	}
	.top_msg_box .top_msg_box_img{
		width: 60%;
	}
	.top_msg_box .top_msg_box_img .people_img {
		position: absolute;
		width: 100%;
		height: 100%;
		left:0;
		top: 0;
	}
}
@media screen and (max-width: 719px) {
	.top_msg_box .top_msg_box_img{
		padding-top: 6vw;
	}
}

/* section_doorway_pages */
.title_l {
	text-align: left;
	line-height: 1.2;
	font-size: clamp(24px, 7vw, 128px);
	margin: 0;
	padding: 0 0 clamp(20px, 3vw, 60px);
}
.title_s {
	font-size: clamp(21px, 2vw, 48px);
	text-align: left;
	padding: 0 0 clamp(20px, 3vw, 60px);
}
.section_doorway_pages h3 p {
	color: #A0C770;
}
.section_doorway_pages .title_l {
	color: #A0C770;
}
.column_box .column_inner_img {
	padding: 5% 0;
}
.column_box .column_inner_img {
	position: relative;
}
.column_box .column_inner_img .img_main img {
	border-radius: clamp(10px, 0.5vw, 30px);
}
.column_box .column_inner_img .img_sub {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.column_box .column_inner_img .img_sub div {
	position: absolute;
	width: 20%;
}
.column_box .column_inner_img .img_sub_left {
	left: 2%;
	top: 2%;
}
.column_box .column_inner_img .img_sub_right {
	right: 2%;
	bottom: 0;
}

.column_box .column_inner_img span {
	position: relative;
	display: block;
}
.column_box .column_inner_img .img_sub_1 span {
	animation: korokoro 4s linear 0s infinite;
}
.column_box .column_inner_img .img_sub_2 span {
	animation: fuwafuwa 3s linear infinite alternate;
}
.column_box .column_inner_img .img_sub_3 span {
	animation: korokoro 2s linear 0s infinite;
}
.column_box .column_inner_img .img_sub_4 span {
	animation: korokoro 4s linear infinite;
}
.column_box .column_inner_img .img_sub_5 span {
	animation: korokoro 2s linear 0s infinite;
}
.column_box .column_inner_img .img_sub_6 span {
	animation: korokoro 3s linear 0s infinite;
}
@media screen and (min-width: 720px), print {
	.title_line {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.column_box {
		display: flex;
		gap: 4vw;
		align-items: center;
	}
	.column_box .column_inner_text {
		width: 45%;
	}
	.column_box .column_inner_img {
		width: 55%;
	}
	.action_list .column_box:nth-child(2n) {
		flex-direction: row-reverse;
	}
}
@media screen and (max-width: 719px) {
	.action_list .column_box {
		padding-bottom: 3vw;
	}
}
/* other  */
.body_common .lity-iframe-container iframe {
	background-color: #FFF;
}
#load {
	width: 100%;
	text-align: center;
	display: block;
	height: 100vh;
	position: relative;
}
#loadContainer {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 56px;
	height: 59px;
	margin-left: -28px;
	margin-top: -29px;
}
@keyframes load-progress {
	100% {
		margin-left: -80px;
		margin-top: -80px;
		border-width: 80px;
		opacity: 0;
	}
}
@keyframes jet {
	0% {
		transform: scale(1, 0.8);
	}
	5% {
		transform: scale(0, 0.8);
	}
	10% {
		transform: scale(1, 0.8);
	}
	15% {
		transform: scale(0, 0.8);
	}
	20% {
		transform: scale(1, 0.8);
	}
	25% {
		transform: scale(0, 0.8);
	}
	30% {
		transform: scale(0.8, 0.8);
	}
	50% {
		transform: scale(0.8, 0.8);
	}
	75% {
		transform: scale(0.8, 0.6);
	}
	100% {
		transform: scale(0.8, 0.8);
	}
}
#loading {
	width: 0;
	height: 0;
	position: fixed;
	top: 50%;
	left: 50%;
	border-radius: 50%;
	border: 1px solid #AAA;
	-webkit-animation: load-progress 1s infinite;
	animation: load-progress 1s infinite;
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
	opacity: 0.6;
}
#loading-text {
	width: 95px;
	height: 88px;
	left: 50.3%;
	top: 52%;
	margin-left: -50px;
	margin-top: -60px;
	position: absolute;
	display: table;
}
@media screen and (max-width: 479px) {
	#loading-text {
		top: 46%;
	}
}
#loading-text p {
	font-size: 18px;
	text-align: center;
	color: #888;
	margin: 0;
	display: table-cell;
	vertical-align: middle;
}
#jet {
	transform: scale(1, 0.8);
	opacity: 0.3;
	animation: jet 2s linear infinite;
}
#wrapper {
	width: 100%;
	display: none;
}
/* top image */

.topimageArea {
	position: relative;
	margin-top: 100px;
}
.topimageArea .base {
	position: absolute;
	z-index: 0;
}
.topimageArea .bg {
	position: relative;
	z-index: 3;
}
.topimageArea .bg img {
	width: 100%;
	animation: fadeIn 2s linear;
	animation-fill-mode: both;
}
@keyframes fadeIn {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, 20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
	}
}
.topimageArea ul {
	padding: 0;
	margin: 0;
	width: 100%;
	position: absolute;
}
.topimageArea li {
	position: absolute;
	top: 15%;
	left: 5%;
	z-index: 9;
	animation: fadeIn01 0.5s linear;
	animation-fill-mode: both;
	width: 4.5%;
	height: 100px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.topimageArea li img {
	width: 100%;
}
.topimageArea li:nth-child(2) {
	top: 82%;
	left: 16.5%;
	width: 6%;
	animation: fadeIn02 0.5s linear;
}
.topimageArea li:nth-child(3) {
	top: 23%;
	left: 73%;
	width: 2.8%;
	animation: fadeIn03 0.6s linear;
}
.topimageArea li:nth-child(4) {
	top: 86%;
	left: 77%;
	width: 2.1%;
	animation: fadeIn02 0.6s linear;
}
.topimageArea li:nth-child(5) {
	top: 42%;
	left: 89%;
	width: 5.8%;
	animation: fadeIn02 0.6s linear;
}
.topimageArea li:nth-child(6) {
	top: 69%;
	left: 41%;
	width: 6.2%;
	animation: fadeIn02 0.6s linear;
}
.topimageArea li:nth-child(7) {
	top: 87%;
	left: 59%;
	width: 3.4%;
	animation: fadeIn04 0.6s linear;
}
.topimageArea li:nth-child(8) {
	top: 69.5%;
	left: 53.3%;
	width: 2.3%;
	animation: fadeIn04 0.6s linear;
}
.topimageArea li:nth-child(9) {
	top: 54.3%;
	left: 81.8%;
	width: 2.1%;
	animation: fadeIn03 0.6s linear;
}
.topimageArea li:nth-child(10) {
	top: 26.3%;
	left: 21.8%;
	width: 6.1%;
	animation: fadeIn03 0.6s linear;
}
.topimageArea li:nth-child(11) {
	top: 37%;
	left: 54.5%;
	width: 2.3%;
	animation: fadeIn03 0.6s linear;
}
.topimageArea li:nth-child(12) {
	top: 55%;
	left: 49%;
	width: 4.1%;
	animation: fadeIn03 0.6s linear;
}
.topimageArea li:nth-child(13) {
	top: 60%;
	left: 3%;
	width: 22.2%;
	animation: fadeIn04 0.6s linear;
}
@keyframes fadeIn01 {
	0% {
		opacity: 0;
		-webkit-transform: translate(30px, 30px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
	}
}
@keyframes fadeIn02 {
	0% {
		opacity: 0;
		-webkit-transform: translate(-30px, -30px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
	}
}
@keyframes fadeIn03 {
	0% {
		opacity: 0;
		-webkit-transform: translate(-30px, 30px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
	}
}
@keyframes fadeIn04 {
	0% {
		opacity: 0;
		-webkit-transform: translate(30px, -30px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
	}
}
.topimageArea li:nth-child(1) a, .topimageArea li:nth-child(2) a, .topimageArea li:nth-child(9) a, .topimageArea li:nth-child(12) a {
	animation: horizontal 1s ease-in-out infinite alternate;
}
.topimageArea li:nth-child(4) a, .topimageArea li:nth-child(7) a {
	animation: horizontal02 3s ease-in-out infinite alternate;
}
.topimageArea li:nth-child(1) a img, .topimageArea li:nth-child(7) a img, .topimageArea li:nth-child(9) a img, .topimageArea li:nth-child(12) a img {
	animation: vertical 1s ease-in-out infinite alternate;
}
.topimageArea li:nth-child(1) a {
	animation-duration: 1.1s
}
.topimageArea li:nth-child(2) a {
	animation-duration: 0.9s
}
.topimageArea li:nth-child(3) a {
	animation-duration: 1.6s
}
.topimageArea li:nth-child(4) a {
	animation-duration: 2s
}
.topimageArea li:nth-child(7) a {
	animation-duration: 0.4s
}
.topimageArea li:nth-child(9) a {
	animation-duration: 1.3s
}
.topimageArea li:nth-child(12) a {
	animation-duration: 1s
}
.topimageArea li:nth-child(2) a img, .topimageArea li:nth-child(4) a img {
	animation: vertical02 1s ease-in-out infinite alternate;
}
.topimageArea li:nth-child(3) a img, .topimageArea li:nth-child(5) a img, .topimageArea li:nth-child(6) a img, .topimageArea li:nth-child(13) a img {
	animation: swing linear 4s infinite;
	transform-origin: center -30px 0;
}
.topimageArea li:nth-child(8) a img {
	animation-name: yurayura;
	transform: rotate(30deg);
	animation-duration: 5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}
.topimageArea li:nth-child(10) a img, .topimageArea li:nth-child(11) a img {
	animation: leftandright 1s ease-in-out infinite alternate;
}
@keyframes horizontal {
	0% {
		transform: translateX( -3px);
	}
	100% {
		transform: translateX( 0px);
	}
}
@keyframes horizontal02 {
	0% {
		transform: translateX( -1px);
	}
	100% {
		transform: translateX( 0px);
	}
}
@keyframes vertical {
	0% {
		transform: translateY(-8px);
	}
	100% {
		transform: translateY( 0px);
	}
}
@keyframes vertical02 {
	0% {
		transform: translateY(-4px);
	}
	100% {
		transform: translateY( 0px);
	}
}
@keyframes swing {
	0% {
		transform: rotate(0deg);
	}
	25% {
		transform: rotate(5deg);
	}
	50% {
		transform: rotate(0deg);
	}
	75% {
		transform: rotate(-5deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes yurayura {
	50% {
		transform: rotate(-30deg);
	}
	100% {
		transform: rotate(30deg);
	}
}
@keyframes leftandright {
	0% {
		transform: translate(0px, 0);
	}
	100% {
		transform: translate(8px, 0);
	}
}
.topimageArea .text {
	color: #ffffff;
	display: block;
	padding: 0 45px;
	text-align: center;
	position: absolute;
	width: 100%;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	/* Safari用 */
	transform: translateY(-50%);
	z-index: 99;
}
.topimageArea .text span {
	background: rgba(255, 255, 255, 0.6);
	color: #000;
	display: inline-block;
	width: auto;
	margin: 0 auto;
	text-align: center;
	font-size: 2em;
	padding: 22px 29px;
}
@media screen and (max-width: 479px) {
	.topimageArea .text span {
		font-size: 1em;
		padding: 10px;
	}
}
.topimageArea .text span .logo {
	width: 60%;
	max-width: 270px;
}
@media screen and (min-width: 780px), print {
	.topimageArea .sp {
		display: none;
	}
}
@media screen and (max-width: 779px) {
	.topimageArea .pc {
		display: none;
	}
}
.list_thumbnailC2 li {
	position: relative;
}
/* section_main_img */

.section_main_img {
	background-color: #FFFFFF;
	position: relative;
	padding: 0 3vw;
}
.section_main_img .main_img_inner {
	height: clamp(380px, 70vh, 800px);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
	padding: 10px;
	border-radius: clamp(10px, 1vw, 30px);
	overflow: hidden;
}
/* .section_main_img .main_img_inner:before {
	content: "";
	display:block;
	width: 25%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: -moz-linear-gradient(left,  rgba(160,199,112,0.65) 0%, rgba(160,199,112,0) 100%);
	background: -webkit-linear-gradient(left,  rgba(160,199,112,0.65) 0%,rgba(160,199,112,0) 100%);
	background: linear-gradient(to right,  rgba(160,199,112,0.65) 0%,rgba(160,199,112,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6a0c770', endColorstr='#00a0c770',GradientType=1 );
} */
.section_main_img .main_img_inner:after {
	content: "";
	display:block;
	width: 50%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background-image: url(./img/main_img_logo.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom right;
}
.section_main_img .main_img_text_box {
	position: relative;
	z-index: 1;
}
.section_main_img .main_img_text {
	max-width: 1400px;
	margin: 0 auto;
}
.section_main_img .main_img_text .text_white_bg {
	display: inline-block;
	border-radius: clamp(5px, 0.2vw, 30px);
	background-color: #ffffff;
	font-size: clamp(16px, 2vw, 36px);
	line-height: 1.2;
	padding: 0.5vw;
	margin-top: 0.5vw;
}
.main_img_add {
	padding: 0 3vw;
	font-size: clamp(12px, 1vw, 15px);
	padding: 10px 3vw 0;
}
@media screen and (min-width: 780px), print {
	.section_main_img .main_img_text_box {
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	.main_img_add {
		text-align: right;
	}
}
@media screen and (max-width: 779px) {
	.section_main_img .main_img_text_box {
		position: absolute;
		top: 10vh;
	}

}
/* section_top_about */

.section_top_about {
	padding: 30px 0 0;
}
.section_top_about article {
	max-width: none;
	padding: 0;
}
.section_top_about .columnBox {
	text-align: center;
	-webkit-background-size: 30px 30px;
	-moz-background-size: 30px 30px;
	background-size: 30px 30px;
	background-color: #f9f7f3;
	background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(.5, #fff), color-stop(.5, transparent), to(transparent));
	background-image: -moz-linear-gradient(left, #fff 50%, transparent 50%, transparent);
	background-image: -o-linear-gradient(left, #fff 50%, transparent 50%, transparent);
	background-image: linear-gradient(left, #fff 50%, transparent 50%, transparent);
}
.section_top_about .column_1 {
	padding: 5% 20px;
	background-color: #dddddd;
	background-image: url(./img/top_about_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
/* section_top_merit */

.section_top_merit {
	background-color: #f7f7f7;
}
@media screen and (max-width: 479px) {
	.section_top_merit .point_box td {
		display: inline-block;
		width: 50%!important;
	}
}
/* section_top_apply */

.section_top_apply {
	padding-bottom: 50px;
}
.bnrL {
	font-weight: bold;
	margin: 0;
	padding: 40px 0 20px;
	text-align: center;
	display: block;
}
.bnrL.w48 {
	float: left;
	width: 48%;
}
.bnrL:nth-of-type(even).w48 {
	float: right;
}
@media screen and (max-width: 478px) {
	.bnrL.w48 {
		width: 100%;
	}
	.bnrL:nth-of-type(even).w48 {
		padding: 0px 0 20px;
	}
}
.bnrL a {
	display: inline-block;
	padding: 20px;
	border: 1px solid;
	text-decoration: none;
	width: 100%;
	max-width: 900px;
	color: #666666;
	;
}
.bnrL span {
	display: block;
}
.bnrL .title {
	font-size: 2em;
}
.bnrL.w48 .title {
	font-size: 1.2em;
}
.bnrL .sub_title {
	padding-top: 10px;
}
.bnrL span.sp {
	display: none;
}
@media screen and (max-width: 478px) {
	.bnrL span.sp {
		display: block;
	}
	.bnrL span.pc {
		display: none;
	}
}
/* topics */

.list_thumbnail.topics .thumbnail span {
	padding: 26% 0;
	border-radius: 8px;
}
.list_thumbnail.topics .title {
	color: #000;
	text-align: center;
}
.list_thumbnail .thumbnail span.new {
	padding: 0;
}
/* youtube */

.section_top_youtube article {
	padding: 0 20px 80px;
}
@media screen and (max-width: 479px) {
	.section_top_youtube article {
		padding: 0 20px 30px;
	}
	.section_top_youtube .txt {
		padding: 2em 0 0;
	}
}
.youtube {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-bottom: 50px;
}
.youtube iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.youtubeFrame {
	width: 100%;
	max-width: 910px;
	margin: 0 auto;
	-webkit-background-size: 30px 30px;
	-moz-background-size: 30px 30px;
	background-size: 30px 30px;
	background-color: #e0dedd;
	background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(.5, #fff), color-stop(.5, transparent), to(transparent));
	background-image: -moz-linear-gradient(left, #fff 50%, transparent 50%, transparent);
	background-image: -o-linear-gradient(left, #fff 50%, transparent 50%, transparent);
	background-image: linear-gradient(left, #fff 50%, transparent 50%, transparent);
	padding: 0;
	border-radius: 10px;
	position: relative;
}
.youtubeFrame:before {
	content: "";
	width: 100%;
	min-height: 223px;
	background: url(../common/youtube_parts01.png), url(../common/youtube_parts02.png);
	background-repeat: no-repeat, no-repeat;
	background-position: 1% -10%, 96% 6%;
	background-size: 25% auto, 25% auto;
	position: absolute;
	z-index: 9;
	top: 16px;
}
@media screen and (max-width: 479px) {
	.youtubeFrame:before {
		background-position: -4% 4%, 100% 0%;
		background-size: 30% auto, 33% auto;
		top: -2px;
	}
}
.youtubeFrame:after {
	content: "";
	width: 100%;
	min-height: 223px;
	background: url(../common/youtube_parts05.png), url(../common/youtube_parts06.png);
	background-repeat: no-repeat, no-repeat;
	background-position: 98% 0%, 39% 0%;
	background-size: 35% auto, 66% auto;
	position: absolute;
	z-index: 10;
	top: -114px;
}
@media screen and (max-width: 479px) {
	.youtubeFrame:after {
		background-position: 98% 8%, 20% 0%;
		background-size: 44% auto, 87% auto;
		top: -80px;
	}
}
.youtubeFrame .inner {
	padding: 70px 90px 1px;
	background: url(../common/youtube_parts03.png), url(../common/youtube_parts04.png);
	background-repeat: no-repeat, no-repeat;
	background-position: 2% 96%, 98% 96%;
	background-size: 25% auto, 25% auto;
}
@media screen and (max-width: 479px) {
	.youtubeFrame .inner {
		padding: 50px 20px 10px;
	}
}
.section_top_youtube .page_link {
	padding: 50px 0 0;
}
/* メールマガジン登録ボタン */

.mailmagazineBtn {
	position: fixed;
	bottom: 40px;
	right: 60px;
	width: 130px;
	z-index: 99;
	cursor: pointer;
}
.mailmagazineBtn:after {
	content: "";
	background: url(img/btn_mailmagazine_bg.png) 0 0 no-repeat;
	background-size: 100% auto;
	transition: .5s;
	transform: rotateZ( 0deg);
	width: 130px;
	display: block;
	height: 130px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8;
}
@media screen and (max-width: 479px) {
	.mailmagazineBtn {
		width: 100px;
		bottom: 30px;
		right: 40px;
	}
	.mailmagazineBtn:after {
		width: 100px;
	}
}
.mailmagazineBtn:hover:after {
	transform: rotateZ( 360deg);
}
.mailmagazineBtn img {
	z-index: 9;
	position: relative;
}
.magazineFrame {
	background: #FFF;
	padding: 30px;
	max-width: 560px;
}
.magazineFrame dl, .magazineFrame dt {
	margin-bottom: 10px;
}
.magazineFrame dl {
	border-bottom: dotted 1px #ccc;
	padding-bottom: 30px;
}
/* おすすめコンテンツ */

.recommendBnr {
	padding: 80px 0 0;
	margin: 0;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	flex-wrap: wrap;
}
.recommendBnr a {
	text-decoration: none;
}
.recommendBnr li {
	list-style: none;
	padding: 0 3vw 1vw;
	margin: 0;
	max-width: 390px;
	width: 33.3%;
}
@media screen and (max-width: 479px) {
	.recommendBnr {
		padding: 30px 0 0;
	}
	.recommendBnr li {
		padding: 0 10px;
		width: 50%;
	}
}
.recommendBnr li img {
	width: 100%;
}
.recommendBnr li span {
	display: block;
	margin-top: 8px;
	text-decoration: none;
	border-bottom: none;
	text-align: center;
}

/* youtube おすすめ fix バナー */
.fixBnrYoutube {
	position: fixed;
	width: clamp(140px, 22vw, 270px);
	border-radius: 10px;
	background-color: rgb(255, 255, 255);
	border: 2px solid rgb(149, 132, 104);
	padding: 0px;
	display: block;
	z-index: 100;
}
.fixBnrYoutube a {
	text-decoration: none;
}
.fixBnrYoutube p {
	font-size: clamp(12px, 1vw, 14px);
	color: #333;
	font-weight: bold;
	padding: 10px 25px 10px 10px;
}
.fixBnrYoutube img {
	border-radius: 0 0 5px 5px;
}
@media screen and (min-width: 780px), print {
	.fixBnrYoutube {
		bottom: 20px;
		right: 220px;
	}
}
@media screen and (max-width: 779px) {
	.fixBnrYoutube {
		bottom: 20px;
		left: 20px;
	}
}
.fixBnrYoutube #closeBnr {
	position: absolute;
	top: 5px;
	right: 5px;
	z-index: 400;
	width: 20px;
	padding: 5px;
	font-size: 0;
	background-color: #FFF;
	border-radius: 50%;
}
.fixBnrYoutube #closeBnr img {
	max-width: 100%;
	height: auto !important;
	width: auto;
}
/*--------------------------------------- news/index_detail.html */

.columnBox h2 {
	text-align: left;
	padding: 0 0 1em 0;
}
.containerInner_news .thumbnail {
	display: block;
	text-align: center;
}
.containerInner_news .date {
	display: block;
	margin-bottom: 20px;
	padding: 0 0 10px;
	font-size: 0.9em;
	border-bottom: 1px solid #ddd;
}
/*--------------------------------------- case/index_detail.php */

.writers_box {
	padding: 20px;
}
.writers_box .columnBox {
	padding: 20px;
	align-items: center;
	border: 1px solid #cccccc;
	border-radius: clamp(10px, 0.5vw, 30px);
}
.writers_box .column_icon {
	text-align: center;
	width: 120px;
}
.writers_box .writers_icon {
	display: inline-block;
	overflow: hidden;
	border-radius: 100%;
}
.writers_box .writers_icon img {
	display: inline-block;
	width: 100%;
}
.writers_box .column_name .info {
	padding-bottom: 5px;
}
.writers_box .column_name .name {
	font-weight: bold;
	font-size: 1.3em;
}
@media screen and (min-width: 780px), print {
	.writers_box .column_name {
		width: 160px;
	}
}
@media screen and (max-width: 779px) {
	.writers_box .column_icon, .writers_box .column_name {
		display: inline-block;
	vertical-align: middle;
	}
}
.entry_special {
	background-color: #f7f7f7;
}
.special_index {
	padding: 30px 10px;
}
.special_index article {
	padding: 0;
}
.inner_main_img .post {
	font-size: 0.9em;
	margin: 0 20px 20px;
	display: inline-block;
	background-color: #777777;
	color: rgba(255, 255, 255, 0.9);
	padding: 1px 8px;
}
.other_enrty {
	background-color: #ffffff;
}
.other_enrty {}
.main_img_special {
	position: relative;
	z-index: 0;
}
.main_img_special iframe {
	pointer-events: none !important;
	top: -30px
}
.main_img_special article {
	max-width: 1240px;
	height: 260px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	overflow-y: hidden;
}
.main_img_special.pano article {
	height: 480px;
}
.main_img_special .name_en {
	color: #fff;
	font-size: 4em;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.3), 1px 1px 1px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.6);
}
.pure-pusher {
	background-color: #f4f3f2;
}
.content_title_inner {
	padding: 5%;
	background-color: #ffffff;
	border-radius: clamp(10px, 0.5vw, 30px);
	position: relative;
}
.content_title_inner .mokuji_box {
	padding-top: 20px;
}
.content_title_inner .mokuji_box .mokuji_title {

}
.content_title_inner .mokuji_box br {
	display: none;
}
.title_h2 {
	font-weight: bold;
	line-height: 1.5;
	padding: 5%;
	background-color: #ffffff;
	max-width: 900px;
	text-align: left;
	border-radius: clamp(10px, 0.5vw, 30px);
}
.entry_special .msg {
	background-color: #fff;
	padding: 5%;
	text-align: left;
	word-break: break-all;
	border-radius: clamp(10px, 0.5vw, 30px);
}
.entry_special .img_s img, .entry_special .img_l img {
	vertical-align: bottom;
}
.entry_special .img_l img {
	width: 100%;
}
.entry_special .img_s {
	text-align: center;
	padding: 20px;
}
.entry_special .img_s img {
	border-radius: clamp(10px, 0.5vw, 30px);
}
.entry_special .caption {
	color: #ffffff;
	font-size: 0.9em;
	line-height: 1.5;
	background-color: #777777;
	padding: 10px 20px;
}
.entry_special .img_l .caption {
	display: block;
}
.entry_special .img_s .caption {
	border-radius: clamp(10px, 0.5vw, 30px);
	max-width: 95%;
	display: inline-block;
	top: -10px;
	position: relative;

}
.main_img {
	background-color: #f7f7f7;
}
.main_img.no_image {
	background-size: contain;
	background-color: rgba(0, 0, 0, 0.05);
}
.entry_special .box {
	text-align: center;
}
@media screen and (max-width: 779px) {
article .box_reverse{/*舩津追記　20230105　ニッポンの木の力レスポンシブ対応*/
	display: flex;
	flex-direction: column-reverse;
}}

.container_story_info {
	background-color: #F7F7F7;
}
.container_story_info article {
}
.container_story_info .category_list,
.container_story_info .tag_list,
.container_story_info .pref_list {
	display: inline-block;
	vertical-align: middle;
}
.container_story_info ul {
	list-style: none;
	padding: 0;
}
.container_story_info ul li {
	display: inline-block;
	vertical-align: middle;
	padding: 4px 2px;
}
.container_story_info ul li a {
	display: block;
	text-decoration: none;
	border: 1px solid;
	border-radius: 100em;
	padding: 0px 6px;
}
@media screen and (min-width:780px), print {
	.entry_special {
		padding: 2% 0;
		margin-top: 20px;
	}
	.title_h2 {
		font-size: 2em;
		padding: 5%;
		display: inline-block;
	}
	.container.entry_special article {
		max-width: 1200px;
		position: relative;
		padding: 2% 0;
		text-align: right;
	}
	.content_title_inner {
		border: 1px solid #cccccc;
	}
	.entry_special .img_l {
		position: relative;
		margin-right: 10%;
		margin-top: -3%;
		text-align: center;
	}
	.entry_special .caption {
		text-align: center;
	}
	.entry_special .img_l .caption {
		position: absolute;
		right: 0;
		top: 0;
	}
	.content_title_inner {
		display: inline-block;
		float: right;
		margin-top: -8%;
	}
	.entry_special .box {
		position: relative;
		display: block;
		width: 100%;
		clear: both;
		padding-right: 10%;
		margin-top: -3%;
	}
	.entry_special .box:after {
		content: "";
		display: block;
		width: 100%;
		clear: both;
	}
	.entry_special .box_column .msg {
		width: 42.5%;
		float: right;
	}
	.entry_special .box_column .img_s {
		width: 57.5%;
		float: left;
		padding: 8% 5% 5%;
	}
	.entry_special .img_l img {
		border-radius: clamp(10px, 0.5vw, 30px);
	}
	.entry_special .img_l .caption {
			border-radius: 0 clamp(10px, 0.5vw, 30px) 0 clamp(10px, 0.5vw, 30px);
	}
	/* 偶数のボックス */
	.entry_special .box_column {
		padding-left: 0;
		padding-right: 5%;
	}
	/* 奇数のボックス */
	.entry_special article:nth-child(2n+1) .box {
		padding-left: 5%;
		padding-right: 0;
	}
	.entry_special article:nth-child(2n+1) .img_l {
		margin-left: 10%;
		margin-right: 0;
	}
	.container.entry_special article:nth-child(2n+1) {
		text-align: left;
	}
	.entry_special article:nth-child(2n+1) .box_column {
		padding-left: 0;
		padding-right: 0;
	}
	.entry_special article:nth-child(2n+1) .box_column .msg {
		float: left;
	}
	.entry_special article:nth-child(2n+1) .box_column .img_s {
		float: right;
	}
}
@media screen and (max-width:779px) {
	article {
		padding: 0;
	}
	.main_img_special article {
		height: auto;
		padding: 17.335%;
	}
	.main_img_special.pano article {
		height: 245px;
		padding: 0;
	}
	.main_img_special iframe {
		height: 420px!important;
	}
	.main_img_special .name_en {
		font-size: 2em;
	}
	.content_title_inner h1 {
		font-size: 1.5em;
	}
	.title_h2 {
		font-size: 1.2em;
	}
	.content_title_inner h1 {
		font-size: 1.5em;
	}
	.content_title_inner {
		font-size: 0.9em;
	}
	.body_info.lower .content_title_inner {
		font-size: 0.9em;
		box-shadow: 0 -1px #777777;
	}
	.container.entry_special article {
		padding: 0;
	}
	.entry_special .caption {
		text-align: left;
	}
	.other_enrty {
		padding: 20px 0;
	}
	.entry_special .img_s {
		margin: 20px 0;
		display: block;
	}
	.entry_special .img_s img {
		width: 100%;
		max-width: 360px;
	}
}
/* video */

.entry_special video {
	width: 100%;
}
/*--------------------------------------- contact/index.html */

.contact p {
	margin-bottom: 2em;
}
/*--------------------------------------- gallery/index.php */

/* メインスライダー */

.img_list {
	background-color: #f7f7f7;
}
.img_list .gallery_top .swiper-slide a {
	display: block;
	text-decoration: none;
	color: #876a41;
	padding: 20px;
}
.img_list .gallery_top .img_box {
	padding: 28% 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: block;
}
.img_list .gallery_top .icon_category {
	padding: 5px 20px;
	text-align: right;
	display: block;
	position: absolute;
	left: 0;
	top: 0px;
	background-color: #93634d;
	color: #fff;
	font-size: 1.5em;
}
.img_list .gallery_top .caption {
	padding: 0 20px;
	text-align: right;
	display: block;
}
.img_list .gallery_top .caption span {
	margin-top: -10px;
	padding: 5px 20px;
	display: inline-block;
	background-color: #fff;
	text-align: left;
	font-size: 1.4em;
}
/*サムネイルスライダー */

.img_list .gallery_thumbs {
	padding: 0 5px;
}
.img_list .gallery_thumbs .swiper-slide {
	width: 16.6%;
	padding: 10px 5px;
}
.img_list .gallery_thumbs .img_box {
	padding: 25% 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
/* 情報 */

.info_list {
	border: 1px solid #ccc;
	padding: 10px;
	margin-bottom: 10px;
}
.info_list .info_box {
	display: table;
	table-layout: fixed;
	width: 100%;
	padding: 10px;
	border-top: 1px solid #ddd;
}
.info_list .info_box:first-child {
	border-top: none;
}
.info_list .info_box:nth-child(2n) {
	background-color: #f4f4f4;
}
.info_list .info_box .title, .info_list .info_box .text {
	display: table-cell;
}
.info_list .info_box .title {
	width: 30%;
}
.info_list .info_box .text span:before {
	content: "、";
}
.info_list .info_box .text span:first-of-type:before {
	content: none;
}
.body_merit .container.entry_special .article_5 {
	padding-bottom: 0;
	padding-top: 4%;
}
.body_merit .container.entry_special .article_5 .box_column .img_s {
	padding: 8% 5% 3%;
}
/*--------------------------------------- common/index.php */

.body_common .content_1 {
	padding: 60px 0 60px;
	margin-bottom: 60px;
	position: relative;
}
.body_common .section_add_msg_top {
	padding-top: 30px;
}
@media screen and (max-width: 478px) {
	.body_common .content_1 {
		padding: 5px 0 30px;
	}
	.body_common .section_add_msg_top {
		padding-top: 60px;
	}
}
.body_common .section_slidebnr h2 {
	padding: 4.2em 20px 1.2em;
}
@media screen and (max-width: 798px) {
	.body_common .section_slidebnr h2 {
		padding: 0 20px 1.2em;
		margin-top: 20px;
	}
}
.swiper-button-next, .swiper-button-prev {
	color: #FFF;
}
.swiper-container02 {
	margin: 0 auto 80px;
	overflow-x: hidden;
	width: 80%;
	position: relative;
	padding-bottom: 50px;
}
@media screen and (max-width: 798px) {
	.body_common .section_slidebnr, .body_common .section_slidebnr article {
		padding: 0;
	}
	.swiper-container02 {
		width: 100%;
		margin: 0 auto 20px;
	}
}
.swiper-container02 .swiper-button-next, .swiper-container02 .swiper-button-prev {
	display: block;
}
.swiper-container02 .swiper-pagination-bullet-active {
	background: #9baca0;
}
.swiper-container02 .txt {
	display: block;
	color: #1d2129;
	text-align: left;
	background-color: #f7f7f7;
	padding: 9px 15px;
}
.body_common .content_1 .bg {
	width: 100%;
	/*--top:50vh;--*/
}
.area {
	background: #f7f7f7;
	background: -webkit-linear-gradient(to left, #8f94fb, #4e54c8);
	width: 100%;
}
.circles {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.circles li {
	position: absolute;
	display: block;
	list-style: none;
	width: 20px;
	height: 20px;
	background: rgba(202, 211, 205, 0.8);
	animation: animate 15s linear infinite;
	bottom: -150px;
}
.circles li:nth-child(1) {
	left: 25%;
	width: 80px;
	height: 80px;
	animation-delay: 0s;
	background: url(../common/bg_ic03.png) 0 0 no-repeat;
}
.circles li:nth-child(2) {
	left: 10%;
	width: 20px;
	height: 20px;
	animation-delay: 2s;
	animation-duration: 12s;
	background: url(../common/bg_ic04.png) 0 0 no-repeat;
}
.circles li:nth-child(3) {
	left: 70%;
	width: 20px;
	height: 20px;
	animation-delay: 4s;
	background: url(../common/bg_ic04.png) 0 0 no-repeat;
}
.circles li:nth-child(4) {
	left: 40%;
	width: 60px;
	height: 60px;
	animation-delay: 0s;
	animation-duration: 18s;
}
.circles li:nth-child(5) {
	left: 65%;
	width: 20px;
	height: 20px;
	animation-delay: 0s;
	background: url(../common/bg_ic02.png) 0 0 no-repeat;
}
.circles li:nth-child(6) {
	left: 75%;
	width: 110px;
	height: 110px;
	animation-delay: 3s;
	border-radius: 12%;
}
.circles li:nth-child(7) {
	left: 35%;
	width: 160px;
	height: 150px;
	animation-delay: 7s;
	background: url(../common/bg_ic.png) 0 0 no-repeat;
}
.circles li:nth-child(8) {
	left: 50%;
	width: 25px;
	height: 25px;
	animation-delay: 15s;
	animation-duration: 45s;
}
.circles li:nth-child(9) {
	left: 20%;
	width: 15px;
	height: 15px;
	animation-delay: 2s;
	animation-duration: 35s;
}
.circles li:nth-child(10) {
	left: 85%;
	width: 160px;
	height: 150px;
	animation-delay: 0s;
	animation-duration: 11s;
	background: url(../common/bg_ic.png) 0 0 no-repeat;
}
@keyframes animate {
	0% {
		transform: translateY(-1000px) rotate(720deg);
		opacity: 0;
		/*border-radius: 0;*/
	}
	100% {
		transform: translateY(0) rotate(0deg);
		opacity: 1;
		/*border-radius: 50%;*/
	}
}
#newStory {
	float: left;
	width: 60%;
}
.section_main_img .list_thumbnail {
	padding: 0;
}
.section_main_img .list_thumbnail li, #newStory img {
	width: 100%;
}
.section_main_img .rightArea {
	float: right;
	width: 40%;
}
.section_main_img .swiper-container02 {
	width: 100%;
	margin: 0 auto 10px;
	padding-bottom: 0;
}
.section_main_img .swiper-container02 .swiper-pagination {
	display: none;
}
/*--------------------------------------- story/detail.php */

.body_story h1 {
	font-weight: bold;
	font-size: clamp(16px, 2vw, 32px);
	padding: 1em 0;
}
.body_story .content_title h1 span {
	font-size: 0.6em;
	font-weight: normal;
	line-height: 1.5;
	display: block;
	margin-bottom: 12px;
}
.body_story .title_h2 {
	font-size: clamp(15px, 1.6vw, 24px);
	color: #ab9f8b;
}
.body_story .swiper-container02 {
	margin: 0 auto;
	width: 70%;
	padding-bottom: 0;
}
.body_story .swiper-container02.width100 {
	width: 100%;
}
.body_story .swiper-container02.paginationBtottom50 .swiper-horizontal>.swiper-pagination-bullets, .body_story .swiper-container02.paginationBtottom50 .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 54px;
}
.body_story .swiper-container02 .txt {
	text-align: center;
	color: #ffffff;
	font-size: 0.9em;
	line-height: 1.5;
	background-color: #777777;
	display: block;
	padding: 10px 10px;
}
.entry_special .caption.slide {
	margin: 0 auto 50px;
	width: 70%;
}
@media screen and (max-width: 798px) {
	.body_story .swiper-container02, .entry_special .caption.slide {
		width: 80%;
	}
}
.body_story .piclist {
	margin: 0;
	padding: 0;
}
.body_story .piclist li {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
	position: relative;
	text-align: center;
}
.body_story .piclist span {
	text-align: center;
	color: #ffffff;
	font-size: 0.9em;
	line-height: 1.5;
	background-color: #777777;
	display: block;
	padding: 10px 10px;
}
.body_story .piclist.c2 li {
	width: 49%;
	float: left;
}
.body_story .piclist.c2 li:nth-of-type(even) {
	float: right;
}
.body_story .piclist.c3 li {
	width: 33.3%;
	float: left;
	padding-right: 10px;
}
/* side */

.list_recommend {
	padding: 0;
	list-style: none;
}
.list_recommend li {
	padding: 10px 0;
	border-top: 1px solid #eaeaea;
}
.list_recommend li:first-child {
	border-top: none;
}
.list_recommend a {
	color: #333333;
	text-decoration: none;
	display: block;
}
.list_recommend .listBox {
	display: flex;
	align-items: center;
	gap: 20px;
}
.list_recommend .thumbnail_box {
	width: 25%;
	max-width: 80px;
}
.list_recommend .thumbnail_box .thumbnail {
	display: block;
	border-radius: clamp(10px, 0.5vw, 30px);
	overflow: hidden;
}
.list_recommend .thumbnail_box .thumbnail span{
	padding: 50% 0;
	display: block;
	height: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: all 0.5s ease-out;
}
.list_recommend li a:hover .thumbnail span {
	transform: scale(1.1);
}
.list_recommend .title {
	font-size: 0.9em;
	font-weight: bold;
	width: calc(75% - 20px);
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.sub_title {
	font-size: clamp(13px, 1.5vw, 16px);
	font-weight: bold;
	padding-bottom: 10px;
}
.sub_box  {
	padding-bottom: 20px;
}
.sub_box_category ul,
.sub_box_keyword ul,
.sub_box_area ul {
	list-style: none;
	padding: 0;
}
.sub_box_category li a,
.sub_box_keyword li a,
.sub_box_area li a {
	text-decoration: none;
	display: block;
	padding: 8px 10px;
	font-size: clamp(13px, 1.5vw, 14px);
}
.sub_box_category li {
	padding: 1px 0;
}
.sub_box_category li a {
	color: #000;
	background-color: rgb(63 140 56 / 10%);
	border-radius: clamp(10px, 0.5vw, 30px);
}
.sub_box_category li a:hover {

}
.sub_box_keyword ul li {
	display: inline-block;
	vertical-align: middle;
	padding: 4px 1px;
}
.sub_box_keyword ul li a {
	display: block;
	color: #333333;
	border: 1px solid rgb(63 140 56 / 10%);
	padding: 1px 6px;
	border-radius: 100em;
}
.sub_box_area ul li {
	display: inline-block;
	vertical-align: middle;
	padding: 4px 1px;
}
.sub_box_area ul li a {
	display: block;
	color: #333333;
	border: 1px solid rgb(63 140 56 / 10%);
	padding: 1px 6px;
	border-radius: 100em;
}
@media screen and (min-width:1090px), print {
	.columnBox .column_main {
		width: calc(100% - 2vw - 280px);
	}
	.columnBox .column_nav {
		width: 280px;
	}
}
@media screen and (min-width:780px), print {
	.columnBox .column_nav .sticky_area {
		position: sticky;
		top: clamp(60px, 8vw, 120px);
	}
}
@media screen and (min-width:780px) and (max-width:1089px) {
	.columnBox .column_main {
		width: calc(100% - 2vw - 220px);
	}
	.columnBox .column_nav {
		width: 220px;
	}
}
@media screen and (max-width:779px) {
	.columnBox .column_nav {
		padding-top: 20px;
	}
}
/*--------------------------------------- works/index.php */

.body_works .worksTop h3 {
	text-align: center;
}
.body_works .worksTop .worksFrame {
	float: left;
	width: 100%;
	border-radius: 8px;
	background-color: #f7f7f7;
	padding: 2vw 3vw;
	margin: 50px auto 60px;
}
.body_works .worksTop .worksFrame:nth-of-type(odd) {
	float: right;
}
.body_works .worksTop .worksFrame .list_thumbnail {
	margin-top: 30px;
}
@media screen and (max-width:779px) {
	.body_works h2, .body_works_toshimokuzai h2 {
		padding: 1em 0 2em;
	}
	.body_works h2 span,
	.body_works_toshimokuzai h2 span,
	.body_works_sugi h2 span{
		display: block;
		font-size: 0.9em;
	}
	.list_thumbnail .place {
		font-size: 0.7em;
		right: 0;
	}
	.ribbon {
		left: 0;
		padding: 5px 0;
		font-weight: normal;
	}
	.ribbon:after {
		border: none;
	}
}
@media screen and (max-width:498px) {
	.body_works .worksTop .worksFrame h3 {
		padding: 0;
	}
	.body_works .worksTop .worksFrame {
		padding: 15px 10px 50px 10px;
	}
	.body_works .worksTop .worksFrame .btn {
		padding: 0;
	}
	.body_works .worksTop .worksFrame .btn a {
		padding: 0.75em 1em;
		width: 100%;
	}
	.img_list .gallery_top .img_box {
		padding: 39% 0;
	}
	.img_list .gallery_top .swiper-slide a {
		padding: 0;
	}
	.img_list .gallery_top .caption {
		padding: 0;
	}
	.img_list .gallery_top .caption span {
		padding: 5px 10px;
		font-size: 1em;
	}
	.img_list .gallery_top .icon_category {
		font-size: 1em;
	}
	.swiper-button-next, .swiper-button-prev {
		top: 43%;
	}
	.swiper-button-prev {
		left: 0;
	}
	.swiper-button-next {
		right: 0;
	}
}
.body_works_toshimokuzai .img_list,
.body_works .img_list,
.body_works_sugi .img_list{
	background-color: inherit;
}
.body_works_search .search_image table th, .body_works .search_image table th {
	width: 12%!important;
}
.body_works_toshimokuzai .bg_gray,
.body_story .bg_gray,
.body_works .bg_gray,
.body_works_sugi .bg_gray{
	text-align: center;
}
.body_works_toshimokuzai .bg_gray a,
.body_story .bg_gray a,
.body_works .bg_gray a,
.body_works_sugi .bg_gray a{
	display: block;
	width: 60%;
	margin: 0 auto;
	padding: 20px;
}
@media screen and (max-width:779px) {
	.body_works_toshimokuzai .bg_gray a,
	.body_story .bg_gray a,
	.body_works .bg_gray a,
	.body_works_sugi .bg_gray a{
		width: 90%;
	}
}
.body_works_toshimokuzai .bg_gray a img,
.body_story .bg_gray a img,
.body_works .bg_gray a img,
.body_works_sugi .bg_gray a img{
	border-radius: 50%;
	width: 40%;
	max-width: 194px;/*舩津追記_230303_元200px*/
	margin-right: 30px;
}
@media screen and (max-width:779px) {
	.body_works_toshimokuzai .bg_gray a img,
	.body_story .bg_gray a img,
	.body_works .bg_gray a img,
	.body_works_sugi .bg_gray a img{
		width: 70%;
		max-width: 400px;
		margin: 0 auto;
	}
}
/*--------------------------------------- company/index.php */

.list_thumbnail_company li a {
	color: #876a41;
}
/*--------------------------------------- company/index_detail.php */

.contact_box {
	text-align: right;
}
.contact_box a {
	text-decoration: none;
}
.contact_box .tel, .contact_box .mail {
	display: inline-block;
	vertical-align: middle;
	padding: 2px;
}
.contact_box .tel {}
.contact_box .mail {}
.contact_box .tel:before, .contact_box .mail:before {
	display: inline-block;
	padding-right: 10px;
}
.contact_box .tel:before {
	content: "\f095";
}
.contact_box .mail:before {
	content: "\f0e0";
}
.main_img_company {
	padding-bottom: 0;
}
.inner_main_img {
	text-align: center;
}
.main_img_company .company_info {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.company_info .logo, .company_info .company_info_detail {
	display: table-cell;
	vertical-align: top;
}
.company_info .logo {
	width: 30%;
	text-align: center;
	padding-top: 20px;
	padding-right: 20px;
}
.company_info .logo img {
	vertical-align: middle;
}
.company_info .company_info_detail {
	padding: 20px 0 0 20px;
}
.company_info .company_info_detail h2 {
	text-align: left;
	padding: 0;
}
.company_info .company_info_detail .name {
	color: #958468;
	font-size: 1.1em;
	padding: 10px 0;
}
.company_info .company_info_detail .pref {
	border-top: 1px solid #ddd;
	padding-top: 10px;
}
.body_company .pref ul {
	padding: 0;
}
.body_company .pref li {
	font-size: 0.95em;
	display: inline-block;
	vertical-align: middle;
	border: 1px solid #cccccc;
	border-radius: 100em;
	padding: 2px 5px;
	margin: 2px;
}
/*--------------------------------------- images/index.php */

.container_images {
	background-color: #ae7545;
	background-image: url(img/wood_ptn.png);
	background-position: center top;
}
.container_images h1 {
	color: #ffffff;
}
.container_images .page_info {
	padding: 10px 0 30px;
	color: #fff;
	font-weight: bold;
	text-align: center;
}
.container_images_main {
	background-color: #e9b161;
	background-image: url(img/wood_ptn_main.png);
}
.container_images_main h1, .container_images_main .page_info {
	text-shadow: 0px 0px 3px rgba(125, 52, 0, 0.6);
}
.image_list ul {
	padding: 0;
	list-style: none;
	display: block;
}
.image_list li {
	display: inline-block;
	vertical-align: middle;
}
.image_list li .inner_box {
	box-shadow: -3px 13px 8px -7px rgba(121, 72, 0, 0.7), 0 0 4px rgba(121, 72, 0, 0.7), 1px 1px 1px rgba(151, 101, 78, 0.05), inset -1px -1px 2px rgba(0, 0, 0, 0.2), inset 2px 2px 0 #ffffff;
	border-radius: 5px;
	transform: rotate(-2deg);
	background: #ffffff;
	background: -moz-linear-gradient(-45deg, #ffffff 0%, #f0f0f0 50%, #ffffff 60%, #ffffff 80%, #f7f7f7 85%, #f0f0f0 100%);
	background: -webkit-linear-gradient(-45deg, #ffffff 0%, #f0f0f0 50%, #ffffff 60%, #ffffff 80%, #f7f7f7 85%, #f0f0f0 100%);
	background: linear-gradient(135deg, #ffffff 0%, #f0f0f0 50%, #ffffff 60%, #ffffff 80%, #f7f7f7 85%, #f0f0f0 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f0f0f0', GradientType=1);
}
.image_list li:nth-child(2n) .inner_box {
	transform: rotate(2deg);
	margin-top: -7px;
}
.image_list li:nth-child(3n+3) .inner_box {
	transform: rotate(-3deg);
	margin-top: 5px;
}
.image_list li .img {
	opacity: 1;
	transition: opacity 0.2s;
}
.image_list li .img:hover {
	opacity: 0.8;
}
.image_list li .text {
	padding: 20px 0 10px;
	color: #93634d;
	font-size: 0.9em;
	font-weight: bold;
}
@media screen and (min-width:780px), print {
	.container_images .page_info {
		font-size: 1.2em;
	}
	.image_list li {
		width: 25%;
		padding: 16px;
	}
	.image_list li .inner_box {
		padding: 20px 16px;
	}
}
@media screen and (max-width:779px) {
	.container_images .page_info br {
		display: none;
	}
	.image_list li {
		width: 50%;
		padding: 10px;
	}
	.image_list li .inner_box {
		padding: 10px;
	}
}
/*--------------------------------------- images_search/ */

.search_detail {
	background-color: #ffffff;
	margin-bottom: 30px;
}
.search_detail table {
	width: 100%;
}
.search_detail table th {
	text-align: right;
	width: 30%!important;
	color: #958468;
	font-weight: bold;
	background-color: #f7f7f7;
}
.search_detail table tr {
	border-top: 1px solid #ddd;
}
.search_detail table tr:first-child {
	border-top: none;
}
.search_detail ul {
	padding: 0;
}
.search_detail ul li {
	display: inline-block;
	padding: 2px 1px;
}
.search_detail ul li a {
	display: block;
	border: 1px solid;
	text-decoration: none;
	padding: 1px 10px;
	border-radius: 100em;
}
.search_detail ul li.li_gray a, .search_detail ul li.li_dark_brown a, .search_detail ul li.li_brown a, .search_detail ul li.li_color a {
	color: #ffffff;
	border: none;
}
.search_detail ul li.li_gray a {
	background-color: #777777;
}
.search_detail ul li.li_brown a {
	background-color: #9d6421;
}
.search_detail ul li.li_dark_brown a {
	background-color: #442b11;
}
.search_detail ul li.li_color a {
	background: #ffff01;
	background: -moz-linear-gradient(-45deg, #ffff01 0%, #009943 20%, #019fe8 40%, #1c2187 60%, #e2007d 80%, #ff0012 100%);
	background: -webkit-linear-gradient(-45deg, #ffff01 0%, #009943 20%, #019fe8 40%, #1c2187 60%, #e2007d 80%, #ff0012 100%);
	background: linear-gradient(135deg, #ffff01 0%, #009943 20%, #019fe8 40%, #1c2187 60%, #e2007d 80%, #ff0012 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffff01', endColorstr='#ff0012', GradientType=1);
}
.body_images_main_search .btn_all a {
	color: #fff;
}
.search_msg {
	margin-bottom: 5%;
	padding: clamp(15px, 1vw, 20px);
	border: 1px solid #eaeaea;
	border-radius: clamp(10px, 0.5vw, 30px);
}
.search_msg_inner {
	display: flex;
	align-items: center;
	gap: 2vw;
	justify-content: space-between;
}
.search_msg_inner .search_title_post {
	font-weight: bold;
	font-size: clamp(15px, 1.5vw, 24px);
}
.search_msg_inner .search_title_number {
	font-size: clamp(11px, 1vw, 14px);
}
@media screen and (min-width:780px), print {
	.sp_btn_search {
		display: none;
	}
}
@media screen and (max-width:779px) {
	.sp_btn_search {
		padding: 10px;
		margin-bottom: 20px;
		color: #876a41;
		text-align: center;
		border-radius: 100em;
		background-color: #fff;
		cursor: pointer;
		background-image: url(./img/sp_btn_search_open.png);
		background-repeat: no-repeat;
		background-position: center right 10px;
		background-size: 24px;
	}
	.search_detail {
		display: none;
	}
	.sp_btn_search.display {
		background-color: #f7f7f7;
		background-image: url(./img/sp_btn_search_close.png);
	}
	.search_detail.display {
		display: block;
	}
}
@media print {
	html {
		min-width: 1050px;
	}
	header {
		position: absolute;
	}
	.fadein {
		opacity: 1;
		transform: translate(0, 0);
	}
	.body_common {
		padding-top: 100px;
	}
}
.roomclip_logo p {
	background-color: #f7f7f7;
	display: inline-block;
	padding: 10px 20px;
	border-radius: 100em;
}
.roomclip_logo img {
	max-width: 200px;
}
.kidukai_tolk {
	background-image: url(../lp/kidukai_tolk_bg.png);
	background-position: center;
}
.kidukai_page_list {
	list-style: none;
	padding: 10px 0;
	text-align: center;
}
.kidukai_page_list li {
	padding: 2px;
}
.kidukai_page_list li a {
	text-decoration: none;
	padding: 10px;
	display: block;
	border: 1px solid;
	font-weight: bold;
	border-radius: 5px;
}
.kidukai_box {
	padding: 0 20px 20px;
	margin: 20px 0;
	border: 3px solid #9c8468;
	border-radius: 10px;
	box-shadow: 3px 3px 10px rgba(156, 132, 104, 0.3);
}
.kidukai_box h3 {
	background-color: #958468;
	color: #fff;
	padding: 20px;
	margin: 0 0 30px;
}
@media screen and (min-width:780px), print {
	.kidukai_page_list li {
		display: inline-block;
		vertical-align: middle;
	}
}
/* もっと 見る */

#text-wrap {
	height: 100%;
	display: block;
	margin: 0 auto;
	padding: 70px;
}
.hide-text {
	display: none;
}
button.readmore {
	position: relative;
	height: 80px;
	width: 90px;
	margin: 40px auto;
	display: block;
	background-color: transparent;
	color: #666;
	padding-bottom: 40px;
	border: none;
	outline: 0;
	transition: .5s;
	-erbkit-transition: .5s;
	font-size: 0.8em;
}
button.readmore::after {
	content: " ";
	position: absolute;
	width: 30px;
	height: 30px;
	border-top: solid 3px #666;
	border-right: solid 3px #666;
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	right: 28px;
	top: 25px;
	transition: .5s;
	-erbkit-transition: .5s;
}
button.readmore:hover::after {
	top: 40px;
}
.on-click {
	color: transparent!important;
}
.on-click {
	transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
}
/*--------------------------------------- merit/index.php */

.body_merit .search_detail ul li {
	margin: 6px;
}
/*--------------------------------------- kids */

.kidsTtl {
	color: #4e4946;
	background-color: #f7f7f7;
	border-radius: 3px;
	margin: -5% 10px 0;
	font-size: 0.9em;
	position: relative;
	text-align: center;
	padding: 20px 0;
	line-height: 1.4;
}
.body_kids .movieBoxPickup {
	width: 60%;
	margin: 0 auto;
	text-align: center;
}
.body_kids h4.new:after {
	content: "New!";
	display: block;
	background-color: #db3c38;
	color: #fff;
	font-size: 0.5em;
	text-align: right;
	position: absolute;
	top: 30%;
	left: 20px;
	padding: 2px 10px;
}
.onebox{/*221227舩津追記　動画が一つの場合*/
	width: 80%;
	margin: 0 auto;
}
/*--------------------------------------- kids/パズル */

#puzzle-containment h2 {
	padding: 1em 20px;
	margin: -1% 10px 20px;
}
@media screen and (max-width:779px) {
	#puzzle-containment h2 {
		margin: -10% 10px 20px;
	}
}
.puzzleMenu {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	max-width: 40%;
	margin: 20px auto 0;
	padding: 0;
}
@media screen and (max-width:779px) {
	.puzzleMenu {
		max-width: 90%;
	}
}
.puzzleMenu li {
	-webkit-box-flex: 1;
	flex-grow: 1;
	list-style: none;
	margin: 0;
	padding: 0 10px;
}
.puzzleMenu li img {
	width: 100%;
}
.puzzleMenu li span {
	display: block;
	background-color: #5cae55;
	color: #FFF;
	padding: 2px;
	font-size: 0.8em;
}
.puzzleMenu li.active span {
	background-color: #398232;
}
.puzzleMenu li a {
	text-align: center;
	text-decoration: none;
}
.snappuzzle-wrap {
	position: relative;
	display: block;
}
.snappuzzle-pile {
	position: relative;
}
.snappuzzle-piece {
	cursor: move;
}
.snappuzzle-slot {
	position: absolute;
	background: #fff;
	opacity: .8;
}
.snappuzzle-slot-hover {
	background: #eee;
}
.replayBtn {
	display: inline-block;
	border: 1px solid;
	text-decoration: none;
	padding: 1px 10px;
	border-radius: 100em;
}
.relative {
	position: relative;
}
@media screen and (max-width:498px) {
	.pure-g {
		padding-bottom: 260px;
	}
}
/*--------------------------------------- kids/絵本 */

.body_kids .pictureBookArea {
	text-align: center;
	background-color: #f7f8f9;
	overflow: hidden;
	position: relative;
	padding: 30px;
	width: 80%;
	margin: 0 auto;
}
@media screen and (max-width:598px) {
	.body_kids .pictureBookArea {
		width: 100%;
		padding: 40px 30px;
	}
}
@media screen and (max-width:280px) {
	.body_kids .pictureBookArea {
		padding: 50px 20px 30px;
	}
}
.body_kids .pictureBookArea img {
	width: 100%;
	max-width: 250px;
}
.body_kids .pictureBookArea .txt {
	position: absolute;
	z-index: 999;
	top: 61%;
	left: 81%;
	color: #fff;
	background-color: #c51212;
	width: 140px;
	height: 140px;
	display: inline-block;
	border-radius: 50%;
	text-align: center;
	font-size: 0.85em;
	padding-top: 42px;
}
@media screen and (max-width:997px) {
	.body_kids .pictureBookArea .txt {
		width: 120px;
		height: 120px;
		top: -32px;
		left: auto;
		right: -8px;
		padding-top: 39px;
		font-size: 0.8em;
	}
}
.body_kids .pictureBookArea .txt p {}
.line-container {
	position: absolute;
	width: 200vw;
	height: 200vw;
	left: calc(50% - 100vw);
	top: calc(50% - 100vw);
	background-image: repeating-conic-gradient( transparent 0, transparent 13deg, #9baca0 13deg, #9baca0 16deg), repeating-conic-gradient( transparent 0, transparent 20deg, #9baca0 20deg, #9baca0 23deg), repeating-conic-gradient( transparent 0, transparent 5deg, #9baca0 5deg, #9baca0 8deg), repeating-conic-gradient( transparent 0, transparent 40deg, #9baca0 40deg, #9baca0 44deg), repeating-conic-gradient( transparent 0, transparent 10deg, #9baca0 10deg, #9baca0 13deg);
	-webkit-animation: backgroundAnimation 20s infinite linear;
	animation: backgroundAnimation 20s infinite linear;
}
@-webkit-keyframes backgroundAnimation {
	from {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes backgroundAnimation {
	from {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
/* 中心のぼかした円 */

.line-container:before {
	content: "";
	position: absolute;
	width: 100%;
	max-width: 150px;
	height: 100%;
	max-height: 150px;
	background-image: radial-gradient( #ffee33 0%, #ffee33 12%, transparent 30%, transparent);
}
/* mask-imageに対応している場合のスタイル */

@supports ( (-webkit-mask-image: radial-gradient(white, white)) or (mask-image: radial-gradient(white, white))) and (not (-ms-ime-align: auto)) {
	.line-container {
		/* 中心をくり抜く */
		-webkit-mask-image: radial-gradient( transparent 0%, transparent 12%, white 30%, white);
		-webkit-mask-image: radial-gradient( transparent 0%, transparent 12%, white 30%, white);
	}
	.line-container:before {
		display: none;
	}
}
/* 縦持ちのときの対応 */

@media (orientation: portrait) {
	.line-container {
		width: 200vh;
		height: 200vh;
		left: calc(50% - 100vh);
		top: calc(50% - 100vh);
	}
}
/*--------------------------------------- kids/ぬりえ */

.coloringList {
	margin: 40px auto 20px;
	padding: 0;
	text-align: center;
}
.coloringList li a {
	text-decoration: none;
}
.coloringList li {
	list-style: none;
	display: inline-block;
	width: 30.3%;
	margin-right: 3%;
	margin-bottom: 40px;
}
.coloringList li:nth-child(3n) {
	margin-right: 0;
}
@media screen and (max-width:520px) {
	.coloringList li {
		float: left;
		width: 47%;
		margin-right: 0;
	}
	.coloringList li:nth-of-type(even) {
		float: right;
	}
}
.coloringList li img {
	margin-bottom: 7px;
}
.coloringList li span {
	display: block;
}
.coloringList li span.ttl {
	color: #5cae55;
	font-weight: bold;
	margin-bottom: 2px;
	background-color: #f8f5ee;
	padding: 2px;
}
.coloringList li .txt {
	float: left;
	width: 25%;
	text-align: left;
}
.coloringList li .dl {
	float: right;
	width: 60%;
	text-align: center;
	color: #fff;
	padding: 4px 0;
	background-color: #5CAE55;
	border: 2px solid #A8CC06;
	border-radius: 10px;
}
@media screen and (max-width:420px) {
	.coloringList li .txt, .coloringList li .dl {
		float: none;
		width: 100%;
		text-align: center;
	}
}
/*--------------------------------------- lp */

.body_lp .comment {
	font-size: 0.8em;
	margin-bottom: 25px;
	background-color: #f0f5f2;
	border-radius: 6px;
	padding: 20px;
}
.body_lp .comment dt {
	font-weight: bold;
	margin-bottom: 0.5em;
}
/* /lp/ニッポンの木のチカラ2020 */

@media screen and (min-width: 780px), print {
	.entry_special .box.movieBox {
		margin-bottom: 5%;
		display: flex;
		flex-wrap: wrap;
		padding-right: 0;
		padding-left: 5%;
	}
	.entry_special article:nth-child(2n+1) .box.movieBox {
		padding-right: 5%;
		padding-left: 0;
	}
	.entry_special .box.movieBox>div {
		width: 50%;
		background-color: #fff;
	}
}
/*--------------------------------------- メールマガジン */

.body_mailmagazine h1 {
	padding: 2.2em 20px 0;
}
@media screen and (max-width:498px) {
	.body_mailmagazine h1 {
		padding: 0;
	}
}
.body_mailmagazine .column_main ul {
	margin: 10px 0 40px;
	padding: 0;
}
.body_mailmagazine .column_main li {
	list-style: none;
	margin: 0;
	padding: 0;
}
/*--------------------------------------- FAQ */

.faqList {
	background-color: rgb(255, 255, 255, 0.8);
	padding: 30px 30px 30px 74px;
	border-radius: 4px;
	margin-bottom: 115px;
	border: solid 1px #eee;
}
@media screen and (max-width:498px) {
	.faqList {
		padding: 20px 20px 20px 64px;
		margin-bottom: 45px;
	}
}
.columnBox .faqList {
	margin-bottom: 50px;
}
.faqList li {
	margin: 0 0 20px 0;
	list-style: none;
	font-size: 1.05em;
}
.faqList li:last-of-type {
	margin-bottom: 0;
}
.faqList li:before {
	content: 'Q';
	display: inline-block;
	background-color: #ad9b84;
	color: #FFF;
	margin-right: 9px;
	margin-left: -44px;
	padding: 0 9px 3px 9px;
}
.faqList li a {
	text-decoration: none;
	color: #000;
}
.faqFrame .floatL, .faqFrame .floatR {
	width: 48%;
}
.faqFrame {
	position: relative;
	background: url(img/faq_bg.png) 0 0 repeat fixed;
	background-size: 100% auto;
}
.faqFrame h1, .faqFrame .columnBox h2 {
	color: #FFF;
}
.bg_pattern {
	position: fixed;
	top: 100px;
	left: 0;
	width: 100vw;
	height: 100vh;
	opacity: 0.4;
	z-index: -1;
}
.ZigZag {
	background-image: linear-gradient(135deg, #fff 25%, transparent 25%), linear-gradient(225deg, #fff 25%, transparent 25%), linear-gradient(45deg, #fff 25%, transparent 25%), linear-gradient(315deg, #fff 25%, #eee 25%);
	background-position: 20px 0, 20px 0, 0 0, 0 0;
	background-size: 40px 40px;
	background-repeat: repeat;
}
.faqFrame .catch {
	margin-bottom: 60px;
	color: #FFF;
}
.faqFrame h3 {
	text-align: center;
}
.faqFrame h3 span {
	color: #000;
	position: relative;
	padding: 1rem 5rem calc(1rem + 4px);
	background: rgb(241, 213, 96, 0.7);
	display: inline-block;
	font-weight: normal;
}
.faqFrame h3 span.green {
	background: rgb(155, 171, 115, 0.7);
}
.faqFrame h3 span.orange {
	background: rgb(241, 175, 93, 0.7);
}
.faqFrame h3 span:before {
	position: absolute;
	top: -7px;
	left: -7px;
	width: 100%;
	height: 100%;
	content: '';
	border: 1px solid #FFF;
}
.faqFrame .msg h3 {
	color: #1d2129;
}
.faqFrame .clearFix {
	padding-top: 10px;
}
.faqFrame .clearFix h3 {
	margin-bottom: 0;
}
.faqFrame .clearFix h4 {
	display: inline-block;
	background-color: inherit;
	color: #FFF;
	margin: 0;
	padding-top: 0;
}
.faqFrame .columnBox h2 {
	text-align: center;
	padding: 2em 0 2.5em 0;
}
/*230303_舩津追記*/
.faqFrame .faq_sub_title h3{
	padding-bottom: 0;
	padding-top: 40px;
}
@media screen and (max-width:498px) {
	.faqFrame .faq_sub_title h3{
		padding-left: 2%;
		padding-right: 2%;
		padding-top: 20px;
	}
}
/**/
@media screen and (max-width:498px) {
	.faqFrame .columnBox h2 {
		padding: 1em 0 1.5em 0;
	}
}

.faqFrame .aframe {
	margin-bottom: 40px;
	background-color: #FFF;
}
@media screen and (max-width:498px) {
	.faqFrame .aframe {
		margin-bottom: 20px;
	}
}
.faqFrame .box_column, .faqFrame .msg {
	background-color: #FFF;
	padding: 40px 50px;
}
@media screen and (max-width:498px) {
	.faqFrame .box_column, .faqFrame .msg {
		padding: 20px;
	}
}
.faqFrame .box_column .msg {
	width: 54%;
	float: right;
	border: none;
	padding: 0;
}
.faqFrame .box_column:nth-of-type(even) .msg {
	float: left;
}
.faqFrame .msg h3 {
	margin-top: 0;
}
.faqFrame .msg .tablelayout {
	margin-bottom: 30px;
}
.faqFrame .box_column .pic {
	width: 44%;
	float: left;
	padding: 0 20px 20px;
}
.faqFrame .box_column .pic img {
	margin-top: 20px;
}
.faqFrame .box_column:nth-of-type(even) .pic {
	float: right;
}
.faqFrame .box_column .pic img {
	width: 100%;
}
.faqFrame .box_column .pic p {
	margin-bottom: 20px;
}
.faqFrame .box_column .pic p:last-of-type {
	margin-bottom: 0;
}
.faqFrame .pic02 {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: space-around;
	justify-content: space-around;
	padding: 0;
}
@media screen and (max-width:498px) {
	.faqFrame .pic02 {
		display: block;
	}
}
.faqFrame .pic02 li {
	-webkit-box-flex: 1;
	flex: 1;
	flex-grow: 1;
	list-style: none;
	margin: 40px auto 20px;
	text-align: center;
}
.faqFrame .linkImage span, .faqFrame .box_column .pic p span, .faqFrame .pic02 li span {
	display: block;
	text-align: center;
	margin-top: 8px;
	font-size: 0.9em;
}
.faqFrame .pic02 li span {
	width: 90%;
	margin: 8px auto 0;
}
.faqFrame .pic02 li img {
	width: 90%;
}
.faqFrame .linkImage {
	text-align: center;
}
.faqFrame .linkImage img {
	width: 80%;
}
.faqFrame .mainImg {
	margin-bottom: 25px;
	position: relative;
}
.faq_wooden_house .mainImg{/*舩津追記_木の家*/
	margin-bottom: 0;
}
.faqFrame .mainImg img {
	width: 100%;
}
.faqFrame .box_column.mainImgFrame {
	padding: 0;
}
.faqFrame .box_column.mainImgFrame .msg {
	padding: 20px 50px 40px 0;
}
.faqFrame .box_column.mainImgFrame .pic {
	padding: 0 20px 40px 50px;
}
.faqFrame .mainImg span {
	position: absolute;
	right: 0;
	top: 0;
	color: #ffffff;
	font-size: 0.9em;
	line-height: 1.5;
	background-color: #777777;
	display: block;
	padding: 10px 20px;
}
.faqFrame .page_link {
	margin-bottom: 50px;
}
.faqFrame .pageLink {
	text-align: center;
	padding: 0;
	margin: 0 auto 60px;
}
.faqFrame .pageLink li {
	list-style: none;
	display: inline-block;
	margin-right: 20px;
}
.faqFrame .pageLink li:last-of-type {
	margin-right: 0;
}
.faqFrame .pageLink li a {
	color: #FFF;
	border: solid 1px #FFF;
	border-radius: 3px;
	padding: 22px 22px 12px 22px;
	text-decoration: none;
	display: inline-block;
	vertical-align: middle;
}
.faqFrame .pageLink li a:hover {
	background: rgb(0, 0, 0, 0.3);
	transition: 0.7s;
}
.faqFrame .pageLink li a span::after {
	position: absolute;
	top: 0;
	bottom: 4px;
	margin: auto;
	content: "";
	vertical-align: middle;
	right: 15px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #FFF;
	border-right: 1px solid #FFF;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.faqFrame .pageLink li span {
	display: block;
	position: relative;
	margin-top: 8px;
}
.faqFrame .pageLink li img {
	width: 100%;
	max-width: 280px;
}

/*230303_舩津追記*/
.faq_mokuji_box br{
	display: none;
}
/* supervision */

.supervision div {
	padding: 30px 0 50px;
}
.supervision article {
	max-width: 100%;
}
.supervision h5 {
	margin: 1.5em 30px 1em;
}
.supervision .pic {
	width: 18%;
}
.supervision .pic02 {
	width: 10%;
}
.supervision .txt {
	width: 77%;
	padding-right: 60px;
}
.supervision .floatL.txt.txt02 {
	width: 86%;
}
.supervision .floatL.txt {
	width: 77%;
	padding-left: 70px;
	padding-right: 0;
}
.supervision .txt dt {
	margin-bottom: 20px;
	font-size: 1.3em;
	margin-left: -60px;
	position: relative;
	background-color: #FFF;
	padding: 12px 15px;
}
.supervision .txt dt span {
	font-size: 0.8em;
	margin-left: 20px;
}
.supervision .txt dd {
	font-size: 0.9em;
}
@media screen and (max-width: 719px) {/*240219舩津追記*/
	.faqFrame .pageLink li {
		margin-right: 0;
		margin-top: 20px;
		margin-bottom: 10px;
	}
}
@media screen and (max-width:498px) {
	.faqFrame .catch {
		margin-bottom: 20px;
	}
	.supervision .floatL.txt, .supervision .floatR.pic, .faqFrame .box_column .pic, .faqFrame .box_column .msg, .faqFrame .floatL, .faqFrame .floatR, .supervision .pic, .supervision .txt {
		width: 100%;
		float: none;
	}
	.supervision div {
		padding: 0;
	}
	.supervision article {
		padding: 0 20px;
	}
	.supervision h5 {
		margin: 1.5em 0 1em;
	}
	.supervision .txt {
		padding: 0 0 20px;
	}
	.supervision .floatL.txt {
		padding-left: 0;
	}
	.supervision .txt dt {
		margin: 0 0 10px;
		padding: 0;
	}
	.supervision .pic {
		padding-bottom: 20px;
	}
	.faqFrame .msg .tablelayout {
		margin-bottom: 15px;
	}
	.faqFrame .box_column.mainImgFrame .msg {
		padding: 0 30px 10px 20px;
	}
	.faqFrame .box_column.mainImgFrame .pic {
		padding: 0 20px 20px 20px;
	}
	.faqFrame .pic02 li {
		margin: 10px auto 20px;
	}
}
/*--------------------------------------- ROOM TOUR */
.room_tour_img {
	text-align: center;
}
.room_tour_img img {
	
}
.container_room_tour {

}
.container_room_tour .room_tour_number {
	padding-top: 2vw;
	padding-bottom: 1vw;
}
.container_room_tour h2 {
}
.container_room_tour .msg {
	padding-top: 2vw;
}
.container_room_tour .grid_img {
	padding-top: 6vw;
}
.container_room_tour .data {
	padding-top: 6vw;
}
.container_room_tour .data ul {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(10px, 1vw, 20px);
	padding: clamp(20px, 2vw, 40px);;
	list-style: none;
	background-color: #F2EDE7;
	margin-top: 3vw;
	margin-bottom: 3vw;
}
.container_room_tour .data ul li {

}
.container_room_tour .page_link {
	padding: 3vw 0;
}
.youtube_img table th,
.youtube_img table td {
	padding: 5px 0;
}
.youtube_img .editor-style-btn1 {
	margin: 0 2px;
}
.youtube_img .editor-style-btn1 a {
	display: block!important;
}