﻿@charset "utf-8";
#print,.print{
	position: absolute;
	top: -300%;
	opacity: 0;
	z-index: -1;
	display: none;
}
#foot_print{
	display: none;
}
#share #main_contents {
	width: 100%;
	max-width: 1220px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
#contents {
	margin-bottom: 100px;
	padding: 0 20px;
	overflow: hidden;
	max-width: 1000px;
	margin: 0 auto;
}
#contents.about,
#contents.note,
#contents.news,
#contents.e404,
#contents.csoon,
#contents.contact,
#contents.publish,
#contents.share_page {
	padding-bottom: 30px;
	min-height: 400px;
	min-width: 100%;
	box-sizing: border-box;
}
#contents.about,
#contents.news,
#contents.share_page {
	padding-top: 80px;
	margin-bottom: 0;
}
#contents.news,
#contents.share_page {
	max-width: 1040px;
	min-width: auto;
}
#contents.about {
	max-width: 1200px;
	padding: 80px 0 0;
}
#contents.news.news_single {
	padding-top: 40px;
}
#contents.publish{
	margin-bottom: 0;
}
#contents.share_page h2.head {
	margin-bottom: 60px;
}
#contents.share_page.about h2.head {
	margin-bottom: 53px;
}
#relation {
	max-width: 1000px;
	margin: 120px auto 0;
	box-sizing: border-box;
}
#share #main_contents #relation h2 {
	margin-bottom: 20px;
	font-size: 22px;
	text-align: center;
}
.error-404.not-found {
	padding: 100px;
	text-align: center;
}
.error-404.not-found h1 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
}
#share #main_contents div.section{
	font-size: 12px;
	position: relative;
}
#share #main_contents div.section:first-child{
}
#share #main_contents div.section.news{
	padding: 10px;
}
#share #main_contents div.section.news .news_cnt{
	padding: 10px 0;
}
#share #main_contents div.section.news .news_cnt dl{
	margin-top: 10px;
}
#share #main_contents div.section.news .news_cnt dl:first-child{
	margin-top: 0;
}
#share #main_contents div.section.news .news_cnt dl dd{
	display: inline;
}
#share #main_contents div.section.news .news_cnt dl dd.date{
	font-weight: bold;
	display: block;
}
#share #main_contents div.section.news .news_cnt dl dd.cate{
	margin-right: 5px;
}
#share #main_contents div.section.news .news_cnt dl dd.tit{

}
#share #main_contents div.section.news .news_cnt dl dd.cate span.new{
	font-weight: bold;
	color: #A5151E;
	margin-right: 5px;
}
#share #main_contents div.section.post .post_cnt > ul{
	padding: 10px;
}
#share #main_contents div.section.post .post_cnt > ul > li{
	margin-top: 5px;
}
#main_contents div.section.post.item:not(.wanted) .post_cnt ul li.sub {
	color: #333;
}
#share #main_contents div.section.post .post_cnt > ul li.content{
	margin-top: 5px;
}
#share #main_contents div.section.post .post_cnt p.img{
	width: auto;
}
#share #main_contents div.section.post .post_cnt p.img img{
	width: 100%;
}
#share #main_contents div.section.post .post_cnt ul li.tit{
	font-weight: bold;
}
#share #main_contents div.section.post .post_cnt ul li.cate{
	font-weight: bold;
}
#share #main_contents div.section.post .post_cnt ul li.cate span.new {
	font-weight: bold;
	color: #A5151E;
	margin-right: 5px;
}
#share #main_contents .comingsoon {
	min-height: 300px;
}
#share #main_contents .comingsoon h2 {
	text-align: center;
	padding: 50px;
	font-size: 16px;
	margin-top: 100px;
}
.kv_slider {
	margin-bottom: 30px;
	margin-top: 10px;
	width: 100%;
	box-sizing: border-box;
}
.kv_slider .bx-wrapper:first-of-type .bx-viewport {
	border-radius: 20px;
	border: 3px solid #333;
	box-sizing: border-box;
}
.kv_slider ul {
	display: block;
	opacity: 0;
}
.kv_slider ul#slider_image li {
	aspect-ratio: 2 / 1;
}
.kv_slider ul#slider_image li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bx-pager.bx-default-pager a {
	background: #fff;
	width: 8px;
	height: 8px;
	margin: 0 4px;
}
.bx-pager.bx-default-pager a:hover,
.bx-pager.bx-default-pager a.active {
	background: #333;
}
.bx-wrapper .bx-pager {
	height: 8px;
}
.information {
	border-radius: 20px;
	border: 3px solid #333;
}
.information, .movie {
	overflow: hidden;
	margin-bottom: 40px;
	padding: 0;
}
.information .inner {
	padding: 40px;
	background: #FFF;
	overflow: hidden;
	width: 100%;
	box-sizing: border-box;
}
.information .left{
	width: 550px;
	float: left;
	margin-right: 20px;
}
.information .left.w100{
	width: 100%;
	float: none;
	margin-right: 0;
}
.information .left ul{
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.7;
}
.information .left ul li{
	font-weight: bold;
}
.information .left ul li.already_text {
	font-size: 16px;
	margin-top: 10px;
}
.information .left ul li.transaction_text {
	margin-top: 10px;
}
.information .left ul li.title {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}
.subtit{
	font-weight: bold;
	color: #EF0000;
	font-size: 13px;
}
span.type {
	color: #fff;
	font-size: 14px;
	padding: 4px 10px;
	border-radius: 4vw;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.84px;
	min-width: 30px;
}
span.type.buy {
	background: #FA0E0E;
}
span.type.rent {
	background: #007AE5;
}
span.type.stay {
	background: #555;
}
span.title_text {
	font-weight: 700;
	font-size: 20px;
}
span.price2-2{
	margin-left: 5px;
	font-weight: bold;
}
.information .left dl{
	width: 100%;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 10px;
}
.information .left dl dt{
	font-weight: 700;
	display: inline-block;
	float: left;
	width: 100px;
}
.information .left dl dd{
	overflow: hidden;
	width: 450px;
	float: left;
}
.information .left.w100 dl dd{
	width: calc(100% - 100px);
}
.information .right{
	width: 274px;
	min-height: 450px;
	display: table;
}
.information .right ul li{
	position: relative;
	width: 344px;
	height: 344px;
	margin-top: 10px;
	overflow: hidden;
	background: #fff;
}
.information .right ul li:nth-child(1){
	margin-top: 0;
}

.information .right ul li a{
	width: 344px;
	height: 344px;
	z-index: 10;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	padding: 20px;
	box-sizing: border-box;
}
.information .right ul li a img{
	width: auto;
	height: auto;
	max-width: 300px;
	max-height: 300px;
}
.information ul{
	font-size: 14px;
}
#information{
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#information .right{
	font-size: 14px;
}
#information .left{
	width: 560px;
}
.mv {
	height: auto;
	margin-bottom: 30px;
}
#contents.coming-soon {
	margin-bottom: 30px;
}
.coming-soon .mv > p{
	background: #f5f5f5;
	width: 980px;
	height: 400px;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-weight: bold;
	font-size: 20px;
}
.coming-soon #information{
	border-top: none;
	border-bottom: none;
	margin: 0 0 20px;
}
.coming-soon #information > p {
	margin-bottom: 50px;
	font-size: 14px;
}
.coming-soon #information> p > span {
	font-size: 12px;
}
.company {
	margin-bottom: 30px;
}
#outline {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#outline .company {
	width: 894px;
	line-height: 1.6;
}
#outline .company tr th,
#outline .company tr td{
	padding: 15px 0;
}
#outline .company tr:first-child tr,
#outline .company tr:first-child td{
	padding: 0 0 15px;
}
#outline .company tr {
	border-bottom: 1px solid #bbb;
}
.company > .List-Headline {
	font-size: 16px;
	margin-bottom: 10px;
}
.discription{
	margin-bottom: 20px;
}
.discription p {
	font-size: 14px;
	line-height: 1.7;
	font-weight: 500;
}
.disc{
	font-size: 14px;
	margin-bottom: 20px;
	padding-bottom: 20px;
}
.disc h2{
	margin-bottom: 5px !important;
	font-weight: bold;
}
.caution{
	overflow: hidden;
	padding: 0 10px 10px;
	box-sizing: border-box;
}
.caution .left{
	width: 460px;
	float: left;
}
.caution .right{
	width: 460px;
	float: right
}
.caution h3{
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: bold;
}
.caution  dl dt{
	font-size: 14px;
	font-weight: bold;
}
.caution dl dt,
.caution dl dd{
	font-size: 14px;
}
#map_canvas{
	width: 100%;
	height: 400px;
}
#contact {
	background: #FFFFFF;
	width: 100%;
	margin: 0 auto 95px;
	max-width: 1000px;
	border-radius: 20px;
	border: 3px solid #333;
	padding: 50px 60px 60px;
	box-sizing: border-box;
}
#contact > .inner{
	width: 600px;
	padding: 0;
}
#contact dl{
	margin-top: 20px;
}
#contact dl.agree {
	text-align: center;
	margin-top: 26px;
}
#contact dl.agree a {
	text-decoration: underline;
}
#contact dl.agree a:hover {
	opacity: 0.7;
}
#contact dl.submit {
	margin-top: 20px;
	overflow: hidden;
}
#contact dl dt{
	font-size: 16px;
	margin-bottom: 12px;
}
#contact dl dt label {
	display: flex;
	gap: 10px;
	font-weight: 700;
	line-height: 1;
	cursor: default;
}
#contact dl dt label:before {
	content: '';
	display: flex;
	align-items: center;
	color: #fff;
	border-radius: 20px;
	padding: 0px 8px;
	width: fit-content;
	font-size: 12px;
	font-weight: 500;
	line-height: 150%;
	letter-spacing: 0.36px;
}
#contact dl dt.required label:before {
	content: '必須';
	background: #333;
}
#contact dl dt.any label:before {
	content: '任意';
	background: #aaa;
}
#contact dl dd{
	font-size: 12px;
	margin-bottom: 21px;
}
#contact dl dd.date_field {
	margin-bottom: 6px;
}
#contact input[type="text"],
#contact input[type="email"],
#contact input[type="date"],
#contact textarea,
#contact select{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	width: 100%;
	box-sizing: border-box;
	padding: 3px 14px;
	outline: none;
	border: none;
	border-radius: 8px;
	background: #E8E8E8;
	-webkit-appearance: none;
	height: 43px;
	color: #333;
}
#contact dl.date select{
	width: 80px;
	margin-right: 5px;
	background: url(/wp/wp-content/themes/dspec/assets/common/img/ico/menu_arrow2.png) 63px 50% no-repeat #FFFFFF;
	background: #E8E8E8;
}
#contact dl.date input[type="date"] {
	width: 140px;
}
#contact dl.address input#zip{
	width: 140px;
	-webkit-appearance: none;
	border-radius: 8px;
}
#contact dl.address select{
	width: 300px;
	background: #E8E8E8;
	border-radius: 8px;
}
#contact dl.faq textarea {
	height: 160px;
	padding: 14px;
}
#contact input[type="submit"],
#contact input[type="button"] {
	max-width: 190px;
	padding: 20px 0;
	color: #FFFFFF;
	background: #333;
	background-size: 20px 20px;
	border: 0;
	cursor: pointer;
	border-radius: 100px;
	text-align: center;
	outline: none;
	-webkit-appearance: none;
	font-size: 15px;
	font-weight: 500;
	line-height: 100%;
}
#contact input[type="submit"]:hover,
#contact input[type="button"]:hover {
	opacity: 0.7;
}
.wpcf7-validation-errors {
	border: 2px solid #f00 !important;
	color: #f00;
}
#contact input[type="submit"]{
	-webkit-appearance: none;
	border-radius: 100px;
}
#contact input.confirm {
	width: 200px;
	background: url(/wp/wp-content/themes/dspec/assets/common/img/ico/submit_arrow.png) 92% 50% no-repeat #555555;
	padding: 20px;
	background-size: 20px 20px;
	-webkit-appearance: none;
	border-radius: 0;
}
input.wpcf7-form-control.wpcf7-back.confirm.wpcf7c-elm-step2.wpcf7c-btn-back {
	margin-right: 10px;
	margin-left: 44px;
	-webkit-appearance: none;
	border-radius: 0;
}
.wpcf7-form-control-wrap {
	position: relative;
}
#contact dl.submit dd{
	text-align: center;
	overflow: hidden;
	margin-bottom: 0;
}
#contact .contact-tel{
	text-align: center;
	margin-bottom: 0;
	padding: 20px 0;
}
#contact_info {
	text-align: center;
	margin-bottom: 70px;
}
#contact_info .inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
#contact_info h3 {
	text-align: center;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.84px;
}
#contact_info .telephone_link {
	max-width: max-content;
	margin: 0 auto 0;
}
#contact_info .telephone_link a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	padding: 20px 36px 20px 36px;
	border-radius: 100px;
	background: #FFF;
	border: 2px solid #333;
	font-family: "Montserrat",sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 1.8px;
	text-decoration: none;
}
#contact_info .telephone_link a:hover {
	opacity: 0.7;
}
#contact_info .telephone_link a i {
	font-size: 20px;
}
#contact_info p {
	color: #272724;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.45px;
}
.contact_description {
	text-align: center;
	margin-bottom: 60px;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.8;
}
nav.anchor_link ul {
	display: flex;
	align-items: flex-start;
	gap: 40px;
}
nav.anchor_link {
	margin-bottom: 40px;
}
nav.anchor_link a {
	font-size: 16px;
	font-weight: 600;
	line-height: 100%;
	padding-bottom: 20px;
	border-bottom: 1px solid #BBB;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 10px;
}
nav.anchor_link a:hover {
	opacity: 0.7;
}
nav.anchor_link a i {
    background: #333;
    color: #fff;
    border-radius: 20px;
    aspect-ratio: 1/1;
    width: 22px;
    height: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
}
.recap{
	margin: 20px 0;
}
.cont{
	overflow: hidden;
	border-bottom: 3px solid #333333;
	margin-bottom: 10px;
	padding: 10px 0;
	font-size: 14px;
}
.cont .left{
	width: 560px;
	float: left;
}
.cont .left ul{
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.7;
}
.cont .left ul li{
	font-weight: 100;
}
.cont .left dl{
	width: 100%;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.7;
	margin-bottom: 10px;
}
.cont .left dl dt{
	font-weight: bold;
	display: inline-block;
	float: left;
	width: 100px;
}
.cont .left dl dd{
	overflow: hidden;
}
.cont .right{
	width: 400px;
	float: right;
}
.cont .right img{
	width: 100%;
	height: auto;
}
.cont.disc {
	border-bottom: 0;
}
.cont.disc .right{
	width: 450px;
	float: right;
}
.cont.disc .left{
	width: 450px;
	float: left;
}
.cont.disc dl{
	font-size: 14px;
}
.cont.disc dl dt{
	font-weight: bold;
	float: none;
	width: auto;
}
.cont.disc dl dd{

}
.btn_np {
	width: 100%;
	text-align: right;
	margin-bottom: 20px;
	padding: 0 10px;
	box-sizing: border-box;
}
.btn_np ul {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
}
.btn_np ul li {
	width: auto;
	display: flex;
	align-items: center;
	gap: 10px;
}
.btn_np ul li .fa-solid {
	width: 20px;
	height: 20px;
	background: #333;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 20px;
	font-size: 12px;
}
.btn_np ul li a {
	color: #333333;
	font-size: 16px;
	padding: 5px 0;
	font-weight: 600;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 10px;
}
.btn_np ul li a:hover {
	opacity: 0.7;
}
.ui-datepicker-calendar{
	width: 100%;
}
.ui-datepicker-group{
	margin: 0 0 10px 0;
	background: #000;
}
.ui-datepicker-header {
	color: #333;
	padding: 15px 15px 0;
	text-transform: uppercase;
	letter-spacing: 3px;
}
.ui-datepicker-calendar thead th{
	color: #333;
	padding:10px;
}
.ui-datepicker-calendar th,
.ui-datepicker-calendar td{
	font-size: 14px;
	color: #000;
	text-align: center;
}
.ui-datepicker-calendar td span{
	display: block;
	padding:10px;
}
.ui-datepicker-calendar td a{
	color: #333;
	display: block;
	padding:10px;
}
.ui-datepicker-calendar td a:hover{
	background: #000;
	color: #FFF;
}
.ui-datepicker-title{clear: both;}
.ui-datepicker-prev{float: left;}
.ui-datepicker-next{float: right;}
img.ui-datepicker-trigger {
	width: 32px;
	position: absolute;
	margin-left: 5px;
	cursor: pointer;
}
.ui-corner-all {
	font-size: 14px;
	padding: 10px;
}
.ui-state-active{
	background: #000;
	color:#FFF !important;
}
.ui-datepicker{
	width: 275px;
	text-align: center;
	background: #E8E6E6;
	display: none;
}
.ui-datepicker a{
	color: #333;
	cursor: pointer;
}
.movie{
	position: relative;
	width: 100%;
 	padding-top: 56.25%;
}
.movie iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
#news {
	margin: 20px 0 0 0;
	font-size: 14px;
}
#news h2 {
	font-size: 16px;
	font-weight: bold;
}
#news dl {
	width: 100%;
	overflow: hidden;
	padding: 20px 0;
	border-bottom: 1px solid #BBB;
}
#news dd.cate {
	width: auto;
	float: left;
	font-size: 14px;
}
#news dd.date {
	margin-bottom: 8px;
	font-family: Montserrat;
	font-size: 13px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.78px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.news_single #news dd.date {
	margin-bottom: 14px;
}
#news dd.date .date_txt {
	font-weight: 700;
}
#news dd.date .cat_txt {
	display: flex;
	gap: 10px;
}
#news dd.date .cat_txt .cat_item {
    color: #fff;
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-weight: 600;
    line-height: 100%;
    display: flex;
    padding: 5px 10px 6px 10px;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    background:  #333;
}
#news dd.tit{
	width: auto;
	display: flex;
	color: #333;
	font-family: "Noto Sans JP";
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 0.48px;
	align-items: center;
}
.single_tit {
	width: auto;
	display: flex;
	color: #333;
	font-family: "Noto Sans JP";
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 0.48px;
}
#news dd.tit a{
	width: auto;
	float: left;
	color: #333;
	font-family: "Noto Sans JP";
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 0.48px;
}
#news dd.tit a:hover{
	color: #333;
}
#news .text {
	padding: 32px 0 40px;
	margin-bottom: 40px;
	border-bottom: 1px dotted #333;
}
#news .text p {
	color: #333;
	font-family: "Noto Sans JP";
	font-size: 15px;
	font-style: normal;
	font-weight: 500;
	line-height: 170%;
	margin-top: 1.7em;
}
#news .text p:first-child {
	margin-top: 0;
}
#news .text p img {
	vertical-align: bottom;
}
#news .btn_np {
	width: auto;
	text-align: center;
	margin-bottom: 20px;
	padding: 0 10px;
}
.pagination {
	padding: 20px 0;
	text-align: center;
	margin-top: 40px;
}
.pagination ul {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 14px;
}
.pagination ul li {
}
.pagination ul li > span,
.pagination ul li > a {
	background: #fff;
	border-radius: 40px;
	display: flex;
	width: 34px;
	height: 34px;
	font-size: 16px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-decoration: none;
}
.pagination ul li > a.first,
.pagination ul li > a.last,
.pagination ul li > a.prev,
.pagination ul li > a.next {
	background: transparent;
	width: auto;
	height: auto;
	flex-direction: row;
	gap: 10px;
}
.pagination ul li > a.prev span,
.pagination ul li > a.next span {
	
}
.pagination ul li.current > span {
	color: #fff;
	background: #333;
	font-weight: 700;
}

.pagination ul li > a.inactive {
	text-decoration: none;
}
.pagination ul li > a.inactive:hover {
	background: #999;
	color: #fff;
}
.pagination ul li > a:not(.inactive):hover {
	color: #999;
}
.pagination ul li a.prev:hover span:before,
.pagination ul li a.prev:hover span:after,
.pagination ul li a.next:hover span:before,
.pagination ul li a.next:hover span:after {
	background-color: #999;
}
.pagination ul li a.prev,
.pagination ul li a.next,
.pagination ul li a.first,
.pagination ul li a.last {
	color: #333;
}
.kv_slider #slider li{
	display:block;
	width:980px;
	position:relative;
	z-index:1;
	border-radius: 10px;
}
.kv_slider #slider li img{
	border-radius: 10px;
	aspect-ratio: 2 / 1;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.bx-wrapper .bx-caption {
	position: static;
	background: none;
}
.bx-wrapper .bx-caption span {
	padding: 20px 10px;
	color: #333;
	text-align: left;
}
.bx-wrapper .bx-controls-direction a {
	border: 2px solid #333;
	border-radius: 100px;
	transform: translate(0%, -50%);
	margin-top: 0;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	text-indent: unset;
	text-decoration: none;
}
.bx-wrapper .bx-next {
	right: -20px;
}
.bx-wrapper .bx-prev {
	left: -20px;
}
#note {
	padding: 10px 0;
}
#note h1{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 20px;
}
#note p{
	text-align: left;
	font-size: 14px;
}
.noteCont{

}
#contact_link2 {
	clear: both;
	width: 375px;
	margin: 0 auto 0;
	padding-top: 40px;
}
#contact_link2.stay {
	clear: both;
	width: 420px;
	margin: 0 auto 0;
	padding-top: 40px;
}
#contact_link2 a{
	padding: 20px 36px;
	font-size: 16px;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #fff;
	text-decoration: none;
	box-sizing: border-box;
	border-radius: 50px;
	background: #333;
	background-size: 20px 20px;
	text-align: left;
	transition: all 0.3s;
	gap: 10px;
}
#contact_link2 a:hover {
	background: #aaa;
}
#contact_link2.stay a{
	padding: 20px 45px;
	font-size: 16px;
	width: 100%;
	height: 100%;
	display: block;
	color: #fff;
	text-decoration: none;
	box-sizing: border-box;
	border-radius: 5px;
	background-color: #ff4f54;
	background-image:
		url(/wp/wp-content/themes/dspec/assets/common/img/ico/submit_arrow2.png);
	background-position:
		right 35px center;
	background-repeat: no-repeat;
	background-size:
		20px 20px;
	text-align: left;
}
p.notes {
	color: #a5151e;
	font-size: 14px;
	font-weight: bold;
}
#publish {
	padding: 20px 50px;
	font-size: 14px;
}
#publish h2{
	padding: 20px 0 !important;
}
#publish h3{
	margin-bottom: 30px;
	font-size: 18px;
}
#publish dl{
	padding: 20px 0 0;
}
#publish dl dt{
	margin: 20px 0 0;
	font-size: 16px;
	font-weight: bold;
}
#publish dl dd{
	padding: 20px 0;
}
.wpcf7c-conf {
	background-color: #ddd !important;
	border-color: #999;
}
#search_area {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 10000;
	background: rgba(255,255,255,0.9);
}
#search_area.active {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
#search_area #searchForm {
	width: 90%;
	flex-direction: column;
}
#search_area #searchForm input[type='submit'] {
	position: static;
	margin: 0 auto;
}
#search_area #searchForm input[type='text'] {
	padding: 10px 10px 9px 10px;
}
.hamburger.search-toggle {
	position: absolute;
	top: 10px;
	right: 15px;
	padding: 13px;
}
#contact h3 {
	font-size: 18px;
}
/*===============================================
●smart  画面の横幅が740pxまで
===============================================*/
@media screen and (max-width:740px){
	.kv_slider #slider li{
		display:block;
		width:100%;
		height:auto;
		overflow:hidden;
		position:relative;
		z-index:1;
		border-radius: inherit;
	}
	.kv_slider #slider li img{
		width: 100%;
		height: 100%;
		aspect-ratio: 4/3;
		border-radius: initial;
		object-fit: cover;
	}
	#contact input[type="submit"],
	#contact input[type="button"]{
		width: 100%;
		padding: 20px 36px;
		font-size: 14px;
		color: #FFFFFF;
		height: auto;
	}
	input[type="button"] {
		margin-bottom: 10px;
	}
	input.wpcf7-form-control.wpcf7-back.confirm.wpcf7c-elm-step2.wpcf7c-btn-back {
		margin-right: 0;
		margin-left: 0;
	}
	.wpcf7 img.ajax-loader {
		border: none;
		vertical-align: middle;
		margin-left: 4px;
		width: 20px;
	}
	.wpcf7c-conf {
		background-color: #ddd !important;
		border-color: #999;
	}
	#share #main_contents {
		width: 100%;
		margin: 0;
		position: relative;
		overflow: hidden;
	}

	#contents {
		margin-bottom: 50px;
		padding: 0 0 8px;
	}
	#contents.about,
	#contents.news,
	#contents.share_page {
		margin-bottom: 0;
		padding: 5% 3%;
	}
	
	#contents.share_page h2.head {
		margin-bottom: 40px
	}
	.kv_slider {
		margin-bottom: 0;
		width: 100%;
		height: auto;
		padding: 0 15px;
	}
	.coming-soon .mv > p {
		width: 100%;
		height: auto;
		display: block;
		text-align: center;
		font-weight: bold;
		font-size: 16px;
		padding: 50px;
		box-sizing: border-box;
	}
	.information {
		overflow: hidden;
		margin-bottom: 0;
		padding: 20px;
		background: #FFF;
		margin: 0 15px;
		box-sizing: border-box;
	}
	.information .inner {
		padding: 0;
	}
	.information .left {
		width: 100%;
		float: none;
		margin-bottom: 20px;
	}
	.information .right {
		width: 100%;
		background: #FFFFFF;
		box-sizing: border-box;
		display: inline-block;
		height: auto;
		min-height: auto;
	}
	.information .left ul {
		margin-bottom: 0;
		font-size: 14px;
		line-height: 1.7;
		padding-bottom: 15px;
	}
	.information .left dl:last-child {
		margin-bottom: 0;
	}
	.information .left dl dd {
		overflow: hidden;
		width: 100%;
		float: none;
	}
	.information .right ul li a {
		width: 100%;
		height: 100%;
		z-index: 10;
		text-align: center;
		padding: 20px;
		box-sizing: border-box;
		display: inline-block;
	}

	.information .right ul li a img {
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}
	.discription {
		margin-bottom: 20px;
		font-size: 14px;
		padding: 20px 15px;
	}

	#contact {
		background: #FFFFFF;
		width: 100%;
		margin: 0;
		padding: 30px;
	}
	#contact > .inner {
		width: 100% !important;
		margin: 0 auto;
		overflow: hidden;
	}
	.btn_np {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
		padding: 0 10px;
		box-sizing: border-box;
	}
	.mv {
		height: auto;
		margin-bottom: 20px;
	}
	.disc {
		font-size: 14px;
		margin-bottom: 20px;
		padding: 20px;
	}
	#map_canvas {
		width: 100%;
		height: 100%;
		box-sizing: border-box;
	}
	#information .left {
		width: 100%;
		float: none;
		margin-bottom: 20px;
	}
	#information .right {
		width: 100%;
		float: none;
		font-size: 14px;
		padding: 20px 10px;
		box-sizing: border-box;
	}
	.information .right ul li {
		position: relative;
		float: none;
		width: 100%;
		height: auto;
		margin-top: 10px;
		margin-left: 0;
		overflow: hidden;
		border: 1px solid #CCC;
		text-align: center;
		box-sizing: border-box;
	}
	.coming-soon #information > p {
		padding: 0 20px;
	}
	.coming-soon #information>p>span {
		font-size: 10px;
	}
	.caution {
		overflow: hidden;
		padding: 20px;
	}
	.caution .left {
		width: 100%;
		float: none;
		margin-bottom: 20px;
	}
	.caution .right {
		width: 100%;
		float: none;
	}
	#contact_link {
		border-radius: 3px;
		text-align: center;
		width: 100%;
		margin: 0 0 20px;
		padding: 20px;
		box-sizing: border-box;
	}
	#contact_link a {
		padding: 20px;
		font-size: 14px;
		width: 100%;
		height: 100%;
		display: block;
		color: #FFFFFF;
		text-decoration: none;
		box-sizing: border-box;
		border-radius: 5px;
		background: url(/wp/wp-content/themes/dspec/assets/common/img/ico/submit_arrow.png) 92% 50% no-repeat #555555;
		background-size: 20px 20px;
		text-align: center;
	}
	#contact_link2 {
		clear: both;
		width: max-content;
		margin: 0 auto 0;
		padding-top: 40px;
	}
	#contact_link2 a {
		font-size: 14px;
	}
	#contact_link2.stay {
		clear: both;
		width: 300px;
		margin: 0 auto 0;
		padding-top: 40px;
	}
	#contact_link2.stay a{
		text-align: center;
	}
	#contact dl.name input[type="text"] {
		margin-right: 0;
	}
	#contact .captcha img{
		width: auto;
	}
	#news {
		margin: 20px auto 0;
	}
	#news h2 {
		font-size: 18px;
	}
	#news p {
		font-size: 14px;
	}
	#year {
		margin-left: 0 !important;
	}
	#news .btn_np {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
		padding: 0 10px;
		box-sizing: border-box;
	}
	#note {
		padding: 20px;
	}
	#note h1{
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 10px;
	}
	#contents.publish {
		background: #fff;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	#publish {
		overflow: hidden;
		padding: 20px 10px;
		margin: 0 10px 20px;
	}
	#publish h2{
		text-align: left !important;
	}
	#publish dl dt {
		margin: 10px 0 0;
		font-size: 16px;
	}
	#publish dl dd {
		padding: 10px 0;
	}
}

.p-bookingForm {
	position: relative;
	clear: both;
	background: #FFF;
	padding: 30px;
}

.p-bookingForm:before {
	content: '';
	position: absolute;
	top: 2%;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
	width: 100%;
	height: 1px;
	background-color: #DDD;
}

@media screen and (max-width:740px) {
	.p-bookingForm:before {
		top: 1.8%;
	}
}

.p-bookingForm h3 {
	font-size: 24px;
	padding: 40px 0;
}

@media screen and (max-width:740px) {
	.p-bookingForm h3 {
		padding: 25px 0;
	}
}

.p-bookingForm p span {
	display: block;
	color: #ff0000;
}

.p-bookingForm .inner {
	width: 600px;
	padding: 0;
	margin: 0 auto;
}

@media screen and (max-width:740px) {
	.p-bookingForm .inner {
		width: 100%;
	}
}
.p-bookingForm dl {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}

@media screen and (max-width:740px) {
	.p-bookingForm dl {
		flex-direction: column;
	}
}

.p-bookingForm form {
	width: 600px;
	padding-top: 40px;
	margin: 0 auto;
}

@media screen and (max-width:740px) {
	.p-bookingForm form {
		width: 100%;
	}
}

.p-bookingForm form p {
	display: flex;
}

.p-bookingForm form .mylabel small {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 16px;
}

@media screen and (max-width:740px) {
	.p-bookingForm form .mylabel small {
		padding: 0 3px;
	}
}
.p-bookingForm form span {
	display: inline-block;
	color: #000;
}

.roomLabel {
	padding-left: 16px;
}

.people-Label {
	padding-right: 16px;
	min-width: 80px;
}

.p-bookingForm form .people-Label span {
	display: block;
	font-size: 10px;
}

.p-bookingForm form .mylabel span {
	display: block;
	font-size: 10px;
}

@media screen and (max-width:740px) {
	.people-Label {
		padding-right: 5px;
		min-width: 64px;
	}
}

.people-num {
	padding-left: 16px;
}

@media screen and (max-width:740px) {
	.people-num {
		padding-left: 7px;
	}
}

.p-bookingForm form dt {
	width: 152px;
	margin-right: 70px;
}

@media screen and (max-width:740px) {
	.p-bookingForm form dt {
		width: 100%;
		margin-right: 0;
		font-size: 16px;
	}
}

.p-bookingForm form dt span {
	color: #A5151E;
	font-size: 13px;
	margin-left: 5px;
}

.p-bookingForm form dd p {
	font-size: 12px;
	color: #CCCCCC;
	margin-top: 16px;
}

.p-bookingForm form dd input {
	width: 346px;
	height: 50px;
	font-size: 16px;
	border: 1px solid #DDD;
	box-sizing: border-box;
	padding: 12px 20px;
}

@media screen and (max-width:740px) {
	.p-bookingForm form dd input {
		width: 100%;
		margin-top: 10px;
	}
}

@media screen and (max-width:740px) {
	.checkin dd {
		width: 100%;
	}

	.checkin dd span {
		width: 100%;
	}

	.checkout dd {
		width: 100%;
	}

	.checkout dd span {
		width: 100%;
	}
}

.p-bookingForm form dd.acceptance input[type="checkbox"] {
	display: none;
}

.acceptance a {
	text-decoration: underline;
	color: #3B4043;
}

.wpcf7 input[type=checkbox] {
	display: none;
}

.wpcf7 input[type=checkbox]+span {
	display: flex;
	align-items: center;
	cursor: pointer;
	position: relative;
	margin: 0;
	padding: 0 0 0 24px;
	font-size: inherit;
	box-sizing: border-box;
	transition: opacity .25s ease;
	height: auto;
	font-size: 16px;
}

.wpcf7 input[type=checkbox]+span::before {
	content: "";
	opacity: 1;
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	width: 18px;
	height: 18px;
	border-radius: 5px;
	background: #E8E8E8;
	border: 1px solid #bbb;
	box-sizing: border-box;
	transition: opacity .25s ease;
	z-index: 1;
}

.wpcf7 input[type=checkbox]+span::after {
	content: "";
	opacity: 0;
	z-index: 10;
	display: block;
	position: absolute;
	top: 7px;
	left: 3px;
	width: 10px;
	height: 5px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}
.wpcf7 input[type=checkbox]:checked+span::before {
	opacity: 1;
	transition: opacity .25s ease;
	background: #333;
	border: 1px solid #333;
}

.wpcf7 input[type=checkbox]:checked+span::after {
	opacity: 1;
	border-bottom: 2px solid #fff;
	border-right: 0 solid #fff;
	transition: opacity .25s ease;
}



.p-bookingForm form dd.acceptance .wpcf7-list-item label {
	 display: flex;
	 align-items: center;
}

.p-bookingForm form dd.acceptance span {
	font-size: 12px;
}

.p-bookingForm form dd.acceptance .wpcf7-list-item {
	margin-left: 0;
}

.p-bookingForm form dd input::placeholder {
	color: #CCC;
}

@media screen and (max-width:740px) {
	.p-bookingForm form dd input[type=date] {
		width: 176px;
	}
}

input::-webkit-date-and-time-value {
	color: #000;
}

.p-bookingForm form dd textarea {
	width: 346px;
	height: 140px;
	border: 1px solid #DDDDDD;
	padding: 14px 20px;
}

@media screen and (max-width:740px) {
	.p-bookingForm form dd textarea {
		width: 100%;
		margin-top: 10px;
	}
}

.p-bookingForm form dd textarea::placeholder {
	color: #CDD6DD;
}

.room select {
	width: 84px;
	height: 50px;
	border: 1px solid #DDDDDD;
	padding: 12px 45px 14px 20px;
	color: #000;
}

@media screen and (max-width:740px) {
	.p-bookingForm .room {
	align-items: flex-start;
	}

	.p-bookingForm .people {
		align-items: flex-start;
	}
}

.fix-wrap {
	display: flex;
	align-items: center;
}

.fix-wrap.\--ismb {
	margin-bottom: 20px;
}

@media screen and (max-width:740px) {
	.fix-wrap {
		margin-top: 10px;
	}
}

.room select option {
	color: #DDDDDD;
}

.room dd span {
	position: relative;
	width: 84px;
	height: 50px;
}

.room dd span::before {
	content: "";
	opacity: 1;
	z-index: 10;
	display: block;
	position: absolute;
	top: 20px;
	right: 21px;
	width: 9.4px;
	height: 6.1px;
	background: url(../img/article/select-arrow.png);
	background-repeat: no-repeat;
	background-size: cover;
}

.people select {
	position: relative;
	width: 84px;
	height: 50px;
	border: 1px solid #DDDDDD;
	padding: 12px 45px 14px 20px;
	color: #000;
}

.people dd span {
	position: relative;
	width: 84px;
	height: 50px;
}

.people dd span::before {
	content: "";
	opacity: 1;
	z-index: 10;
	display: block;
	position: absolute;
	top: 20px;
	right: 21px;
	width: 9.4px;
	height: 6.1px;
	background: url(../img/article/select-arrow.png);
	background-repeat: no-repeat;
	background-size: cover;
}

.submit {
	display: flex;
	justify-content: center;
}

.submit input {
	border: none;
	background: #000;
	color: #FFF;
	width: 270px;
	height: 55px;
	font-size: 16px;
	transition: all 0.4s ease;
}

.submit input:disabled {
	background: #615f5f;
	transition: all 0.4s ease;
}

div.wpcf7 .ajax-loader {
	display: none;
}
#favorite {
	margin-bottom: 0;
	clear: both;
}
.text a.simplefavorite-button {
	display: flex;
	align-items: center;
	width: max-content;
	border-radius: 5rem;
	background: #fff;
	color: #333;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.5s ease 0s;
	margin: 25px auto;
	padding: 10px 25px;
	border: 2px solid #333;
}
.text a.simplefavorite-button:hover,
.text a.simplefavorite-button.active {
	background: #333;
	color: #fff;
}
.text a.simplefavorite-button:after {
	content: '';
	background: url(/wp/wp-content/themes/dspec/img/article/icon_favorite.svg) no-repeat;
	width: 13px;
	height: 15px;
	font-size: 20px;
	display: block;
	transition: all 0.5s ease 0s;
	margin-left: 10px;
	margin-top: 2px;
}
.text a.simplefavorite-button.active:after {
	content: '';
	background: url(/wp/wp-content/themes/dspec/img/article/icon_favorite_on.svg) no-repeat;
	width: 13px;
	height: 15px;
	font-size: 20px;
	display: block;
	transition: all 0.5s ease 0s;
	margin-left: 10px;
	margin-top: 2px;
}
.text .simplefavorite-button.active {
	opacity: 1;
}
.text a.simplefavorite-button.active i,
.text a.simplefavorite-button:hover i{
	color: #FFE100;
}
.text  a.simplefavorite-button span {
	font-size: 16px;
}
.wpcf7-spinner {
	position: absolute;
}
.g-recaptcha > div {
	margin: 0 auto;
}
.share_section:not(:first-of-type) {
	margin-top: 138px;
}
h3.head {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 44px;
	padding: 0;
	margin-bottom: 40px;
	line-height: 1;
	letter-spacing: 2px;
	padding-left: 30px;
	border-left:  2px solid #333;
}
h3.head span.sub_head {
	font-family: 'Noto Sans JP';
	font-size: 14px;
	font-weight: bold;
	display: block;
	margin-top: 12px;
}
.info_img {
	width: 440px;
	height: 440px;
	order: 2;
	aspect-ratio: 1 / 1;
	border: 3px solid #333;
	border-radius: 20px;
	box-sizing: border-box;
	overflow: hidden;
}
.info_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#gnavi .menu_section .info_img {
    order: 1;
    aspect-ratio: 16 / 10.5;
    border: 3px solid #333;
    border-radius: 20px;
    box-sizing: border-box;
    overflow: hidden;
    width: auto;
    height: auto;
}
.info_text {
	width: 700px;
	order: 1;
	box-sizing: border-box;
}
.info_text p {
	line-height: 1.8;
}
.about .info_text p:not(:last-child) {
	margin-bottom: 1.1em;
}
.info_text h4 {
	font-family: "Noto Sans JP";
	font-size: 26px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.78px;
	margin-bottom: 28px;
}
#access {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#access .des_area {
	width: 440px;
}
#access .des_area p {
	font-size: 15px;
	line-height: 1.8;
}
#access .map_area {
	width: 700px;
	border: 3px solid #333;
	border-radius: 20px;
	overflow: hidden;
}
.staff_list {
	margin-top: 45px;
}
.staff_list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.staff_list ul li {
	width: calc((100% / 3) - 14px);
	border: 3px solid #333;
	border-radius: 20px;
	padding: 25px;
	box-sizing: border-box;
	background-color: #fff;
	display: flex;
	flex-direction: column;
}
.card_head {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}
.card_icon {
	width: 90px;
}
.card_icon img{
	width: 100%;
}
.card_desc {
	padding-left: 10px;
	line-height: 1.6;
}
.card_desc span {
	display: block;
}
.card_desc span.name {
	font-size: 16px;
	font-weight: 600;
}
.card_desc span:not(.name) {
	font-size: 13px;
}
.card_cont p, .card_foot span {
	font-size: 14px;
	line-height: 1.8;
}
.card_foot span {
	margin-top: auto;
}
.card_foot {
	margin-top: auto;
	margin-bottom: 0;
}
.card_cont:has(+ .card_foot) {
	margin-bottom: 1rem;
}
span.ano {
	font-size: 13px;
}
a.external_link {
	color: #333;
	font-family: "Noto Sans JP";
	font-size: 13px;
	font-style: normal;
	font-weight: 500;
	line-height: 160%;
	display: inline-block;
	border-bottom: 1px solid #333;
	display: flex;
	width: max-content;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
}
a.external_link:hover {
	text-decoration: none;
	color: #666;
}
.g_link {
	display: flex;
	padding: 18px 22px 20px 26px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	background: #333;
	color: #fff;
	font-size: 15px;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
	border-radius: 100px;
	width: 170px;
	margin-top: 30px;
	text-decoration: none;
}
.g_link:hover {
	text-decoration: none;
	color: #fff;
	background: #555;
}
.g_link.pc {
	display: flex !important;
}
.g_link.sp {
	display: none;
}
.m_link {
	display: flex;
	padding: 12px 7px 15px 7px;
	justify-content: center;
	align-items: center;
	gap: 6px;
	background: #333;
	color: #fff;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
	border-radius: 100px;
	width: 170px;
	margin-top: 16px;
	text-decoration: none;
}
.m_link:hover {
	text-decoration: none;
	color: #fff;
	background: #555;
}
#head_section {
	margin-top: 80px;
}
.head_wrap {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	gap: 20px;
	align-items: center;
	padding: 0 20px;
}
.head_wrap h2.bunko_head {
	width: 192px;
}
.head_wrap h2.tweets_head {
	width: 240px;
}
.head_wrap h2 img {
	width: 100%;
}
.head_wrap p {
	font-family: "Noto Sans JP";
	font-size: 20px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.6px;
}
#card_section {
	max-width: 1000px;
	margin: 20px auto 0;
	padding: 0 10px;
}
.desc_card {
	max-width: 1000px;
	margin: 20px auto 0;
	padding: 20px;
	background: #fff;
	box-sizing: border-box;
	border-radius: 10px;
}
.desc_card p {
	font-size: 15px;
	line-height: 1.8;
}
.desc_card ul.link_sec {
	display: flex;
	gap: 30px;
	justify-content: flex-end;
	align-items: center;
	margin-top: 1em;
}
.desc_card ul.link_sec a {
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.84px;
	display: flex;
	gap: 20px;
	padding-bottom: 13px;
	border-bottom: 1px solid #333;
	text-decoration: none;
}
.card_wrap ul {
	margin: -10px;
}
.card_wrap ul li {
	width: calc((100% - 60px) / 3);
	box-sizing: border-box;
	border-radius: 20px;
	border: 3px solid #333;
	overflow: hidden;
	padding: 14px;
	background: #fff;
	margin: 10px;
}
.item_img {
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 16px;
}
.item_img img {
	width: 100%;
	vertical-align: bottom;
}
figure figcaption {
	position: relative;
}
figure figcaption .staff_box {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	gap: 4px;
}
figure figcaption .staff_box .staff_name {
	font-size: 13px;
	font-weight: 700;
	margin: 0;
}
figure figcaption .staff_box .staff_avatar {
	width: 50px;
	margin: 0;
}
figure figcaption .staff_box .staff_avatar img {width: 100%;vertical-align: bottom;}
figure figcaption h3 {
	font-size: 17px;
	line-height: 1.6;
	font-weight: 700;
}
figure figcaption p {
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 20px;
}
figure figcaption.staff_card p {
	margin-bottom: 40px;
}
figure figcaption span {
	font-size: 13px;
	line-height: 1.6;
	display: block;
}
.arrow_left,
.arrow_right {
	position: relative;
	display: inline-block;
	width: 12px;
	height: 18.7px;
}
.arrow_left::before,
.arrow_left::after,
.arrow_right::before,
.arrow_right::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	width: 15px;
	height: 2px;
	border-radius: 9999px;
	background-color: #333;
	transition: all 0.3s;
}
.arrow_left::before,
.arrow_left::after {
	left: 0;
	transform-origin: 1px 50%;
}
.arrow_right::before,
.arrow_right::after {
	right: 0;
	transform-origin: calc(100% - 1px) 50%;
}

.arrow_left::before,
.arrow_right::before {
	transform: rotate(40deg);
}

.arrow_left::after,
.arrow_right::after {
	transform: rotate(-40deg);
}

.favorites-list li:after, .favorites-list li:before {
	content: none;
}
.privacy_info p {
	font-size: 15px;
	font-weight: 500;
	line-height: 170%;
}
.privacy_info dl {
	margin-top: 30px;
}
.privacy_info dl dt {
	font-size: 18px;
	font-weight: 700;
	line-height: 170%;
	margin-bottom: 6px;
}
.privacy_info dl dd ul {
	margin-top: 1em;
}
.privacy_info dl dd,
.privacy_info dl dd ul li {
	font-size: 15px;
	font-weight: 500;
	line-height: 170%;
}
.recapcha_caution {
	font-size: 13px;
	font-style: normal;
	font-weight: 600;
	line-height: 180%;
	letter-spacing: 0.39px;
	text-align: center;
	margin-top: 20px;
}
.recapcha_caution a {
	text-decoration: underline;
}
.wpcf7-not-valid-tip {
	margin-top: 5px;
	font-weight: 600;
}
.wpcf7-list-item {
	margin: 0;
}
.caption_item {
	padding: 14px 0 0;
	color: #555;
	font-size: 13px;
	font-weight: 500;
}
@media (min-width: 940px) and (max-width: 1200px) {
	.info_text {
		width: 60%;
	}
	.info_img {
		width: 39%;
	}
	#access .des_area {
		width: 39%;
	}
	#access .map_area {
		width: 60%;
	}
}
@media screen and (max-width: 1040px) {
	#relation {
		padding: 0 20px;
	}
	.card_wrap ul {
		padding: 0 10px;
	}
	.card_wrap ul li {
		width: calc((100% - 80px) / 3);
	}
	#contact {
		width: 100%;
		margin: 0 0 100px;
		max-width: -webkit-fill-available;
	}

}
@media screen and (max-width: 1000px) {
	.desc_card {
		margin: 20px 20px 0;
	}
}
@media (min-width: 769px) and (max-width: 939px) {
	.kv_slider {
		width: 100%;
	}
	.info_img {
		width: 100%;
		margin-top: 3%;
	}
	.info_text {
		width: 100%;
	}
	#contents {
		padding: 0 20px;
	}
	#access .map_area {
		width: 100%;
		margin-top: 3%;
	}
	#outline {
		flex-direction: column;
	}
	.share_section:not(:first-of-type) {
		margin-top: 100px;
	}
	.g_link.pc {
		display: none !important;
	}
	.g_link.sp {
		display: flex !important;
		margin: 3% auto 0;
	}
	.head_wrap p {
		font-size: 2vw;
	}
}
@media screen and (max-width:768px) {
	.kv_slider {
		width: 100%;
	}
	.share_section:not(:first-of-type) {
		margin-top: 15%;
	}
	h3.head {
		font-size: 32px;
		margin-bottom: 20px;
		padding-left: 3%;
	}
	.info_img {
		width: 100%;
		height: auto;
		order: 1;
		aspect-ratio: 16 / 9;
		margin-bottom: 3%;
	}
	.info_img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.info_text {
		width: 100%;
		order: 2;
	}
	.info_text p {
		font-size: 13px;
	}
	.info_text h4 {
		font-size: 3.5vw;
		margin-bottom: 3%;
	}
	.staff_list ul li {
		padding: 20px;
		width: calc((100% / 2) - 10px);
	}
	.card_cont p, .card_foot span {
		font-size: 13px;
	}
	#outline {
		flex-direction: column;
	}
	#outline .company {
		width: 100%;
	}
	#outline .company tr th, #outline .company tr td {
		font-size: 13px;
	}
	#access {
		flex-direction: column;
	}
	#access .des_area {
		width: 100%;
		margin-bottom: 3%;
	}
	#access .des_area p {
		font-size: 13px;
	}
	#access .map_area {
		width: 100%;
		aspect-ratio: 16 / 9;
		box-sizing: border-box;
	}
	.g_link.sp {
		display: flex !important;
		margin: 3% auto 0;
	}
	.head_wrap p {
		font-size: 16px;
		width: 70%
	}
	#head_section {
		margin-top: 0;
		padding-top: 40px;
		background: #eee;
	}
	#card_section {
		max-width: 1000px;
		margin: 0 auto;
		padding: 20px 10px 40px;
		background: #eee;
	}
	.item_img {
		margin-bottom: 10px;
	}
	figure figcaption h3 {
		font-size: 14px;
	}
	figure figcaption p {
		font-size: 13px;
		margin-bottom: 10px;
	}
	figure figcaption span {
		font-size: 12px;
	}
	.desc_card p {
		font-size: 13px;
	}
	#news dd.tit a {
		font-size: 14px;
	}
	span.title_text {
		font-weight: 700;
		font-size: 16px;
	}
	#contact > .inner {
		width: 100%;
	}
}

@media screen and (max-width:600px) {
	.card_wrap ul li {
		width: calc((100% - 60px) / 2);
	}
	#contact {
		padding: 20px;
		margin: 0 15px;
	}
	#contact h3 {
		font-size: 16px;
	}
	#contact dl dt {
		font-size: 14px;
	}
	#contact input[type="text"],
	#contact input[type="email"],
	#contact input[type="date"],
	#contact textarea,
	#contact select{
		font-size: 14px;
		width: 100%;
		padding: 3px 14px;
		height: 32px;
	}
	#contact dl.address select {
		width: auto;
	}
	.wpcf7 input[type=checkbox]+span {
		font-size: 14px;
	}
	.wpcf7 input[type=checkbox]+span::before {
		top: 2px;
	}
	.wpcf7 input[type=checkbox]+span::after {
		top: 6px;
	}
	#share #main_contents #relation h2 {
		font-size: 18px;
	}
	.kv_slider ul#slider_image li {
		aspect-ratio: 4 / 3;
	}
	.bx-wrapper .bx-next {
		right: -10px;
	}
	.bx-wrapper .bx-prev {
		left: -10px;
	}
}
@media screen and (max-width:500px) {
	.head_wrap {
		align-items: flex-start;
		flex-direction: column;
	}
	.head_wrap p {
		font-size: 16px;
		width: 100%
	}
	.card_wrap ul li {
		padding: 12px;
	}
	.staff_list ul {
		gap: 20px;
	}
	.staff_list ul li {
		width: calc((100% / 2) - 5px);
		width: 100%;
		padding: 20px 10px;
	}
	.card_head {
		flex-direction: column;
	}
	.card_desc {
		padding-left: 0;
	}
	.card_desc span {
		display: block;
	}
	.card_desc span.name {
		font-size: 14px;
		text-align: center;
	}
	.card_desc span:not(.name) {
		text-align: center;
	}
	.card_cont p, .card_foot span {
		font-size: 13px;
	}
	#outline .company tr th {
		min-width: 120px;
		padding-right: 10px;
	}
	#contents.about,#contents.news {
		padding: 5% 20px 0;
	}
	.g_link.sp {
		margin: 1rem auto 0;
		font-size: 14px;
		display: flex !important;
		padding: 15px 20px 15px 20px;
	}
	figure figcaption .staff_box .staff_avatar {
		width: 40px;
	}
	.pagination ul {
		gap: 8px;
	}
	.pagination ul li > span,
	.pagination ul li > a {
		width: 22px;
		height: 22px;
		font-size: 14px;
		text-decoration: none;
	}
	.arrow_left::before,
	.arrow_left::after,
	.arrow_right::before,
	.arrow_right::after {
		width: 10px;
		height: 2px;
	}
	.btn_np ul li a {
		font-size: 13px;
	}
	#relation {
		margin: 60px auto 0;
		padding: 0 5px;
	}
	span.title_text {
		font-weight: 700;
		font-size: 16px;
	}
}
@media screen and (max-width:450px) {
	.caption_item {
		padding: 8px 0 0;
	}
	#outline .company tr th {
		min-width: 100px;
	}	
	figure figcaption.staff_card p {
		margin-bottom: 20px;
	}
	figure figcaption span {
		margin-top: 20px;
		display: inline-block;
	}
	figure figcaption .staff_box {
		bottom: 10px;
	}
	.head_wrap h2.bunko_head {
		width: 150px;
	}
	.head_wrap h2.tweets_head {
		width: 180px;
	}
    #contact {
        margin: 0 5px;
    }
	#contact_info {
		margin-top: 40px;
	    margin-bottom: 20px;
	}
	nav.anchor_link ul {
		display: flex;
		align-items: flex-start;
		gap: 20px;
		padding: 0 20px;
	}
	nav.anchor_link a {
		line-height: 1.4;
	}
	nav.anchor_link,.contact_description {
	    margin-bottom: 30px;
	}
	#contact_info h3 {
		font-size: 22px;
	}
	#contact_info .telephone_link a {
		font-size: 26px;
	}
}
@media screen and (max-width:400px) {
	#contact_link2 a {
		font-size: 13px;
		padding: 20px; 
	}
    #contact_info .telephone_link a {
        font-size: 22px;
    }
}