@charset "utf-8";
/* CSS Document */


/*==========================================================
__common
==========================================================*/


*{
     margin-left:auto;    /* 左側マージンを自動的に空ける */
     margin-right:auto;   /* 右側マージンを自動的に空ける */
     box-sizing: border-box;
}

b {
	font-weight:normal;
}

body{
	font-size: 100%;
	max-width: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	background: #fff;
	overflow-x: hidden;
}

img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

a{
	color: #111;
	text-decoration: none;
	transition: .3s;
}

em {
	display:block;
	font-style: normal;
	font-weight: 400;
	color: #111;
}

h2 {
    font-size: 4.2em;
    letter-spacing: 9px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
}

h5 {
    font-size: 1.3em;
    font-weight: 500;
    letter-spacing: 1px;
}

p {
	font-size: 0.95em;
	line-height: 2;
	letter-spacing: 1px;
	color: #424242;
	font-weight: 300;
}

small {
	font-family: 'Ubuntu', ui-sans-serif;
	color: #ccc;
	font-size: 0.6em;
	letter-spacing: 1px;
	vertical-align: middle;
}

#wrapper {
	width:100%;
	padding: 0;
	margin: 0;
	line-height: 2.0;
}

a.anchor {
    display: block;
    /* padding-top: 110px; */
    /* margin-top: -110px; */
}

.mb {margin:0 0 10px;}
.mb1 {margin:0 0 20px;}
.mb2 {margin: 0 0 40px;}
.mb3 {margin: 0 0 80px;}

.line_bottom_gr {
	padding-bottom: 30px;
	border-bottom: 2px #7a1f2b solid;
}

.line_top_gr {
	/* padding-top: 30px; */
	/* border-top: 2px #7a1f2b solid; */
}

.pc{display: block !important;}
.sp{display: none !important;}
.point_tt {display: none;}

.br {display: block !important;}
.br2 {display: none !important;}

.inner {
	max-width: 1200px;
	margin: auto;
	position: relative;
	width: 100%;
}


.center {
	display:block;
	margin:auto;
	text-align:center;
}

table {
    background: #fff;
    width: 100%;
    margin: 0 0 20px;
    font-size: 0.95em;
}

tr {

}

th {
    border-bottom: 1px solid #111;
    padding: 10px 15px;
    width: 28%;
    text-align: center;
    letter-spacing: 2px;
}

td {
	padding: 0;
	text-align: right;
	font-weight: 300;
}

.column2 {
	
}

.column2 ul{
	display: flex;
}

.column2 ul li{
	width: 100%;
	margin: 0 5% 0 0;
}

.column2 ul li:last-child{
	margin: 0;
}

/*==========================================================
__//共通コンテンツ
==========================================================*/


/*右*/
.view-right{
	opacity: 0;
	transform: translate(30px,0); 
	-webkit-transform: translate(30px,0); 
	transition: .5s;
}
.mv-right{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
	transition: .5s;
}

/*左*/
.view-left{
	opacity: 0;
	transform: translate(-30px,0); 
	-webkit-transform: translate(-30px,0); 
	transition: .5s;
}

.mv-left{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
	transition: .5s;
}

/*上*/
.view-up {
	opacity: 0;
	transform: translate(0, 30px);
	-webkit-transform: translate(0, 30px);
	transition: .5s;
	transition-delay:0.9s;	
}

.mv-up {
	opacity: 1.0;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}

.fade {
	opacity: 0;
	transition: .6s;
	transition-delay:0.6s;

}

.mv-fade {
	opacity: 1;
	transition: .6s;
	transition-delay:0.6s;
}

/*==========================================================
__写真アニメーション
==========================================================*/
.bg-have{
	position: relative;
}

.bg-have:before{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	background-color: #f6eeee;
	z-index: 1;
	transition: .8s;
	max-width: 1000px;
	margin: 0 0 0 auto;
	animation: ef-mask 1s cubic-bezier(0.76, 0.09, 0.4, 0.97) forwards;

}
.bg-have.active:before {
	top: 100%;
}

/*==========================================================
__見出しアニメーション
==========================================================*/
.animation-b-up {
    position: relative;
    width: 100%;
    overflow: hidden;
}

span.animation-b-up-inner {
    position: relative;
    bottom: -2.5rem;
	right: 0;
	left: 0;
    width: 100%;
	transition: .8s;
	animation: ef-mask 0.5s cubic-bezier(0.76, 0.09, 0.4, 0.97) forwards;
}


span.animation-b-up-inner.bup {
    bottom: 0;
}


/*==========================================================
__header
==========================================================*/
header {
	width:100%;
	background-color: #fff;
	padding: 20px 30px 20px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	right: 0;
	margin: 0 auto;
	box-sizing: border-box;
	transition: .3s;
	box-shadow: 10px 10px 15px rgb(0 0 0 / 5%);
}

.header_inner {
	width: auto;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header .hd_logo{
	width: 173px;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 1.3;
	transition: .3s;
	margin: 0;
}


/*==========================================================
__メニュー部分
==========================================================*/

.navi_area {
	width: 710px;
	margin: 0;
}

header ul {
	vertical-align: middle;
	display: flex;
	justify-content: space-between;
	width: 100%;
	align-items: center;
}

header li {
	margin: 0;
	width: auto;
	text-align: center;
}

header li a{
	color: inherit;
}

header li {
	text-align: center;
}

header li {
	font-weight: bold;
	font-size: 1em;
	letter-spacing: 3px;
	padding: 0;
	line-height: 1;
}

header li a.active {
	color: #7a1f2b;
}


header li a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	font-weight: 500;
}

header li a::after {
	position: absolute;
	bottom: -5px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #7a1f2b;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
}
header li a:hover::after {
	transform: scale(1, 1);
}


header .navi_area li:last-child a {
    background: #7a1f2b;
    padding: 16px 50px;
    border-radius: 100px;
    color: #fff;
    transition:.3s;
}
header .navi_area li:last-child a:after{
    content:none;
}


header .navi_area li:last-child a:hover{
    background:#3e4856;
}

header li ul.child-menu {
  display: none;
}

header.is-animation {
    transition: .3s;
    padding: 10px 30px 10px;
}

header.is-animation .hd_logo {
    transition: .3s;
    width: 136px;
}



/*ドロワーメニュー*/
.drawer-hamburger {}

.drawer-main {
    width: 50%;
    margin: 0;
}

.drawer-main a {
    display: block;
    cursor: pointer;
    margin: 0 3% 10px 0;
    overflow: hidden;
    width: 100%;
    padding: 0 0 20px;
    /* border-bottom: 1px solid #ccc; */
}

.drawer-main a:nth-child(3n){margin: 0 0 10px 0;}

.drawer-main dl{
	background: url(../image/common/next.png) no-repeat right 1% center;
	background-size: 8px;
	transition: .3s;
}

.drawer-main dl:hover {
	transition:.3s;
	background: url(../image/common/next.png) no-repeat right 0 center;
	background-size: 15px;
}

.drawer-main dt{
	font-size: 0.8em;
	line-height: 1.1;
	color: #7a1f2b;
	letter-spacing: 2px;
	font-family: 'Unica One', cursive;
}


.drawer-main dd{
	font-size: 1.4em;
	letter-spacing: 1px;
	color: #555;
}

.drawer-menu {
	text-align: left;
	display: block;
	float: right;
	overflow: hidden;
	/* border-top: 1px solid #ccc; */
	width: 70%;
}

.drawer-menu ul {
	/* border-top: 1px dotted #999; */
	width: 100%;
	display: block;
	margin: 0;
	overflow: hidden;
}

.drawer-menu li{
	width: 25%;
	padding: 0;
	margin: 0 0 35px;
	vertical-align: top;
	float: left;
	display: block;
}

.drawer-menu li a {
	padding: 0 30px 20px 0;
	display: block;
	background-size: 10px;
	font-size: 1em;
	letter-spacing: 1px;
	line-height: 2;
}


/**/
.drwtel {
	clear: both;
	width: 40%;
	margin: 0 10% 0 0;
	text-align: center;
}

.drwlogobox {}

.drwlogobox b {
	display: inline-block;
	margin: 0;
	font-size: 20px;
	letter-spacing: 3px;
	margin: 0 auto;
}

a.drwlogo small{
	display:block;
	letter-spacing:2px;
}

.drwlogobox b a {
	font-size: 2.4em;
	line-height: 1;
	font-family: 'Courier Prime', monospace;
	letter-spacing: 0;
	color: #7a1f2b;
}

a.drwlogo {

display: inline-block;

vertical-align: top;

color: #111;

margin: 0 0 30px 0;

/* border: 1px solid #555; */

padding: 15px 20px;

width: 100%;

box-sizing: border-box;

text-align: center;
}


.drwtel dl{
	margin: 5px 0 0 5px;
}

.drwtel dt{
    border: 1px solid #aaa;
    color: #000;
    width: 300px;



    text-align: center;
    padding: 2px;
    margin: 0 20px 0 0;
    letter-spacing: 1px;
    font-size: 0.9em;
    display: inline-block;

}

.drwtel dd{
    display: inline-block;
    color: #111;
    font-size: 0.85em;
    letter-spacing: 1px;
}

.drawer-menu .drwtel img {
	max-width: 350px;
}

.drawer-menu .drwtel span {
display: block;
	text-align: center;
	padding: 0 0 5px;
}






/*==========================================================
__タイトルバー
==========================================================*/



.title_cap {
	font-size: 16px;
	font-style: italic;
	letter-spacing: 2px;
	margin: 0;
}


h3 {
    font-size: 2.5em;
    letter-spacing: 1px;
    position: relative;
    padding: 0;
    color:#7a1f2b;
    font-weight: 500;
    line-height: 1.5;
}


h4 {
	font-size: 1.8em;
	letter-spacing: 3px;
	font-weight: 500;
}




/*==========================================================
__ footer
==========================================================*/
#pagetop {
	background: url(../image/common/pagetop_on.png) no-repeat center center #7a1f2b;
	position: fixed;
	width: 80px;
	background-size: 40%;
	height: 80px;
	border: 5px solid #7a1f2b;
	bottom: 0;
	right: 0;
	border-radius: 100px;
	z-index: 9999;
	margin: 30px;
	cursor: pointer;
	transition: .3s;
}

footer {
	padding: 0;
}

.footer_area {
	width:100%;
	padding: 0 0 25px;
	background: url(../image/common/ft_image.jpg) no-repeat;
	overflow: hidden;
	background-position: center;
	background-size: cover;
	position: relative;
}

.footer_area:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, hsl(215deg 82% 70% / 48%) 0%, #051d40 100%);
    left: 0;
    right: 0;
}

.ft_l {
	width:100%;
	text-align: center;
}

.ft_l_tt {
	padding: 80px 0 0;
	position: relative;
}

.ft_l_tt p {
	font-size: 2.7em;
	color:#fff;
	letter-spacing: 9px;
	line-height: 1;
	font-weight: 600;
	font-family: 'Ubuntu', sans-serif;
}

.ft_l_tt small {font-size: 0.25em;color: #fff;font-weight: 400;}

.ft_contact_box {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	position: relative;
	max-width: 700px;
}

.ft_contact_box:before {
	content:"";
}

.ft_button_tel {
	width: 50%;
	text-align: center;
	text-decoration: none;
	line-height: 0;
	outline: none;
	position: relative;
	z-index: 2;
	color: #7a1f2b;
	line-height: 2.0;
	overflow: hidden;
}


.ft_button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 46%;
	max-width: 320px;
	text-align: center;
	text-decoration: none;
	margin: 0 0 0 4%;
	outline: none;
	position: relative;
	z-index: 2;
	border: 2px solid #7a1f2b;
	color: #fff;
	background: #7a1f2b;
	padding: 0;
	font-size: 1.1em;
	line-height: 2.0;
	overflow: hidden;
	letter-spacing: 2px;
	border-radius: 100px;
	font-weight: 400;
}
.ft_button:hover, .ft_button p:hover {
  color: #fff;
}

.ft_button:hover{
  background-color: #3e4856;
  border: 2px solid #3e4856;
}


.ft_button span {
	/* font-family: 'Unica One', cursive; */
	font-weight: bold;
	font-size: 28px;
	line-height: 0.1;
	margin-top:0;
	padding:0;
	letter-spacing: 1px;
}

.ft_button_tel span {
	display: inline-block;
	font-family: 'Ubuntu', sans-serif;
	font-size: 2.3em;
	line-height: 1.1;
	padding:0;
	font-weight: 400;
}



.ft_r {
	width:90%;
	margin: 0 auto;
	text-align: center;
	position: relative;
}

.ft_inner {
	width:100%;
	margin: 40px auto 0;
}

.ft_info {
	width: 900px;
	color: #7a1f2b;
	margin: 30px auto 0;
	padding: 60px 0 60px 0;
	background: #fff;
	box-shadow: 0px 6px 3px 0px #08366f;
}


.ft_info p {
	font-size: 15px;
}

.sub_inner {
	width:100%;
	padding:0;
}

.sub_inner_in {
	margin: 15px 0 60px;
	display: block;
}

.sub_inner_in ul{
	margin-bottom: 20px;
}

.sub_inner_in ul li {
	display: inline-block;
	margin: 0 20px;
	padding: 0;
	font-weight: 400;
	font-size: 1em;
	letter-spacing: 1px;
}

.sub_inner_in ul li a{
	color: #fff;
}
.sub_inner_in ul li a:hover {color: #ccc;}



.ft_btn_area {
	width:100%;
	margin: 0 auto 30px;
	justify-content: center;
display: flex;}

.ft_box {
	display: flex;
	width: 275px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	position: relative;
	z-index: 2;
	background-color: #f7f7f7;
	border: 1px solid #000;
	padding: 10px 20px;
	align-items: center;
margin: 0;}


.ft_box img {
    vertical-align: middle;
}

.ft_box:first-child {
    margin: 0 10px 0 0;
}

.ft_box:first-child img{
    width:213px;
}

.ft_box:last-child {
    margin: 0 0 0 10px;
}

.cp_right {
	text-align: center;
	font-size: 0.75em;
	color: #fff;
	margin: 0;
	position: relative;
	font-family: 'Ubuntu', sans-serif;
}


/*==========================================================
__下層共通
==========================================================*/
.sub_visual:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: hsl(0deg 0% 0% / 43%);
    z-index: 1;
}


.icopy {
    position: absolute;
    max-width: 1200px;
    width: 90%;
    z-index: 5;
    margin: auto;
    left: 0;
    right: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Ubuntu', sans-serif;
}


.icopy p {
	font-size: 1.1em;
	margin: 0 0 0 30px;
	line-height: 2;
	position: relative;
	color: #fff;
}

.icopy p:before {
     content: "/"; 
    padding: 0 20px 0 0;
}

.icopy p span {
	display:inline;
	letter-spacing: 5px;
}

.subbox {
    width: 100%;
	margin: 0 auto;
    position: relative;
	overflow: hidden;
}

.sub_visual {
    width: 100%;
    margin: 82px 0 0;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    height: 380px;
    background-size: cover;
    background-position: center;
}



.pankuzu {
	max_width: 1200px;
	width: 1200px;
	margin: 10px auto 0;
	letter-spacing: 1px;
}

.pankuzu p {
	font-size:0.8em;
}

.pankuzu a {
    color: #838383;
    text-decoration: underline;
    margin: 0 8px 0 0;
}

.pankuzu span {
    margin: 0 0 0 8px;
    display: inline-block;
}

.sub_content {
	width: 100%;
	margin: 100px auto 150px;
	display: block;
}

.sub_content_02 {
	width: 100%;
    margin: 50px auto 100px;
	display: block;
}

.other_content {
	width: 100%;
    margin: 150px auto 0;
	display: block;
}

.sub-head{text-align: center;}

a.text-link {
	text-decoration: underline;
	color: #2585c8;
}
/*==========================================================
__ MORE BTN
==========================================================*/
.more_btn {
	color: #7a1f2b;
	background: #fff;
	border: 2px #7a1f2b solid;
	position:relative;
	padding: 17px 0;
	transition:all 0.3s ease-in-out;
	text-align:center;
	font-weight: 500;
	letter-spacing: 1px;
	width: 300px;
	font-size: 1em;
	display: block;
	cursor: pointer;
	outline: none;
	font-family: "YuGothic", "游ゴシック", "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro", "Meiryo","メイリオ",sans-serif;
	margin: 0;
	border-radius: 58px;
}

.more_btn:hover {color:#fff;background-color:#7a1f2b;border-color:#7a1f2b;}

.panel {margin: 40px auto 0;}



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

h2 {
    font-size: 3.8em;
}
	
h3 {
    font-size: 2.2em;
}


h4 {
	font-size: 1.6em;
}
	
h5 {
    font-size: 1.1em;
}
	
header li dt {
	font-size:0.9em;
}


.sub_visual {
	margin:100px 0 0;
}

.sub_visual figure {
	height:250px;
}

.inner {
	max-width:90%;
}

}



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

	
h2 {
	font-size: 3.2em;
}

header {
	padding: 20px 10px;
}	

header.is-animation {
	padding:10px;
}

header .hd_logo{
    width: 18%;
}

header.is-animation .hd_logo {
	width: 15%;
}

.navi_area{
	width:600px;
}

header li{
	font-size:0.9em;
}

header .navi_area li:last-child a{
	padding:15px 40px;
}

.header_inner {max-width: 100%;margin: 0 auto;}
header ul {width: auto;}
.ft_button, .ft_button_tel {width: 100%;margin: 0;}
	
.pankuzu {
	max_width: 95%;
	width: 95%;
}

.more_btn {
}

.ft_l_tt {
	padding: 40px;
}

.ft_info {
	width:auto;
	padding: 40px 20px;
}

.sub_inner_in ul li {
	font-size: 1em;
	margin: 0 auto;
	width: 100%;
}

.sub_visual {
	margin: 80px 0 0;
	height: 290px;
}

.icopy p {
	font-size: 0.95em;
}

.sub_visual figure {
	height:200px;
}

.sub_content {
}

.other_content {
	margin:0 auto 50px;
}

.inner {
	max-width:90%;
}

}



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

.br {display: none !important;}
.br2 {display: block !important;}	
	
input {
-webkit-appearance: none;
}

	
header .hd_logo{
    width: 29% !important;
}
.column2 {
}

.column2 ul {

display: block;
}

.column2 ul li {
	
margin: 0 0 50px;
}

.mb1 {
	margin: 0 0 5px;
}

h2 {
	line-height: 1.5;
	font-size: 2em;
	letter-spacing: 6px;
}
h3 {
	font-size: 1.6em;
	padding: 0 0 10px;
	line-height: 1.3;
}

h4 {
	font-size: 1.2em;
	line-height: 2;
	letter-spacing: 0px;
}



p {font-size: 0.9em;font-weight: 400;}

/*section { overflow: scroll; -webkit-overflow-scrolling: touch; height: 100vh;}*/
.inner {
	max-width:90%;
}
.pc{display: none !important;}
.sp{display: block !important;}
	
.line_bottom_gr {padding-bottom: 25px;}

.line_top_gr {padding-top: 0;}
	
.other_content {
    margin: 0 auto 0;
	display: block;
}
	
/*==========================================================
__header
==========================================================*/
header {padding: 13px 10px;}
header.is-animation .hd_logo{
    width: 23% !important;
}
header.is-animation {
	padding: 11px 10px;
}

header.is-animation .drawer-hamburger {
	
padding: 7px 12px 0 0;
}


/*==========================================================
__メニュー部分
==========================================================*/

.navi_area {display: none;}
.drawer-nav-inner {display: block;}
	
.point_tt {display: block;}

/*ドロワーメニュー*/
.drawer-hamburger {margin: 7px 2px 0 0;}
.drawer-main {
	width: 90%;
	margin: 15px auto 30px;
	display: block;
}

.drawer-main a {
    display: block;
    margin: 0 3% 10px 0;
    overflow: hidden;
    width: 100%;
    padding: 0 0 10px;
    border-bottom: 1px solid #f5f3f3;
    font-weight: 600;
    color: #7a1f2b;
}

.drawer-main a:nth-child(3n){margin: 0 0 10px 0;}

.drawer-main dt{ font-size: 0.8em; line-height: 1.0;}
.drawer-main dd{font-size: 1em;}

/**/
.drwtel {
	display: block;
	text-align: center;
	width: 90%;
	margin: 0 auto;
}

.drwlogobox b {
	font-size: 1em;
	line-height: 1.0;
	padding: 0;
	margin: 0;
	letter-spacing: 1px;
	font-weight: 500;
}
.drwlogobox b a {font-size: 1.8em;margin: 0 auto;font-weight: 400;}
	
a.drwlogo small{ letter-spacing:2px; line-height: 1.0;}
a.drwlogo {margin: 0;padding: 10px 0 5px;}

.drwtel dl{	margin: 0 0 10px 0;}
.drwtel dd{font-size: 0.80em;}
	


	
/*==========================================================
__タイトルバー
==========================================================*/

	
h5 {
	font-size: 1em;
}	

/*==========================================================
__ footer
==========================================================*/
#pagetop {
	width: 50px;
	height: 50px;
	margin: 10px;
}

.footer_area {
    padding: 0;
    overflow: hidden;
}
.ft_l_tt {padding: 40px 20px 10px;}

.ft_l_tt p {font-size: 1.7em;line-height: 1.5;margin: 0 0 10px;}

.ft_l_tt small {color: #fff;line-height: 2;display: block;}

.ft_contact_box {display: block;}
	
	
.ft_r {
	margin: 20px auto;
}


	
.ft_inner {

width:100%;

margin: auto;
}

.ft_button_tel {
	margin: 0 auto 20px;
	width: auto;
	height: auto;
	line-height: 1.7;
	display: block;
	padding: 0;
}
	
	
.ft_button {
	margin: 0 auto;
	width: 280px;
	height: auto;
	line-height: 1.7;
	padding: 15px 0;
	font-size: 1em;
}

.ft_button span {
	font-family: 'Unica One', cursive;
	font-weight: bold;
	font-size: 23px;
	line-height: 0.1;
	margin-top:0;
	padding:0;
	letter-spacing: 1px;
}
	
.ft_button_tel span {
	font-size: 2.3em;
	margin: 5px auto 0;
}

.ft_info {
	width: auto;
	padding: 30px 0;
}
.ft_info p {
	font-size: 15px;
}

.sub_inner {
	width:100%;
}


.sub_inner_in {
	margin: 0 0 25px;
}

.sub_inner_in ul li {
    margin: 0 0 10px 0;
}



.sub_inner_in ul li a {
	margin: 0;
	font-size: 0.8em;
	letter-spacing: 1px;
}

.sub_inner_in ul li a:hover {
	text-decoration: underline;
}

.ft_btn_area {
	width:100%;
	margin: 15px auto;
	display: block;
}

	
.ft_box {
	display: inline-block;
	width:80%;
	text-align: center;
	text-decoration: none;
	outline: none;
	position: relative;
	z-index: 2;
	background-color: #f7f7f7;
	border: 1px solid #000;
	padding: 0;
	align-items: center;
	padding: 5px 10px 10px;
	margin: 0 auto;
}

.ft_btn_area p {
	display: block;
}

.ft_box:first-child{
	margin:0 0 10px 0;
}
	
.ft_btn_area a {width: 180px;}

.ft_btn_area a:nth-of-type(2n) {
	margin-left: 0;
}

.ft_btn_area a:hover {
	opacity: 0.6;
}


.cp_right {
	font-size: 10px;
	padding: 5px 15px;
}



/*==========================================================
__下層共通
==========================================================*/
.sub_visual {
    width: 100%;
    /* display: block; */
    margin: 53px 0 0;
    height: 230px;
}

.icopy {
	/* width:100%; */
	/* padding: 10px 0; */
	flex-wrap: wrap;
}
.sub_visual .icopy p {font-size: 0.95em;line-height: 1.5;margin: 5px 0 0 0;display: block;width: 100%;text-align: center;}

.icopy p span{
	letter-spacing:2px;
}
	
.sub_visual figure {
	height:auto;
	width: 100%;
	height: auto;
	background-position: center;
}

.sub_visual figure img {
	position:relative;
}

.sub_content { margin: 35px auto 60px; }
.sub_content_02 { margin: 20px auto 60px; }

h3.sub-head {
    font-size: 1.4em;
    padding: 0 0 30px 0;
}


}


/* ==========================================================
   EVOLVE overrides
   ========================================================== */
:root{--evolve:#7a1f2b;--evolve-dark:#2f2f32;--evolve-light:#f5f3f3;}
header .navi_area{width:auto;}
header .navi_area ul{gap:48px;}
header .navi_area li:last-child a{background:none;padding:0;border-radius:0;color:inherit;}
header .navi_area li:last-child a:hover{background:none;}
header .navi_area li a::after{background:var(--evolve);}
h3{color:var(--evolve);}
.drwlogobox b a,.drwlogobox b{color:var(--evolve);}
.more_btn{background:var(--evolve);}
.more_btn:hover{background:var(--evolve-dark);}
.ft_l{background:var(--evolve);}
@media screen and (max-width:767px){header .navi_area{display:none;} .point_tt{display:block;} .drawer-nav-inner{display:block;} .drawer-main,.drwtel{width:100%;margin:0;} .drawer-main a{padding:14px 0;border-bottom:1px solid #ddd;} .drwtel{margin-top:30px;} }

/* ==========================================================
   EVOLVE hover / interaction fixes 2026-08-10
   ========================================================== */
/* header navigation: VERSUS-style underline without button treatment */
header .navi_area li a {
  padding: 8px 0;
  color: #222;
  transition: color .25s ease;
}
header .navi_area li a::after {
  bottom: 0;
  height: 2px;
  background: var(--evolve);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s ease;
}
header .navi_area li a:hover {
  color: var(--evolve);
}
header .navi_area li a:hover::after {
  transform: scaleX(1);
}

/* more button: keep dimensions/line-height stable on hover */
a.more_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--evolve);
  border: 1px solid var(--evolve);
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
a.more_btn:hover {
  color: #fff;
  background: var(--evolve-dark);
  border-color: var(--evolve-dark);
}

/* footer logos: avoid inherited button hover/overlay effects */
.ft_btn_area .ft_box {
  overflow: hidden;
  transition: opacity .25s ease;
}
.ft_btn_area .ft_box::before,
.ft_btn_area .ft_box::after {
  content: none !important;
}
.ft_btn_area .ft_box:hover {
  opacity: .78;
  background-color: #f7f7f7;
}
.ft_btn_area .ft_box:hover img {
  transform: none;
}

@media screen and (max-width: 767px) {
  header .navi_area li a { padding: 0; }
}


/* ==========================================================
   EVOLVE footer / page-top final adjustment
   2026-08-10
   ※ ロゴ画像自体の色は変更しない
========================================================== */

/* Footer */
footer,
#footer,
.footer {
    background: #1b1b1d !important;
    background-image: none !important;
    color: #fff;
}

footer::before,
footer::after,
#footer::before,
#footer::after,
.footer::before,
.footer::after {
    background-image: none !important;
}

footer a,
#footer a,
.footer a {
    color: #fff;
}

/* ロゴは元画像の色をそのまま使用 */
footer img,
#footer img,
.footer img,
.footer_logo img,
.footer-logo img,
.footer_bnr img,
.footer-banner img {
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
}

/* ロゴリンクは色変更せず、hoverはわずかな透明度のみ */
footer a img,
#footer a img,
.footer a img {
    transition: opacity .3s ease;
}

@media (hover: hover) and (pointer: fine) {
    footer a:hover img,
    #footer a:hover img,
    .footer a:hover img {
        opacity: .82;
        filter: none !important;
        -webkit-filter: none !important;
    }
}

/* Footer navigation */
footer nav a,
footer .footer_nav a,
footer .footer-nav a,
#footer nav a,
#footer .footer_nav a,
#footer .footer-nav a {
    color: #fff !important;
    position: relative;
}

@media (hover: hover) and (pointer: fine) {
    footer nav a:hover,
    footer .footer_nav a:hover,
    footer .footer-nav a:hover,
    #footer nav a:hover,
    #footer .footer_nav a:hover,
    #footer .footer-nav a:hover {
        color: #fff !important;
        opacity: .72;
    }
}

/* Page top
   既存HTMLが #page-top / #pagetop / .page_top / .page-top の
   いずれでも表示できるようにする */
#page-top,
#pagetop,
.page_top,
.page-top,
.pagetop {
    position: fixed !important;
    right: 24px !important;
    bottom: 24px !important;
    width: 64px !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: #941f2b !important;
    z-index: 999 !important;
    overflow: visible !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.16);
}

#page-top a,
#pagetop a,
.page_top a,
.page-top a,
.pagetop a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    border-radius: 50% !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background: transparent !important;
}

/* 画像が無くても確実に見える白い上矢印 */
#page-top a::before,
#pagetop a::before,
.page_top a::before,
.page-top a::before,
.pagetop a::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 52% !important;
    width: 15px !important;
    height: 15px !important;
    border-top: 3px solid #fff !important;
    border-left: 3px solid #fff !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
    box-sizing: border-box !important;
    background: none !important;
}

/* 既存の背景矢印等が重複する場合を抑える */
#page-top a img,
#pagetop a img,
.page_top a img,
.page-top a img,
.pagetop a img {
    display: none !important;
}

@media (hover: hover) and (pointer: fine) {
    #page-top:hover,
    #pagetop:hover,
    .page_top:hover,
    .page-top:hover,
    .pagetop:hover {
        background: #741823 !important;
        transform: translateY(-3px);
        transition: background .3s ease, transform .3s ease;
    }
}

@media screen and (max-width: 767px) {
    #page-top,
    #pagetop,
    .page_top,
    .page-top,
    .pagetop {
        right: 15px !important;
        bottom: 15px !important;
        width: 52px !important;
        height: 52px !important;
    }

    #page-top a::before,
    #pagetop a::before,
    .page_top a::before,
    .page-top a::before,
    .pagetop a::before {
        width: 13px !important;
        height: 13px !important;
        border-width: 3px 0 0 3px !important;
        border-style: solid !important;
        border-color: #fff !important;
    }
}


/* ==========================================================
   EVOLVE footer color correction v2
   2026-08-10
   旧VERSUSの青い背景画像・青グラデーションを完全に無効化
========================================================== */

footer {
    background: #1b1b1d !important;
}

/* 旧VERSUSの ft_image.jpg と青系グラデーションを無効化 */
.footer_area {
    width: 100%;
    padding: 0 0 30px;
    background: #1b1b1d !important;
    background-image: none !important;
    overflow: hidden;
    position: relative;
}

.footer_area::before {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* EVOLVEタイトル部分 */
.ft_l {
    width: 100%;
    text-align: center;
    background: linear-gradient(135deg, #731823 0%, #961f2c 55%, #68151e 100%) !important;
    position: relative;
}

.ft_l::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.08));
    pointer-events: none;
}

.ft_l_tt {
    padding: 65px 20px 55px;
    position: relative;
    z-index: 1;
}

.ft_l_tt p {
    color: #fff !important;
}

.ft_l_tt small {
    color: rgba(255,255,255,.9) !important;
}

/* ナビ・ロゴ・コピーライト部分 */
.ft_r {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 5%;
    background: #1b1b1d !important;
    text-align: center;
    position: relative;
}

.ft_inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto !important;
    padding: 42px 0 0;
}

.sub_inner_in {
    margin: 0 0 45px !important;
}

.sub_inner_in ul {
    margin: 0;
}

.sub_inner_in ul li a {
    color: #fff !important;
}

@media (hover: hover) and (pointer: fine) {
    .sub_inner_in ul li a:hover {
        color: #c98890 !important;
    }
}

/* ロゴは白いカード内に置き、画像自体の色は一切変更しない */
.ft_btn_area {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 20px;
    margin: 0 auto 30px;
    flex-wrap: wrap;
}

.ft_btn_area .ft_box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 275px;
    min-height: 92px;
    padding: 14px 20px;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #d7d7d7;
    box-sizing: border-box;
    overflow: hidden;
    transition: opacity .25s ease, transform .25s ease;
}

.ft_btn_area .ft_box img {
    display: block;
    max-width: 100%;
    max-height: 64px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
    transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .ft_btn_area .ft_box:hover {
        opacity: .88;
        transform: translateY(-2px);
        background: #fff !important;
    }
    .ft_btn_area .ft_box:hover img {
        filter: none !important;
        -webkit-filter: none !important;
        transform: none !important;
    }
}

.cp_right {
    color: rgba(255,255,255,.78) !important;
    padding: 0 0 5px;
}

/* page top */
#pagetop {
    background: #941f2b !important;
    background-image: none !important;
    border: 0 !important;
    width: 64px !important;
    height: 64px !important;
    right: 24px !important;
    bottom: 24px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    position: fixed !important;
    z-index: 9999 !important;
}

#pagetop::before {
    content: "" !important;
    position: absolute;
    left: 50%;
    top: 54%;
    width: 15px;
    height: 15px;
    border-top: 3px solid #fff;
    border-left: 3px solid #fff;
    transform: translate(-50%, -50%) rotate(45deg);
    box-sizing: border-box;
}

@media (hover: hover) and (pointer: fine) {
    #pagetop:hover {
        background: #741823 !important;
        transform: translateY(-3px);
    }
}

@media screen and (max-width: 767px) {
    .ft_l_tt {
        padding: 45px 20px 38px;
    }

    .ft_inner {
        padding: 32px 0 0;
    }

    .sub_inner_in {
        margin-bottom: 32px !important;
    }

    .sub_inner_in ul li {
        display: block;
        margin: 0;
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .sub_inner_in ul li a {
        display: block;
        padding: 12px 5px;
    }

    .ft_btn_area {
        gap: 12px;
        margin-bottom: 24px;
    }

    .ft_btn_area .ft_box {
        width: min(100%, 300px);
        min-height: 82px;
    }

    #pagetop {
        width: 52px !important;
        height: 52px !important;
        right: 15px !important;
        bottom: 15px !important;
    }

    #pagetop::before {
        width: 13px;
        height: 13px;
    }
}

/* ==========================================================
   EVOLVE 下層ページ 共通見出し位置
   英語ラベル・日本語見出しを左揃えで統一
========================================================== */
.section-heading,
.section-heading .section-label,
.section-heading h3.sub-head,
.about-heading,
.about-heading .about-heading-en,
.about-heading h3.sub-head {
    text-align: left;
}

