/**
* Template Name: THE WINE CAVE SP - v1.0
*/

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


/* レスポンシブ
/*-----------------------------------------------------------------------------------*/
@media screen and (min-width:480px) and ( max-width:768px) {
    .w-693 {
        max-width: 480px !important;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
	/*--------------------------------------------------------------
共通項目
--------------------------------------------------------------*/
.grecaptcha-badge {
    bottom: 70px !important;
}
	.sp-none {
		display: none !important;
	}
	.pc-none {
		display: block !important;
	}
	body {
		font-size: 14px;
		line-height: 1.7;
		font-weight: 400;
		overflow-x: hidden;
	}
	p {
		margin-bottom: 0;
		font-weight: 400;
	}
	.container {
		padding-right: var(--bs-gutter-x, 1rem);
		padding-left: var(--bs-gutter-x, 1rem);
	}
	.mt40 {
		margin-top: 40px;
		padding-right: 5px;
	}
	.mt-150 {
		margin-top: -165px;
		display: block;
		z-index: 3;
		position: relative;
	}
	.mr-15 {
		margin-right: auto;
	}
	.mr-5 {
		margin-right: auto;
	}
	.full-width {
		margin-left: calc(-50vw + 50%);
		margin-right: calc(-50vw + 50%);
	}
	#header.header-scrolled {
		padding: 20px 0;
	}
	#header.header-scrolled .logo img {
		max-height: 11px;
	}
	img {
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
		}
		.fixed-top {
			top:auto;
			bottom: 15px;
		}
		.fixed-top-sp {
			position: absolute;
			top: 0;
			right: 0;
			left: 0;
			z-index: 1;
		}
		#header-2 .logo img {
			max-height: 11px;
			margin-left: 17px;
			margin-top: 17px;
		}
	
	/*--------------------------------------------------------------
共通タイトル
--------------------------------------------------------------*/
.section-ttl h2 {
    font-size: 8px;
    margin-top: 70px;
}
	/*--------------------------------------------------------------
ヘッダー
--------------------------------------------------------------*/
	#header {
		padding: 20px 0;
	}
	#header .logo img {
		max-height: 11px;
	}
	#header .logo {
    margin-left: 17px;
}
	.main-image {
		margin-top: 55px;
	}
	.mobile-nav-toggle {
		color: #000;
		font-size: 28px;
		transition: 0s;
	}
	.navbar ul {
		margin-right: 0;
	}
	.navbar ul li {
		border-bottom: none;
	}
	.navbar ul li:last-child {
		border-bottom: none;
	}
	.navbar a {
		padding: 7px 0;
		margin-right: 0;
		text-align: left;
		display: block;
		font-size: 15px;
		font-weight: 500;
		letter-spacing:normal;
		font-family: 'Noto Sans JP', sans-serif !important;
	}
	.navbar {
		right: 0;
		padding-top: 3px;
		padding-right: 15px;
	}
	.navbar {
		position:absolute;
	}
	.navbar-mobile .mobile-nav-toggle {
		position: absolute;
		top:initial;
		bottom:0;
		right: 15px;
		transition: 0s;
	}
	.navbar-mobile {
		background: #505050;
		overflow-x: hidden;
        padding: 0;
	}
	.navbar-mobile ul {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		padding: 47.5px 37.5px;
		background-color:#49B1C9;
		overflow-y: auto;
		max-width: inherit !important;
	}
	.navbar-mobile a {
		color: #fff !important;
		font-weight: 500;
		font-size: 19px;
	}
	.navbar-mobile .nav-ttl {
		color: #fff !important;
		font-weight: 500;
		font-size: 15px;
		margin-bottom: 0;
		padding: 0 0 10px 0;
	}
	.navbar-mobile .nav-ttl-last {
        color: #fff !important;
        font-weight: 500;
        font-size: 15px;
        margin-bottom: 0;
        padding: 10px 0;
		border-top: 0.5px solid #7dd8ed;
		border-bottom: 0.5px solid #7dd8ed;
    }
	.sub-menu {
		margin-top: -10px;
	}
	.sub-menu-sp {
		margin-top:0;
		padding-left: 0;
		padding-right: 0;
		margin-bottom: 0;
	}
	.sub-menu-sp li a {
		font-size: 12.5px;
		border-bottom:none;
		padding: 9px 0;
	}
	.sub-menu-sm a {
		font-size: 12.5px;
		display: inline-block;
		font-weight: 400;
	}
	.sub-menu-ic img {
		width: 15px;
		margin-left: 7px;
		vertical-align: sub;
	}
	/*ベース*/
.toggle {
	display: none;
}
.Label {		/*タイトル*/
	display: block;
	color: #fff;
	padding:10px 0;
	font-weight: 500;
	font-size: 15px;
	border-top: 0.5px solid #7dd8ed;
}
.Label::before{		/*タイトル横の矢印*/
	content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(img/common/menu-plus.svg) no-repeat right top;
	background-size: 15px;
    position: absolute;
	top:15px;
    right: 0;
}
.Label,
.ac-menu-content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	position: relative;
}
.ac-menu-content {		/*本文*/
	height: 0;
	padding:0 ;
	overflow: hidden;
}
.toggle:checked + .Label + .ac-menu-content {	/*開閉時*/
	height: auto;
	padding-bottom:10px;
}
.toggle:checked + .Label::before {
	background: url(img/common/menu-minus.svg) no-repeat right top;
	width: 15px;
    height: 15px;
	background-size: 15px;
}
.nav-ttl-sm {
	font-size:12.5px;
	display: block;
	font-weight: 400;
}
	/*--------------------------------------------------------------
FV
--------------------------------------------------------------*/
	.fv-area {
		position: relative;
		overflow: hidden;
		width: 100%;
		height: 395px;
	}
	.fv-wrapper{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		clip-path: inset(0); //上下左右距離ゼロ
		z-index: -1;
	}
	.fv-wrapper::before {
	content: '';
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url(img/top/fv_img_sp.jpg) no-repeat;
      background-size: cover;
      background-position: top center;
	}
	.fv-copy-en svg {
		max-width: 325px;
		width: 100%;
		top: 8px;
		left: 50%;
	}
	.main-catch {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		text-align: center;
		transform: translateY(-50%) translateX(-50%);
		-webkit- transform: translateY(-50%) translateX(-50%);
	}
	.main-catch .fv-catch {
		color: #fff;
		font-size: 12.5px;
		display: block;
		position: relative;
		display: inline-block;
	}
	.main-catch .fv-catch img{
		width: 100%;
		height:160px;
	}
	.main-catch .fv-catch p {
		margin-bottom: 15px;
	}
	
	.main-catch .fv-ttl {
		max-width: 100%;
		margin: 0 auto;
	}
	.main-catch .fv-ttl img {
		max-width: 100%;
		max-height: 419.5px;
		margin-top: 15px;
		padding-right: 5px;
	}
	/*--------------------------------------------------------------
コンテンツ
--------------------------------------------------------------*/
.sec-ttl-bg {
    position: absolute;
	bottom: -86px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: -1;
}
.sec-ttl-bg img{
    height: 34px;
}
.sec-ttl-bg_02 img {
    max-width:310px;
}
.contact-btn {
    right: 60px;
}
.contact-btn a {
    color: #fff !important;
    font-size: 11px;
    font-weight: 400;
    background-color: #49B1C9;
    padding: 11px 20px;
    border-radius: 44px;
}
.bi-list {
	background-image: url(img/common/menu.svg);
	background-size: 38px;
    width: 38px;
    height: 38px;
}
.bi-x {
    background-image: url(img/common/close.svg);
    background-size: 38px;
    width: 38px;
    height: 38px;
}
	.about-txt {
		padding: 53.5px 0 105px 0;
	}
	.about-txt p {
		text-align: center;
		font-size: 11px;
		line-height: 2 !important;
		font-weight: 500;
	}
	.history {
		padding: 37px 0 40px 0 ;
	}
	.business {
		padding: 10px 0 40px 0;
		background-size: cover;
		background-position: center;
	}
	.history-subttl {
		margin-top: 5.5px;
		font-size: 12.5px;
	}
	.history-img {
		margin-top: 0;
		margin-bottom: 68.5px;
		max-width: 125px;
	}
	.ac-conts_02 {
		padding: 35.5px 0 43px 0;
	}
	
	.ac-box button {
		font-size: 10px;
	}
	.history-box table {
		margin-left: 30px;
	}
	.history-box table th {
		font-size: 21px;
		padding: 15px 10px 15px 0;
		width: 25.5%;
	}
	
	.bg-ttl {
		padding-top: 62px;
	}
	.border-none {
		border: none !important;
	}
	.ac-ttl:after {
		width: 14px;
		height: 14px;
		background-size: 14px;
		position: absolute;
		top: 3px;
		right: -13px;
	}
	.ac-ttl.selected:after {
		width: 14px;
		height: 14px;
		background-size: 14px;
	}
	.ac-ttl_02:after {
		width: 14px;
		height: 14px;
		background-size: 14px;
		position: absolute;
		top: 3px;
		right: -13px;
	}
	.ac-ttl_02.selected:after {
		width: 14px;
		height: 14px;
		background-size: 14px;
	}
	.ac-conts {
		padding: 110px 0 67px 0;
	}
	.history-img_01 {
		position: absolute;
        top: -155px;
        left: 0;
	}
	.history-img_01 img {
		max-width: 284px;
		width: 100%;
	}
	.history-img_02 {
		top: 20px;
	}
	.history-img_02 img {
		max-width: 115px;
	}
	.history-img_03 {
		top: 20px;
	}
	.history-img_03 img {
		max-width: 115px;
	}
	.history-box table td .month {
		margin-right: 5px;
		float: left;
		display: block;
		clear: both;
		width: 20px;
		font-size:9px;
	}
	.history-box table td {
		font-size: 9px;
		padding: 20px 0;
	}
	.hoc {
		position: absolute;
		top: 130px;
		left: 10px;
		z-index: -1;
	}
	.hoc img{
		height:110px
	}
	.bg-ttl h2 {
		font-size: 8px !important;
		font-weight: 500 !important;
	}
	.sec-ttl-bg_02 {
		bottom: -15px;
	}
	.business-subttl {
		font-size: 11px;
	}
	.business-list ul {
		margin:0 auto;
		max-width: 235px;
		margin-bottom: 50px;
	}
	.business-list ul li {
		background: url(img/top/ic-list.svg) left 0px top 1px no-repeat;
		background-size: 12.5px;
		margin-bottom: 8px;
	}
	.business-list ul li span {
		font-size: 9px;
		font-weight: 400;
		background-color: #fff;
		border-radius: 2.5px;
		padding: 0 10px;
		margin-left: 22px;
		display: block;
		color: #555;
	}
	.site-header {
		background-image: url('img/service/header_service_sp.png');
		background-repeat: no-repeat;
		background-size: 1100px;
		background-position: top center;
		display: block;
		position: relative;
		width: 100%;
		margin-top: 63px;
		height: 500px;
		z-index: 2;
	}
	.business-ttl h3 {
		font-size:11px;
		font-weight: 500;
	}
	.business-tbl-ttl {
		font-size: 11px;
		margin-bottom: 11px;
		font-weight: 400;
		margin-top: 34px;
	}
	.business-tbl table th {
		display: block;
		text-align: center;
		width: 100%;
		font-size: 10px;
		border-bottom: none;
		padding: 8px 0;
	}
	.business-tbl table td {
		width: 100%;
		display: block;
		font-size: 9px;
		padding: 13px 20px;
	}
	.business-tbl table td a{
		display: block;
		text-align: center;
		font-size: 10px;
	}
	.business-tbl ul {
		padding-right: 0;
		padding-left: 0;
		margin-bottom: 15px;
	}
	.business-tbl ul li {
		padding: 5px;
	}
	.business-tbl table td .strong {
		font-size: 10px;
	}
	.business-tbl ul li::before {
		position: relative;
		top: -2px;
		left: -5px;
		display: inline-block;
		width: 2px;
		height: 2px;
		content: '';
		border-radius: 100%;
		background: #4d4d4d;
	}
	.sp-space {
		margin-left: 50px;
	}
	.notes {
		margin-bottom: 43px;
	}
	.notes p {
		font-size: 8.5px;
	}
	.brand-ttl {
		display: block;
		margin-top: 30px;
	}
	.brand-ttl h2 {
		font-size: 13px;
		margin-bottom: 15px;
	}
	.brand-ttl h3 {
		font-size: 11.5px;
		line-height: 1.8;
	}
	.brand-ttl p {
		font-size: 10px;
		margin-bottom: 20px;
		line-height: 1.9;
	}
	.mb138 {
		margin-bottom: 45px;
	}
	.mt138 {
        margin-top: 45px;
    }
	.w-693 {
		max-width: 280px;
		margin: 0 auto;
	}
	.site-header-box {
		width: 100%;
		display: block;
		position: absolute;
		top: 45%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
	}
	#privacy {
		padding: 0;
		overflow-x: hidden;
	}
	.message-bg {
		top: 115px;
		bottom:initial;
	}
	.message-box h3 {
		font-size: 12px;
		margin-bottom: 15px;
	}
	.message-bg img {
		width: 500px;
		
	}
	.message-box p {
		font-size: 10px;
		margin-bottom: 15px;
		line-height: 1.9;
	}
	.site-header-txt {
		width: 100%;
		text-align: center;
		font-size: 12.5px;
		display: block;
		margin-top: 24px;
		line-height: 2;
	}
	.point-box {
		display: block;
		border-radius: 9.5px;
		background-color: rgba(255, 255, 255, 0.65);
		padding: 16px 16px 10px 16px;
		margin-bottom: 10px;
	}
	.point-box-ttl {
		font-size: 11px;
	}
	.service-bg {
		background-color: #4b0a28;
		width: 100%;
	}
	.number {
		display: block;
		z-index: 3;
		position: relative;
	}
	.number img {
		height: 32px;
		display: block;
		margin: 0 auto;
	}
	.feature {
		padding-bottom: 35px;
	}
	.feature-ttl {
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
	}
	.feature-ttl h3 {
		font-size: 15px;
		font-weight: 500;
		color: #C89137;
		background-color: #4b0a28;
		padding: 4px 8px;
		white-space: nowrap;
		margin-bottom: 0;
		padding: 5.5px 11.5px;
		letter-spacing: 0.5px;
	}
	.feature-txt {
		font-size: 13px;
		color: #C89137;
		padding: 22px 16px 45px 16px;
	}
	.feature-box_01 {
		background-image: url('img/service/feature_bg01.png');
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		display: block;
		position: relative;
		height: 165px;
		margin-top: 15px;
	}
	.feature-box_02 {
		background-image: url('img/service/feature_bg02.png');
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		display: block;
		position: relative;
		height: 165px;
		margin-top: 15px;
	}
	.feature-box_03 {
		background-image: url('img/service/feature_bg03.png');
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		display: block;
		position: relative;
		height: 165px;
		margin-top: 15px;
	}
	.utilize {
		margin-top: 25px;
	}
	.utilize-box {
		padding: 10px 0 30px 0;
	}
	.utilize-ttl {
		display: flex;
		flex-direction: column;
		/*これを指定*/
		justify-content: center;
		/*これを指定*/
		padding-top: 10px;
	}
	.utilize-txt {
		display: flex;
		flex-direction: column;
		/*これを指定*/
		justify-content: center;
		/*これを指定*/
		position: relative;
		border-bottom: 1px solid #C89137;
		height: 155px;
		padding-left: 90px;
		letter-spacing: 0.5px;
	}
	.utilize-txt img {
		position: absolute;
		width: 75px;
		top: 25%;
		left: 5px;
	}
	.utilize-txt h3 {
		font-size: 15px;
		color: #C89137;
		line-height: 1.5;
	}
	.utilize-txt p {
		font-size: 12.5px;
		color: #C89137;
		line-height: 1.5;
	}
	.qanda {
		padding: 30px 0;
	}
	.qanda-bg {
		background-color: #C89137;
	}
	.qanda-box {
		background: #fff;
		border-radius: 19.5px;
		padding: 30px 20px;
		margin-top: 35px;
		margin-bottom: 40px;
	}
	.qanda-wrapper {
		width: 100%;
		display: block;
		border-bottom: 1px solid #C89137;
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	.q-box {
		display: flex;
		color: #C89137;
		font-weight: 500;
		gap: 0 10px;
	}
	.a-box {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		margin-top: 10px;
		margin-bottom: 15px;
		padding-bottom: 15px;
		gap: 0 10px;
		color: #000;
		border-bottom: 1px solid #C89137;
	}
	.q-mark {
		text-align: center;
		font-weight: 500;
		font-size: 22.5px;
		line-height: 1;
	}
	.a-mark {
		text-align: center;
		width: 1em;
		font-weight: 500;
		font-size: 17.5px;
		line-height: 1;
	}
	.q-txt {
		-webkit-align-self: center;
		-ms-flex-item-align: center;
		align-self: center;
		font-size: 14px;
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
		font-weight: 500;
	}
	.a-txt {
		line-height: 1.6;
		overflow: hidden;
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
		font-size: 12.5px;
		font-weight: 400;
		padding-top: 0;
	}
	.pb0 {
		padding-bottom: 0;
	}
	.txt-white h2 {
		color: #fff !important;
	}
	.txt-white h2:before {
		background-color: #fff !important;
	}
	.pos-button {
		margin-left: -50px;
	}
	.pos-button02 {
		margin-left: -70px;
	}

	/*--------------------------------------------------------------
フォーム
--------------------------------------------------------------*/
	.contact-header {
		display: block;
		margin-top: 63px;
		position: relative;
	}
	.contact-header h2 {
		font-size: 15px;
		text-align: center;
		padding-top: 30px;
		display: block;
	}
	.contact-nav {
		display: block;
		width: 100%;
		margin: 20px 0 30px 0;
	}
	.contact-nav img {
		display: block;
		max-width: 193px;
		margin: 0 auto;
	}
	.privacy-txt {
		font-size: 13px;
		display: block;
		margin-bottom: 30px;
		line-height: 1.8;
	}
	.contact-txt {
		font-size: 13px;
		display: block;
		line-height: 1.8;
		padding:60px 0 !important;
	}
	form#mail_form {
		width: 100%;
		font-size: 13px;
	}
	form#mail_form dl {
		width: 100%;
		margin: 0 auto;
		overflow: hidden;
	}
	form#mail_form input[type="text"], form#mail_form input[type="email"], form#mail_form input[type="tel"] {
		padding: 7px 2%;
		width: 100% !important;
		max-width: 100% !important;
		border: 1px solid #000 !important;
		border-radius: 8px !important;
		background: #fff !important;
		font-size: 13px;
	}
	form#mail_form dl dt {
		font-weight: 400;
		font-size: 13px;
		width: auto;
		float: none;
		text-align: left;
		padding: 10px 0 5px;
		position: relative;
	}
	form#mail_form dl dd {
		padding: 0px 0 10px 0px;
	}
	form#mail_form textarea {
		width: 100% !important;
		max-width: 100% !important;
		border: 1px solid #000 !important;
		border-radius: 8px !important;
		background: #fff !important;
		resize: none;
		height: auto;
		font-size:13px;
	}
	form#mail_form ul {
		list-style-type: none;
		padding-top: 0;
	}
	form#mail_form dl dd li {
		display: inline-block !important;
		margin-right: 16px;
		width: auto;
		font-size: 13px;
	}
	form#mail_form dl dt span.required {
		position: absolute;
		right: 0;
		top: 12px;
		color: #fff;
		font-size: 10px;
		background: #FF0000;
		padding: 0 10px;
		border-radius: 4px;
		border: none;
		margin: 0;
	}
	form#mail_form ul li input[type="radio"], form#mail_form ul li input[type="checkbox"] {
		margin-top: 0;
	}
	form#mail_form input[type="submit"] {
		margin: 0 auto;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: bold !important;
    padding: 13px !important;
    display: block !important;
    background-color: #FF0000;
    color: #fff;
    border: solid 1px #fff;
    border-radius: 6px !important;
    background-size: 200% 100% !important;
    background-image: -webkit-linear-gradient(left, transparent 50%, #828282 50%) ;
    background-image: linear-gradient(to right, transparent 50%, #828282 50%) ;
    -webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease !important;
    transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease !important;
    font-weight: normal !important;
    width: 100% !important;
	}
	form#mail_form input[type="submit"]:hover {
		background-position: -100% 100% !important;
	}
	#form_confirm_button{
        margin: 0 auto;
    text-align: center;
    max-width: 1000px;
    font-size: 13px;
    font-weight: bold;
    padding: 13px;
    display: block;
    background-color: #fff !important;
    color: #000 !important;
    border: solid 1px #000 !important;
    border-radius: 6px;
    background-size: 200% 100%;
    background-image: -webkit-linear-gradient(left, transparent 50%, #828282 50%);
    background-image: linear-gradient(to right, transparent 50%, #828282 50%);
    -webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
    transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	}
	.mb15 {
		margin-bottom: 15px !important;
	}
	#form_confirm_button:hover{
    border: solid 1px #828282 !important;
	color: #fff !important;
	}
	form#mail_form {
		width: 100%;
		margin: 0px auto;
		line-height: 1.8;
	}
	.submit-btn {
		margin: 45px 0 !important;
		display: block;
	}
	.finish-btn {
		list-style: none;
		padding:0;
		margin-bottom: 45px;
		margin-top: 45px;
	}
	.finish-btn li a{
		margin: 0 auto;
		text-align: center;
		max-width: 1000px;
		font-size: 13px;
		padding: 13px;
		display: block;
		margin-top: 15px;
		background-color: #fff;
		color: #000;
		border: solid 1px #000;
		border-radius: 6px;
		-webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
		transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	}
	.finish-btn li a:hover{
		background-color: #828282;
		color:#fff !important;
		border: solid 1px #828282;
	}
	::placeholder {
		color: #bbb;
	  }
	.check-txt {
		padding-left: 10px !important;
		padding-bottom: 1px !important;
		display: inline-block;
		padding-top: 0 !important;
		font-size: 13px;
	}
	.confirm-box {
		font-size:13px;
	}
	.error {
		display: block;
		color: #ff0000;
		margin-top: 3px;
		font-size: 13px;
	}
	/*--------------------------------------------------------------
アコーディオン
--------------------------------------------------------------*/
	.tab {
		position: relative;
		margin-bottom: 1px;
		width: 100%;
		color: #000;
		overflow: hidden;
		margin-top: 0;
		margin-bottom: 60px;
	}
	.tab input {
		position: absolute;
		opacity: 0;
		z-index: -1;
	}
	.tab label {
		position: relative;
		display: block;
		text-align: center;
		font-weight: normal;
		font-size: 12.5px;
		padding: 5px;
		line-height: 2.25;
		cursor: pointer;
		background-color: #fff;
		color: #000 !important;
		border: solid 1px #000;
		border-radius: 6px;
		font-weight: bold;
		-webkit-transition: all .35s;
		-o-transition: all .35s;
		transition: all .35s;
	}
	.tab-content {
		max-height: 0;
		overflow: hidden;
		-webkit-transition: max-height .35s;
		-o-transition: max-height .35s;
		transition: max-height .35s;
		color: #000;
	}
	/* :checked */
	.tab input:checked~.tab-content {
		max-height: 100%;
	}
	.tab input:checked~label {
		color: #fff !important;
		background-color: #828282;
		border: solid 1px #828282;
	}
	/* Icon */
	.tab label::after {
		position: absolute;
		right: 0;
		top: -6px;
		display: block;
		width: auto;
		height: auto;
		line-height: 2.25;
		text-align: center;
		-webkit-transition: all .35s;
		-o-transition: all .35s;
		transition: all .35s;
		font-size: 18px;
		font-weight: 300;
		margin-right: 0;
	}
	.contact-tab label {
		font-size: 12px;
		padding: 5px;
		font-weight: normal;
	}
	.contact-tab label::after {
		right: 25px;
		top: -3px;
	}
	.tab input[type=checkbox]+label::after {
		content: "+";
	}
	.tab input[type=radio]+label::after {
		content: "\25BC";
	}
	.tab input[type=checkbox]:checked+label::after {
		transform: rotate(315deg);
	}
	.tab input[type=radio]:checked+label::after {
		transform: rotateX(180deg);
	}
	.tab-privacy {
		margin-top: 20px !important;
	}
	.tab-privacy p {
		color: #888;
		margin-bottom: 30px !important;
		display: block;
	}
	.privacy-pmark {
		width: 100%;
		border: 1px solid #ddd;
		border-radius: 10px 10px 10px 10px;
		display: table;
		border-collapse: separate;
		border-spacing: 3% 0;
	}
	.privacy-pmark p {
		padding: 10px 3%;
		vertical-align: middle;
		display: table-cell;
	}
	.privacy-pmark p a img {
		width: 100px;
		padding-right: 0;
	}
	.privacy-pmark p a img:hover {
		opacity: 0.7;
	}
	.border-ttl {
		display: inline-block;
		border: 2.5px solid #000;
		padding: 4px 9px;
		font-size: 15px;
		letter-spacing: 2px;
	}
	.privacy-header {
		margin-top: 70px;
	}
	.privacy-pmark p {
		display: block;
		text-align: center;
	}
	.pmark-text{
		font-size: 12.5px;
		text-align: justify !important;
	}
	.privacy-pmark {
		margin: 30px 0;
	}
	.slogan-ttl {
		font-size: 19px;
	}
	.about-ttl {
		font-size: 15px;
	}
	.police-txt {
		font-size:13px;
		line-height: 1.5;
	}
	.company-ttl {
		margin-top: 50px;
	}
	.company-ttl h2 {
		font-size: 12px;
		letter-spacing: normal;
	}
	.dot-ttl {
		margin-top: 10px;
		margin-bottom: 10px;
		font-size: 15px;
	}
	.message-txt {
		font-size: 10px;
		line-height: 2.2;
	}
	.ceo-name {
		font-size: 12px;
		margin-top: 20px;
	}
	.philosophy-txt {
		font-size: 11px;
		line-height: 1.7;
	}
	.pt205 {
		padding-top: 50px;
	}
	.basic-ttl h3 {
		font-size: 10px;
		padding: 3px 12.5px;
		border-radius: 4.5px;
	}
	.basic-ttl {
		margin-bottom: 20px;
	}
	.basic-subttl {
		font-size: 11px;
		line-height: 1.9;
		margin-bottom: 25px;
	}
	.basic-list li {
		font-size: 9px;
	}
	.w-320 {
		max-width: 320px;
		margin:0 auto;
	}
	
	.company-tbl th {
		width: 100%;
		display: block;
		border-bottom: none !important;
		padding: 15px 0 0 0 !important;
		font-weight: 500;
		font-size:12px;
	}
	.company-tbl td {
		width: 100%;
		display: block;
		padding: 0 0 15px 0 !important;
		font-size:10px;
		line-height: 1.7;
	}
	.pdf-link {
		max-width: 320px;
		margin: 0 auto;
		border-top: #707070 solid 0.5px;
		border-bottom: #707070 solid 0.5px;
	}
	.pdf-link a {
		display: inline-block;
		padding: 10px 5px;
		text-align: center;
		font-size:10px;
	}
	.pdf-link img {
		width: 22px;
		margin-left: 10px;
	}
	.mt105 {
		margin-top: 40px;
		display: block;
	}
	
	.location-txt p span {
		font-size: 13px;
	}
	.location-img img {
		margin-bottom: 20px;
	}
	.location-txt p {
		font-size: 11px;
		margin-bottom: 20px;
		word-break: break-all;
	}
	.message {
		margin-bottom: 80px;
	}
	.philosophy {
		margin-bottom: 80px;
	}
	.basic {
		margin-bottom: 80px;
	}
	.company {
		margin-bottom: 50px;
	}
	.location {
		margin-bottom: 0;
	}
	

	/*--------------------------------------------------------------
フッター
--------------------------------------------------------------*/
	#footer {
		padding: 40px 0 65px;
		font-size: 12.5px;
	}
	.footer {
		padding: 0;
		font-size: 12.5px;
		margin-top: 10px;
	}
	.footer .com-name {
		padding: 0;
		font-size: 7px;
		text-align: center;
		margin-bottom: 3px;
		display: block;
	}
	.footer .copyright {
		padding: 0 !important;
		font-size: 6px;
		display: block;
		letter-spacing: 0.5px;
		margin-bottom: 0;
	}
	
	.footer-nav {
		padding-left: 0;
		margin-bottom: 25px;
	}
	.footer-txt {
		font-size: 9px;
		display: block;
		margin-bottom: 5px;
	}
	.footer-link a {
		font-size: 7px;
		display: inline-block;
		color: #fff !important;
		margin-bottom: 13px;
	}
	.privacy-link {
		display: flex;
      flex-wrap: wrap; /* flexアイテムを折り返す（複数行に配置する） */
	  max-width: 210px;
	  width: 100%;
	  margin: 0 auto;
	  margin-bottom: 25.5px;
	}
	.privacy-link a {
        font-size: 7px;
		margin-bottom: 13px;
        width: calc(50% - 0px); /* 列の幅を均等に分配し、マージンを考慮して計算 */
		padding:0;
    }
	.footer-logo-link a {
		display: inline-block;
		margin: 0 17px;
	}
	.footer-logo-link {
		margin-bottom: 30px;
	}
	.footer-logo-link img {
		width: 54px;
	}
}