@charset "UTF-8";

/*
Theme Name: 2023mj_mamesen.net
Description: 2023mj_mamesen.net
Theme URI: https://
Author: https://majestic.tokyo
Author URI: https://majestic.tokyo
Version: 1.0.0
*/

.min {
	font-family: "Shippori Mincho", "游明朝", "YuMincho", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

* {
	font-size: inherit;
	line-height: inherit;
}
*, *:before, *:after {
	box-sizing: inherit;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html, body {
	margin: 0;
	padding: 0;
}
body {
	color: #251E1F;
	font-size: 17px;
	line-height: 1.8;
	font-weight: normal;
	font-family: Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	vertical-align: middle;
}
p {
	margin:0 0 1.5em 0;
	padding: 0;
	font-weight: normal;
}
p:last-child {
	margin: 0;
}
p span {
	font-weight: normal;
}

@media screen and (max-width: 768px) {
	body {
		font-size: 16px;
	}
}
@media screen and (max-width: 430px) {
	body {
		font-size: 14px;
	}
}
@media screen and (max-width: 320px) {
	body {
		font-size: 13px;
	}
}

/****************************************
 * リンク
*****************************************/

a {
	color: #251E1F;
	text-decoration: none;
	transition: all .3s ease;
	word-break: break-all;
}
a:hover {
	opacity: .7;
}
a img {
	transition: all .3s;
	-webkit-transition: all .3s;
}
a img:hover {
	opacity: .7;
}

/*single テキストリンク
*****************************************/
#single .contents_textbox a,
#page .contents a {
	color: #1d2f53;
	text-decoration: underline;
}

/* 別ウィンドウリンク
*****************************************/
.window {
	display: inline-block;
	position: relative;
	padding-right: 28px;
	line-height: 1;
}
.window:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 3px;
	transform: translateY(-50%);
	background: url(images/common/icon_window-2888C9.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 12px;
	height: 12px;
}

.windowF {
	display: inline-block;
	position: relative;
	padding-right: 28px;
	line-height: 1;
}
.windowF:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 3px;
	transform: translateY(-50%);
	background: url(images/common/icon_window-FFF.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 12px;
	height: 12px;
}

/* メインボタン
*****************************************/
a.main_btn {
	min-width: 320px;
	text-decoration: none !important;
	display: inline-block;
	margin: 0 1em;
	padding: 0 60px;
	line-height: 60px;
	color: #FFF !important;
	background: #1D3053;
	border: 1px solid #1D3053;
	border-radius: 6px;
}
a.main_btn:hover {
	opacity: 1;
    background: #FFF;
    color: #1D3053 !important;
    border: 1px solid #1D3053;
    box-shadow: 0 0 12px 0 rgb(19 71 52 / 20%);
}

@media screen and (max-width: 768px) {
	a.main_btn {
		padding: 0 3em 0 2em;
	}
}
@media screen and (max-width: 560px) {
	a.main_btn {
		font-weight: bold;
		line-height: 52px;
	}
}
@media screen and (max-width: 430px) {
	a.main_btn {
		min-width: 280px;
	}
}
@media screen and (max-width: 320px) {
	a.main_btn {
		min-width: 250px;
	}
}

/* 予約ボタン
 * *************************************/

a.booking_btn {
	display: inline-block;
	width: 100%;
    margin: 0 auto;
    line-height: 73px;
    background: url(images/p-contact/mainbtn_bg.jpg) no-repeat;
    background-size: cover;
	background-position: left center;
    color: #1B4687;
	border-radius: 4px;
    font-weight: bold;
    text-align: center;
}
a.booking_btn:hover {
	opacity: 1;
    transform: translateY(-2px);
	box-shadow: 0px 8px 16px rgba(0, 0, 0, 10%);
}

a.booking_btn52 {
	display: inline-block;
	width: 100%;
    margin: 0 auto;
    line-height: 52px;
    background: url(images/common/mainbtn_bg52.jpg) no-repeat;
    background-size: cover;
    color: #1B4687;
	border-radius: 4px;
    font-weight: bold;
    text-align: center;
}
a.booking_btn52:hover {
	opacity: 1;
    transform: translateY(-2px);
	box-shadow: 0px 3px 8px rgba(0, 0, 0, 6%);
}

a.booking_btn40 {
	display: inline-block;
	width: 100%;
    margin: 0 auto;
    line-height: 40px;
    background: url(images/common/mainbtn_bg40.jpg) no-repeat;
    background-size: cover;
	background-position: left center;
    color: #FFF;
	border-radius: 4px;
    font-weight: bold;
	font-size: 13px;
    text-align: center;
}
a.booking_btn40:hover {
	opacity: 1;
    transform: translateY(-2px);
	box-shadow: 0px 3px 8px rgba(0, 0, 0, 6%);
}

@media screen and (max-width: 560px) {
	a.booking_btn {
		background: url(images/p-contact/mainbtn_bg_sp.jpg) no-repeat;
		background-size: cover;
		background-position: left center;
		font-size: 16px;
	}
	a.booking_btn52 {
		background: url(images/common/mainbtn_bg52_sp.jpg) no-repeat;
		background-size: cover;
		background-position: left center;
		font-size: 16px;
	}
	a.booking_btn40 {
		background: url(images/common/mainbtn_bg40_sp.jpg) no-repeat;
		background-size: cover;
		background-position: left center;
		font-size: 16px;
	}
}


/* 問い合わせボタン・LINEボタン
*****************************************/

a.btn_mail {
	display: inline-block;
	width: 320px;
	margin: 0 auto;
	color: #FFF !important;
	text-decoration: underline;
	position: relative;
}
a.btn_mail:hover {
	
}
a.btn_mail span.btn_mail_text {
	margin: 0 !important;
}
a.btn_line {
	display: inline-block;
	border: 3px solid #03c755;
}
a.btn_line img:hover {
	opacity: 1;
}
a.btn_line:hover {
	opacity: 1;
	box-shadow: 0 0 12px 0 rgb(19 71 52 / 25%);
	border: 3px solid #FFF;
}

@media screen and (max-width: 960px) {
	a.btn_mail {
		width: 280px;
		line-height: 58px;
		font-size: 1.1em !important;
	}
}
@media screen and (max-width: 768px) {
	a.btn_mail {
		width: 240px;
		line-height: 46px;
	}
}


/* 過ごし方ボタン
*****************************************/

.spend_btn {
	display: block;
    width: 260px;
    padding: 12px;
	color: #FFF !important;
    text-decoration: none !important;
    text-align: center;
	background: url(images/common/spend_btn_bg.jpg) no-repeat;
	background-size: cover;
	background-position: left center;
}

@media screen and (max-width: 430px) {
	.spend_btn {
		width: 220px;
		padding: 8px;
	}
}

/****************************************
 * 見出し
*****************************************/
h1, h2, h3, h4, h5, h6 {
	font-weight: 600;
	margin: 0;
	text-align: center;
	font-family: "Shippori Mincho", "游明朝", "YuMincho", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* h2
*****************************************/

h2 {
	font-size: 2.3em;
	margin-bottom: 60px;
	color: #1B4687;
}
.main_title {
	line-height: 1;
	position: relative;
	z-index: 1;
}

#single h2 {
	text-align: left;
    font-size: 1.6em;
	font-weight: bold;
	line-height: 1.6;
    margin: 45px 0;
    padding: 6px 6px 6px 30px;
	background: #FAF7F4;
	position: relative;
}
#single h2:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
    transform: translateY(-50%);
	background: #1d2f53;
	width: 3px;
	height: 92%;
}
#single h2:after {
	content: "";
	position: absolute;
	left: 7px;
	top: 50%;
    transform: translateY(-50%);
	background: #BA9C6D;
	width: 3px;
	height: 92%;
}

@media screen and (max-width: 768px) {
	h2 {
		font-size: 1.8em;
	}
	
	.main_title img {
		width: auto;
		height: 58px;
	}
	#single h2 {
		font-size: 1.3em;
	}
}
@media screen and (max-width: 560px) {
	h2 {
		font-size: 1.6em;
		margin-bottom: 45px;
	}
	
	.main_title img {
		width: auto;
		height: 45px;
	}
	#single h2 {
		font-size: 1.2em;
		margin: 30px 0;
	}
}
@media screen and (max-width: 430px) {
	h2 {
		font-size: 1.5em;
		margin-bottom: 30px;
	}
	
	.main_title {
		letter-spacing: .1em;
		margin-right: -0.1em;
	}
	.main_title:before {
		width: 220px;
	}
	.main_title span {
		letter-spacing: 2px;
	}
	
	#single h2 {
		font-size: 1.2em;
	}
}
@media screen and (max-width: 380px) {
	
	.main_title img {
		width: auto;
		height: 38px;
	}
}
@media screen and (max-width: 320px) {
	h2 {
		font-size: 1.3em;
	}
	.main_title img {
		width: auto;
		height: 32px;
	}
	
	#single h2 {
		font-size: 1.1em;
		padding: 6px 6px 6px 26px;
		margin: 24px 0;
	}
}

/* h3
*****************************************/

h3 {
	font-size: 1.8em;
	margin-bottom: 60px;
	color: #1d2f53;
}
#single h3 {
	text-align: left;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.6;
    margin: 45px 0;
}


@media screen and (max-width: 560px) {
	h3 {
		font-size: 1.6em;
		margin-bottom: 30px;
	}
	.archive_title {
		font-size: 1.1em;
	}
	#single h3 {
		font-size: 1.2em;
		margin: 30px 0;
	}
}
@media screen and (max-width: 430px) {
	h3 {
		font-size: 1.4em;
	}
	.archive_title {
		font-size: 1em;
	}
	#single h3 {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 320px) {
	h3 {
		font-size: 1.3em;
	}
	#single h3 {
		font-size: 1em;
		margin: 24px 0;
	}
}

/* h4
*****************************************/

h4 {
	font-size: 1.6em;
	margin-bottom: 45px;
	color: #1d2f53;
}
#single h4 {
	text-align: left;
	font-size: 1.3em;
	font-weight: bold;
	line-height: 1.6;
    margin: 30px 0;
	padding: 0 0 0 16px;
	position: relative;
}
#single h4:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
    transform: translateY(-50%);
	background: #1d2f53;
	width: 3px;
	height: 92%;
}

@media screen and (max-width: 560px) {
	h4 {
		font-size: 1.4em;
		margin-bottom: 30px;
	}
	#single h4 {
		font-size: 1.2em;
	}
}
@media screen and (max-width: 430px) {
	h4 {
		font-size: 1.2em;
	}
	#single h4 {
		font-size: 1.1em;
		margin: 24px 0;
	}
}
@media screen and (max-width: 320px) {
	h4 {
		font-size: 1.1em;
	}
	#single h4 {
		font-size: 1em;
		margin: 18px 0;
	}
}

/* h5
*****************************************/

h5 {
	font-size: 1.2em;
}
#single h5 {
	text-align: left;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.6;
    margin: 30px 0;
}

@media screen and (max-width: 560px) {
	h5,
	#single h5 {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 430px) {
	#single h5 {
		margin: 24px 0;
	}
}
@media screen and (max-width: 320px) {
	h5 {
		font-size: 1em;
	}
	#single h5 {
		font-size: 1em;
		margin: 18px 0;
	}
}

/* h6
*****************************************/

h6 {
	font-size: 1.2em;
}
#single h6 {
	text-align: left;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.6;
    margin: 30px 0;
}



/****************************************
リスト
*****************************************/
table {
	table-layout: fixed;
}
dl,
dt,
dd {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul ul{
	margin-left: 1em;
}

/****************************************
 * レスポンシブ
*****************************************/

@media screen and (min-width: 1025px) {/*1025px以上で*/
	.tb {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width:1024px) {/*1024px以下で*/
	.tb {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 560px) {/*560px以下で*/
	.tb {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}

/****************************************
 * ヘッダー
*****************************************/

header {
	padding: 12px 0 30px;
	background: #FFF;
}
header .header_discription {
	padding: 0 0 12px;
	line-height: 1;
}
header .header_discription .bloginfo {
	text-align: left;
	font-weight: normal;
	font-size: .8em;
	line-height: 1;
}
header .header_main {
}
header .header_main .inner {
	position: relative;
}
header .header_main .header_middle_flex {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
}
header .header_main .header_middle_flex .header_middle_booking {
	width: calc(100% - 250px);
}
header .header_main .header_middle_flex .header_nav_flex___booking {
	width: 540px;
    margin-left: auto;
}

header .header_nav {
	margin-top: 22px;
}
header .header_nav nav {
	width: 100%;
}
header .header_nav nav ul#menu-header_nav {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
}
header .header_nav nav ul#menu-header_nav li {
	position: relative;
	text-align: center;
	margin-right: 26px;
}
header .header_nav nav ul#menu-header_nav li:last-child {
	margin-right: 0;
}
header .header_nav nav ul#menu-header_nav li a {
	display: block;
	line-height: 1;
	font-size: .9em;
	text-align: center;
	font-weight: 500;
	padding-left: 12px;
	position: relative;
}
header .header_nav nav ul#menu-header_nav li a:before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: #50372c;
    width: 1px;
    height: 0;
    transition: .3s;
}
header .header_nav nav ul#menu-header_nav li a:hover {
	color: #1B4687;
	opacity: 1;
}
header .header_nav nav ul#menu-header_nav li a:hover::before {
	height: 100%;
	background: #1B4687;
}
header .header_nav nav ul#menu-header_nav ul {
	background: #FFF;
	width: 12em;
	position: absolute;
	top: 100%;
	left: -2px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	z-index: 1;
}
header .header_nav nav ul#menu-header_nav ul li {
	width: 100%;
	margin: 0;
	text-align: left;
	border-bottom: 1px solid #ededed;
}
header .header_nav nav ul#menu-header_nav ul li:before {
	content: none;
}
header .header_nav nav ul#menu-header_nav ul li a {
	display: inline-block;
	padding: 8px 12px;
}
header .header_nav nav ul#menu-header_nav ul {
	visibility: hidden;
	opacity: 0;
	transition: .2s ease-in-out;
}
header .header_nav nav ul#menu-header_nav li:hover > ul {
	padding: 8px 0 0;
	visibility: visible;
	opacity: 1;
}

/* プラン予約 */
ul.booking {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
}
ul.booking li {
	width: calc((100% / 2) - 14px);
}

@media screen and (max-width: 1024px) {
	header .header_main .inner {
		padding: 0 30px;
	}
	
	header .header_main .header_middle_flex .header_middle_logo {
		width: 180px;
	}
	header .header_main .header_middle_flex .header_middle_nav {
		width: calc(100% - 180px);
	}
	header .header_nav nav ul#menu-header_nav li {
		margin-right: 12px;
	}
}
@media screen and (max-width: 768px) {
	header .header_main .header_middle_flex {
		flex-direction: column;
	}
	header .header_main .header_middle_flex .header_middle_logo {
		width: 180px;
	}
	header .header_main .header_middle_flex .header_middle_booking {
		width: 100%;
		margin-top: 18px;
	}
	
	header .header_main .header_middle_flex .header_nav_flex___booking {
		width: 520px;
	}
	
	header .header_nav nav ul#menu-header_nav {
		flex-wrap: wrap;
		justify-content: center;
		margin-top: -3px;
	}
	header .header_nav nav ul#menu-header_nav li {
		width: calc(100% / 5);
		margin: 3px 0 0 0;
		border-right: 1px solid #ededed;
	}
	header .header_nav nav ul#menu-header_nav li:first-child {
		border-left: 1px solid #ededed;
	}
	header .header_nav nav ul#menu-header_nav li a {
		padding: 12px;
	}
	
}
@media screen and (max-width: 559px) {
	header {
		position: static;
		padding-bottom: 16px;
	}
	header .header_discription {
		padding: 0 0 8px;
	}
	header .header_discription .inner {
		padding: 0 30px;
	}
	header .header_discription .header_discription_bloginfo {
		overflow-x: auto;
		white-space: nowrap;
	}
	header .header_discription .bloginfo {
		padding: 3px 0;
		margin-right: 60px;
	}
	header .header_main .header_middle_flex {
		flex-direction: column;
		align-items: flex-start;
	}
	header .header_main .header_middle_flex .header_middle_logo {
		width: 135px;
	}
	header .header_main .header_middle_flex .header_middle_booking {
		display: none;
	}
	header .header_main .header_middle_flex .header_middle_nav,
	header .header_main .header_middle_flex .header_nav_flex___nav {
		margin-top: 0;
	}
	
	header .header_nav {
		padding: 0;
		margin: 0;
	}
}
@media screen and (max-width: 430px) {
	header .header_main .header_middle_flex .header_middle_logo {
		width: 120px;
	}
	
	ul.booking {
		flex-direction: column;
	}
	ul.booking li {
		width: 100%;
		margin-top: 12px;
	}
}
@media screen and (max-width: 380px) {
	header .header_discription {
		padding: 0 0 5px;
	}
	header .header_discription .inner,
	header .header_main .inner {
		padding: 0 16px;
	}
	header .header_main .header_middle_flex .header_middle_logo {
		width: 105px;
	}
	
}
@media screen and (max-width: 320px) {
	header .header_main .header_middle_flex .header_middle_logo {
		width: 90px;
	}
}

/****************************************
 * 上部固定ヘッダー
*****************************************/

.fix_header {
	background: url(images/common/bg.jpg) repeat;
	background-size: 200px;
	color: #333;
	position: fixed;
	top: -100px;
	left: 0;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	padding: 18px 0;
	opacity:0;
	z-index: 1000;
	box-shadow: 0 0 6px rgb(0 0 0 / 20%);
}
.fix_header .fix_header_flex {
	width: 100%;
	display: flex;
	align-items: center;
}
.fix_header .fix_header_flex .fix_header_flex___logo {
	width: 120px;
}
.fix_header .fix_header_flex .fix_header_flex___nav {
	width: calc(100% - 120px);
	padding-left: 60px;
}
.fix_header .fix_header_flex .fix_header_flex___nav .fix_header_booking {
	width: 440px;
	margin-left: auto;
}
.fix_header .fix_header_flex .fix_header_flex___nav .fix_header_booking ul {
	display: flex;
}
.fix_header .fix_header_flex .fix_header_flex___nav .fix_header_booking ul li {
	width: calc((100% / 2) - 14px);
}
	
.fix_header nav#fix_header {
	width: 100%;
	margin: 16px auto 0;
}
.fix_header ul {
	list-style: none;
    margin: 0;
    padding: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
}
.fix_header ul > li {
	line-height: 1;
	font-size: 1em;
	position: relative;
	margin-left: 18px;
}
.fix_header ul li:first-child {
	margin-left: 0;
}
.fix_header ul li:hover {
	
}
.fix_header ul.sub-menu {
	width: 100%;
	background: #F1F0ED;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: absolute;
	top: 100%;
	left: 0;
	padding: 0;
	margin: 0;
	transition: all .4s ease;
	visibility: hidden;
	opacity: 0;
	border-top: 2px solid #978e7c;
	z-index: 1;
}
.fix_header ul.sub-menu > li {
	width: 100%;
	text-align: center;
	line-height: 1;
	font-size: 1em;
	border-left: 1px solid #978e7c;
	border-right: 1px solid #978e7c;
	border-bottom: 1px solid #978e7c;
}
.fix_header ul li:hover ul.sub-menu {
	visibility: visible;
	opacity: 1;
}
.fix_header ul.menu > li > a {
	display: block;
	color: #000;
	font-size: .8em;
	padding-left: 12px;
	position: relative;
}
.fix_header ul.menu > li > a:before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: #333;
    width: 1px;
    height: 0;
    transition: .3s;
}
.fix_header ul.menu > li > a:hover {
	color: #A07A51;
    opacity: 1;
}
.fix_header ul.menu > li > a:hover::before {
	height: 100%;
}

@media screen and (max-width: 1180px) {
	.fix_header ul.menu > li > a {
		
	}
	.fix_header ul li.home {
		width: calc(100% - 600px);
	}
	.fix_header .fix_header_flex .fix_header_flex___nav {
		padding-left: 45px;
	}
}
@media screen and (max-width: 1024px) {
	.fix_header {
		display: none;
	}
}

/****************************************
 * ナビゲーション
 * スマートフォン
*****************************************/

#gn-full-screen {
	display: none;
}

@media screen and (max-width: 560px) {
	#gn-full-screen {
		display: block;
	}
	
	/*ハンバーガーメニュー*/
	#gn-full-screen .hamburger {
		position: fixed;
		right: 30px;
		top: 30px;
		width: 35px;
		height: 20px;
		z-index: 9999;
	}
	#gn-full-screen .hamburger-line {
		display: block;
		height: 3px;
		background: #1D3053;
		position: absolute;
		transition:transform .3s;
		width: 100%;
	}
	#gn-full-screen .hamburger-line-center{
		top: 12px;
	}
	#gn-full-screen .hamburger-line-bottom{
		bottom: -6px;
	}
	#gn-full-screen .hamburger-line-top.active{
		top: 8px;
		transform: rotate(45deg);
	}
	#gn-full-screen .hamburger-line-top.active {
		top: 13px;
		background: #2888C9;
	}
	#gn-full-screen .hamburger-line-center.active{
		transform:scaleX(0);
	}
	#gn-full-screen .hamburger-line-bottom.active{
		bottom: 5px;
		background: #2888C9;
		transform: rotate(135deg);
	}
	
	/*ナビゲーション*/
	#gn-full-screen nav.gn-full-screen-menu {
		width: 100%;
		height: 100vh;
		overflow-y: scroll;
		background: #FFF;
		display: none;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 999;
	}
	#gn-full-screen .menu-sp-menu-container {
		width: 90%;
		margin: 50px auto;
		padding-right: 5px;/*スクロールバー分*/
	}
	
	#gn-full-screen .sp_nav {
		margin: 30px auto 0;
		padding: 15px 60px 30px;
	}
	
	#gn-full-screen .sp_nav .nav_menu {
		text-align: center;
		margin: 0 auto 0;
	}
	#gn-full-screen .sp_nav .nav_menu img {
		width: 150px;
	}
	#gn-full-screen ul#menu-sp_nav {
		list-style: none;
		margin: 30px auto 0;
		padding: 0;
		display: flex;
		flex-direction: column;
	}
	#gn-full-screen ul#menu-sp_nav li {
		width: 100%;
		margin: 0;
		font-family: "Shippori Mincho", "游明朝", "YuMincho", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	}
	#gn-full-screen ul#menu-sp_nav li a {
		display: block;
		font-size: 1.2em;
		color: #1B4687;
		padding: 8px 30px;
	}
	#gn-full-screen ul#menu-sp_nav li a:hover {
		transform: none;
	}
	
	#gn-full-screen .sp_nav .nav_cotact {
		text-align: center;
		margin: 30px auto 0;
	}
	#gn-full-screen .sp_nav .nav_cotact a {
		padding: 0;
		line-height: 52px;
	}
	#gn-full-screen .sp_nav .nav_cotact a.booking_btn40 {
		font-size: 14px;
	}
	#gn-full-screen ul.cotact_list {
		list-style: none;
		margin: 0 auto;
		padding: 0;
		display: flex;
	}
	#gn-full-screen ul.cotact_list li {
		width: 100%;
		margin: 0;
	}
	#gn-full-screen ul.cotact_list li span {
		display: inline-block;
		margin-bottom: 18px;
	}
}
@media screen and (max-width: 430px) {
	#gn-full-screen .sp_nav {
		padding: 15px 30px 30px;
	}
	#gn-full-screen .sp_nav .nav_menu {
		margin: 0 auto;
	}
	#gn-full-screen ul#menu-sp_nav li a {
		padding: 12px 30px;
	}
}
@media screen and (max-width: 380px) {
	#gn-full-screen .hamburger {
		top: 20px;
		right: 20px;
	}
}
@media screen and (max-width: 360px) {
	#gn-full-screen .sp_nav .nav_menu {
		margin: 12px auto 0;
	}
	#gn-full-screen ul#menu-sp_nav li a {
		padding: 12px 30px;
	}
}
@media screen and (max-width: 320px) {
	#gn-full-screen .sp_nav .nav_menu img {
		width: 120px;
	}
	#gn-full-screen ul#menu-sp_nav {
		margin-top: 8px;
	}
	#gn-full-screen ul#menu-sp_nav li a {
		padding: 8px 30px;
	}
}

/****************************************
 * レイアウト
*****************************************/

.inner {
	padding: 0 60px;
	width: 1260px;
	margin: 0 auto;
}
.inner__nr {
	padding: 0 60px;
	width: 980px;
	margin: 0 auto;
}
.inner__wd {
	padding: 0 30px;
}
main {
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
}
article {
	overflow: hidden;
	width: 100%;
}
article.front-page,
article#page {
	background: #FFF;
}
article#archive,
article#single {
	background: #FFF;
}
section {
	padding: 120px 0;
}
section#office,
.contents#spend {
	padding-bottom: 0;
}
.contents {
	margin: 0 auto 0;
}

/* 2カラム */
article .flexbox {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
article .flexbox .flexbox___main {
	order: 2;
	width: calc(100% - 340px);
}
aside {
	order: 1;
	width: 280px;
	margin-right: 60px;
	position: relative;
}

/*ページ*/
.block {
	padding: 120px 0;
}
.block:last-child {
	padding-bottom: 0;
}

@media screen and (max-width: 1260px) {
	.inner,
	.inner__nr {
		width: 100%;
	}
}
@media screen and (max-width: 1024px) {
	section {
		padding: 90px 0;
	}
	article .flexbox .flexbox___main {
		width: calc(100% - 200px);
	}
	aside {
		width: 200px;
		margin-right: 30px;
	}
}
@media screen and (max-width: 768px) {
	.inner,
	.inner__nr {
		padding: 0 60px;
	}
	article .flexbox .flexbox___main {
		width: calc(100% - 150px);
	}
	aside {
		width: 150px;
	}
	
	/*ページ*/
	.block {
		padding: 90px 0;
	}
}
@media screen and (max-width: 559px) {
	.inner,
	.inner__nr {
		padding: 0 45px;
	}
	section {
		padding: 75px 0;
	}
	section.contents {
		padding: 75px 0;
	}
	
	article .flexbox {
		flex-direction: column;
	}
	article .flexbox .flexbox___main,
	aside {
		width: 100%;
		margin: 0;
	}
	aside {
		margin-top: 0;
	}
	
	/*ページ*/
	.block {
		padding: 75px 0;
	}
}
@media screen and (max-width: 430px) {
	.inner,
	.inner__nr {
		padding: 0 30px;
	}
	section {
		padding: 60px 0;
	}
	section.contents {
		padding: 60px 0;
	}
	#archive .contents {
		padding: 60px 0;
	}
	
	/*ページ*/
	.block {
		padding: 60px 0;
	}
}
@media screen and (max-width: 320px) {
	.inner,
	.inner__nr {
		padding: 0 20px;
	}
	section {
		padding: 45px 0;
	}
	section.contents {
		padding: 45px 0;
	}
	#archive .contents {
		padding: 45px 0;
	}
	
	/*ページ*/
	.block {
		padding: 45px 0;
	}
}

/****************************************
 * フェードイン
*****************************************/

.fadein {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s;
}

/****************************************
 * パンくず
*****************************************/

.breadcrumbs_area {
	padding: 18px 0;
	border-bottom: 1px solid #ededed;
}
.breadcrumbs {
	font-size: .8em;
	color: #000;
}
.breadcrumbs a {
	color: #1D3053;
}

@media screen and (max-width: 560px) {
	.breadcrumbs {
		overflow-x: auto;
		white-space: nowrap;
	}
}
@media screen and (max-width: 560px) {
	.breadcrumbs_area {
		padding: 20px 0;
	}
}


/****************************************
 * p-back.php
*****************************************/

#back {
	padding: 12px 0;
	text-align: right;
	font-size: .8em;
}

@media screen and (max-width: 560px) {
	#back {
		padding: 0;
		margin-bottom: 60px;
		font-size: 1em;
	}
}


/****************************************
 * p-contact.php
*****************************************/

#p-contact {
	background: url(images/p-contact/bg.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
}
#p-contact .p-contact_outline {
	padding: 45px 60px;
	background: linear-gradient(135deg, #ba9c6d 0%,#a07a51 50%,#a07a51 50%);
	color: #FFF;
	box-shadow: 0 0 12px 0 rgb(19 71 52 / 20%);
	border-top: 12px solid #FFF;
    border-bottom: 12px solid #FFF;
}
#p-contact .p-contact_promise {
	border-bottom: 1px solid #FFF;
	margin-bottom: 30px;
    padding-bottom: 30px;
}
#p-contact .p-contact_promise .p-contact_promise_title {
	text-align: center;
	margin: 0 0 18px;
	color: #FFF;
}
#p-contact .p-contact_promise .p-contact_promise_article {
	width: 800px;
    margin: 0 auto;
}

#p-contact .p-contact_box {
	width: 100%;
	max-width: 620px;
	margin-left: auto;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	text-align: center;
}
#p-contact .p-contact_box .p-contact___flex {
	width: 100%;
	text-align: center;
}
#p-contact .p-contact_box .p-contact___flex .p-contact___booking {
	
}
#p-contact .p-contact_box .p-contact___flex .p-contact___booking ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
}
#p-contact .p-contact_box .p-contact___flex .p-contact___booking ul li {
	width: calc((100% / 2) - 14px);
}
#p-contact .p-contact_box .p-contact___flex .p-contact___contact {
	margin-top: 12px;
	display: flex;
    justify-content: center;
	align-items: center;
}
#p-contact .p-contact_box .p-contact___flex .p-contact___contact .tel_box {
	margin-right: 30px;
	color: #FFF;
	display: flex;
	align-items: center;
}
#p-contact .p-contact_box .p-contact___flex .p-contact___contact .tel_box a.tel {
	display: inline-block;
	color: #FFF;
	font-size: 1.6em;
	line-height: 1;
	padding-left: 26px;
	position: relative;
}
#p-contact .p-contact_box .p-contact___flex .p-contact___contact .tel_box a.tel:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-46%);
	background: url(images/common/icon_phone-ebe4d4.png) no-repeat;
	background-size: 100%;
	width: 24px;
	height: 24px;
}
#p-contact .p-contact_box .p-contact___flex .p-contact___contact .mail_box a.mail {
	color: #FFF;
	line-height: 1;
	border-bottom: 1px solid;
}

@media screen and (max-width: 960px) {
	#p-contact .p-contact_promise .p-contact_promise_article {
		width: 100%;
	}
	#p-contact .p-contact_box .p-contact_text {
		width: calc(100%/2 + 30px);
		padding-right: 30px;
		font-size: .9em;
	}
	#p-contact .p-contact_box .p-contact_mail {
		width: calc(100%/2 - 30px);
		padding-left: 30px;
	}
	#p-contact .p-contact_box .p-contact_mail span {
		font-size: 1em;
	}
}
@media screen and (max-width: 768px) {
	#p-contact .p-contact_outline {
		padding: 45px;
	}
	#p-contact .p-contact_box .p-contact_text,
	#p-contact .p-contact_box .p-contact_mail {
		width: 50%;
	}
	#p-contact .p-contact_promise .p-contact_promise_title {
		font-size: 1.5em;
	}
}
@media screen and (max-width: 559px) {
	#p-contact {
		background: url(images/p-contact/bg_sp.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
	
	#p-contact .p-contact_box .p-contact___flex .p-contact___booking ul {
		flex-direction: column;
		width: 280px;
		margin: -12px auto 0;
	}
	#p-contact .p-contact_box .p-contact___flex .p-contact___booking ul li {
		width: 100%;
		margin-top: 12px;
	}
	
	#p-contact .p-contact_box .p-contact___flex .p-contact___contact {
		flex-direction: column;
		margin-top: 30px;
	}
	#p-contact .p-contact_box .p-contact___flex .p-contact___contact .tel_box {
		margin-right: 0;
	}
	#p-contact .p-contact_box .p-contact___flex .p-contact___contact .mail_box {
		margin-top: 12px;
	}
}
@media screen and (max-width: 430px) {
	#p-contact .p-contact_box .p-contact___flex .p-contact___booking ul {
		width: 100%;
		margin: -12px auto 0;
	}
	#p-contact .p-contact_box .p-contact___flex .p-contact___booking ul li {
		width: 100%;
		margin-top: 12px;
	}
	
	#p-contact .p-contact_box .p-contact___flex .p-contact___contact {
		font-size: 1.2em;
	}
	#p-contact .p-contact_box .p-contact___flex .p-contact___contact .tel_box {
		flex-direction: column;
	}
	#p-contact .p-contact_box .p-contact___flex .p-contact___contact .tel_box span.open {
		display: block;
		margin-top: 12px;
	}
}
@media screen and (max-width: 320px) {
	#p-contact .p-contact_outline {
		padding: 20px;
	}
}

/****************************************
 * 共通
*****************************************/

/*ビジュアル
*****************************************/
.page_topimage {
	padding: 0;
	position: relative;
}
.page_topimage .page_topimage_flex {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.page_topimage .page_topimage_flex .page_topimage_title {
	display: flex;
	align-items: center;
	padding-left: 90px;
}
.page_topimage .page_topimage_flex .page_topimage_title .topimage_title {
	text-align: center;
	margin: 0;
    padding: 18px 60px;
}
.page_topimage .page_topimage_flex .page_topimage_title .topimage_title span {
	display: block;
	text-transform: uppercase;
	margin: 12px 0 0;
	font-size: .36em;
	font-weight: normal;
	color: transparent;
	background: repeating-linear-gradient( 90deg, #2848C9 0, #2888C9 100% );
	-webkit-background-clip: text;
}

@media screen and (max-width: 1024px) {
	.page_topimage .page_topimage_flex .page_topimage_title {
		padding-left: 60px;
	}
	.page_topimage .page_topimage_flex .page_topimage_title .topimage_title {
		padding: 12px 0;
	}
}
@media screen and (max-width: 768px) {
	.page_topimage .page_topimage_flex .page_topimage_title {
		padding-left: 0;
	}
	.page_topimage .page_topimage_flex .page_topimage_title .topimage_title span {
		font-size: .3em;
		margin-bottom: -3px;
	}
	.page_topimage .page_topimage_flex .page_topimage_title .topimage_title span.en {
		font-size: .3em;
		margin-top: -6px;
		margin-bottom: 0;
	}
}
@media screen and (max-width: 560px) {
	.page_topimage .page_topimage_flex .page_topimage_title .topimage_title {
		padding: 30px 30px;
		font-size: 1.8em;
	}
	.page_topimage .page_topimage_flex .page_topimage_title .topimage_title span {
		font-size: .4em;
		margin-bottom: 0;
	}
	.page_topimage .page_topimage_flex .page_topimage_title .topimage_title span.en {
		font-size: .4em;
		margin-top: 0;
		margin-bottom: 0;
	}
}
@media screen and (max-width: 430px) {
	.page_topimage .page_topimage_flex .page_topimage_title .topimage_title {
		font-size: 1.6em;
		padding: 30px 30px;
	}
	.page_topimage .page_topimage_flex .page_topimage_title_inbox {
		padding: 20px;
	}
}
@media screen and (max-width: 380px) {
	.page_topimage .page_topimage_flex .page_topimage_title .topimage_title {
		font-size: 1.4em;
	}
}
@media screen and (max-width: 320px) {
	.page_topimage .page_topimage_flex .page_topimage_title .topimage_title {
		font-size: 1.3em;
		padding: 20px;
	}
}

/*見出し
*****************************************/
.pagecontents_title {
	font-size: 2em;
	text-align: center;
}
.pagecontents_title span {
	display: block;
	text-transform: uppercase;
	font-size: .4em;
	font-weight: bold;
}

@media screen and (max-width: 560px) {
	.pagecontents_title {
		font-size: 1.5em;
	}
}
@media screen and (max-width: 430px) {
	.pagecontents_title {
		font-size: 1.3em;
	}
}
@media screen and (max-width: 320px) {
	.pagecontents_title {
		font-size: 1.2em;
	}
}

/*ボタンボックス
*****************************************/
.button_box {
	text-align: center;
	margin-top: 45px;
	position: relative;
	z-index: 0;
}

@media screen and (max-width: 430px) {
	.button_box {
		margin-top: 30px;
	}
}

/* スクロール
 * ****************************************/

@media screen and (max-width: 560px) {
	.scroll_outline {
		position: relative;
	}
	.scroll_outline p.scroll_text {
		margin: 0 0 6px;
		animation: fadeleft 3s infinite;
	}
	@keyframes fadeleft {
		from {
			opacity: 0;
			transform: translateX(60px);
		}
		to {
			opacity: 1;
			transform: translateX(0);
		}
	}
	
	.scroll_outline p.scroll_text span {
		display: inline-block;
		color: #9E3746;
		font-size: .9em;
		font-weight: bold;
		padding-right: 24px;
		position: relative;
	}
	.scroll_outline p.scroll_text span:before {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%) rotate(45deg);
		width: 8px;
		height: 8px;
		background: #FFF;
		border-top: 2px solid #9E3746;
		border-right: 2px solid #9E3746;
		transition: all .3s ease;
	}
	.scroll_outline p.scroll_text span:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 16px;
		height: 2px;
		background: #9E3746;
		transition: all .3s ease;
	}
	#plan_support .scroll_outline p.scroll_text {
		position: absolute;
		top: 15px;
	}
	.scroll {
		overflow-x: scroll;
	}
}
@media screen and (max-width: 430px) {
	#plan_support .scroll_outline p.scroll_text {
		top: 3px;
	}
}


/*マーカー
*****************************************/
span.mkr_gold {
	display: inline;
	background:linear-gradient(transparent 40%, #D9C9AF 40%);
}



/*ページ内ジャンプ
*****************************************/
.jump {
	margin-bottom: 90px;
}
.jump ul {
	margin: -30px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.jump ul li {
	width: calc(100% / 2 - 180px);
	margin: 0 auto 0;
}
.jump a {
	display: inline-block;
	width: 320px;
	padding-left: 60px;
    font-size: 1.2em;
	font-family: "Shippori Mincho", "游明朝", "YuMincho", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-decoration: none !important;
	line-height: 1;
	position: relative;
}
.jump a:before {
	content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(images/common/hishigata_blue.png) no-repeat;
    background-size: 100%;
    width: 44px;
    height: 30px;
    transition: all .7s ease;
}
.jump a:hover:before {
    background: url(images/common/hishigata.png) no-repeat;
    background-size: 100%;
    transition: all .7s ease;
}
.jump a:hover {
	opacity: 0.7;
    cursor: pointer;
}

@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
	.jump {
		margin-bottom: 75px;
	}
}
@media screen and (max-width: 560px) {
	.jump {
		margin-bottom: 60px;
	}
	.jump ul li {
		width: calc(100% / 2);
	}
	.jump a {
		width: 100%;
		padding: 45px 0 0;
		text-align: center;
	}
	.jump a:before {
		top: 0;
		left: 50%;
		transform: translate(-50%, 0);
		width: 38px;
		height: 26px;
	}
}
@media screen and (max-width: 430px) {
	.jump a {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 390px) {
	.jump a {
		font-size: .93em;
	}
}
@media screen and (max-width: 320px) {
	.jump a:before {
		width: 30px;
		height: 21px;
	}
}




    


/*ルビ
 * ****************************************/

rt {
  font-size: .6em;
}


/****************************************
 * トップページ
*****************************************/

/* トップイメージ
*****************************************/
.topimage {
	padding: 0;
	margin: 0 0 90px;
	position: relative;
}
.topimage img.topimage_text {
	position: absolute;
	left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
	z-index: 1;
}

@media screen and (max-width: 1024px) {
	.topimage img.topimage_text {
		width: 350px;
	}
}
@media screen and (max-width: 768px) {
	.topimage img.topimage_text {
		width: 300px;
	}
}



/* スライダー
*****************************************/
#top_slider {
	padding: 0;
}
#top_slider img {
	width: 100%;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

img.arrow_bg {
	position: absolute !important;
	right: 0;
	bottom: -1px; /*線のような隙間ができるため*/
	z-index: 1;
}

/* arrow */
.slick-arrow {
	position: absolute;
	bottom: 28px;
	z-index: 9;
	cursor: pointer;
}
.slick-arrow.arrow_prev {
	right: 150px;
}
.slick-arrow span.prev {
	transform: none;
	display: block;
	padding-bottom: 18px;
	font-size: .8em;
	transition: all .3s ease;
}
.slick-arrow span.prev:before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 3px;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
	width: 40px;
	height: 8px;
	transition: all .3s ease;
	transform: skew(-45deg);
}
.slick-arrow.arrow_next {
	right: 60px;
}
.slick-arrow span.next {
	transform: none;
	display: block;
	padding-bottom: 18px;
	font-size: .8em;
	transition: all .3s ease;
}
.slick-arrow span.next:before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 0;
	right: 3px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	width: 40px;
	height: 8px;
	transition: all .3s ease;
	transform: skew(45deg);
}
.slick-arrow span.prev:hover,
.slick-arrow span.next:hover {
	color: #2868C9;
}
.slick-arrow span.prev:hover:before,
.slick-arrow span.next:hover:before {
	border-color: #2868C9;
}

#onsen .slick-arrow {
    bottom: -60px;
}
#onsen .slick-arrow.arrow_next {
	left: 150px;
	right: auto;
}
#onsen .slick-arrow.arrow_prev {
	left: 60px;
	right: auto;
}

@media screen and (max-width: 768px) {
	.topimage {
		margin: 0 0 45px;
	}
}
@media screen and (max-width: 560px) {
	.topimage {
		margin: 0 0 60px;
	}
	img.arrow_bg {
		width: 280px;
	}
	.slick-arrow {
		bottom: 16px;
	}
	.slick-arrow.arrow_prev {
		right: 125px;
	}
	.slick-arrow.arrow_next {
		right: 45px;
	}
	
	#onsen .slick-arrow.arrow_next {
		left: 60px;
	}
	#onsen .slick-arrow.arrow_prev {
		left: 0;
	}
}
@media screen and (max-width: 430px) {
	img.arrow_bg {
		width: 225px;
	}
	.slick-arrow {
		bottom: 12px;
	}
	.slick-arrow.arrow_prev {
		right: 105px;
	}
	.slick-arrow.arrow_next {
		right: 30px;
	}
	
	#onsen .slick-arrow.arrow_next {
		right: -12px;
		left: auto;
	}
	#onsen .slick-arrow.arrow_prev {
		left: -12px;
	}
}


/* バナー 
 * *************************************/

.banner {
	padding-top: 0;
}
.banner a {
	display: inline-block;
	margin: 15px auto;
}





/* イントロ
*****************************************/
.introduction {
	padding-top: 0;
}
.introduction .introduction_box {
	display: flex;
	align-items: stretch;
	position: relative;
}
.introduction .introduction_img {
	width: 100%;
}
.introduction .introduction_img img {
	width: 48%;
}
.introduction .introduction_main {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.introduction .introduction_main .introduction_textarea {
	display: flex;
    align-items: center;
	position: relative;
	max-width: 1140px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
}
.introduction .introduction_main .introduction_textarea .introduction_text {
	width: 480px;
	margin-left: auto;
}
.introduction .introduction_title {
	text-align: left;
	font-size: 1.6em;
	margin-bottom: 30px;
}

@media screen and (max-width: 1130px) {
	
}
@media screen and (max-width: 1024px) {
	.introduction .introduction_img {
		margin-left: -90px;
	}
	.introduction .introduction_main .introduction_textarea .introduction_text {
		width: 580px;
		padding-right: 60px;
	}
}
@media screen and (max-width: 768px) {
	.introduction .introduction_box {
		flex-direction: column;
	}
	.introduction .introduction_img {
		margin: 0;
		
	}
	.introduction .introduction_img img {
		width: 80%;
	}
	.introduction .introduction_main {
		position: static;
	}
	.introduction .introduction_main .introduction_textarea .introduction_text {
		width: 100%;
		padding: 0 60px;
		margin-top: 30px;
	}
	.introduction .introduction_title {
		font-size: 1.3em;
	}
}
@media screen and (max-width: 560px) {
	.introduction .introduction_box {
		flex-direction: column;
	}
	.introduction .introduction_img {
		margin: 0;
		
	}
	.introduction .introduction_img img {
		width: 90%;
	}
	.introduction .introduction_main {
		position: static;
	}
	.introduction .introduction_main .introduction_textarea .introduction_text {
		padding: 0 45px;
	}
	.introduction .introduction_title {
		font-size: 1.3em;
	}
}
@media screen and (max-width: 430px) {
	.introduction .introduction_main .introduction_textarea .introduction_text {
		padding: 0 30px;
	}
}

/* サービス
*****************************************/

.service {
	
}
.service .service_box {
	width: 1600px;
	margin: 0 auto;
}
.service ul.service_items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.service ul.service_items li {
	position: relative;
}
.service ul.service_items li:nth-child(1),
.service ul.service_items li:nth-child(2) {
	width: calc((100% - 18px) / 2);
}
.service ul.service_items li:nth-child(3),
.service ul.service_items li:nth-child(4),
.service ul.service_items li:nth-child(5) {
	width: calc((100% - 36px) / 3);
	margin-top: 18px;
}
.service ul.service_items a {
	display: block;
}
.service ul.service_items a,
.service ul.service_items a img:hover {
	opacity: 1;
}
.service ul.service_items li .service_item {
	overflow: hidden;
	width: 100%;
	margin: 0;
	text-align: center;
	cursor: pointer;
	position: relative;
	border-radius: 12px;
	transition: all 1s;
}
.service ul.service_items li .service_item:hover {
	
}
.service ul.service_items li .service_item img.service_bg {
	display: block;
	position: relative;
	transition: transform .8s;
}
.service ul.service_items li .service_item:hover > img.service_bg {
	transform: scale(1.12);
	transition: transform .8s;
}
.service ul.service_items .service_item_inbox {
	width: 100%;
    height: 100%;
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	cursor: pointer;
	z-index: 1;
}
.service ul.service_items .service_item_inbox .service_title {
	margin: 0;
	position: relative;
    z-index: 1;
}


@media screen and (max-width: 1680px) {
	.service .service_box {
		width: 100%;
	}
	.service ul.service_items {
		padding: 0 90px;
	}
}
@media screen and (max-width: 1024px) {
	.service ul.service_items {
		padding: 0 60px;
	}
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
	.service {
		padding: 45px 0;
	}
}
@media screen and (max-width: 560px) {
	.service {
		padding: 0;
	}
	.service ul.service_items {
		flex-direction: column;
		padding: 0 45px;
		margin-top: -12px !important;
	}
	.service ul.service_items li {
		width: 100% !important;
		margin-top: 12px !important;
	}
	.service ul.service_items li .service_item {
		border-radius: 6px;
	}
}
@media screen and (max-width: 430px) {
	.service ul.service_items {
		padding: 0 30px;
	}
	.service ul.service_items .service_item_inbox .service_title img {
		width: 220px;
	}
}


/* 宿泊プラン
*****************************************/

.plan {
	background: url(images/front-page/plan_bg.jpg) no-repeat;
	background-position: bottom center;
	background-size: contain;
}
.plan .plan_box {
	width: 1600px;
	margin: 0 auto;
}
ul.plan_items {
	width: 100%;
	list-style: none;
    margin: 0 auto;
    padding: 0 0 75px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
ul.plan_items li {
	width: calc((100% - 90px) / 3);
	height: 100%;
	margin: 30px 30px 0; /*シャドウ分の上を確保*/
	background: #FFF;
	box-shadow: 0px 8px 16px rgba(0, 0, 0, 10%);
	border-radius: 16px;
}
ul.plan_items li a {
	height: 100%;
	padding: 30px;
	display: flex;
    align-items: stretch;
    flex-direction: column;
}
ul.plan_items li a img:hover {
	opacity: 1;
}
ul.plan_items li a:hover img.plan_photo {
	transform: scale(1.1);
}
ul.plan_items li img.rank {
	display: block;
	margin: 0 auto;
}
ul.plan_items li .plan_item_title {
	font-weight: bold;
	margin-top: 18px;
	line-height: 1.6;
}
ul.plan_items li .plan_item_photo {
	overflow: hidden;
	margin-top: 18px;
	border-radius: 12px;
	position: relative;
}
ul.plan_items li .plan_item_photo img.plan_photo {
	display: block;
	width: 100%;
	transition: .5s;
}
ul.plan_items li .plan_item_photo img.plan_img_bg {
	position: absolute;
	right: 0;
	bottom: -1px;
}
ul.plan_items li .plan_item_text {
	margin-top: 30px;
	font-size: .9em;
}
ul.plan_items li .plan_item_text p.btnlike {
	max-width: 240px;
	width: 100%;
	margin: 0 auto;
	line-height: 58px;
	background: url(images/common/btn_bg.jpg) no-repeat;
	background-size: cover;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	border-radius: 4px;
}


/*スライド*/
ul.plan_items .slick-track {
	height: 100% !important;
	padding-bottom: 60px;
}

@media screen and (max-width: 1680px) {
	.plan .plan_box {
		width: 100%;
	}
	ul.plan_items {
		padding: 0 90px 75px;
	}
	ul.plan_items li {
		margin: 30px 18px 0;
	}
}
@media screen and (max-width: 1380px) {
	ul.plan_items {
		padding: 0 60px 75px;
	}
	ul.plan_items li {
		width: calc((100% - 60px) / 3);
		margin: 30px 12px 0;
	}
}
@media screen and (max-width: 1024px) {
	ul.plan_items {
		padding: 0 30px 60px;
	}
	ul.plan_items li {
		width: calc((100% - 30px) / 3);
	}
}
@media screen and (max-width: 960px) {
	
}
@media screen and (max-width: 768px) {
	
}
@media screen and (max-width: 560px) {
	ul.plan_items {
		padding: 0 30px 45px;
	}
	ul.plan_items li img.rank {
		margin-top: -50px;
	}
	ul.plan_items li .plan_item_photo {
		border-radius: 6px;
	}
	ul.plan_items li a {
		padding: 30px 30px 18px;
	}
}
@media screen and (max-width: 430px) {
	ul.plan_items {
		padding: 0 20px 45px;
	}
	ul.plan_items li a {
		padding: 20px 20px 12px;
	}
	ul.plan_items li img.rank {
		margin-top: -40px;
	}
	ul.plan_items li .plan_item_photo,
	ul.plan_items li .plan_item_title {
		margin-top: 12px;
	}
	ul.plan_items li .plan_item_text {
		margin-top: 18px;
	}
}
@media screen and (max-width: 380px) {
	ul.plan_items {
		padding: 0 16px 45px;
	}
	ul.plan_items li a {
		padding: 18px 18px 12px;
	}
}
@media screen and (max-width: 320px) {
	ul.plan_items li img.rank {
		margin-top: -30px;
	}
	ul.plan_items li .plan_item_photo,
	ul.plan_items li .plan_item_title {
		margin-top: 6px;
	}
	ul.plan_items li .plan_item_text {
		margin-top: 12px;
	}
	ul.plan_items li a {
		padding: 16px 16px 8px;
	}
}

/* 通知文
*****************************************/

.notice {
	padding: 60px 0;
    background-color: #FAFAFA;
    background-image: radial-gradient(#EDEDED 20%, transparent 20%), radial-gradient(#EDEDED 20%, transparent 20%);
    background-size: 12px 12px;
    background-position: 0 0, 6px 6px;
}
.notice .notice_outline {
	margin: 0 60px;
	padding: 45px;
	background: #FFF;
	border-radius: 12px;
	border: 1px solid #EDEDED;
}
.notice .notice_title {
	font-size: 1.3em;
    padding-bottom: 12px;
    margin-bottom: 30px;
	border-bottom: 1px solid #EDEDED;
}
.notice .notice_box {
	text-align: center;
}
.notice .notice_box a {
	display: inline-block;
	background: #fafafa;
	font-size: .9em;
	line-height: 1.3;
	padding: 12px 3em 12px 1em;
    border-radius: 30px;
	border: 1px solid #ededed;
	position: relative;
}
.notice .notice_box a:before {
	content: "";
	width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 1px #999;
    border-right: solid 1px #999;
    position: absolute;
    top: 50%;
    right: 1.6em;
    transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 560px) {
	.notice .notice_outline {
		margin: 0 45px;
		padding: 30px 0;
	}
}
@media screen and (max-width: 430px) {
	.notice .notice_outline {
		margin: 0 30px;
		padding: 30px 0;
	}
}
@media screen and (max-width:320px) {
	.notice .notice_outline {
		margin: 0 20px;
	}
}


/* お知らせ
*****************************************/
.news {
	background-image: url(images/front-page/news_bg_left.png), url(images/front-page/news_bg_right.png);
	background-size: contain, contain;
	background-repeat: no-repeat, no-repeat;
	background-position: bottom left, top right;
}
#archive .news_box {
	padding: 0 120px;
}
.news .news_flex {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
.news .news_flex .news_title {
	width: 22.5%;
}
.news .news_flex ul.news_list {
	width: 63.33333%;
}


@media screen and (max-width: 960px) {
	.news .news_box,
	#archive .news_box {
		padding: 0 60px;
	}
}
@media screen and (max-width: 768px) {
	.news .news_box,
	#archive .news_box {
		padding: 0;
	}
	.news .news_flex .news_title {
		width: 28%;
	}
	.news .news_flex .news_title img {
		width: 100%;
		height: auto;
	}
	.news .news_flex ul.news_list {
		width: 70%;
	}
}
@media screen and (max-width: 560px) {
	.news .news_flex {
		flex-direction: column;
	}
	.news .news_flex .news_title,
	.news .news_flex ul.news_list {
		width: 100%;
	}
	.news .news_flex .news_title img {
		width: auto;
		height: 45px;
	}
}
@media screen and (max-width: 380px) {
	.news .news_flex .news_title img {
		height: 38px;
	}
}
@media screen and (max-width: 320px) {
	.news .news_flex .news_title img {
		height: 32px;
	}
}

/****************************************
 * Gutenberg（グーテンベルク）
*****************************************/

.wp-caption {}
.wp-caption-text {}
.sticky {}
.gallery-caption {}
.bypostauthor {}
.screen-reader-text {}

.wp-block-quote {
	background: #FAF7F4;
	padding: 15px 15px 15px 1.3em !important;
}
figure.wp-block-table {
	padding: 0;
	width: 100%;
	border-collapse: collapse;
}
figure.wp-block-table table th,
figure.wp-block-table table td {
	
}
figure.wp-block-table table th {
	background: #E1D4C0;
	
}
.wp-block-group {
	
}
figure {
	display: block;
	margin: 0;
}
figcaption {
	line-height: 1.5;
	font-size: .8em;
	text-align: center;
	margin-top: 15px;
}

@media screen and (max-width: 559px) {
	.wp-block-media-text__content {
		padding: 0 !important;
		margin-top: 45px;
	}
}
@media screen and (max-width: 480px) {
	.wp-block-media-text__content,
	.wp-block-group {
		margin-top: 30px;
	}
}
@media screen and (max-width: 430px) {
	.wp-block-group {
		margin-top: 30px;
	}
	figure.wp-block-table table th {
		width: 25%;
	}
	figure.wp-block-table table th,
	figure.wp-block-table table td {
		padding: 15px;
	}
}
@media screen and (max-width: 320px) {
	.wp-block-media-text__content {
		margin-top: 20px;
	}
}


/****************************************
 * 固定ページ 共通
*****************************************/

#page .block.meal_top {
	padding-bottom: 0;
	background: url(images/page/bg_meal.jpg) no-repeat;
	background-size: cover;
    background-position: center;
}
#page .block.ofuro_top {
    width: 100%;
	background: url(images/page/bg_onsen.jpg) no-repeat;
	background-size: cover;
    background-position: center;
}
#page .block.room_top {
    width: 100%;
	background: url(images/page/bg_room.jpg) no-repeat;
	background-size: cover;
    background-position: center;
}
#page .block.guide_top {
    width: 100%;
	background: url(images/page/bg_guide.jpg) no-repeat;
	background-size: cover;
    background-position: center;
}

#page .vertical {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: flex;
    flex-direction: column;
    align-items: flex-start;
	justify-content: center;
}
#page p.page_top_title {
	font-size: 1.6em;
	line-height: 3;
}
#page p.page_top_title span {
	font-size: 1.03em;
	display: inline-block;
	background: linear-gradient(90deg, #2888C9 0%, #1B4687 33%, #2868C9 62%, #2888C9 83%, #2888C9 100%);
	background: -webkit-linear-gradient(0deg, #2888C9 0%, #2848C9 33%, #2868C9 62%, #2888C9 83%, #2888C9 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#page p.page_top_p {
	font-size: 1.2em;
	line-height: 3;
	margin-right: 60px;
}

@media screen and (max-width: 768px) {
	#page p.page_top_title {
		font-size: 1.4em;
		line-height: 2.6;
	}
	#page p.page_top_p {
		font-size: 1.1em;
		line-height: 2.6;
		margin-right: 45px;
	}
}
@media screen and (max-width: 560px) {
	#page .block.meal_top {
		background: url(images/page/bg_sp_meal.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
	#page .block.ofuro_top {
		background: url(images/page/bg_sp_onsen.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
	#page .block.room_top {
		background: url(images/page/bg_sp_room.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
	#page .block.guide_top {
		background: url(images/page/bg_sp_guide.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
	
	#page p.page_top_title {
		font-size: 1.2em;
		line-height: 2;
	}
	#page p.page_top_p {
		font-size: 1em;
		line-height: 2;
	}
}
@media screen and (max-width: 430px) {
	#page .vertical {
		flex-direction: row;
		align-items: center;
		justify-content: center;
	}
	#page p.page_top_title {
		font-size: 1.3em;
		line-height: 3;
	}
	#page p.page_top_p {
		font-size: 1.1em;
		line-height: 2.6;
		margin-right: 0;
	}
}




/****************************************
 * 固定ページ
 * 料理
*****************************************/

.flex {
	display: flex;
	align-items: center;
}
.flex .flex___text {
	width: calc(100% - 600px);
}
.flex .flex___text.left {
	padding-right: 60px;
}
.flex .flex___text.right {
	padding-left: 60px;
}
.flex .flex___image {
	width: 600px;
}

.animation_img {
	margin-top: 90px;
}

/* IE11対策 */
_:-ms-lang(x)::-ms-backdrop,
.animation_img {
	display: -ms-grid;
	overflow: hidden;
}

.animation_img .animation_img_box {
  display: flex;
  overflow: hidden;
}
.animation_img ul.animation_list {
  display: flex;
  list-style: none;
	margin: 0;
	padding: 0;
}
.animation_img ul.animation_list.flowleft{
	animation: infinity-scroll-left 90s infinite linear 0s both;
}
.animation_img ul.animation_list li {
  width: calc(100vw / 4);
}
.animation_img ul.animation_list li > img{
   width: 100%;
}
@keyframes infinity-scroll-left {
  from {
	  transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}

#meal .block.meal_middle p.meal_middle_p1 {
	font-size: 1.6em
}
#meal .block.meal_middle p.meal_middle_p2 {
	
}
#meal .block.meal_bottom {
	text-align: center;
}

@media screen and (max-width: 560px) {
	.animation_img {
		margin-top: 60px;
	}
	.animation_img ul.animation_list li {
	  width: calc(100vw / 3);
	}
}
@media screen and (max-width: 430px) {
	.animation_img {
		margin-top: 45px;
	}
}

/****************************************
 * 固定ページ
 * 風呂
*****************************************/

#onsen .block.ofuro_topbottom .flex {
	overflow: hidden;
	border-radius: 12px;
	margin: 90px 120px 0;
	display: flex;
}
#onsen .block.ofuro_topbottom .flex figure {
	margin: 0;
}

#onsen .block.ofuro_middle .ofuro_middle_box {
    position: relative;
    margin: 0 auto;
}
#onsen .block.ofuro_middle .ofuro_middle_box .ofuro_middle_box___left {
	width: 600px;
}
#onsen .block.ofuro_middle .ofuro_middle_box .ofuro_middle_box___right {
	position: absolute;
	top: 50%;
	right: 0;
	width: 600px;
	height: auto;
	/*background: #FFF;
    background: rgba(255,255,255,.9);*/
	box-shadow: 0px 8px 16px rgba(0, 0, 0, 10%);
	background: url(images/onsen/ofuro_middle_box___right_bg.jpg) no-repeat;
	background-size: cover;
	padding: 60px;
}
#onsen .block.ofuro_middle ul.ofuro_slider {
	padding: 0;
}
#onsen .block.ofuro_middle .ofuro_title {
	font-size: 1.3em;
	margin-bottom: 12px;
}
#onsen .block.ofuro_bottom {
	padding-bottom: 0;
}
#onsen .block.ofuro_bottom img {
	display: block;
	margin: 0 auto;
}
#onsen .block.ofuro_bottom .onsen_flex {
	margin: 60px 105px 0;
	display: flex;
}
#onsen .block.ofuro_bottom .onsen_flex .onsen_flex___left {
	width: 180px;
}
#onsen .block.ofuro_bottom .onsen_flex .onsen_flex___right  {
	width: calc(100% - 180px);
	padding-left: 30px;
}

@media screen and (max-width: 1024px) {
	#onsen .block.ofuro_topbottom .flex {
		margin: 0 90px;
	}
	#onsen .block.ofuro_middle .ofuro_middle_box .ofuro_middle_box___right {
		width: 540px;
		padding: 45px;
	}
}
@media screen and (max-width: 768px) {
	#onsen .block.ofuro_topbottom .flex {
		margin: 0 60px;
	}
	#onsen .block.ofuro_middle .ofuro_middle_box .ofuro_middle_box___left {
		width: 480px;
	}
	#onsen .block.ofuro_middle .ofuro_middle_box .ofuro_middle_box___right {
		width: 380px;
		padding: 30px;
	}
	
	#onsen .block.ofuro_bottom .onsen_flex {
		margin: 60px 0 0;
	}
	#onsen .block.ofuro_bottom .onsen_flex .onsen_flex___left {
		width: 150px;
	}
	#onsen .block.ofuro_bottom .onsen_flex .onsen_flex___right {
		width: calc(100% - 150px);
	}
}
@media screen and (max-width: 560px) {
	#onsen .block.ofuro_topbottom .flex {
		margin: 0 60px;
	}
	#onsen .block.ofuro_middle .ofuro_middle_box .ofuro_middle_box___left {
		width: 100%;
	}
	#onsen .block.ofuro_middle .ofuro_middle_box .ofuro_middle_box___right {
		width: 340px;
		padding: 30px;
		top: auto;
		bottom: -6%;
	}
	
	#onsen .block.ofuro_bottom .onsen_flex .onsen_flex___left {
		width: 120px;
	}
	#onsen .block.ofuro_bottom .onsen_flex .onsen_flex___right {
		width: calc(100% - 120px);
	}
}
@media screen and (max-width: 430px) {
	#onsen .block.ofuro_topbottom .flex {
		margin: 0 30px;
		border-radius: 6px;
		flex-direction: column;
	}
	#onsen .block.ofuro_topbottom .flex a:nth-child(2) {
		border-top: 1px solid #FFF;
		border-bottom: 1px solid #FFF;
	}
	#onsen .block.ofuro_middle .ofuro_middle_box .ofuro_middle_box___left {
		width: 100%;
		padding: 0 12px;
	}
	#onsen .block.ofuro_middle .ofuro_middle_box .ofuro_middle_box___right {
		position: static;
		width: 100%;
		padding: 20px;
		margin-top: 30px;
	}
	
	#onsen .slick-arrow {
		bottom: auto;
		top: 50%;
		transform: translateY(-50%);
	}
	#onsen .slick-arrow span.next,
	#onsen .slick-arrow span.prev {
		font-size: 0;
	}
	
	#onsen .block.ofuro_bottom .onsen_flex .onsen_flex___left {
		width: 90px;
		padding-top: 5px;
	}
	#onsen .block.ofuro_bottom .onsen_flex .onsen_flex___right {
		width: calc(100% - 90px);
		font-size: .9em;
		padding-left: 20px;
	}
}
@media screen and (max-width: 320px) {
	#onsen .block.ofuro_topbottom .flex {
		margin: 0 20px;
	}
	#onsen .block.ofuro_bottom .onsen_flex .onsen_flex___left {
		width: 75px;
	}
	#onsen .block.ofuro_bottom .onsen_flex .onsen_flex___right {
		width: calc(100% - 75px);
		font-size: .9em;
	}
}

/****************************************
 * 固定ページ
 * 客室
*****************************************/

#room .room_middle img.room_photo {
	display: block;
	margin-right: auto;
	border-radius: 0 12px 12px 0;
}
#room .room_middle_right img.room_photo {
	display: block;
	margin-left: auto;
	border-radius: 12px 0 0 12px;
}
#room .room_middle .room_slide {
	position: relative;
	width: 1200px;
	height: 600px;
}
#room .room_middle_right .room_slide {
	position: relative;
	overflow: hidden;
	width: 1200px;
	height: 600px;
	margin-left: auto;
}
#room .room_slide img {
  display: block;
  position: absolute;
  width: inherit;
  height: inherit;
  opacity: 0;
  animation: slideAnime 30s ease infinite;
}
#room .room_slide img:nth-of-type(1) { animation-delay: 0s }
#room .room_slide img:nth-of-type(2) { animation-delay: 5s }
#room .room_slide img:nth-of-type(3) { animation-delay: 10s }
#room .room_slide img:nth-of-type(4) { animation-delay: 15s }
#room .room_slide img:nth-of-type(5) { animation-delay: 20s }
#room .room_slide img:nth-of-type(6) { animation-delay: 25s }

@keyframes slideAnime{
	0% { opacity: 0 }
	10% { opacity: 1 }
	20% { opacity: 1 }
	30% { opacity: 0 }
	100% { opacity: 0 }
}


#room .room_middle .room_description {
	margin: 60px 0 0 120px;
}
#room .room_description .room_title {
	text-align: left;
	margin-bottom: 18px;
}
#room .room_middle_right .room_description {
	margin: 60px 120px 0 0;
}
#room .room_middle_right .room_title {
	text-align: right;
	margin-bottom: 18px;
}
#room .room_middle .room_description p.memo,
#room .room_middle_right .room_description p.memo {
	font-size: .9em;
	margin: -18px 0 0;
}
#room .room_bottom {
	padding-top: 60px;
}
#room .room_bottom .room_bottom_circle {
	display: flex;
	justify-content: space-around;
}
#room .room_bottom .room_bottom_circle figure {
	width: calc(100% / 3 - 60px);
}
#room .room_bottom .room_bottom_box {
	margin-top: 30px;
	padding: 60px;
	border-top: 1px solid #2848C9;
	border-bottom: 1px solid #2848C9;
	position: relative;
}
#room .room_bottom .room_bottom_box:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background: url(images/room/room_bottom_box_bg_top.png) no-repeat;
	background-size: 100%;
	background-position: top;
	width: 100%;
	height: 120px;
	z-index: -1;
}
#room .room_bottom .room_bottom_box:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	background: url(images/room/room_bottom_box_bg_bottom.jpg) no-repeat;
	background-size: 100%;
	background-position: bottom;
	width: 100%;
	height: 190px;
	z-index: -2;
}
#room .room_bottom .room_bottom_title {
	text-align: left;
    margin-bottom: 12px;
    font-size: 1.2em;
	color: #1d2f53;
	padding-left: 46px;
	position: relative;
}
#room .room_bottom .room_bottom_title:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/hishigata.png) no-repeat;
	background-size: 100%;
	width: 28px;
	height: 19px;
	transition: all .7s ease;
}

#room .google_view {
	position: relative;
	margin-top: 12px;
}
#room .google_view label.google_view_label {
	display: inline-block;
	margin: 0;
	cursor: pointer;
	transition: all .3s ease;
}
#room .google_view label.google_view_label span {
	display: inline-block;
	padding-right: 28px;
	font-weight: bold;
	position: relative;
}
#room .google_view label.google_view_label span:before {
	content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(45deg);
    border: 0;
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
    width: 10px;
    height: 10px;
    transition: all .3s ease;
}
#room .google_view label.google_view_label:hover {
	opacity: 1;
	color: #1d2f53;
}
#room .google_view label.google_view_label span:hover:before {
	border-bottom: solid 1px #BA9C6D;
    border-right: solid 1px #BA9C6D;
}
#room .google_view .google_view_box {
	position: relative;
	overflow: hidden;
	height: 0;
	padding: 0;
	transition: .4s ease;
	opacity: 0;
}
#room .google_view input[type=checkbox]:checked ~ .google_view_box {
	height: auto;
	padding: 18px 0 0;
	opacity: 1;
}
#room .google_view input[type=checkbox] {
  display: none;
}

@media screen and (max-width: 1024px) {
	#room .room_middle .room_slide,
	#room .room_middle_right .room_slide {
		width: 900px;
		height: 450px;
	}
	#room .room_middle .room_description {
		margin: 60px 60px 0 120px;
	}
	#room .room_middle_right .room_description {
		margin: 60px 120px 0 60px;
	}
}
@media screen and (max-width: 768px) {
	#room .room_middle .room_slide,
	#room .room_middle_right .room_slide {
		width: 768px;
		height: 384px;
	}
	#room .room_middle img.room_photo,
	#room .room_middle_right img.room_photo {
		border-radius: 0;
	}
	#room .room_middle .room_description,
	#room .room_middle_right .room_description {
		margin: 60px 0 0;
	}
	
	#room .room_bottom .room_bottom_circle figure {
		width: calc(100% / 3 - 45px);
	}
	#room .room_bottom .room_bottom_box {
		padding: 45px;
	}
}
@media screen and (max-width: 560px) {
	#room .room_middle .room_slide,
	#room .room_middle_right .room_slide {
		width: 560px;
		height: 320px;
	}
	#room .room_middle .room_description,
	#room .room_middle_right .room_description {
		margin: 45px 0 0;
	}
	
	#room .room_bottom .room_bottom_circle figure {
		width: calc(100% / 3 - 30px);
	}
	#room .room_bottom .room_bottom_box {
		padding: 30px;
	}
	
}
@media screen and (max-width: 430px) {
	#room .room_middle .room_slide,
	#room .room_middle_right .room_slide {
		width: 100%;
		height: 244px;
	}
	#room .room_middle .room_description,
	#room .room_middle_right .room_description {
		margin: 30px 0 0;
	}
	#room .room_description .room_title {
		text-align: center;
	}
	
	#room .room_bottom {
		padding-top: 45px;
	}
	#room .room_bottom .room_bottom_circle figure {
		width: calc(100% / 3 - 18px);
	}
	#room .room_bottom .room_bottom_box {
		padding: 20px;
	}
}
@media screen and (max-width: 390px) {
	#room .room_middle .room_slide,
	#room .room_middle_right .room_slide {
		width: 100%;
		height: 222px;
	}
}
@media screen and (max-width: 376px) {
	#room .room_middle .room_slide,
	#room .room_middle_right .room_slide {
		width: 100%;
		height: 214px;
	}
}
@media screen and (max-width: 320px) {
	#room .room_middle .room_slide,
	#room .room_middle_right .room_slide {
		width: 100%;
		height: 182px;
	}
	
	#room .room_bottom {
		padding-top: 30px;
	}
	#room .room_bottom .room_bottom_circle figure {
		width: calc(100% / 3 - 12px);
	}

}

/****************************************
 * 固定ページ
 * 館内施設
*****************************************/

#guide .guide_box .guide_flex {
	display: flex;
	flex-wrap: wrap;
    align-items: stretch;
}
#guide .guide_box .guide_flex .guide_item {
	width: calc(100% / 4);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
#guide .guide_box .item_description {
	padding: 30px;
}
#guide .guide_box .item_description.des02,
#guide .guide_box .item_description.des05 {
	background: #F2F6FC;
}
#guide .guide_box .item_description.des03,
#guide .guide_box .item_description.des08 {
	background: #FBF8ED;
}
#guide .guide_box .item_description p {
	font-size: 1.3em; 
}
#guide .guide_box .item_description p span {
	display: block;
	font-size: .68em;
}

@media screen and (max-width: 1024px) {
	#guide .guide_box .item_description p {
		font-size: 1em;
	}
}
@media screen and (max-width: 560px) {
	#guide .guide_box .guide_flex .guide_item {
		width: calc(100% / 2);
	}
}
@media screen and (max-width: 430px) {
	#guide .guide_box .item_description {
		padding: 20px;
	}
}
@media screen and (max-width: 320px) {
	#guide .guide_box .item_description {
		padding: 12px;
	}
}

/****************************************
 * 固定ページ
 * アクセス
*****************************************/

#access .googlemap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
#access .googlemap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	border-radius: 12px;
}
#access .access_root_box {
	margin-top: 60px;
}

/* タブ */
.root_tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.root_tabs .tab_item {
	display: block;
	width: 320px;
	padding-left: 60px;
	font-size: 1.2em;
	font-family: "Shippori Mincho", "游明朝", "YuMincho", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	transition: all .7s ease;
	position: relative;
}
.root_tabs .tab_item:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/hishigata_blue.png) no-repeat;
	background-size: 100%;
	width: 44px;
	height: 30px;
	transition: all .7s ease;
}
.root_tabs .tab_item:hover {
	opacity: 0.7;
	cursor: pointer;
}
.root_tabs .tab_item:hover:before {
	background: url(images/common/hishigata.png) no-repeat;
	background-size: 100%;
	transition: all .7s ease;
}
.root_tabs input[name="tab_item"] {
	display: none;
}

.root_tabs input#tab01:checked~label#tab01_nav {
	transition: all .7s ease;
}
.root_tabs input#tab02:checked~label#tab02_nav {
	transition: all .7s ease;
}
.root_tabs input#tab01:checked~label#tab01_nav:before,
.root_tabs input#tab02:checked~label#tab02_nav:before {
	background: url(images/common/hishigata.png) no-repeat;
	background-size: 100%;
}

/*タブコンテンツ*/
.root_tabs .tab_content {
	display: none;
	width: 100%;
	padding: 60px 0;
	margin-top: 60px;
	clear: both;
	overflow: hidden;
}
#tab01:checked~#tab01_content,
#tab02:checked~#tab02_content {
  display: block;
  animation: show1 .7s linear 0s;
}
@keyframes show1 {
  from { opacity: 0; }
  to { opacity: 1; }
}

.root_tabs .tab_content .tab_content_title {
	margin-bottom: 30px;
	font-size: 1.2em;
	font-family: "Shippori Mincho", "游明朝", "YuMincho", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.root_tabs .tab_content p.p_scroll {
	display: none;
}
table.root_table {
	width: 100%;
}
table.root_table,
table.root_table tr,
table.root_table th,
table.root_table td {
	border-collapse: collapse;
}
table.root_table th,
table.root_table td {
	padding: 18px 12px 18px 48px;
	text-align: left;
	position: relative;
}
table.root_table th {
	background: #F2F8FC;
	border-right: 3px solid #FFF
}
table.root_table th:last-child {
	border-right: none;
}
table.root_table td {
	font-size: .9em;
}
table.root_table td span {
	display: inline-block;
	margin-left: 12px;
}
table.root_table th:before { /*円*/
	content: "";
	left: 17px;
	top: 50%;
	transform: translateY(-50%);
	background: #2888C9;
	position: absolute;
	border-radius: 50%;
	width: 20px;
	height: 20px;
}
table.root_table td:after,
table.root_table th.empty:after,
table.root_table td.empty:after { /*線*/
	content: "";
    position: absolute;
	left: 27px;
    top: 0;
    bottom: 0;
	background: #2888C9;
    height: 100%;
    width: 1px;
    z-index: -1;
}
table.root_table th.start {
	background: url(images/access/start_bg.jpg) no-repeat;
	background-size: cover;
	color: #1d2f53;
	text-align: center;
	padding: 18px;
}
table.root_table th.goal {
	text-align: center;
	padding: 12px;
}
table.root_table th.empty,
table.root_table td.empty {
	background: none;
	border-right: none;
	position: relative;
}
table.root_table td.straight {
	text-align: center;
	padding: 12px;
}
table.root_table th.start:before,
table.root_table th.goal:before,
table.root_table th.empty:before,
table.root_table td.empty:before {
	content: none;
}

#access .tabs_note {
	margin: 60px 60px 0;
}

@media screen and (max-width: 768px) {
	.root_tabs .tab_content .scroll {
		overflow-x: scroll;
	}
	.root_tabs .tab_content table.root_table {
		border-collapse: collapse;
		white-space: nowrap;
	}
	.root_tabs .tab_content p.p_scroll {
		display: block;
		text-align: right;
		font-size: .8em;
		font-weight: bold;
		color: #666;
		animation: slide_anime 2s ease 1s infinite normal backwards;
	}
	@keyframes slide_anime {
		from {
			opacity: 0; 
			transform: translateX(-20px);
		}
		to {
			opacity: 1;
			transform: translateX(0);
		}
	}
	
	table.root_table th.start {
		width: 180px;
	}
	table.root_table th.start:last-child {
		width: 260px;
	}
}
@media screen and (max-width: 560px) {
	.root_tabs .tab_content {
		margin-top: 45px;
	}
	.root_tabs .tab_item {
		width: calc(100% / 2);
		padding: 45px 0 0;
		text-align: center;
	}
	.root_tabs .tab_item:before {
		top: 0;
		left: 50%;
		transform: translate(-50%, 0);
		width: 38px;
		height: 26px;
	}
	table.root_table th.start {
		width: 150px;
	}
	table.root_table th.start:last-child {
		width: 220px;
	}
	
	#access .tabs_note {
		margin: 45px 0 0;
	}
}
@media screen and (max-width: 430px) {
	.root_tabs .tab_content {
		margin-top: 30px;
	}
	table.root_table th,
	table.root_table td {
		font-size: 14px;
		padding: 12px 12px 12px 42px;
	}
	table.root_table th:before {
		width: 16px;
		height: 16px;
	}
	table.root_table th.start {
		width: 230px;
		padding: 12px;
	}
	table.root_table th.start:last-child {
		width: 270px;
	}
	#access .tabs_note {
		margin: 30px 0 0;
	}
	.root_tabs .tab_item {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 390px) {
	.root_tabs .tab_item {
		font-size: 1em;
	}
}
@media screen and (max-width: 320px) {
	.root_tabs .tab_item:before {
		width: 30px;
		height: 21px;
	}
	
	table.root_table th,
	table.root_table td {
		padding: 12px 12px 12px 38px;
	}
	table.root_table th:before {
		width: 14px;
		height: 14px;
	}
	table.root_table th.start {
		width: 220px;
		padding: 12px;
	}
	table.root_table th.start:last-child {
		width: 270px;
	}
}

/****************************************
 * 固定ページ
 * プラン・料金
*****************************************/

/* トップページと共通 */
.price_article {
	margin-top: 0;
}
#price .price_article {
	padding: 90px 0;
}
.price_free {
	width: 100%;
	text-align: center;
	position: relative;
	padding-bottom: 30px;
}
#price .price_free {
	margin-top: 60px;
}
.price_free ul {
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-evenly;
	align-items: stretch;
}
.price_free ul li {
	width: calc(100%/3 - 30px);
	height: 280px;
	display: flex;
    justify-content: center;
    align-items: center;
	position: relative;
	z-index: 1;
}
.price_free ul li:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: url(images/price/free_bg.png) no-repeat;
	background-size: cover;
	background-position: center;
	width: 280px;
	height: 280px;
	z-index: -1;
}
.price_free ul li p {
	display: block;
	line-height: 1.2;
	font-size: 1.6em;
	font-weight: bold;
	color: #FFF;
}
.price_free ul li p span {
	display: inline-block;
	font-size: 2.6em;
	margin-right: 12px;
}
.price_free img.all_free {
	position: absolute;
	top: 100%;
	left: 50%;
    transform: translateX(-50%);
	z-index: 1;
}
.price_plan {
	margin-top: 165px;
}
#price .price_plan {
	margin-top: 0;
}
.price_plan_system {
	background: #1D3053;
	color: #FFF;
	padding: 18px 60px;
    width: 90%;
    margin: 60px auto -30px;
    border-radius: 12px;
    text-align: center;
    font-size: 1.6em;
	font-weight: bold;
	box-shadow: 0 0 12px 0 rgb(19 71 52 / 20%);
	position: relative;
	z-index: 1;
}
#price .price_plan_system {
	margin: 0 auto;
}
.price_plan_system img.simple {
	position: absolute;
	left: 50%;
	top: -60px;
	transform: translateX(-50%);
}
.price_plan_system span {
	margin: 0 30px;
}
.price_plan_table {
	background: #FAF7F4;
	padding: 60px 30px 30px 30px;
	border-radius: 12px;
	text-align: center;
	border: 1px solid #BA9C6D;
	box-shadow: 0 0 12px 0 rgb(19 71 52 / 20%);
}
.price_plan_table table,
.price_plan_table table tr,
.price_plan_table table th,
.price_plan_table table td {
	border-collapse: collapse;
}
.price_plan_table table {
	width: 100%;
	font-size: 1.6em;
	font-weight: bold;
}
.price_plan_table table tr {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #E9E0D1;
}
.price_plan_table table tr:last-child {
	border-bottom: none;
}
.price_plan_table table th {
	width: 400px;
	padding: 12px;
	letter-spacing: 3px;
	color: #1D3053;
	border-right: 1px solid #E9E0D1;
}
.price_plan_table table td {
	width: calc(100% - 400px);
	padding: 12px;
	color: #1D3053;
}
table span.yen,
dl span.yen {
	font-size: .8em;
	margin-left: 3px;
}
table span.tax,
dl span.tax {
	font-size: .7em;
	font-weight: normal;
}
/* トップページと共通 ここまで */

@media screen and (max-width: 768px) {
	#price .price_free {
		padding-bottom: 0;
	}
}
@media screen and (max-width: 560px) {
	#price .price_plan {
		margin-top: 60px;
	}
	#price .price_plan_system {
		box-shadow: none;
	}
	#price .price_article {
		padding: 75px 0;
	}
	#price .price_free {
		margin-top: 30px;
	}
}
@media screen and (max-width: 430px) {
	#price .price_article {
		padding: 60px 0;
	}
	#plan_option dl span.tax {
		margin-left: 0;
	}
	
	table span.tax,
	dl span.tax {
		font-size: .8em;
	}
}
@media screen and (max-width: 380px) {
	#price .price_plan_system {
		padding: 18px;
	}
}
@media screen and (max-width: 320px) {
	#price .price_plan_system {
		padding: 18px 0;
	}
	table span.tax,
	dl span.tax {
		display: block;
	}
}


p.page_jump {
	text-align: right;
	margin: 30px 0 0;
}
p.page_jump a {
	color: #1D3053;
}

.price_plan_system_bottom {
	width: 90%;
	text-align: right;
	margin: 12px auto 0;
    padding-right: 12px;
    font-size: .7em;
}
.price_free_text {
	width: 80%;
	margin: 60px auto 0;
}

#price_plan {
	padding: 0 0 90px !important;
}
#plan {
	background: #FAF7F4;
}
#plan_support {
	
}
#plan_tokuten {
	background: url(images/price/plan_tokuten_bg.jpg) no-repeat;
	background-size: cover;
}
#plan_option {
	
}
#plan_supportexplanation {
	
}
#plan_priceexplanation {
	
}
#plan_membership {
	padding-bottom: 0 !important;
}

@media screen and (max-width: 1130px) {
	.price_free ul li:before {
		width: 250px;
		height: 250px;
	}
	.price_free ul li p {
		font-size: 1.4em;
	}
}
@media screen and (max-width: 960px) {
	.price_free_text {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.price_plan {
		margin-top: 150px;
	}
	.price_plan_table table th {
		width: 220px;
	}
	.price_plan_table table td {
		width: calc(100% - 220px);
	}
	
	.price .price_outline {
		margin-top: -90px;
	}
	.price_free ul li {
		width: calc(100%/3);
		height: 200px;
	}
	.price_free ul li:before {
		width: 200px;
		height: 200px;
	}
	.price_free ul li p {
		font-size: 1.2em;
	}
}
@media screen and (max-width: 560px) {
	#price_plan {
		padding: 0 0 75px !important;
	}
	
	.price {
		padding: 0 0 75px;
	}
	.price_plan {
		margin-top: 130px;
	}
	.price_free ul li {
		width: calc(100%/3);
		height: 140px;
	}
	.price_free ul li:before {
		    background: url(images/price/free_bg_sp.png) no-repeat;
		background-size: cover;
		background-position: center;
		width: 140px;
		height: 140px;
	}
	.price_free ul li p {
		font-size: .9em;
	}
	
	.price_free_text {
		margin: 45px auto 0;
	}
	.price_plan_table {
		border-radius: 6px;
	}
	.price_plan_table table {
		font-size: 1.2em;
	}
	.price_plan_table table th {
		width: 150px;
	}
	.price_plan_table table td {
		width: calc(100% - 150px);
	}
	
	p.page_jump {
		text-align: center;
	}
	
	.price_plan_system {
		width: 100%;
		padding: 18px 30px;
		margin: 60px auto -30px;
		font-size: 1.3em;
		border-radius: 6px 6px 0 0;
	}
	.price_plan_system img.simple {
		top: -60px;
		width: 220px;
	}
	.price_plan_system_bottom {
		width: 100%;
		text-align: left;
	}
	
	#plan_priceexplanation,
	#plan_membership {
		padding: 0 0 75px !important;
	}
}
@media screen and (max-width: 430px) {
	#price_plan {
		padding: 0 0 60px !important;
	}
	.price_outline {
		margin-top: -105px;
	}
	.price_free {
		margin-bottom: 18px;
	}
	.price_free ul {
		width: 90%;
		margin: 0 auto;
		flex-wrap: wrap;
	}
	.price_free ul li {
		width: calc(100%/2);
		height: 130px;
	}
	.price_free ul li:before {
		width: 130px;
		height: 130px;
	}
	.price_free ul li:first-child {
		width: 100%;
	}
	.price_free img.all_free {
		display: block;
		margin-top: 22px;
		position: static;
		top: auto;
		left: auto;
		transform: none;
	}
	.price_plan {
		margin: 0;
	}
	.price_plan_system span {
		margin: 0 16px;
	}
	.price_plan_table {
		padding: 45px 12px 20px;
	}
	
	.price_plan_table table th {
		width: 100px;
		padding: 12px 0;
		letter-spacing: 1px;
	}
	.price_plan_table table td {
		width: calc(100% - 100px);
		padding: 12px 0 12px 12px
	}
	
	#plan_priceexplanation,
	#plan_membership {
		padding: 0 0 60px !important;
	}
}
@media screen and (max-width: 390px) {
	.price_free ul {
		width: 100%;
	}
	
	
	.price_plan_system {
		padding: 18px 20px;
	}
	.price_plan_system span {
		margin: 0 12px;
	}
	.price_plan_table {
		padding: 45px 8px 20px;
	}
	.price_plan_table table th {
		width: 86px;
		font-size: .9em;
	}
	.price_plan_table table td {
		width: calc(100% - 86px);
		padding: 12px 0 12px 12px;
	}	
}
@media screen and (max-width: 320px) {
	.price_plan_system {
		padding: 18px 12px;
	}
	.price_plan_system span {
		margin: 0 8px;
	}
	.price_plan_table table th {
		width: 100px;
	}
	.price_plan_table table td {
		width: calc(100% - 100px);
	}
	
	.price_free ul {
		width: 90%;
		margin: 0 auto;
		flex-wrap: wrap;
	}
	.price_free ul li {
		width: calc(100%/2);
		height: 110px;
	}
	.price_free ul li:before {
		width: 110px;
		height: 110px;
	}
}


/* 選べる2プラン ***********************************/
#plan .plan_jump {
	
}
#plan .plan_jump ul {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
#plan .plan_jump ul li {
	width: calc(50% - 260px);
    text-align: center;
}
#plan .plan_jump ul li a {
	text-decoration: none;
	font-size: 1.3em;
	padding-right: 22px;
	position: relative;
}
#plan .plan_jump ul li a:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) rotate(45deg);
	border: 0;
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
	width: 10px;
    height: 10px;
	transition: all .3s ease;
}
#plan .plan_jump ul li a:hover {
	opacity: 1;
	color: #BA9C6D;
}
#plan .plan_jump ul li a:hover:before {
	border-bottom: solid 1px #BA9C6D;
    border-right: solid 1px #BA9C6D;
}
#plan .planitem_box {
	background: #FFF;
	padding: 60px;
	margin-top: 60px;
}
#plan .planitem_box img.planlogo {
	
}
#plan .planitem_box#plan_discount {
	padding: 0;
	background: none;
}
#plan .planitem_box .planitem_box_title_flex {
	display: flex;
	align-items: center;
    justify-content: center;
}
#plan .planitem_box .planitem_box_title_flex .planitem_box_titlebox {
	text-align: center;
	padding-left: 45px;
}
#plan .planitem_box .planitem_box_title_flex .planitem_box_titlebox p.titletop {
	text-align: center;
	margin: 0 0 18px;
	font-size: .8em;
	color: #BA9C6D;
	line-height: 1;
}
#plan .planitem_box .planitem_box_title_flex .planitem_box_titlebox p.titletop span {
	margin: 0 18px 0 0;
	font-size: 3em;
	color: #1D3053;
}
#plan .planitem_box .planitem_box_title_flex .planitem_box_titlebox .planitem_box_title {
	margin: 0;
}
#plan .planitem_box_text {
	width: 900px;
    margin: 60px auto 30px;
}

.pricelist {
	margin: 30px auto 0;
}
.pricelist .pricelist_box {
	width: 900px;
	margin: 0 auto;
}
.pricelist dl {
	display: flex;
	align-items: stretch;
	border-bottom: 1px solid #BA9C6D;
}
.pricelist dl:first-child {
	border-top: 1px solid #BA9C6D;
}
.pricelist dl dt {
	width: 260px;
	text-align: center;
	padding: 12px;
	font-size: 1.3em;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.pricelist dl dt:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: #BA9C6D;
	width: 1px;
	height: 50%;
}
.pricelist dl dt span {
	background: linear-gradient(transparent 40%, #F1ECE3 0%);
}
.pricelist dl dd {
	width: calc(100% - 260px);
	text-align: center;
	padding: 18px 12px 18px 45px;
	font-size: 1.3em;
	font-weight: bold;
}
.pricelist dl dd .initialcost_flex {
	display: flex;
	align-items: center;
}
.pricelist dl dd .initialcost_flex .initialcost_flex_items {
	color: #555;
}
.pricelist dl dd .initialcost_flex dl {
	width: 100%;
	display: flex;
	align-items: center;
	border: none;
}
.pricelist dl dd .initialcost_flex dl dt {
	width: 100px;
	text-align: center;
	padding: 0;
	font-size: .7em;
	font-weight: normal;
}
.pricelist dl dd .initialcost_flex dl dt:before {
	content: none;
}
.pricelist dl dd .initialcost_flex dl dd {
	width: calc(100% - 100px);
	text-align: center;
	padding: 0;
	font-size: .8em;
	font-weight: normal;
}
.plan_support {
	width: 900px;
	margin: 30px auto 0;
}
.plan_support .plan_support_title {
	margin: 0 auto 30px;
}
.plan_support ul.plan_supportlist {
	list-style: none;
	display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
	margin: -18px 0 0;
	padding: 0;
}
.plan_support ul.plan_supportlist li {
	width: calc(100%/3 - 30px);
	margin-top: 15px;
	margin-right: 30px;
}
.plan_support ul.plan_supportlist li.long {
	width: calc(100%/2 - 30px);
}
.plan_support ul.plan_supportlist li dl {
	display: flex;
    align-items: center;
}
.plan_support ul.plan_supportlist li dl dt {
	width: 150px;
	display: flex;
	align-items: center;
	text-align: center;
	padding-right: 12px;
}
.plan_support ul.plan_supportlist li dl dt img {
	display: block;
	margin: 0;
}
.plan_support ul.plan_supportlist li dl dt span {
	display: inline-block;
	font-size: .6em;
	line-height: 1.6;
	color: #9e3746;
    font-weight: bold;
	margin-left: 12px;
	text-align: left;
}
.plan_support ul.plan_supportlist li dl dt span.adjustment {
	letter-spacing: -.1em;
    margin-right: -0.1em;
}
.plan_support ul.plan_supportlist li dl dd {
    text-align: center;
    background: #9E3746;
    color: #FFF;
    font-size: .7em;
    line-height: 1.3;
    display: inline-block;
    padding: 6px 12px;
}
.plan_support ul.plan_supportlist li dl dd.size {
	font-size: .7em;
	letter-spacing: -.08em;
}


/* 割引 */
#plan .plan_discount_flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#plan .plan_discount_flex .plan_discount_flex___item {
	width: calc(100%/2 - 18px);
	color: #FFF;
	position: relative;
}
#plan .plan_discount_flex .plan_discount_flex___item.plan_discount_man {
	background: #1D3053;
}
#plan .plan_discount_flex .plan_discount_flex___item.plan_discount_u29 {
	background: #9E3746;
}
#plan .plan_discount_flex .plan_discount_flex___item img.plan_discount_flex___title {
	position: absolute;
	left: 50%;
	top: -22px;
	transform: translateX(-50%);
}
#plan .plan_discount_flex .plan_discount_flex___iteminbox {
	margin: 8px;
	padding: 150px 30px 30px;
	border: 1px solid #FFF;
}
#plan .plan_discount_flex .plan_discount_flex___iteminbox .plan_discount_flex___iteminbox_title {
	font-size: 1.6em;
	margin-bottom: 8px;
	color: #BA9C6D;
}
#plan .plan_discount_flex .plan_discount_flex___iteminbox .plan_discount_flex___iteminbox_title span {
	font-size: 1.3em;
	margin: 0 6px;
	color: #FFF;
	position: relative;
}
#plan .plan_discount_flex .plan_discount_flex___iteminbox .plan_discount_flex___iteminbox_title span:before {
	content: "★ ★ ★";
	position: absolute;
	top: -14px;
    left: 50%;
    transform: translateX(-50%);
	font-size: 12px;
	color: #FFF;
	width: 100%;
}


@media screen and (max-width: 1200px) {
	#plan .plan_jump ul li {
		width: calc(50% - 200px);
	}
}
@media screen and (max-width: 1024px) {
	#plan .plan_jump ul li {
		width: calc(50% - 200px);
	}
	#plan .planitem_box_text,
	.pricelist .pricelist_box,
	.plan_support {
		width: 100%;
	}
	.pricelist dl dt {
		width: 180px;
	}
	.pricelist dl dd {
		width: calc(100% - 180px);
	}
	
	.plan_support ul.plan_supportlist li {
		width: calc(100%/3 - 16px);
		margin-right: 0;
	}
	.plan_support ul.plan_supportlist li.long {
		width: calc(100%/2 - -10%);
	}
	.plan_support ul.plan_supportlist li dl dt {
		width: 140px;
	}
	
	#plan .plan_discount_flex .plan_discount_flex___item img.plan_discount_flex___title {
		padding: 0 30px;
	}
	#plan .plan_discount_flex .plan_discount_flex___iteminbox {
		padding: 135px 30px 30px;
	}
	#plan .plan_discount_flex .plan_discount_flex___iteminbox p {
		font-size: .9em;
	}
}
@media screen and (max-width: 960px) {
	#plan .plan_jump ul li {
		width: calc(50% - 110px);
	}
	.pricelist dl dt {
		width: 130px;
	}
	.pricelist dl dd {
		width: calc(100% - 130px);
	}
	
	.plan_support ul.plan_supportlist li {
		width: calc(100%/2 - 16px);
		margin-right: 0;
	}
	.plan_support ul.plan_supportlist li.long {
		width: calc(100%/2);
	}
	.plan_support ul.plan_supportlist li:nth-child(odd) {
		width: calc(100%/2 - 60px);
	}
	.plan_support ul.plan_supportlist li:nth-child(even) {
		width: calc(100%/2 + 60px);
	}
	.plan_support ul.plan_supportlist li dl dt {
		width: 140px;
	}
	.plan_support ul.plan_supportlist li dl dd.size {
		width: calc(100% - 140px);
	}
}
@media screen and (max-width: 768px) {
	#plan .plan_jump ul li {
		width: calc(50% - 60px);
	}
	#plan .planitem_box {
		padding: 45px;
	}
	
	.plan_support ul.plan_supportlist li {
		width: calc(100%/2 - 16px);
		margin-right: 0;
	}
	.plan_support ul.plan_supportlist li.long {
		width: calc(100%/2);
	}
	.plan_support ul.plan_supportlist li:nth-child(odd) {
		width: calc(100%/2);
	}
	.plan_support ul.plan_supportlist li:nth-child(even) {
		width: calc(100%/2);
	}
	.plan_support ul.plan_supportlist li dl dt {
		width: 140px;
	}
	.plan_support ul.plan_supportlist li dl dt img {
		width: 30px;
	}
	
	
	.pricelist dl dt {
		width: 150px;
		font-size: 1.1em;
		padding: 12px 30px;
	}
	.pricelist dl dd {
		width: calc(100% - 150px);
		padding: 12px 60px;
		text-align: left;
	}
	.pricelist dl dd .initialcost_flex {
		flex-direction: column;
	}
	.pricelist dl dd .initialcost_flex span.tax,
	.pricelist dl dd span.tax {
		display: inline-block !important;
	}
	.pricelist dl dd .initialcost_flex p {
		width: 100%;
	}
	.pricelist dl dd .initialcost_flex .initialcost_flex_items {
		width: 280px;
		margin: 0 auto;
	}
	.pricelist dl dd .initialcost_flex dl {
		justify-content: center;
	}
	.pricelist dl dd .initialcost_flex dl dt {
		width: 60px;
	}
	.pricelist dl dd .initialcost_flex dl dd {
		width: calc(100% - 60px);
	}
}
@media screen and (max-width: 560px) {
	#plan .plan_jump ul li {
		width: calc(50%);
	}
	
	#plan .planitem_box {
		padding: 30px;
	}
	#plan .planitem_box img.planlogo {
		width: 100px;
	}
	#plan .planitem_box .planitem_box_title_flex .planitem_box_titlebox {
		padding-left: 30px;
	}
	#plan .planitem_box .planitem_box_title_flex .planitem_box_titlebox p.titletop {
		margin-bottom: 12px;
	}
	#plan .planitem_box .planitem_box_title_flex .planitem_box_titlebox p.titletop span {
		font-size: 2.6em;
	}
	#plan .planitem_box_text {
		margin: 30px auto;
	}
	
	.pricelist dl {
		flex-direction: column;
	}
	.pricelist dl dt,
	.pricelist dl dd {
		width: 100%;
	}
	.pricelist dl dt {
		padding: 12px 30px 0;
	}
	.pricelist dl dt:before {
		content: none;
	}
	.pricelist dl dd {
		text-align: center;
		padding: 12px 30px;
	}
	.pricelist dl dd .initialcost_flex dl {
		flex-direction: row;
	}
	.pricelist dl dd .initialcost_flex .initialcost_flex_items {
		width: 100%;
	}
	.pricelist dl dd .initialcost_flex dl dt {
		width: 120px;
	}
	.pricelist dl dd .initialcost_flex dl dd {
		width: calc(100% - 120px);
	}
	
	.plan_support ul.plan_supportlist {
		justify-content: space-between;
		margin-top: -12px;
	}
	.plan_support ul.plan_supportlist li {
		width: calc(100%/2 - 8px);
		margin-top: 12px;
		margin-right: 8px;
	}
	.plan_support ul.plan_supportlist li dl dd.size {
		width: 100%;
	}
	.plan_support ul.plan_supportlist li:nth-child(odd) {
		width: calc(100%/2 - 8px);
	}
	.plan_support ul.plan_supportlist li:nth-child(even) {
		margin-right: 0;
	}
	.plan_support ul.plan_supportlist li dl {
		flex-direction: column;
	}
	.plan_support ul.plan_supportlist li dl dt {
		justify-content: center;
		padding: 0;
	}
	.plan_support ul.plan_supportlist li dl dt span {
		text-align: center;
	}
	.plan_support ul.plan_supportlist li dl dd {
		width: 100%;
		margin-top: 6px;
		font-weight: bold;
	}
}
@media screen and (max-width: 430px) {
	#plan .plan_jump ul li a {
		font-size: 1.1em;
	}
	#plan .price_plan_inner {
		padding: 0 !important;
	}
	#plan .planitem_box {
		margin-top: 45px;
	}
	
	.pricelist dl dd {
		padding: 12px 0;
	}
	.pricelist dl dd .initialcost_flex dl {
		
	}
	.pricelist dl dd .initialcost_flex dl dt {
		width: auto;
		margin-right: 20px;
	}
	.pricelist dl dd .initialcost_flex dl dd {
		width: auto;
	}
	.pricelist dl dd .initialcost_flex p {
		font-size: 1.1em;
	}
	
	#plan .plan_discount_flex .plan_discount_flex___iteminbox {
		padding: 120px 18px 18px;
	}
	#plan .plan_discount_flex .plan_discount_flex___item img.plan_discount_flex___title {
		top: -12px;
	}
	#plan .plan_discount_flex .plan_discount_flex___iteminbox .plan_discount_flex___iteminbox_title span:before {
		top: -16px;
	}
	#plan .plan_discount_flex .plan_discount_flex___iteminbox p {
		font-weight: bold;
	}
}
@media screen and (max-width: 380px) {
	#plan .plan_jump ul {
		flex-direction: column;
		margin-top: -18px;
	}
	#plan .plan_jump ul li {
		width: 100%;
		margin-top: 18px;
	}
	
	#plan .planitem_box img.planlogo {
		width: 75px;
	}
	#plan .planitem_box .planitem_box_title_flex .planitem_box_titlebox {
		padding-left: 18px;
	}
	#plan .planitem_box .planitem_box_title_flex .planitem_box_titlebox p.titletop span {
		font-size: 2em;
		margin: 0 12px 0 0;
	}
}
@media screen and (max-width: 320px) {
	.plan_support ul.plan_supportlist li dl dt img {
		width: 24px;
	}
	.plan_support ul.plan_supportlist li dl dd {
		font-size: .6em;
		margin-top: 3px;
		padding: 6px;
	}
	#plan .plan_discount_flex .plan_discount_flex___iteminbox {
		padding: 90px 12px 12px;
	}
	#plan .plan_discount_flex .plan_discount_flex___item img.plan_discount_flex___title {
		top: -8px;
	}
	#plan .plan_discount_flex .plan_discount_flex___iteminbox .plan_discount_flex___iteminbox_title {
		font-size: 1.3em;
	}
	#plan .plan_discount_flex .plan_discount_flex___iteminbox .plan_discount_flex___iteminbox_title span:before {
		font-size: 10px;
	}
}


/* サポート内容 ***********************************/
.supportlist {
	
}
table.support_table {
	width: 100%;
	margin: 60px auto 0;
}
table.support_table,
table.support_table tr,
table.support_table th,
table.support_table td {
	border-collapse: collapse;
}
table.support_table tr {
	border-top: 1px solid #BA9C6D;
}
table.support_table tr:last-child {
	border-bottom: 1px solid #BA9C6D;
}
table.support_table .plan_reg {
	background: #F5F8F1;
}
table.support_table .plan_prm {
	background: #F1ECE3;
}
table.support_table th {
	color: #1d2f53;
	padding: 15px;
	font-weight: normal;
}
table.support_table th.th_plan {
	position: relative;
	padding-top: 60px;
	font-weight: bold;
}
table.support_table th.th_plan span {
	display: block;
	font-size: .7em;
}
table.support_table th.th_plan img.planlogo {
	position: absolute;
	left: 50%;
    bottom: 90%;
	top: -30px;
    transform: translateX(-50%);
}
table.support_table th.th_item {
	width: 350px;
	text-align: left;
	padding: 15px 28px;
}
table.support_table img.supportlist_icon {
	display: inline-block;
	margin-right: 18px;
}
table.support_table td {
	padding: 12px;
	text-align: center;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	table.support_table img.supportlist_icon {
		display: block;
		width: 30px;
		margin: 0 auto 6px;
    
	}
	table.support_table th.th_item {
		width: 220px;
		text-align: center;
		font-size: .8em;
	}
}
@media screen and (max-width: 560px) {
	#price table {
		width: 730px;
	}
	table.support_table td {
		padding: 12px 30px;
	}
	table.support_table th.th_item {
		width: 210px;
		padding: 15px;
	}
	table.support_table th.th_plan {
		width: 260px;
	}
}
@media screen and (max-width: 430px) {
	#price table {
		width: 560px;
	}
	table.support_table td {
		padding: 12px;
	}
	table.support_table th.th_item {
		width: 160px;
	}
	table.support_table th.th_plan {
		width: 200px;
	}
}
@media screen and (max-width: 320px) {
	#price table {
		width: 470px;
	}
	table.support_table th.th_item {
		width: 110px;
	}
	table.support_table th.th_plan {
		width: 180px;
	}
	
	table.support_table img.supportlist_icon {
		width: 24px;
	}
	
}


/* 特典 ***********************************/
.tokutenlist .summary {
	width: 900px;
    margin: 0 auto 30px;
}
.tokutenlist ul.tokutenlist_ul {
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
    flex-wrap: wrap;
    align-items: stretch;
	justify-content: space-between;
}
.tokutenlist ul.tokutenlist_ul li {
	background: #BA9C6D;
	color: #FFF;
	width: calc(100%/4);
	text-align: center;
	border-right: 4px solid;
}
.tokutenlist ul.tokutenlist_ul li:last-child {
	border-right: none;
}
.tokutenlist ul.tokutenlist_ul li .tokutenlist_box {
	padding: 30px;
	
}
.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl {
	
}
.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dt {
	
}
.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dd {
	margin-top: 45px;
	font-size: 1.3em;
    font-weight: bold;
	position: relative;
}
.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dd:before {
	content: "★ ★ ★";
	position: absolute;
	top: -30px;
    left: 50%;
    transform: translateX(-50%);
	font-size: 12px;
	color: #FFF;
}

@media screen and (max-width: 960px) {
	.tokutenlist .summary {
		width: 100%;
	}
	.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dd {
		font-size: 1em;
	}
}
@media screen and (max-width: 768px) {
	.tokutenlist ul.tokutenlist_ul li {
		width: calc(100%/2);
		border-top: 8px solid;
		border-right: 8px solid;
	}
	.tokutenlist ul.tokutenlist_ul li:nth-child(2n) {
		border-right: none;
	}
	.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dt img {
		width: 120px;
	}
	.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dd {
		font-size: 1.3em;
	}
}
@media screen and (max-width: 560px) {
	#plan .plan_discount_flex {
		flex-direction: column;
	}
	#plan .plan_discount_flex .plan_discount_flex___item {
		width: 100%;
	}
	#plan .plan_discount_flex .plan_discount_flex___item.plan_discount_u29 {
		margin-top: 30px;
	}
}
@media screen and (max-width: 430px) {
	.tokutenlist ul.tokutenlist_ul li .tokutenlist_box {
		padding: 15px;
	}
	.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dt img {
		width: 90px;
	}
	.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dd {
		margin-top: 38px;
	}
	.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dd:before {
		top: -24px;
	}
}
@media screen and (max-width: 320px) {
	.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dt img {
		width: 75px;
	}
	.tokutenlist ul.tokutenlist_ul li .tokutenlist_box dl dd {
		font-size: 1em;
	}
}


/* オプション ***********************************/
.optionlist .optionlist_box {
	width: 900px;
	margin: 0 auto;
}
.optionlist ul.optionlist_ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.optionlist ul.optionlist_ul li {
	border-bottom: 1px solid #BA9C6D;
	padding: 30px;
}
.optionlist ul.optionlist_ul li:first-child {
	border-top: 1px solid #BA9C6D;
}
.optionlist ul.optionlist_ul li dl {
	width: 100%;
	display: flex;
}
.optionlist ul.optionlist_ul li dl dt {
	width: calc(100%/2);
	color: #BA9C6D;
	font-weight: bold;
}
.optionlist ul.optionlist_ul li dl dt span {
	margin-right: 18px;
	font-weight: normal;
}
.optionlist ul.optionlist_ul li dl dd {
	width: calc(100%/2);
	text-align: center;
}
.optionlist ul.optionlist_ul li p.memo {
	margin-top: 12px;
	font-size: .8em;
}

@media screen and (max-width: 960px) {
	.optionlist .optionlist_box {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.optionlist ul.optionlist_ul li dl {
		justify-content: space-between;
	}
	.optionlist ul.optionlist_ul li dl dt {
		width: calc(100% - 240px);
	}
	.optionlist ul.optionlist_ul li dl dt span {
		font-size: .9em;
	}
	.optionlist ul.optionlist_ul li dl dd {
		width: 240px;
	}
}
@media screen and (max-width: 560px) {
	.optionlist ul.optionlist_ul li {
		padding: 30px 0;
	}
	.optionlist ul.optionlist_ul li dl {
		align-items: flex-end;
	}
	.optionlist ul.optionlist_ul li dl dt span {
		display: block;
		margin: 0;
	}
	.optionlist ul.optionlist_ul li dl dd {
		text-align: right;
	}
}
@media screen and (max-width: 430px) {
	.optionlist ul.optionlist_ul li {
		padding: 18px 0;
	}
	.optionlist ul.optionlist_ul li dl {
		flex-direction: column;
	}
	.optionlist ul.optionlist_ul li dl dt {
		width: 100%;
	}
	.optionlist ul.optionlist_ul li dl dd {
		width: 100%;
	}
}
@media screen and (max-width: 390px) {

}

/* サポート内容の説明、各種費用の説明 ***********************************/
.explanationlist .explanation_box {
	width: 900px;
	margin: 0 auto;
}
.explanationlist ul.explanation_ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.explanationlist ul.explanation_ul li {
	margin-top: 12px;
}
.explanationlist ul.explanation_ul li span {
	display: block;
	font-weight: bold;
}
.explanationlist ul.explanation_ul li span:before {
	content: "■";
}

@media screen and (max-width: 960px) {
	.explanationlist .explanation_box {
		width: 100%;
	}
}
@media screen and (max-width: 430px) {
	.explanationlist ul.explanation_ul li {
		margin-top: 8px;
	}
}



/* ご入会について ***********************************/
.membershiplist {
	
}
.membershiplist .membershiplist_flex {
	display: flex;
	justify-content: space-between;
    align-items: flex-start;
}
.membershiplist .membershiplist_flex .membershiplist_flex___terms {
	width: calc(50% - 30px);
}
.membershiplist .membershiplist_flex .membershiplist_flex___documents {
	width: calc(50% - 30px);
}
.membershiplist ul.membership_ul {
	list-style: square;
	margin: 0 0 0 1em;
	padding: 0;
	
}


@media screen and (max-width: 1024px) {
	#price .price_box .price_flex .price___img {
		width: 380px;
	}
	#price .price_box .price_flex .price___text {
		width: calc(100% - 380px);
	}
	#price #price01 .price___text,
	#price #price03 .price___text,
	#price #price05 .price___text {
		padding-left: 60px;
	}
	#price #price02 .price___text,
	#price #price04 .price___text {
		padding-left: 60px;
	}
}
@media screen and (max-width: 768px) {
	
}
@media screen and (max-width: 560px) {
	.membershiplist .membershiplist_flex {
		flex-direction: column;
	}
	.membershiplist .membershiplist_flex .membershiplist_flex___terms,
	.membershiplist .membershiplist_flex .membershiplist_flex___documents {
		width: 100%;
	}
	.membershiplist .membershiplist_flex .membershiplist_flex___documents {
		margin-top: 45px;
	}
}
@media screen and (max-width: 430px) {
	
}
@media screen and (max-width: 320px) {

}


/****************************************
 * 固定ページ
 * サービス案内
*****************************************/

#service {
	padding-top: 0;
}
.service_article {
	padding: 120px 0;
	margin-top: 0;
}

#service_data {
	background: url(images/service/service_data_bg.jpg) no-repeat;
	background-size: cover;
}
#service_data .service_data_box {
	width: 680px;
	margin-left: auto;
}
#service_data ul.service_data_flex {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #F1ECE3;
}
#service_data ul.service_data_flex li.service_data_flex___item {
	width: 100%;
	background: rgba(255,255,255,.3);
	border-bottom: 1px solid #F1ECE3;
	position: relative;
	padding: 16px 30px;
	display: flex;
    align-items: center;
	text-align: center;
}
#service_data ul.service_data_flex .service_data_flex___item:last-child {
	margin-right: 0;
}
#service_data ul.service_data_flex .service_data_flex___item:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background: url(images/service/service_data_flex___item_bg.jpg) no-repeat;
	background-size: cover;
	width: 100%;
    height: 100%;
	z-index: -1;
}
#service_data .service_data_inbox {
	width: 100%;
}
#service_data .service_data_inbox_flex {
	display: flex;
    align-items: center;
    justify-content: center;
}
#service_data .service_data_inbox p.service_data_inbox_title {
	font-size: 1.3em;
	font-weight: bold;
	margin: 0 30px 0 0;
	padding: 0 38px;
	color: #9E3746;
	position: relative;
}
#service_data .service_data_inbox p.service_data_inbox_title:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/deco/flemaD_left.png) no-repeat;
	background-size: 100%;
	width: 18px;
	height: 56px;
}
#service_data .service_data_inbox p.service_data_inbox_title:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/deco/flemaD_right.png) no-repeat;
	background-size: 100%;
	width: 18px;
	height: 56px;
}
#service_data .service_data_inbox p.service_data_inbox_title span {
	display: inline-block;
	font-style: italic;
	font-size: 1.5em;
	letter-spacing: -.03em;
	margin-left: 12px;
}
#service_data .service_data_inbox p.service_data_inbox_value {
	font-size: 1.6em;
}
#service_data .service_data_inbox p.service_data_inbox_value span {
	font-size: .5em;
}

@media screen and (max-width: 1024px) {
	#service_data {
		background-position: left -210px center;
	}
	#service_data .service_data_box {
		width: 620px;
	}
	#service_data .service_data_inbox p.service_data_inbox_value span {
		display: block;
		margin-top: -6px;
	}
}
@media screen and (max-width: 768px) {
	.service_article {
		padding: 90px 0;
	}
	#service_data {
		background-position: left -350px center;
	}
	#service_data .service_data_box {
		width: 410px;
	}
	#service_data .service_data_inbox_flex {
		flex-direction: column;
	}
	#service_data ul.service_data_flex li.service_data_flex___item {
		padding: 12px 30px;
	}
	#service_data .service_data_inbox p.service_data_inbox_title {
		padding: 0 30px;
		margin: 0;
	}
	#service_data .service_data_inbox p.service_data_inbox_value span {
		display: inline-block;
		margin-top: 0;
	}
}
@media screen and (max-width: 560px) {
	.service_article {
		padding: 75px 0;
	}
	#service_data {
		background: url(images/service/service_data_bg_sp.jpg) no-repeat;
		background-size: cover;
	}
	#service_data .service_data_box {
		width: 100%;
		margin: 0 auto;
	}
	#service_data ul.service_data_flex li.service_data_flex___item {
		background: rgba(255,255,255,.6);
	}
	#service_data .service_data_inbox_flex {
		flex-direction: row;
	}
	#service_data .service_data_inbox p.service_data_inbox_title {
		padding: 0 26px;
		margin-right: 18px;
		font-size: 1.2em;
	}
	#service_data .service_data_inbox p.service_data_inbox_title:after {
		width: 16px;
		height: 50px;
	}
	#service_data .service_data_inbox p.service_data_inbox_title span {
		margin-left: 6px;
		font-size: 1.4em;
	}
	#service_data .service_data_inbox p.service_data_inbox_value {
		font-size: 1.3em;
	}
	#service_data .service_data_inbox p.service_data_inbox_value span {
		display: block;
	}
}
@media screen and (max-width: 430px) {
	.service_article {
		padding: 60px 0;
	}
	#service_data .service_data_inbox_flex {
		flex-direction: column;
	}
	#service_data .service_data_inbox p.service_data_inbox_title {
		padding: 0 26px;
		margin-right: 0;
		font-size: 1.3em;
	}
	#service_data .service_data_inbox p.service_data_inbox_title:after {
		width: 16px;
		height: 50px;
	}
	#service_data .service_data_inbox p.service_data_inbox_title span {
		margin-left: 6px;
		font-size: 1.4em;
		font-weight: bold;
	}
	#service_data .service_data_inbox p.service_data_inbox_value {
		font-size: 1.3em;
		font-weight: bold;
		margin-top: -6px;
	}
	#service_data .service_data_inbox p.service_data_inbox_value span {
		display: inline-block;
		font-size: .7em;
	}
	#service_data ul.service_data_flex li.service_data_flex___item {
		position: relative;
	}
	#service_data ul.service_data_flex li.service_data_flex___item:before {
		content: "";
		position: absolute;
		left: 30px;
		top: 50%;
		transform: translateY(-50%);
		background: url(images/deco/flemaD_left.png) no-repeat;
		background-size: 100%;
		width: 22px;
		height: 67px;
		z-index: 1;
	}
	#service_data ul.service_data_flex li.service_data_flex___item:after {
		content: "";
		position: absolute;
		right: 30px;
		top: 50%;
		transform: translateY(-50%);
		background: url(images/deco/flemaD_right.png) no-repeat;
		background-size: 100%;
		width: 22px;
		height: 67px;
		z-index: 1;
	}
	#service_data .service_data_inbox p.service_data_inbox_title:before,
	#service_data .service_data_inbox p.service_data_inbox_title:after {
		content: none;
	}
}


/****************************************
 * 固定ページ
 * アクセス・ご案内
*****************************************/

#company .office_box {
	margin-top: 90px;
}
#company table.company {
	width: 100%;
}
#company table.company,
#company table.company th,
#company table.company td {
	border-collapse: collapse;
}
#company table.company tr {
	display: flex;
	align-items: center;
	padding: 18px 0;
	border-bottom: 1px solid #ededed;
}
#company table.company tr:first-child {
	border-top: 1px solid #ededed;
}
#company table.company th {
	width: 320px;
	font-weight: normal;
}
#company table.company td {
	width: calc(100% - 320px);
	padding-left: 30px;
}
#company table.company td .toaccess {
	
}
#company table.company td .toaccess a {
	display: inline-block;
	padding-right: 30px;
	position: relative;
}
#company table.company td .toaccess a:before {
	content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(45deg);
    border: 0;
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
    width: 10px;
    height: 10px;
    transition: all .3s ease;
}
#company table.company td.hour span {
	margin-left: 20px;
}
#company ul.office_member,
#company ul.office_contact,
#company ul.office_works {
	list-style: none;
	padding: 0;
	margin: 0;
}
#company ul.office_works {
	list-style: inside;
}
#company ul.office_works li {
	width: 100%;
}


/****************************************
 * よくある質問
*****************************************/

#faq .faq_summary {
	text-align: center;
	margin-bottom: 90px;
}

ul.faq_list {
	list-style: none;
	margin: 0 auto 0;
	padding: 0;
}
ul.faq_list li {
	margin: 18px 0 0;
}
ul.faq_list li:first-child {
	
}
ul.faq_list li .faq_title {
	display: block;
	position: relative;
	cursor: pointer;
	margin: 0;
	padding: 15px 30px 15px 30px;
	color: #1D3053;
	font-size: 1em;
	font-weight: normal;
	text-align: left;
	border-bottom: 1px solid #2868C9;
	transition: all .6s ease;
}
ul.faq_list li .faq_title span {
	font-family: sans-serif;
	color: #1D3053;
	font-weight: bold;
	margin-right: 12px;
}
ul.faq_list li .faq_title.close {
	background: url(images/faq/faq_title_bg.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	border-radius: 12px;
	color: #FFF;
	position: relative;
    z-index: 2;
}
ul.faq_list li .faq_title.close span {
	color: #FFF;
	transition: all .6s ease;
}
ul.faq_list li .box {
	display: none;
	padding: 30px;
}
ul.faq_list li .box a {
	background: #CDD9ED;
}

@media screen and (max-width: 768px) {
	#faq .faq_summary {
		margin-bottom: 75px;
	}
}
@media screen and (max-width: 560px) {
	#faq .faq_summary {
		margin-bottom: 60px;
	}
	ul.faq_list li .faq_title {
		padding: 15px 20px;
	}
	ul.faq_list li .box {
		padding: 20px;
	}
}
@media screen and (max-width: 430px) {
	#qanda .faq_summary {
		margin-bottom: 45px;
	}
	ul.faq_list li {
		margin: 12px 0 0;
	}
	ul.faq_list li .faq_title {
		padding: 12px 12px;
	}
	ul.faq_list li .box {
		padding: 18px 0;
	}
}
@media screen and (max-width: 320px) {
	#qanda .faq_summary {
		margin-bottom: 45px;
	}
	ul.faq_list li .faq_title {
		padding: 12px 10px;
	}
	ul.faq_list li .box {
		padding: 12px 10px;
	}
}

/****************************************
 * 滞在中の過ごし方
*****************************************/

#spend .spend_summary {
	text-align: center;
    width: 920px;
    margin: 0 auto 90px;
	font-size: 1.2em;
	line-height: 2.3;
}

#spend .spend_items_bg {
	padding-bottom: 90px;
	background: url(images/spend/bg.png) no-repeat;
	background-size: contain;
	background-position: bottom;
	background-attachment: fixed;
}
#spend .spend_item {
	padding: 30px;
	margin-top: 30px;
    border-radius: 12px;
	background: #FFF;
	box-shadow: 0 0 14px rgb(102 102 102 / 15%);
}
#spend .spend_item.spend_recommend {
	overflow: hidden;
	position: relative;
}
#spend .spend_item.spend_recommend span.line {
	width: 180px;
    padding: 9px 10px;
    background: #2888C9;
    color: #fff;
	font-weight: bold;
    text-align: center;
    display: inline-block;
    position: absolute;
    top: 18px;
    left: -50px;
    text-transform: uppercase;
    transform: rotate(315deg);
}
#spend .spend_item .item_flex {
	display: flex;
}
#spend .spend_item .item_flex figure.item_flex___img  {
	width: 480px;
}
#spend .spend_item .item_flex figure.item_flex___img figcaption {
	text-align: right;
	margin-top: 8px;
}
#spend .spend_item .item_flex .item_flex___description {
	width: calc(100% - 480px);
	padding-left: 45px;
	font-size: .9em;
}
#spend .spend_item .item_flex .item_flex___description .item_title {
	text-align: left;
	font-size: 1.1em;
    margin-bottom: 6px;
}
#spend .spend_item .item_flex .item_information {
	font-size: .9em;
	position: relative;
}
#spend .spend_item .item_flex .item_information img.shell {
	position: absolute;
	right: 0;
	bottom: -12px;
	transform: rotate(8deg);
	z-index: 1;
}
#spend .spend_item .item_flex .item_information .item_information_title {
	text-align: left;
    font-size: .9em;
    color: #999;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
}
#spend .spend_item .item_flex .item_information .item_information_title:after {
	border-top: 1px solid;
	content: "";
	flex-grow: 1;
}
#spend .spend_item .item_flex .item_information .item_information_title:after {
	margin-left: 2rem;
}

#spend .spend_item_flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#spend .spend_item_flex .spend_item {
	width: calc(100% / 2 - 18px);
}
#spend .spend_item_flex .spend_item .item_flex {
	display: flex;
	flex-direction: column;
}
#spend .spend_item_flex .spend_item .item_flex figure.item_flex___img  {
	width: 100%;
}
#spend .spend_item_flex .spend_item .item_flex .item_flex___description {
	width: 100%;
	margin-top: 12px;
	padding: 0;
	font-size: .9em;
}

/*一泊コース*/
#spend #spend_course {
	margin-top: 120px;
}
#spend .spend_course_summary {
	text-align: center;
	margin-bottom: 60px;
}
#spend img.daytitle {
	display: block;
}
#spend .spend_course_item {
	background: #FFF;
	padding: 45px;
	margin-top: 60px;
	box-shadow: 0 0 14px rgb(102 102 102 / 15%);
	position: relative;
}
#spend .spend_course_item .item_flex {
	display: flex;
	justify-content: space-between;
}
#spend .spend_course_item .item_flex > div {
	width: calc(100% - 509px);
    padding: 225px 60px 0 60px;
	font-size: 1.2em;
}
#spend .spend_course_item .item_flex img.day {
	transform: rotate(3deg);
}
#spend .spend_course_item img.date {
	position: absolute;
	top: -30px;
	left: 30px;
}
#spend .day2 {
	margin-top: 60px;
}

@media screen and (max-width: 1024px) {
	#spend .spend_item .item_flex figure.item_flex___img {
		width: 380px;
	}
	#spend .spend_item .item_flex .item_flex___description {
		width: calc(100% - 380px);
	}
	
	#spend .spend_course_item img.date {
		width: 360px;
	}
	#spend .spend_course_item .item_flex > div {
		width: calc(100% - 380px);
		padding: 130px 45px 0 45px;
	}
	#spend img.day {
		width: 380px;
		height: 100%;
	}
}
@media screen and (max-width: 768px) {
	#spend .spend_summary {
		width: 100%;
		font-size: 1.1em;
	}
	#spend .spend_item .item_flex figure.item_flex___img {
		width: 250px;
	}
	#spend .spend_item .item_flex .item_flex___description {
		width: calc(100% - 250px);
		padding-left: 30px;
	}
	#spend .spend_item .item_flex .item_information img.shell {
		width: 90px;
		right: -20px;
		bottom: 48px;
	}
	
	#spend .spend_course_item {
		padding: 60px 30px 30px;
	}
	#spend .spend_course_item img.date {
		width: 320px;
	}
	#spend .spend_course_item .item_flex > div {
		width: calc(100% - 280px);
		padding: 100px 0 0 15px;
	}
	#spend img.day {
		width: 280px;
		height: 100%;
		position: relative;
		right: -30px;
		top: 0;
		transform: rotate(3deg);
	}
}
@media screen and (max-width: 560px) {
	#spend .spend_items_bg {
		background: none;
		position: relative;
	}
	#spend .spend_items_bg:before {
		content:"";
		position:fixed;
		top:0;
		left:0;
		z-index:-1;
		width:100vw;
		height:100vh;
		background: url(images/spend/bg_sp.png) no-repeat;
		background-size: cover;
		background-position: bottom center;
	}
	#spend .spend_summary {
		font-size: 1em;
	}
	#spend .spend_item .item_flex {
		flex-direction: column;
	}
	#spend .spend_item .item_flex figure.item_flex___img {
		width: 100%;
	}
	#spend .spend_item .item_flex .item_flex___description {
		width: 100%;
		padding-left: 0;
		margin-top: 12px;
	}
	#spend .spend_item .item_flex .item_information img.shell {
		width: 90px;
		right: 0;
		bottom: 25px;
	}
	#spend .spend_item_flex .spend_item {
		width: 100%;
	}
	#spend .spend_item_flex .spend_item .item_flex {
		flex-direction: column;
	}
	
	#spend .spend_course_item {
		margin-top: 30px;
	}
	#spend .spend_course_item img.date {
		width: 280px;
		top: -12px;
	}
	#spend .spend_course_item .item_flex {
		flex-direction: column;
		margin-top: 60px;
	}
	#spend .spend_course_item .item_flex > div {
		width: 100%;
		padding: 0;
		margin-bottom: 22px;
		font-size: 1.1em;
	}
	#spend .spend_course_item .item_flex img.day {
		width: 100%;
		right: -8px;
		transform: rotate(2deg);
	}
}
@media screen and (max-width: 430px) {
	#spend .spend_item.spend_recommend,
	#spend .spend_item_flex .spend_item {
		padding: 20px;
	}
	#spend .spend_item .item_flex .item_information {
		font-size: 1em;
	}
	
	#spend .spend_course_item {
		padding: 60px 0 30px;
	}
	#spend .spend_course_item img.date {
		left: 18px;
	}
	#spend .spend_course_item .item_flex > div {
		padding: 0 30px;
	}
	#spend .spend_course_item .item_flex img.day {
		transform: scale(1.0) rotate(3deg);
		top: -3px;
		right: 0;
	}
}
@media screen and (max-width: 380px) {
	#spend .spend_item .item_flex .item_information img.shell {
		width: 75px;
	}
	#spend .spend_course_item img.date {
		width: 260px;
		top: 6px;
		left: -8px;
	}
}
@media screen and (max-width: 320px) {
	#spend .spend_item .item_flex .item_information img.shell {
		right: -12px;
		bottom: 18px;
	}
}

/****************************************
 * お問い合わせ
*****************************************/

#contact .free_counseling {
	text-align: center;
}


#contact .contact_title {
	text-align: center;
}

@media screen and (max-width: 768px) {
	#contact #contact_line {
		padding-bottom: 75px;
	}
}
@media screen and (max-width: 560px) {
	#contact #contact_line {
		padding-bottom: 60px;
	}
	#contact #contact_line .line_box .line_title {
		font-size: 1.2em;
	}
	#contact #contact_line .line_box .line_title span.deco_sideline {
		padding: 0 45px;
	}
}
@media screen and (max-width: 430px) {
	#contact #contact_line {
		padding-bottom: 45px;
	}
	#contact #contact_line .line_box .line_title {
		font-size: 1.2em;
	}
	#contact #contact_line .line_box .line_title span.deco_sideline {
		display: block;
		padding: 0 30px;
	}
}
@media screen and (max-width: 320px) {
	#contact #contact_line .line_box .line_title {
		font-size: 1em;
	}
}

/*フォーム
*****************************************/

#contact #contact_mail .contact_mail_box {
	background: #FFF;
}
#contact #contact_mail .contact_mail_inbox {
	text-align: center;
}

#contact .mail_box {
	text-align: center;
	padding: 30px;
	border-radius: 12px;
	background: #fafafa;
}
#contact .mail_box .mail_inbox {
	padding: 60px 30px 30px;
	border-radius: 12px;
	background: #FFF;
	position: relative;
}
#contact .mail_box .mail_inbox p.mail_text {
	font-family: sans-serif;
	background: #5498ca;
	text-align: center;
	border-radius: 30px;
	color: #fff;
	left: 50%;
	padding: 11px 76px;
	position: absolute;
	top: -40px;
	transform: translate(-50%);
	white-space: nowrap;
	font-size: 1.3em;
}
#contact .mail_box .mail_inbox p.mail_text:before {
	border-color: #5498ca transparent transparent transparent;
	border-style: solid;
	border-width: 10px 11px 0 11px;
	content: "";
	display: block;
	height: 0;
	left: calc(50% - 11px);
	position: absolute;
	top: 100%;
	width: 0;
}
#contact input.date::placeholder {
	color: #000;
}

/*確認ページのメールアドレス2つめ*/
.page-id-46 span.check_no {
	display: none;
}

/*フォーム*/
#contact .mw_wp_form_input,
#contact .mw_wp_form_confirm {
	margin-top: 30px;
	padding: 30px;
}
#contact table {
	width: 100%;
	margin: 0 auto;
}
#contact table,
#contact table tr,
#contact table th,
#contact table td {
	border-collapse: collapse;
}
#contact table th {
	display: block;
	width: 100%;
	font-weight: normal;
	padding: 30px 30px 30px 46px;
	text-align: left;
	line-height: 1;
	position: relative;
}
#contact table th:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
	background: #CB4A28;
	width: 3px;
	height: 1em;
	border-radius: 3px;
}
#contact table th.hissu {
	position: relative;
}
#contact table th span.hissu {
	display: inline-block;
	font-size: .7em;
	font-weight: bold;
	color: #CB4A28;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin-left: 12px;
}
#contact table td {
	display: block;
	width: 100%;
	text-align: left;
	padding: 0 30px 30px;
	line-height: 1;
}
#contact table td dl {
	display: table;
}
#contact table td dt {
	width: 180px;
	display: table-cell;
	vertical-align: middle;
}
#contact table td dd {
	display: table-cell;
	vertical-align: middle;
	padding-left: 12px;
}
#contact input.age {
	width: 160px;
}
#contact .information {
	margin-top: 45px;
}
.page-id-25 #contact table.contact_form td.position span.memo {
	display: none;
}
#contact input.mail_check {
	margin-top: 12px;
}
#contact input.postcode {
	width: 120px;
	margin-bottom: 5px;
}
#contact .check_send {
	text-align: center;
	margin-top: 30px;
}
#contact input.form_btn {
	width: auto;
	text-decoration: none !important;
	display: inline-block;
	padding: 0 4em;
	color: #FFF;
	background: #ED5314;
	line-height: 60px;
	font-size: 1.3em;
	border-radius: 0 !important;
}
#contact input.form_btn:hover {
	opacity: 1;
	color: #FFF;
	background: #F07241;
}
#contact select.time {
	position: relative;
	width: 100%;
	padding: 15px 45px 15px 15px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #ededed;
	background: #fff url(images/common/select_tab.jpg) no-repeat;
	background-position: right center;
	background-size: 30px, 100%;
	letter-spacing: 1px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-size: .9em;
	line-height: 23px;
	color: #000;
}
#contact textarea.consultation {
	min-height: 180px;
	line-height: 1.6;
}

/*内容確認*/
#contact .mw_wp_form_confirm table td span.check_no,
#contact .mw_wp_form_confirm p.reception_memo {
	display: none;
}
#contact .mw_wp_form_confirm table td.consultation_td {
	line-height: 1.6;
}

@media screen and (max-width: 1024px) {
	
}
@media screen and (max-width: 768px) {
	#contact .mw_wp_form_input,
	#contact .mw_wp_form_confirm {
		padding: 30px 0;
	}
	
}
@media screen and (max-width: 559px) {
	#contact table {
		margin: -30px auto 0;
	}
	#contact table th,
	#contact table td {
		width: 100%;
	}
	#contact table th {
		padding: 0 0 0 12px;
		margin-top: 30px;
		margin-bottom: 12px;
		font-weight: bold;
	}
	#contact table th:before {
		left: 0;
	}
	#contact table td {
		border: none;
		padding: 12px 0 0 0;
	}
	
	#contact input.form_btn {
		margin: 0;
		padding: 0;
		width: calc(100%/2 - 12px);
		line-height: 52px;
	}
}
@media screen and (max-width: 430px) {
	
	#contact #contact_mail .contact_mail_inbox {
		text-align: left;
	}
	#contact table th {
		margin-top: 22px;
	}
	#contact table td {
		padding: 0;
	}
	
	#contact input.form_btn.btn_back {
		margin-right: 6px;
	}
	#contact input.form_btn.btn_submit {
		margin-left: 6px;
	}
	
	#contact_mail .main_btn {
		width: 100%;
	}
}




/****************************************
 * フォーム
*****************************************/

/* iOSリセット */
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: transparent;
}
button,
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
	background: transparent;
}

/*フォーム*/
textarea {
	overflow: auto;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
textarea {
	font-size: 1em;
	margin: 0;
	padding: 15px;
	width: 100%;
	max-width: 100%;
	outline: none;
	color: #000;
	vertical-align: bottom;
	transition: .3s;
	letter-spacing: 1px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	border: 1px solid #ededed;
	background: #FFF;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
	background: #fafafa;
	border: 1px solid #E0E7F4;
	outline: none;
}
select {
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/*ボタン*/
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"],
.button:before,
button:before,
input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
.button:after,
button:after,
input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	min-width: 320px;
	line-height: 60px;
	padding: 0 60px;
	margin: 0 1em;
	height: auto;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	background: #1D3053;
	border: 1px solid #1D3053;
	border-radius: 6px;
	outline: none;
	position: relative;
}
.button:before,
button:before,
input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
.button:after,
button:after,
input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
	opacity: 1;
	background: #FFF;
	color: #1D3053;
	border: 1px solid #1D3053;
	box-shadow: 0 0 12px 0 rgb(19 71 52 / 20%);
}

@media screen and (max-width: 559px) {
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		margin: 0 0.5em;
		padding: 0 3.5em;
	}
}
@media screen and (max-width: 430px) {
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		width: 100%;
		margin: 12px 0 0;
		padding: 0 2em;
	}
}
@media screen and (max-width: 380px) {
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		min-width: 280px;
		margin: 12px 0 0;
		padding: 0 2em;
	}
}
@media screen and (max-width: 380px) {
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		min-width: 250px;
	}
}

/****************************************
 * 求人情報
*****************************************/

#recruit .introduction {
	margin-bottom: 60px;
}
#recruit .recruit_content {
	margin-top: 60px;
	text-align: center;
}
#recruit .recruit_table_box {
	margin-top: 60px;
}
#recruit table.recruit_table {
	width: 100%;
	border-top: 1px solid #ededed;
}
#recruit table.recruit_table,
#recruit table.recruit_table tr,
#recruit table.recruit_table th,
#recruit table.recruit_table td {
	border-collapse: collapse;
}
#recruit table.recruit_table tr {
	border-bottom: 1px solid #ededed;
}
#recruit table.recruit_table td:first-child {
	width: 180px;
	background: #ededed;
}
#recruit table.recruit_table td:last-child {
	width: calc(100% - 180px);
}
#recruit table.recruit_table th,
#recruit table.recruit_table td {
	padding: 12px 18px;
}

@media screen and (max-width: 560px) {
	#recruit table.recruit_table td:first-child {
		width: 150px;
	}
	#recruit table.recruit_table td:last-child {
		width: calc(100% - 150px);
	}
}
@media screen and (max-width: 430px) {
	#recruit .introduction {
		margin-bottom: 45px;
	}
	#recruit .recruit_table_box,
	#recruit .recruit_content {
		margin-top: 45px;
	}
	#recruit table.recruit_table td:first-child {
		width: 100px;
	}
	#recruit table.recruit_table td:last-child {
		width: calc(100% - 100px);
	}
}

/****************************************
 * プライバシーポリシー
*****************************************/

#privacy-policy .enactment {
	text-align: right;
	margin-bottom: 30px;
}
#privacy-policy h3 {
	text-align: left;
	margin-bottom: 15px;
	color: #1d2f53;
	font-size: 1.1em;
	font-weight: bold;
	line-height: 1.3;
}
#privacy-policy h4 {
	text-align: left;
	margin-bottom: 15px;
	color: #1d2f53;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.3;
}
#privacy-policy .policy_box {
	margin-top: 30px;
}
#privacy-policy ul {
	list-style: inside;
	margin: 0 0 30px 1em;
	padding: 0;
}

@media screen and (max-width: 768px) {
	#privacy .privacy-policy-content {
		padding: 80px 30px;
	}
	#privacy .privacy-policy-content table th {
		width: 30%;
	}
	#privacy .privacy-policy-content table td {
		padding-left: 30px;
	}
	#privacy .privacy-policy-content table span.height2 {
		padding: 24px 10px;
	}
	#privacy .privacy-policy-content table span.height {
		padding: 20px 10px;
	}
	#privacy .privacy-policy-content table span.height-td {
		padding: 20px 10px;
	}
}
@media screen and (max-width: 559px) {
	#privacy .privacy-policy-content .outline {
		padding: 30px;
	}
	#privacy .privacy-policy-content .outline .begin {
		width: 100%;
	}
	#privacy .privacy-policy-content table {
		margin: 50px 0 30px;
	}
	#privacy .privacy-policy-content table span.height2 {
		padding: 24px 10px;
	}
	#privacy .privacy-policy-content table span.height {
		padding: 25px 10px;
	}
}
@media screen and (max-width: 430px) {
	#privacy .top {
		background: url(images/privacy-policy/top-bg_sp.jpg) no-repeat;
		background-position: center;
		background-size: cover;
		padding: 30px 0;
	}
	#privacy .privacy-policy-content {
		padding: 30px;
	}
	#privacy .privacy-policy-content .outline {
		padding: 15px;
	}
	#privacy .privacy-policy-content table {
		margin: 30px 0;
	}
	#privacy .privacy-policy-content table tr,
	#privacy .privacy-policy-content table th,
	#privacy .privacy-policy-content table td {
		display: block;
		width: 100%;
	}
	#privacy .privacy-policy-content table tr {
		border-bottom: 1px solid #9999;
	}
	#privacy .privacy-policy-content table span,
	#privacy .privacy-policy-content table span.top,
	#privacy .privacy-policy-content table span.height,
	#privacy .privacy-policy-content table span.height2 {
		border: none;
	}
	#privacy .privacy-policy-content table th {
		padding: 0;
	}
	#privacy .privacy-policy-content table td {
		padding: 0;
	}	
	#privacy .privacy-policy-content table th span {
		padding: 10px 10px 0 10px !important;
	}
	#privacy .privacy-policy-content table td span {
		padding: 0 10px 10px 10px !important;
	}
}
@media screen and (max-width: 320px) {
	#privacy .privacy-policy-content {
		padding: 30px 15px;
	}
}

/****************************************
 * サイトマップ
*****************************************/

ul#menu-sitemaps_nav {
	padding: 0;
	margin: 0;
	list-style: none;
}
ul#menu-sitemaps_nav li {
	width: 100%;
	padding: 18px;
	border-bottom: 1px solid #ededed;
	transition: all .3s ease;
}
ul#menu-sitemaps_nav li:first-child {
	border-top: 1px solid #ededed;
}
ul#menu-sitemaps_nav li:nth-child(2):before {
	top: 30px;
}
ul#menu-sitemaps_nav li:hover {
	background: #F2F6FC;
}
ul#menu-sitemaps_nav li a {
	display: block;
	line-height: 1.4;
	padding-left: 18px;
	text-decoration: none !important;
	position: relative;
}
ul#menu-sitemaps_nav li a:before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: #50372c;
    width: 1px;
    height: 0;
    transition: .3s;
}
ul#menu-sitemaps_nav li a:hover {
	color: #1B4687;
	opacity: 1;
}
ul#menu-sitemaps_nav li a:hover::before {
	height: 100%;
	background: #1B4687;
}

@media screen and (max-width: 560px) {
	
}
@media screen and (max-width: 430px) {
	
}

/****************************************
 * お知らせ
*****************************************/

ul.news_list {
	list-style: none;
	width: 100%;
	margin: -30px 0 0;
	padding: 0;
}
#archive ul.news_list,
#related ul.news_list {
	margin: -60px 0 0;
}
ul.news_list li {
	margin-top: 30px;
	position: relative;
}
#archive ul.news_list li,
#related ul.news_list li {
	margin-top: 60px;
}
ul.news_list li a {
	display: block;
	text-decoration: none;
	position: relative;
}
ul.news_list li a img {
	opacity: 1;
}
ul.news_list li a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: #2868C9;
	width: 1px;
	height: 0;
	transition: .3s;
}
ul.news_list li a:hover::before {
	height: 100%;
}
ul.news_list li a:hover:before,
ul.news_list li a:hover:after {
	opacity: 1;
}
ul.news_list li .news_item {
	width: 100%;
	padding-left: 18px;
}
#archive ul.news_list li .news_item,
#related ul.news_list li .news_item {
	display: flex;
}
ul.news_list li .news_item .thumbnail_card {
	width: 260px;
	overflow: hidden;
	border-radius: 8px;
}
ul.news_list li .news_postmeta {
	display: flex;
	align-items: center;
	text-align: left;
}
#archive ul.news_list li .news_postmeta,
#related ul.news_list li .news_postmeta {
	display: block;
	width: calc(100% - 260px);
	padding-left: 60px;
}
ul.news_list li .news_postmeta span.date {
	display: inline-block;
	font-size: .8em;
}
#archive ul.news_list li .news_postmeta span.date,
#related ul.news_list li .news_postmeta span.date {
	display: inline-block;
	margin: 6px 0 0;
}
ul.news_list li .news_postmeta span.news_cat {
	display: inline-block;
	font-size: .8em;
	margin-left: 12px;
	padding: 0px 12px;
    color: #FFF;
}
ul.news_list li .news_postmeta span.news_cat.information {
	background: #2868C9;
}
ul.news_list li .news_postmeta span.news_cat.campaign {
	background: #27C667;
}
ul.news_list li p.the_title {
	font-size: .9em;
	margin: 6px 0 0;
}
#archive ul.news_list li p.the_title,
#related ul.news_list li p.the_title {
	font-size: 1em;
}

@media screen and (max-width: 1024px) {
	#archive ul.news_list li .news_postmeta,
	#related ul.news_list li .news_postmeta {
		padding-left: 45px;
	}
}
@media screen and (max-width: 960px) {
	ul.news_list li .news_flex .news_flex___postmeta {
		padding: 20px 75px 20px 30px;
	}
}
@media screen and (max-width: 768px) {
	
	ul.news_list li .news_item .thumbnail_card {
		width: 180px;
	}
	#archive ul.news_list li .news_postmeta,
	#related ul.news_list li .news_postmeta {
		display: block;
		width: calc(100% - 180px);
		padding-left: 30px;
	}
}
@media screen and (max-width: 560px) {
	ul.news_list li .news_item .thumbnail_card {
		border-radius: 6px;
	}
	ul.news_list li .news_flex .news_flex___postmeta p.the_title {
		line-height: 1.6;
	}

}
@media screen and (max-width: 430px) {
	ul.news_list li .news_item {
		padding-left: 0;
		align-items: center;
	}
	#archive ul.news_list li,
	#related ul.news_list li {
		margin-top: 30px;
	}
	ul.news_list li .news_item .thumbnail_card {
		width: 150px;
	}
	#archive ul.news_list li .news_postmeta,
	#related ul.news_list li .news_postmeta {
		width: calc(100% - 150px);
		padding-left: 18px;
	}
}
@media screen and (max-width: 380px) {
	ul.news_list li .news_item .thumbnail_card {
		width: 120px;
	}
	#archive ul.news_list li .news_postmeta,
	#related ul.news_list li .news_postmeta {
		width: calc(100% - 120px);
	}
}
@media screen and (max-width: 320px) {
	ul.news_list li .news_item .thumbnail_card {
		width: 105px;
	}
	#archive ul.news_list li .news_postmeta,
	#related ul.news_list li .news_postmeta {
		width: calc(100% - 105px);
	}
}

/* single.php
*****************************************/
#single .contents_box {
	padding-bottom: 60px;
	margin-bottom: 60px;
    border-bottom: 1px solid #EDEDED;
}
#single .contents_box .the_title {
	margin-top: 0;
	margin-bottom: 30px;
}
#single .contents_box .single_image {
	overflow: hidden;
	border-radius: 16px;
	position: relative;
}
#single .contents_box .single_image span.date {
	position: absolute;
	right: 14px;
    bottom: 12px;
	z-index: 1;
}
#single .contents_box .single_image img.date_bg {
	position: absolute;
	right: 0;
	bottom: 0;
}
#single .contents_box .single_content {
	margin-top: 60px;
	padding: 0 30px;
}
#single #related {
	margin-top: 60px;
}
#single #related .related {
	margin-top: 90px;
}
#single #related .related_title {
	text-align: center;
	margin-bottom: 120px;
}


/*YouTube埋め込み用*/
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

@media screen and (max-width: 1024px) {
	#single .contents_box .meta .meta_flex .meta_flex___img {
		width: 280px;
	}
	#single .contents_box .meta .meta_flex .meta_flex___title {
		width: calc(100% - 280px);
		padding: 60px 0 45px 30px;
	}
	#single .contents_box .meta .the_title {
		font-size: 1.2em;
	}
}
@media screen and (max-width: 960px) {
	#single .single_profile .single_profile_flex .single_profile_flex___photo {
		width: 120px;
	}
	#single .single_profile .single_profile_flex .single_profile_flex___text {
		width: calc(100% - 120px);
	}
	#single .single_profile .single_profile_flex .single_profile_flex___text .single_profile_flex___text_flex .single_profile_flex___text_flex___text {
		width: 180px;
	}
	#single .single_profile .single_profile_flex .single_profile_flex___text .single_profile_flex___text_flex .single_profile_flex___text_flex___logo {
		width: calc(100% - 180px);
	}
}
@media screen and (max-width: 768px) {
	#single .contents_box .meta .meta_flex {
		flex-direction: column;
		align-items: flex-start;
	}
	#single .contents_box .meta .meta_flex .meta_flex___img {
		margin-top: -30px;
	}
	#single .contents_box .meta .meta_flex .meta_flex___title {
		width: 100%;
		padding: 30px 0 0 0;
	}
	#single .contents_box .meta .meta_flex p.date {
		right: 45px;
		top: 0;
	}
}
@media screen and (max-width: 560px) {
	#single .contents_box .single_content {
		padding: 0;
		margin-top: 45px;
	}
	#single .contents_box .single_image img.date_bg {
		right: -18px;
	}
	
	#single #related .related_title {
		font-size: 1.5em;
	}
}
@media screen and (max-width: 430px) {
	
	#single .contents_box .single_image {
		border-radius: 6px;
	}
	#single .contents_box .single_image img.date_bg {
		right: -45px;
		bottom: -8px;
	}
	
	#single #related .related_title {
		margin-bottom: 90px;
		font-size: 1.4em;
	}
}
@media screen and (max-width: 380px) {
	#single .contents_box .meta .the_title {
		font-size: 1em;
	}
}
@media screen and (max-width: 320px) {
	#single #related .related_title {
		font-size: 1.3em;
	}
}










/****************************************
 * 成婚事例
 * archive-case.php
*****************************************/

.case {
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.case:before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -150px;
	left: -60px;
	background-image: url(images/case/bg.png);
	background-size: 100%;
	background-repeat: no-repeat;
	width: 680px;
	height: 680px;
	z-index: -1;
}
p.case_memo {
	text-align: right;
	font-size: .8em;
	margin: 45px 0 0;
}

@media screen and (max-width: 768px) {
	.case:before {
		width: 420px;
		height: 420px;
		bottom: -45px;
	}
}
@media screen and (max-width: 560px) {
	.case:before {
		background-image: url(images/case/bg_sp.jpg);
		background-size: 100%;
		background-repeat: no-repeat;
		bottom: -90px;
	}
	p.case_memo {
		text-align: center;
	}
}


/* アーカイブ
*****************************************/
.case_summary {
	width: 880px;
    margin: 0 auto 60px;
	text-align: center;
}

ul.case_list {
	list-style: none;
	padding: 0;
	margin: -24px 0 0;
	display: flex;
	flex-wrap: wrap;
}
ul.case_list li {
	width: calc(100%/3 - 20px);
	margin: 24px 30px 8px 0;
	box-shadow: 0 0 14px rgb(102 102 102 / 15%);
}
ul.case_list li:nth-child(3n) {
	margin-right: 0;
}

/* スライダー
*****************************************/
ul.case_slider {
	padding: 0;
	margin: 0;
	list-style: none;
}
ul.case_slider li {
	margin: 8px 18px;
	border-radius: 4px;
	box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.16);
}

/* ナビ */
.slick_prev, 
.slick_next {
    position: absolute;/*絶対配置にする*/
    top: 50%;
	transform: translateY(-50%);
    cursor: pointer;
    outline: none;
    background: #BA9C6D;
    width: 8%;
    height: 1px;
	z-index: 1;
}
.slick_prev {
    left: -5%;
}
.slick_next {
	right: -5%;
}
.slick_prev span {
	display: inline-block;
	position: absolute;
    top: 100%;
    left: 10%;
	color: #BA9C6D;
}
.slick_next span {
	display: inline-block;
	position: absolute;
    bottom: 100%;
	right: 10%;
	color: #BA9C6D;
}


/* アーカイブとスライダー共通
*****************************************/
ul.case_list li .case_image,
ul.case_slider li .case_image {
	position: relative;
}
ul.case_list li .case_text,
ul.case_slider li .case_text {
	text-align: center;
	padding: 18px 18px 18px 45px;
	background: #FFF;
	font-size: .8em;
}
ul.case_list li .case_text span.new,
ul.case_slider li .case_text span.new {
	display: block;
	position: relative;
}
ul.case_list li .case_text span.new:before,
ul.case_slider li .case_text span.new:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -35px;
	left: -20px;
	background-image: url(images/case/new.png);
	background-size: 100%;
	background-repeat: no-repeat;
	width: 45px;
	height: 45px;
}

@media screen and (max-width: 1024px) {
	.case_summary {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	ul.case_list li {
		width: calc(100%/3 - 12px);
		margin: 18px 18px 8px 0;
	}
	ul.case_list li .case_text,
	ul.case_slider li .case_text {
		padding: 18px;
	}
	ul.case_list li .case_text span.new:before,
	ul.case_slider li .case_text span.new:before {
		left: 0;
		width: 32px;
		height: 32px;
	}
}
@media screen and (max-width: 560px) {
	.case_summary {
		margin: 0 auto 45px;
	}
	ul.case_list {
		margin: -18px 0 0;
		justify-content: space-between;
	}
	ul.case_list li {
		width: calc(100%/2 - 12px);
		margin: 18px 18px 8px 0;
	}
	ul.case_list li .case_text,
	ul.case_slider li .case_text {
		padding: 18px;
	}
	ul.case_list li .case_text span.new:before,
	ul.case_slider li .case_text span.new:before {
		left: 0;
		width: 32px;
		height: 32px;
	}
	ul.case_list li:nth-child(odd) {
		margin-right: 24px;
	}
	ul.case_list li:nth-child(even) {
		margin-right: 0;
		
	}
}
@media screen and (max-width: 430px) {
	ul.case_slider {
		padding: 0 30px;
	}
	.slick_prev {
		left: 0;
	}
	.slick_next {
		right: 0;
	}
	
	ul.case_list {
		flex-direction: column;
	}
	ul.case_list li {
		width: 100%;
	}
	ul.case_list li:nth-child(odd),
	ul.case_list li:nth-child(even) {
		margin-right: 0;
	}
}
@media screen and (max-width: 390px) {
	ul.case_slider {
		padding: 0 18px;
	}
	ul.case_list li .case_text span.new:before,
	ul.case_slider li .case_text span.new:before {
		top: -45px;
		left: 0;
		width: 38px;
		height: 38px;
	}
}
@media screen and (max-width: 320px) {
	ul.case_slider {
		padding: 0 12px;
	}
	
}



/****************************************
 * サイドバー
*****************************************/

aside .aside_box {
	margin: 45px 0 0;
}
aside .aside_box:first-child {
	margin: 0;
}

/*カテゴリー*/
aside .category_list ul {
	list-style: none;
	margin: -30px 0 90px; /*下は一覧へ戻る分を確保*/
	padding: 0;
}
aside .category_list ul li {
	width: 100%;
	height: auto;
	margin-top: 30px;
}
aside .category_list ul li a {
	display: block;
	padding: 0 0 0 12px;
	position: relative;
}
aside .category_list ul li a:before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: #333;
    width: 1px;
    height: 0;
    transition: .3s;
}
aside .category_list ul li a:hover {
	color: #2888C9;
	opacity: 1;
}
aside .category_list ul li a:hover::before {
	height: 100%;
}

aside .button_box {
	margin-top: 30px;
	position: absolute;
	bottom: 0;
}
aside a.side_btn {
	display: inline-block;
	border: 1px solid #1D3053;
	padding: 8px 20px;
	font-size: .8em;
	color: #1D3053;
}
aside a.side_btn:hover {
	opacity: 1;
	color: #FFF;
	background: #1D3053;
}

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

	/*カテゴリー*/
	aside .category_list ul {
		margin-top: -12px;
	}
	aside .category_list ul li {
		margin-top: 12px;
	}
	aside .category_list ul li a {
		padding: 12px;
	}
}
@media screen and (max-width: 560px) {
	aside .category_list ul {
		margin: -12px 0 75px;
		display: flex;
		align-items: center;
		justify-content: center;
		
	}
	aside .category_list ul li {
		font-size: .9em;
		text-align: center;
	}
	aside .category_list ul li.current-cat {
		border-bottom: 1px solid;
	}
	
	aside a.side_btn {
		padding: 12px 30px;
		font-size: .9em;
		min-width: 280px;
	}
}
@media screen and (max-width: 430px) {
	aside .category_list ul li a:before {
		content: none;
	}
}
@media screen and (max-width: 380px) {
	
}
@media screen and (max-width: 320px) {
	
}






/****************************************
 * WPネイティブCSS
*****************************************/
.alignleft {
	float: left;
}
.alignright {
	float: right;
}
.wp-block-image {}
.wp-block-image figcaption {}
img[class*="wp-image-"],
img[class*="attachment-"] {
	max-width: 100%;
	height: auto;
}
img.alignright {
	display: block;
	margin: 0 0 0 auto;
}
img.alignleft {
	display: block;
	margin: 0 auto 0 0;
}
img.aligncenter {
	display: block;
	margin: 0 auto;
}
blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
	margin: 50px;
	border-left: 1px solid #ededed;
	padding-left: 30px;
}
cite {
	font-size: .8em;
}
cite a {
	display: inline;
}

/* clearfix */
.clearfix {
	overflow: hidden;
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

@media screen and (max-width: 480px) {
	blockquote {
		margin: 30px;
	}
}

/****************************************
画像キャプション
*****************************************/
.wp-caption {
	text-align: right;
}
.wp-caption-text,
.gallery-caption　{
	font-size: 12px;
	margin: 0;
	color: #333;
}
.wp-caption img {
	margin: 0;
	padding: 0;
	border: 0 none;
	vertical-align: bottom;
}
.wp-caption-dd {
	margin: 0;
	padding: 0 4px 5px;
	font-size: 11px;
	line-height: 17px;
}



/****************************************
 * ページナビゲーション
*****************************************/

nav.navigation {
	overflow: hidden;
	float: none;
	max-width: 100%;
	text-align: center;
	margin: 60px 0 0;
	padding-top: 30px;
	border-top: 1px solid #ededed;
}
nav.navigation .nav-links {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-family: sans-serif;
}
nav.navigation .nav-links .nav-previous,
nav.navigation .nav-links .nav-next {
	position: relative;
}
nav.navigation .nav-links .nav-previous {
	margin-right: 45px;
}
nav.navigation a span.prev {
	transform: none;
	display: block;
	padding-bottom: 18px;
	font-size: .8em;
}
nav.navigation a span.prev:before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 3px;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
	width: 40px;
	height: 8px;
	transition: all .3s ease;
	transform: skew(-45deg);
}
nav.navigation a span.next {
	transform: none;
	display: block;
	padding-bottom: 18px;
	font-size: .8em;
}
nav.navigation a span.next:before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 0;
	right: 3px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	width: 40px;
	height: 8px;
	transition: all .3s ease;
	transform: skew(45deg);
}
nav.navigation a {
	display: block;
	color: #000;
}
nav.navigation a:hover {
	color: red;
}
nav.navigation a span.prev:hover:before,
nav.navigation a span.next:hover:before {
	border-color: red;
}


@media screen and (max-width: 768px) {
	nav.navigation {
		display: block;
	}
}
@media screen and (max-width: 560px) {
	nav.navigation {
		margin: 45px 0 0;
		padding: 30px 0;
	}
	nav.navigation .nav-links a.page-numbers {
		font-size: .9em;
	}
	nav.navigation .nav-links a.prev,
	nav.navigation .nav-links a.next {
		position: relative;
	}
	nav.navigation .nav-links a.prev:before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 0;
		width: 18px;
		height: 18px;
		margin: 0 3px;
		border-left: 3px solid #BA9C6D;
		border-bottom: 3px solid #BA9C6D;
		transform: translateY(-50%) rotate(45deg);
		
	}
	nav.navigation .nav-links a.next:before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 0;
		width: 18px;
		height: 18px;
		margin: 0 3px;
		border-top: 3px solid #BA9C6D;
		border-right: 3px solid #BA9C6D;
		transform: translateY(-50%) rotate(45deg);
	}
}



/****************************************
 * 404.php
*****************************************/

#error .error_title {
	font-size: 2em;
	margin-bottom: 30px;
}
#error .error_box {
	text-align: center;
	font-size: 1.3em;
}
#error p.error_url span {
	color: #B5978B;
	word-break: break-all;
}
#error a {
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	#error .error_title {
		font-size: 1.8em;
	}
	#error .error_box {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 559px) {
	#error .error_title {
		font-size: 1.6em;
	}
}
@media screen and (max-width: 430px) {
	#error .error_title {
		font-size: 1.5em;
	}
	#error .error_box {
		font-size: 1em;
	}
}
@media screen and (max-width: 320px) {
	#error .error_title {
		font-size: 1.3em;
	}
}

/****************************************
 * フッター
*****************************************/

footer {
	clear: both;
	overflow: hidden;
	background: url(images/common/bg.jpg) repeat;
	background-size: 150px;
	padding: 30px 0 0;
}
footer a {
	display: inline-block;
	color: #50372c;
}
footer .totop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9;
}

footer .footer_flex {
	margin-top: 60px;
	display: flex;
}
footer .footer_flex .footer_information {
	width: 320px;
}
footer .footer_information .footer_information_logo {
	width: 100%;
	text-align: center;
}
footer .footer_information .footer_information_info {
	width: 100%;
	text-align: center;
	margin: 30px 0 0;
	color: #333;
	font-size: .9em;
}
footer .footer_information .footer_information_info span {
	display: block;
}
footer .footer_information .footer_information_info span a {
	margin: 12px 0;
}

footer .footer_flex .footer_menu {
	width: calc(100% - 320px);
	padding-left: 60px;
	margin: 30px 0 0;
}
footer .footer_flex .footer_menu .footer_menu_flex {
	display: flex;
	justify-content: flex-end;
}
footer .footer_flex .footer_menu nav.footer_nav {
	width: 180px;
}
footer .footer_flex .footer_menu nav.footer_nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

footer nav.footer_nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
footer nav.footer_nav ul li {
	padding: 6px 0;
	margin-right: 15px;
}
footer nav.footer_nav ul li:last-child {
	margin-right: 0;
}
footer nav.footer_nav ul li a {
	display: block;
	color: #000;
	line-height: 1;
	padding-left: 12px;
	position: relative;
}
footer nav.footer_nav ul li a:before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: #333;
    width: 1px;
    height: 0;
    transition: .3s;
}
footer nav.footer_nav ul li a:hover {
	color: #A07A51;
    opacity: 1;
}
footer nav.footer_nav ul li a:hover::before {
	height: 100%;
}

footer nav.footer_must {
	margin-top: 30px;
}
footer nav.footer_must ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
footer nav.footer_must ul li {
	display: inline-block;
	font-size: .9em;
	margin-right: 12px;
}

/* コピーライト */
footer #copyright {
	font-size: .9em;
	text-align: center;
	margin-top: 60px;
	padding: 30px;
	background: #FFF;
}
footer #copyright a {
	color: #000;
}

@media screen and (max-width: 768px) {
	footer .totop img.icon {
		width: 40px;
	}
	footer .footer_information {
		width: 100%;
	}
	footer .footer_information .footer_information_logo img {
		width: 150px;
	}
	
	footer .footer_flex .footer_information {
		width: 280px;
	}
	footer .footer_flex .footer_menu {
		width: calc(100% - 280px);
		padding-left: 30px;
	}
	footer nav.footer_nav ul li {
		margin-right: 8px;
		margin-top: 6px;
	}
	footer nav.footer_must ul {
		text-align: center;
	}
	footer nav.footer_must ul li {
		font-size: 1em;
	}
	footer nav.footer_must ul li:last-child {
		margin-right: 0;
	}
}
@media screen and (max-width: 560px) {
	footer {
		padding: 75px 0 0;
	}
	footer .footer_flex {
		margin-top: 0;
	}
	footer .footer_flex .footer_information {
		width: 100%;
	}
	footer nav.footer_must ul li {
		text-align: center;
	}
}
@media screen and (max-width: 430px) {
	footer {
		padding: 60px 0 0;
	}
	footer .totop img {
		width: 45px;
	}
	footer .footer_information .footer_information_logo img {
		width: 160px;
	}
}
@media screen and (max-width: 320px) {
	footer .totop {
		right: 20px;
		bottom: 20px;
	}
	footer .totop img {
		width: 35px;
	}
}

/****************************************
プラグイン
*****************************************/

/* MW WP Form
*****************************************/
.mw_wp_form .error {
	text-align: left !important;
	font-weight: bold !important;
	font-size: .9em !important;
	color: #2848C9 !important;
	line-height: 1.35 !important;
	margin-top: 15px !important;
	position: relative;
}
.mwform-checkbox-field input,
.mwform-radio-field input {
	vertical-align: middle;
	margin: 0 6px 0 0;
	width: 20px;
	height: 20px;
}
.mw_wp_form .vertical-item + .vertical-item {
	margin-top: 8px !important;
}

@media screen and (max-width: 559px) {
	.mw_wp_form .vertical-item {
		width: 100% !important;
	}
}
