@charset "utf-8";
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					FONT

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@font-face {
	font-family: 'atplusicons';
	src: url('../fonts/atplusicons.eot?48ooea');
	src: url('../fonts/atplusicons.eot?48ooea#iefix') format('embedded-opentype'),
		url('../fonts/atplusicons.ttf?48ooea') format('truetype'),
		url('../fonts/atplusicons.woff?48ooea') format('woff'),
		url('../fonts/atplusicons.svg?48ooea#atplusicons') format('svg');
	font-weight: normal;
	font-style: normal;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					RESET

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
body{line-height:0;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,legend,input,textarea,p,blockquote,table,caption,tbody,tfoot,thead,th,td,option{margin:0;padding:0;line-height:1;font-size:100%;
font-family:'atplusicons', "游明朝", "Yu Mincho", YuMincho, "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";/**/
}
h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal;}table{border-collapse:collapse;border-spacing:0;}caption,th {text-align:left;}fieldset,img,abbr,acronym{border:0;margin: 0px;vertical-align: bottom;}object,embed,th,td{vertical-align: top;}address,caption,cite,code,dfn,th,var,optgroup,strong,em,b,i{font-style:normal;font-weight:normal;}ol,ul{list-style:none;}a,ins,del{text-decoration: none;}q:before,q:after {content:'';}* html body{font-size: 65%;}*+html body{font-size: 65%;}html{overflow: scroll;overflow: -moz-scrollbars-vertical;overflow-x: scroll;}strong{font-weight: bold;}em{font-style: italic;}del{text-decoration: line-through;}a{cursor:pointer;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					COMMON

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
/*==================================================
FLOAT
====================================================*/
/*--------------------------------------------------- clf*/
.clf:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;}
* html .clf { zoom: 1; } /* IE6 */
*:first-child+html .clf { zoom: 1; } /* IE7 */
.clf {overflow:hidden;}
input[type="submit"],
input[type="button"],
input[type="reset"] {
 -webkit-appearance: none;
}
/*--------------------------------------------------- FLOAT*/
.flt_left{float:left;}
.flt_right{float:right;}
.flt_clear{clear:both;}
/*==================================================
TEXT
====================================================*/
/*--------------------------------------------------- FONT*/
.fnt_min{font-family:'atplusicons', "游明朝", "Yu Mincho", YuMincho, "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";}
.fnt_gothic{font-family:'atplusicons', "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}
.fnt_bold{font-weight:bold;}
/*--------------------------------------------------- ALIGN*/
.ta_center, .taC { text-align:center;}
.ta_left, .taL { text-align:left;}
.ta_right, .taR { text-align:right;}
/*==================================================
LAYOUT
====================================================*/
/*--------------------------------------------------- MARGIN*/
.mgn_0{ margin:0;}
.mgn_auto{margin:auto;}
.mgn_top_0{ margin-top:0;}
.mgn_top_5{ margin-top:5px;}
.mgn_top_10{ margin-top:10px;}
.mgn_top_15{ margin-top:15px;}
.mgn_top_20{ margin-top:20px;}
.mgn_top_30{ margin-top:30px;}
.mgn_top_40{ margin-top:40px;}
.mgn_top_50{ margin-top:50px;}
.mgn_btm_0{ margin-bottom:0;}
.mgn_btm_5{ margin-bottom:5px;}
.mgn_btm_10{ margin-bottom:10px;}
.mgn_btm_15{ margin-bottom:15px;}
.mgn_btm_20{ margin-bottom:20px;}
.mgn_btm_30{ margin-bottom:30px;}
.mgn_btm_40{ margin-bottom:40px;}
.mgn_btm_50{ margin-bottom:50px;}
/*--------------------------------------------------- PADDING*/
.pdn_0{ padding:0;}
.pdn_5{ padding:5px;}
.pdn_10{ padding:10px;}
.pdn_15{ padding:15px;}
.pdn_20{ padding:20px;}
.pdn_30{ padding:30px;}
.pdn_40{ padding:40px;}
.pdn_50{ padding:50px;}
/*==================================================
NO STYLE
====================================================*/
.noStyle{
	margin:0 !important;
	padding:0 !important;
	background:none !important;
	border:none !important;
	text-decoration:none !important;
	float:none !important;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					LAYOUT

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
/*==================================================
DEFAULT
====================================================*/
*{
	box-sizing:border-box;
	outline: none;}
html{
	width:100%;
	height:100%;
	overflow:auto;}
body {
	width:100%;
	height:100%;
	font-size:16px;
	color:#111;
	background: #4c4c56;}

/* fadeUp */
.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}


.fadeinup_animated{
	opacity: 0;
	transform: translateY(2%);
	/*transition: 0.8s;*/
	transition: 2s;
}
.fadeinup_animated.fadeInUp{
	opacity: 1;
	transform: translateY(0);
}

/*==================================================
COLOR
====================================================

accent		: #F07700
sub			: #D1CDC7
sub light	: #FDF9F2
	
*/

/*==================================================
HEADER
====================================================*/
#title{
	background: #282b2d;
	padding: 0 20px 2px;
	position: relative;}

#title:after{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 1px;
	background: #777762;}

/* #title {
	color: #9f9f85;
	max-width: 1020px;
	margin: 0 auto;
	font-size: 12px;
	line-height: 2;
} */

#title span{
	color: #9f9f85;
	max-width: 1020px;
	margin: 0 auto;
	font-size: 12px;
	line-height: 2;
	display: block;
}

/* #title h1{
	color: #9f9f85;
	max-width: 1020px;
	margin: 0 auto;
	font-size: 12px;
	line-height: 2;} */
/*--------------------------------------------------- HEADER LOGO*/
#header_area{
	background: #FFF;
	padding: 0 20px;}
#header{
	display: table;
	table-layout: fixed;
	width: 100%;
	/*max-width: 1020px;*/
	max-width: 1200px;
	margin: 0 auto;}
#hdr_logo{
	display: table-cell;
	padding: 20px 0;
	vertical-align: middle;}
#hdr_logo a{
	display: block;
	padding: 0 0 0 70px;
	background: url(../images/common/hdr_logo.jpg) left center no-repeat;}
#hdr_logo a .ja{
	display: block;
	color: #000;
	font-size: 21px;
	line-height: 25px;}
#hdr_logo a .en{
	display: block;
	color: #817c5a;
	font-size: 14px;
	line-height: 20px;}
/*--------------------------------------------------- HEADER TEL*/
#hdr_tel_area{
	display: table-cell;
	text-align: right;
	vertical-align: middle;}
#hdr_tel{
	width: 340px;
	display: inline-block;
	padding: 7px 0 7px 45px;
	background: url(../images/common/hdr_tel_icon.png) left center no-repeat;}
#hdr_tel dt{
	display: inline-block;
	width: 100%;
	font-size: 34px;
	line-height: 40px;
	text-align: right;
	font-style: italic;
	border-bottom: 1px solid #dcd8bf;
	letter-spacing: 0.14em;}
#hdr_tel dt a{
	color: #000;}
#hdr_tel dt a:hover{
	color: #b2a346;}
#hdr_tel dd{
	display: inline-block;
	width: 100%;
	text-align: right;
	font-size: 13px;
	line-height: 16px;
	color: #4c4c48;}
#hdr_tel dd.day{
	font-size: 11px;}
/*--------------------------------------------------- HEADER ICON*/
.hdr_icon{
	display: none;
	vertical-align: middle;
	width: 60px;
	padding: 10px;}
.hdr_icon .icon{
	display: block;
	font-size: 24px;
	line-height: 40px;
	text-align: center;
	color: #15334c;}
.hdr_icon:hover .icon{
	color: #b4a74f;}
#hdr_icon_menu_inner{
	display: inline-block;
	width: 40px;
	height: 40px;
	position: relative;}
#hdr_icon_menu_inner span{
	content: '';
	width: 30px;
	height: 2px; 
	background: #15334c;
	position: absolute;
	left: 5px;
	box-shadow: 0 1px rgba(255,255,255,0.5);
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;}
#hdr_icon_menu_inner span.top{
	top: 10px;}
#hdr_icon_menu_inner span.middle{
	top: 50%;
	margin: -1px 0 0;}
#hdr_icon_menu_inner span.bottom{
	bottom: 10px;}
#hdr_icon_menu.open span.top{
	top: 50%;
	transform: rotate(-45deg);}
#hdr_icon_menu.open span.middle{
	top: 50%;
	margin: 0;
	transform: rotate(45deg);}
#hdr_icon_menu.open span.bottom{
	bottom: 50%;
	transform: rotate(45deg);
	filter: alpha(opacity=0);
	-moz-opacity:0;
	opacity:0;}
#hdr_icon_menu.open #hdr_icon_menu_inner span,
#hdr_icon_menu:hover #hdr_icon_menu_inner span{
	background: #b4a74f;}
/*--------------------------------------------------- GLOBAL NAVI*/
#global_navi_area{
	background: #15334c;
	padding: 10px 1px;}
#global_navi{
	width: 100%;
	/*max-width: 1020px;*/
	max-width: 1200px;
	position: relative;
	display: flex;
	margin: 0 auto;}
#global_navi:after{
	content: '';
	width: 100%;
	height: 1px;
	background: #1a2025;
	box-shadow: 0 1px 0 rgba(255,255,255,0.05);
	position: absolute;
	left: 0;
	bottom: 0;}
#global_navi li{
	/*width: 16.666%;*/
	width: calc(100% / 8);
	position: relative;}
#global_navi li:before,
#global_navi li:after,
#global_navi li:first-child a:after,
#global_navi li:last-child a:after{
	content: '';
	width: 1px;
	height: 30px;
	position: absolute;
	top: 10px;}
#global_navi li:before{
	left: 0;
	background: rgba(255,255,255,0.05);}
#global_navi li:after{
	right: 0;
	background: rgba(0,0,0,0.1);}
#global_navi li:first-child a:after{
	left: -1px;
	background: rgba(0,0,0,0.1);}
#global_navi li:last-child a:after{
	right: -1px;
	background: rgba(255,255,255,0.05);}
#global_navi li a{
	display: block;
	text-align: center;
	padding: 10px;
	line-height: 30px;
	color: #fefef2;}
#global_navi li a.current{
	color: #f1eeb6;}
#global_navi li a:before{
	content: '';
	width: 0;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 5;
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;
	background: -webkit-gradient(linear, left, right, color-stop(1.00, #cfcc84), color-stop(0.50, #e0deb0), color-stop(0.00, #cfcc84));
	background: -webkit-linear-gradient(left, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
	background: -moz-linear-gradient(left, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
	background: -o-linear-gradient(left, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
	background: -ms-linear-gradient(left, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
	background: linear-gradient(to right, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);}
#global_navi li a.current:before,
#global_navi li a:hover:before{
	width: 100%;
	height: 1px;
	left: 0;}
/*==================================================
FOOTER
====================================================*/
#footer{
	padding: 50px 20px 30px;
	text-align: center;}
#ftr_title{
	font-size: 20px;
	line-height: 1.2;
	padding: 0 0 10px;
	color: #FFF;
	letter-spacing: 0.05em;
	position: relative;}
#ftr_title:after{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: -moz-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, rgba(155,153,121,0)), color-stop(50%, rgba(155,153,121,1)), color-stop(100%, rgba(155,153,121,0)));
	background: -webkit-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: -o-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: -ms-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9b9979', endColorstr='#9b9979',GradientType=1 );}
#ftr_sub{
	font-size: 11px;
	line-height: 1.2;
	padding: 10px 0 20px;
	color: #cdca9e;}
#ftr_about{
	margin: 0 0 30px;}
#ftr_about li{
	font-size: 14px;
	line-height: 1.7;
	color: #d2d2d2;}
#ftr_about li a{
	color: #d2d2d2;}
#ftr_navi{
	letter-spacing: -0.4em;
	margin: 0 0 40px;}
#ftr_navi li{
	letter-spacing: normal;
	display: inline-block;
	font-size: 14px;
	line-height: 1.7;
	color: #d2d2d2;}
#ftr_navi li:after{
	content: '|';
	display: inline-block;
	margin: 0 0.5em;}
#ftr_navi li:last-child:after{
	content: '';
	display: none;}
#ftr_navi li a{
	color: #d2d2d2;
	line-height: 1.5;}
#ftr_navi li a:hover{
	color:#FFF;
	text-decoration: underline;}
#ftr_copy{
	font-size: 11px;
	line-height: 20px;
	color: #8f8f8f;}
/*--------------------------------------------------- FOOTER CONTACT*/
#ftr_contact_area{
	background: #212a30 url(../images/common/202407_ftr_contact.jpg) right top no-repeat;
	background-size: auto 100%;
	color: #FFF;
	padding: 10px;
	position: relative;}
#ftr_contact_area_inner{
	border:1px solid rgba(255,255,255,0.1);
	padding: 30px 10px;}
#ftr_contact{
	max-width: 1020px;
	margin: 0 auto;}
#ftr_contact h2{
	width: 50%;
	font-size: 28px;
	line-height: 1.5;
	text-shadow: 0 0 5px #212a30;}
#ftr_contact div .sub{
	font-size: 20px;
	line-height: 1.1;
	display: block;}
#ftr_contact div .main{
	font-size: 32px;
	display: block;}
#ftr_contact .ftr_contact_method{
	padding: 30px 10px 0 0;}
#ftr_contact .tel{
	font-size: 32px;
	margin: 0 0 10px;}
#ftr_contact .tel a{
	display: inline-block;
	margin: 0 20px 0 0;
	padding: 0 0 0 30px;
	font-weight: bold;
	color: #FFF;
	position: relative;}
#ftr_contact .tel a:after{
	content: '\e9d2';
	font-size: 20px;
	line-height: 30px;
	width: 30px;
	position: absolute;
	left: 0;
	top: 50%;
	margin: -15px 0 0;
	text-shadow: 0 0 5px #212a30;}
#ftr_contact .tel .time{
	font-size: 16px;
	line-height: 1.5;}
#ftr_contact .bnr a{
	display: block;
	max-width: 50%;
	padding: 20px 40px 20px 50px;
	position: relative;
	color: #FFF;
	border:1px solid rgba(255,255,255,0.1);
	box-shadow: 0 0 5px #212a30;
	background: #212a30;}
#ftr_contact .bnr a:before{
	content: '\e9c8';
	display: block;
	color: #FFF;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	font-size: 28px;
	position: absolute;
	top: 50%;
	left: 10px;
	margin: -15px 0 0;}
#ftr_contact .bnr a:after{
	content: '\ea31';
	display: block;
	color: rgba(255,255,255,0.4);
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	font-size: 20px;
	position: absolute;
	top: 50%;
	right: 10px;
	margin: -15px 0 0;}
#ftr_author{
	margin: 0 auto 20px;
	max-width: 440px;
	display: flex;
	padding: 0 10px}
#ftr_author h3{
	width: 140px;
	padding: 0 20px 0 0;}
#ftr_author h3 img{
	border-radius: 50%;
	max-width: 100%;}
#ftr_author_profile{
	width: calc(100% - 140px);
	text-align: left;
	color: #FFF;
	align-self: center;}
#ftr_author_profile dt{
	font-size: 16px;
	line-height: 1.5;
	padding: 0 0 5px;
	border-bottom: 1px solid rgba(255,255,255,0.1);}
#ftr_author_profile dt .furi{
	font-size: 13px;
	display: inline-block;
	margin: 0 0 0 5px;
	color: rgba(255,255,255,0.7);}
#ftr_author_profile dd{
	font-size: 14px;
	line-height: 1.5;
	padding: 10px 0 0;
	color: rgba(255,255,255,0.7);}
#ftr_author_profile dd a{
	color: #FFF;
	display: inline-block;
	padding: 3px 10px;
	border: 1px solid rgba(255,255,255,0.3);}
#ftr_author_profile dd a:hover{
	color: #cdca9e;
	border: 1px solid #cdca9e;}

#footer .bnr_area{
	display: flex;
	justify-content: space-between;
	max-width: 700px;
	margin: 25px auto 0;
}
#footer .bnr_area .parts_bnr{
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(100% / 3 - 15px);
	height: auto;
	aspect-ratio: 4/1;
}
#footer .bnr_area .parts_bnr:first-child{
	background-color: red;
}
#footer .bnr_area .parts_bnr:nth-child(2){
	background-color: blue;
}
#footer .bnr_area .parts_bnr:last-child{
	background-color: green;
}
#footer .bnr_area .parts_bnr span{
	color: white;
}

#footer .bnr_area .parts_bnr img{
	width: 100%;
	height: auto;
}

/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					BASE STYLE

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#contents{
	background: #FFF;}
/*==================================================
PAGE TITLE
====================================================*/
#pagetitle{
	background: #212a30 url(../images/common/pagetitle.jpg) right center no-repeat;
	background-size: cover;
	padding: 10px;}
#pagetitle_inner h1{
	text-align: center;
	font-size: 28px;
	color: #FFF;
	text-shadow: 0 1px 3px rgba(0,0,0,0.5);
	position: relative;
	line-height: 40px;
	padding: 30px 0;}
#pagetitle_inner h1:before,
#pagetitle_inner h1:after{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	animation-name: fixwidth;
	animation-timing-function: linear;
	animation-duration: 1s;
	background: -moz-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, rgba(155,153,121,0)), color-stop(50%, rgba(155,153,121,1)), color-stop(100%, rgba(155,153,121,0)));
	background: -webkit-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: -o-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: -ms-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9b9979', endColorstr='#9b9979',GradientType=1 );}
#pagetitle_inner h1:before{
	top: 0;}
#pagetitle_inner h1:after{
	bottom: 0;}
/*==================================================
BREAD CRUMBS
====================================================*/
.breadcrumbs{
	/*max-width: 1040px;*/
	max-width: 1200px;
	margin: 0 auto;
	padding: 10px;
	line-height: 20px;
	font-size: 14px;
	color: #555860;}
.breadcrumbs a{
	color: #555860;}
.breadcrumbs a:hover{
	color: #AF9D23;
	text-decoration: underline;}



/*==================================================
BOX
====================================================*/
/*--------------------------------------------------- BOX : COMMON*/
.box_content{
	max-width:1020px;
	margin:0 auto;}
.box_inner{
	padding:40px 20px;}
.box_cmn{
	margin:0 0 40px;}
/*--------------------------------------------------- BOX : PAGE NAVI*/
.box_page_navi{
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;}
.box_page_navi li{
	width: 33.333%;
	padding: 0 30px 20px;}
.box_page_navi li a{
	display: block;
	height: 100%;
	background: #FFF;
	padding: 5px;
	box-shadow: 0 5px 10px rgba(0,0,0,0.1);}
.box_page_navi_inner{
	display: block;
	background: #FFF;
	height: 100%;
	padding: 20px;
	border:1px solid rgba(199,192,151,0.2);
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;}
.box_page_navi_inner dt{
	color: #454536;
	font-weight: bold;
	text-align: center;
	font-size: 24px;
	line-height: 1.2;
	margin: 0 0 20px;
	padding: 10px 0 0;}
.box_page_navi_inner dd.text{
	color: #6b6b5e;
	text-align: justify;
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 20px;}
.box_page_navi_inner dd.link{
	text-align: center;}
.box_page_navi_inner .btn{
	display: inline-block;
	width: 100%;
	max-width: 180px;
	text-align: center;
	font-size: 18px;
	line-height: 1.1;
	padding: 10px;
	color: #a19658;
	border:1px solid #c7c097;
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;}
.box_page_navi li a:hover{
	box-shadow: 0 10px 20px rgba(199,192,151,0.7);}
.box_page_navi li a:hover .box_page_navi_inner{
	border:1px solid #ede8c7;}
.box_page_navi li a:hover .box_page_navi_inner .btn{
	color: #FFF;
	background: #c7c097;}
/*--------------------------------------------------- BOX : DYNAMIC*/
.box_dynamic_content{
	position: relative;}
.box_dynamic_content .img{
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 50%;}
.box_dynamic_content .img img{
	max-width: 100%;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;}
.box_dynamic_content .text{
	position: relative;
	z-index: 5;
	max-width: 1020px;
	margin: 0 auto;
	padding: 70px 0;}
.box_dynamic_content .text h2{
	color: #37372f;
	font-size: 28px;
	line-height: 1.1;
	margin: 0 0 30px;}
.box_dynamic_content .text p{
	max-width: 50%;
	color: #37372f;
	font-size: 16px;
	line-height: 1.8;
	text-align: justify;}
/*--------------------------------------------------- BOX : API*/
.lst_api{
	max-width: 1020px;
	margin: 0 auto;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);}
.lst_api_head{
	width: 100%;
	display: table;
	table-layout: fixed;
	vertical-align: middle;
	background: #15334c;}
.lst_api_head h2{
	display: table-cell;
	color: #FFF;
	padding: 10px 15px;
	font-size: 18px;
	line-height: 24px;}
.lst_api_head h2 .sub{
	color: #ded7ae;
	font-size: 13px;
	line-height: 24px;
	margin: 0 0 0 10px;}
.lst_api_head .link{
	display: table-cell;
	text-align: right;
	vertical-align: middle;}
.lst_api_head .link a{
	display: inline-block;
	color: #FFF;
	font-size: 13px;
	padding: 10px 30px 10px 60px;}
.lst_api_head .link a:hover{
	color: #D5D0A2;}
.lst_api_list{
	padding: 5px 0;}
.lst_api_list li{
	border-bottom: 1px solid #d7d7d7;}
.lst_api_list li:last-child{
	border-bottom: none;}
.lst_api_list li a{
	display: table;
	width: 100%;
	table-layout: fixed;}
.lst_api_list li a:hover{
	background: #F4F3EE;}
.lst_api_list li a .cat{
	width: 145px;
	display: table-cell;
	vertical-align: middle;
	padding: 10px 10px 10px 15px;}
.lst_api_list li a .cat .icon{
	font-size: 13px;
	display: inline-block;
	width: 100%;
	line-height: 1.5;
	color: #FFF;
	text-align: center;
	background: #3a3c3f;}
.lst_api_list li a .date{
	width: 110px;
	font-size: 13px;
	color: #3a3b3f;
	display: table-cell;
	vertical-align: middle;
	padding: 10px 10px 10px 0;}
.lst_api_list li a .title{
	display: table-cell;
	vertical-align: middle;
	position: relative;
	padding: 10px 40px 10px 0;}
.lst_api_list li a .title:after{
	content: '\ea31';
	display: inline-block;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	position: absolute;
	right: 0;
	top: 0;
	color: #9c9a94;}
.lst_api_list li a .title_inner{
	font-size: #3a3f3d;
	font-size: 16px;
	line-height: 1.5;
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	color: #3a3b3f;}
/*--------------------------------------------------- BOX : ERROR*/
.box_error{
	padding: 30px;
	max-width: 1020px;
	margin: 0 auto;
	text-align: center;
	box-shadow: 0 3px 10px rgba(0,0,0,0.1);}
.box_error h2{
	font-size: 42px;
	margin: 0 0 30px;
	color: #7C8692;}
.box_error p{
	font-size: 18px;
	line-height: 2;}
/*--------------------------------------------------- BOX : COMMON*/
.box_bg_gray{
	background:#FDF9F2;}
/*--------------------------------------------------- BOX : BORDER*/
.box_bdr{
	border:1px solid #D1CDC7;}
.box_bdr_btm{
	border-bottom:1px solid #D1CDC7;}
/*--------------------------------------------------- BOX : WIDTH*/
.box_w_2_1{
	width:50%;}
.box_w_3_1{
	width:33.333%;}
.box_w_3_2{
	width:66.666%;}
.box_w_4_1{
	width:25%;}
.box_w_4_3{
	width:75%;}
.box_w_5_1{
	width:20%;}
.box_w_5_2{
	width:40%;}
.box_w_5_3{
	width:60%;}
.box_w_5_4{
	width:80%;}
/*--------------------------------------------------- BOX : FLOAT*/
.box_fl{
	margin:0 0 0 -40px;}
.box_fl_inner{
	float:left;
	padding:0 0 0 40px;
	box-sizing:border-box;}
/*--------------------------------------------------- BOX : TABLE*/
.box_table{
	display:table;
	width:100%;}
.box_table.fixed{
	table-layout:fixed;}
.box_cell{
	display:table-cell;
	vertical-align:top;}
.box_cell.middle{
	vertical-align:middle;}
.box_cell.left{
	padding:0 20px 0 0;}
.box_cell.center{
	padding:0 20px;}
.box_cell.right{
	padding:0 0 0 20px;}
/*--------------------------------------------------- BOX : SCROLL*/
.box_scroll{
	max-height:150px;
	overflow:auto;
	border:1px solid #D1CDC7;
	padding:40px;
	border-radius:5px;
	background:#FDF9F2;}
/*--------------------------------------------------- BOX : DOCUMENT*/
.box_doc{
	max-width:720px;
	margin:0 auto;}
/*--------------------------------------------------- BOX : ATTENTION*/
.box_attention{
	padding:20px;
	margin:20px 0;
	border:1px solid #AB0507;
	border-radius:10px;}
/*--------------------------------------------------- BOX : NORTICE*/
.box_notice{
	padding:20px;
	margin:0 0 20px;}
/*--------------------------------------------------- POINT*/
.point_box{
	padding: 0 10px;
	background: #f5f5f4;}
.point_box_inner{
	padding: 40px 0 0;
	max-width: 1020px;
	min-height: 400px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;}
.point_box_inner:after{
	content: '';
	width: 100%;
	height: 60px;
	border-radius: 50%;
	position: absolute;
	bottom: -60px;
	left: 0;
	box-shadow: 0 0 30px rgba(0,0,0,0.1);}
.point_box .point_txt {
	width: 70%;
	padding: 0 20px 20px 0;
	position: relative;
	z-index: 5;}
.point_box .point_img {
	width: 30%;
	height: 100%;
	position: absolute;
	text-align: center;
	right: 0;
	bottom: 0;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;}
.point_box .point_img img{
	max-width: 100%;
	max-height: 100%;}
.point_box .point_txt h3{
	font-size: 24px;
	line-height: 1.5;
	margin: 0 0 20px;}
.point_box .point_txt p{
	font-size: 16px;
	line-height: 2;}
.point_list{
	padding: 0 0 20px;}
.point_list li{
	font-size: 24px;
	position: relative;
	line-height: 50px;
	padding: 0 0 0 60px;}
.point_list li:after{
	content: '';
	width: 50px;
	height: 50px;
	background: url(../images/home/sld_01_check.png) left top no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 50%;
	margin: -25px 0 0;}
/*==================================================
TITLE
====================================================*/
/*--------------------------------------------------- TITLE : H2*/
h2.ttl_cmn{
	margin: 0 auto 30px;
	max-width: 1020px;
	position: relative;
	text-align: center;}
h2.ttl_cmn:after{
	content: '';
	width: 100%;
	height: 1px;
	background: #e1ded2;
	position: absolute;
	top: 50%;
	left: 0;}
h2.ttl_cmn .ttl_cmn_inner{
	display: inline-block;
	padding: 0 50px;
	position: relative;
	background: #FFF;
	z-index: 5;}
h2.ttl_cmn .ttl_cmn_inner:before,
h2.ttl_cmn .ttl_cmn_inner:after{
	content: '';
	width: 1px;
	height: 30px;
	background: #e1ded2;
	position: absolute;
	top: 50%;
	margin: -15px 0 0;}
h2.ttl_cmn .ttl_cmn_inner:before{
	left: 0;}
h2.ttl_cmn .ttl_cmn_inner:after{
	right: 0;}
h2.ttl_cmn .main{
	display: inline-block;
	width: 100%;
	font-size: 24px;
	color: #000;
	line-height: 1.2;}
h2.ttl_cmn .sub{
	display: inline-block;
	width: 100%;
	color: #9fa052;
	font-size: 16px;
	line-height: 1.2;}
/*--------------------------------------------------- TITLE : H3*/
h3.ttl_cmn{
	margin:20px 0 40px;
	padding:0 0 20px;
	font-size:24px;
	line-height:1.5;
	text-align:center;
	position:relative;}
h3.ttl_cmn:after{
	content:'';
	position:absolute;
	width:40px;
	height:2px;
	bottom:0;
	left:50%;
	margin:0 0 0 -20px;
	background:#000;}
/*--------------------------------------------------- TITLE : H4*/
h4.ttl_cmn{
	font-weight:bold;
	line-height:1.5;
	margin:0 0 20px;}
/*--------------------------------------------------- TITLE : H5*/
h5.ttl_cmn{
	line-height:1.5;}
/*==================================================
TEXT
==================================================*/
/*--------------------------------------------------- TEXT : COMMON*/
p.txt_cmn{
	font-size:16px;
	line-height:1.8;
	margin:0 0 20px;
	text-align:justify;}
/*--------------------------------------------------- TEXT : ATTENTION*/
p.txt_attention{
	font-weight:bold;
	font-size:18px;
	line-height:1.8;
	text-align:center;}
/*--------------------------------------------------- TEXT : NOTICE*/
p.txt_notice{
	font-size:12px;
	line-height:1.5;
	color:#7F7A70;}
/*--------------------------------------------------- TEXT : REQUIRED*/
p.txt_required{
	color:#AB0507;}
/*--------------------------------------------------- TEXT : POINT*/
p.txt_point{
	font-size:20px;
	font-weight:bold;
	color:#F07700;
	text-align:center;
	margin:20px 0;}
span.txt_point{
	font-weight:bold;
	color:#F07700;}
/*==================================================
LINK
====================================================*/
a{
	color: #111;
	text-decoration:none;
	cursor:pointer;
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;}
/*--------------------------------------------------- LINK : COLOR*/
a:link {
	color: #111;}
a:visited {
	color: #111;}
a:hover {
	color: #F07700;
	text-decoration: none;}
a:active {
	color: #111;
	text-decoration: none;}
/*--------------------------------------------------- LINK : NO TRANSITION*/
a.noanime{
	transition: all 0s ease-in-out 0s;
	-moz-transition: all 0s;
	-webkit-transition: all 0s;
	-o-transition: all 0s;}
/*--------------------------------------------------- LINK : IMG*/
a img{
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;}
a:hover img{
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;}
/*--------------------------------------------------- LINK : COMMON*/
a.lnk_cmn {
	display:block;
	min-width:320px;
	margin:0 auto;
	padding:10px;
	color:#FFF;
	background:#F07700;
	border-radius:3px;
	text-align:center;
	box-sizing:border-box;}
/*--------------------------------------------------- LINK : COMMON*/
a.lnk_txt {
	display:inline-block;
	padding:3px;
	color:#264f6a;
	border-bottom:1px dotted #264f6a;}
a.lnk_txt:hover {
	color: #1a7ab9;
	border-bottom:1px solid #1a7ab9;}
/*--------------------------------------------------- LINK : SCALE*/
a.lnk_scale img{
	transform: scale(1.001);}
a.lnk_scale:hover img{
	transform: scale(1.1);}
/*--------------------------------------------------- LINK : LIST*/
.lnk_list{
	margin:30px 0 0;
	letter-spacing: -0.4em;}
.lnk_list.center{
	text-align: center;}
.lnk_list.right{
	text-align: right;}
.lnk_list li{
	letter-spacing: normal;
	display: inline-block;
	margin: 0 20px 10px 0;
	position: relative;
	padding: 1px;
	background: #c7c097;}
.lnk_list li a{
	display: inline-block;
	padding: 10px;
	min-width: 180px;
	font-size: 18px;
	line-height: 1.2;
	background: #f5f5f4;
	color: #a19658;
	position: relative;
	z-index: 5;}
.lnk_list.center li a{
	text-align: center;}
.lnk_list li:before{
	content: '';
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	background: -webkit-gradient(linear, left, right, color-stop(1.00, #cfcc84), color-stop(0.50, #e0deb0), color-stop(0.00, #cfcc84));
	background: -webkit-linear-gradient(left, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
	background: -moz-linear-gradient(left, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
	background: -o-linear-gradient(left, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
	background: -ms-linear-gradient(left, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
	background: linear-gradient(to right, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;
	z-index: 0;}
.lnk_list li:hover:before{
	left: 0;
	bottom: 0;
	width: 100%;}
.lnk_list li a:hover{
	background: #FFF;
	color: #7b713a;}
/*==================================================
LIST
==================================================*/
.lst_cmn{
	margin:0 0 20px;
	border-top:1px dotted #D1CDC7;}
.lst_cmn li{
	line-height:1.7;
	padding:10px;
	border-bottom:1px dotted #D1CDC7;}
/*--------------------------------------------------- LIST : NEWS*/
.lst_news li{
	border-bottom:1px dotted #D1CDC7;}
.lst_news li a{
	display:block;
	padding:10px 0;}
.lst_news li a .date{
	display:inline-block;
	font-size:14px;
	margin:0 10px 0 0;}
.lst_news li a .cat{
	display:inline-block;
	font-size:12px;
	padding:3px 10px;
	border:1px solid #F07700;
	color:#F07700;
	border-radius:3px;}
/*--------------------------------------------------- LIST : FLOAT DL*/
.lst_float {
	display: table;
	width: 100%;
	table-layout: fixed;}
.lst_float dt{
	padding: 10px 0;
	display: table-cell;
	vertical-align: top;
	border-bottom:1px solid #D1CDC7;
	width:20%;}
.lst_float dd{
	padding: 10px 0 10px 10px;
	display: table-cell;
	vertical-align: top;
	border-bottom:1px solid #D1CDC7;}
/*--------------------------------------------------- LIST : PAGE NAVI*/
.page_navi_list_area{
	border-bottom: 1px solid rgba(0,0,0,0.1);
	padding: 20px 0 30px;}
.page_navi_list{
	width: 100%;
	max-width: 1040px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;}
.page_navi_list li{
	width: 20%;
	padding: 0 10px;}
.page_navi_list li a{
	display: block;
	width: 100%;
	font-size: 14px;
	line-height: 1.5;
	position: relative;
	border:1px solid #353f45;
	text-align: center;
	padding: 10px 5px;
	color: #353f45;}
.page_navi_list li a.current{
	background: #353f45;
	color: #FFF;}
.page_navi_list li a:hover{
	border-color: #1a7ab9;
	color: #1a7ab9;}
.page_navi_list li a.current:hover{
	border-color: #264f6a;
	background: #264f6a;
	color: #FFF;}
.page_navi_list li a.current:after{
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px;
	border-color: #353f45 transparent transparent transparent;
	position: absolute;
	left: 50%;
	top: 100%;
	margin: 0 0 0 -10px;}
.page_navi_list li a.current:hover:after{
	border-color: #264f6a transparent transparent transparent;}
/*--------------------------------------------------- LIST : INDENT*/
.lst_indent_1 li{
	padding-left:1em;}
.lst_indent_1 li:first-letter{
	margin-left:-1em;}
.lst_indent_2 li{
	padding-left:2em;}
.lst_indent_2 li:first-letter{
	margin-left:-2em;}
.lst_indent_3 li{
	padding-left:3em;}
.lst_indent_3 li:first-letter{
	margin-left:-3em;}

/*==================================================
TABLE
==================================================*/
.tbl_cmn{
	width:100%;
	margin:0 0 20px;
	border-top:1px solid #D1CDC7;}
.tbl_cmn th, .tbl_cmn td{
	padding:10px;
	line-height:1.5;
	vertical-align:middle;
	border-bottom:1px solid #D1CDC7;}
.tbl_cmn th {
	white-space:nowrap;
	background:#FDF9F2;}
/*--------------------------------------------------- TABLE : POSITION*/
table.center th,
table.center td,
table th.center,
table td.center{
	text-align:center;}
table.right th,
table.right td,
table th.right,
table td.right{
	text-align:right;}
table.top th,
table.top td,
table th.top,
table td.top{
	vertical-align:top;}
/*==================================================
QUEST
==================================================*/
#quest_area{
	padding: 40px 10px;}
#quest{
	width: 100%;
	height: 200px;
	max-width: 720px;
	margin: 0 auto;
	position: relative;
	border-radius: 5px;
	border:1px solid rgba(0,0,0,0.1);
	box-shadow: 0 0 10px rgba(0,0,0,0.1);}
#quest_navi{
	width: 110px;
	height: 50px;
	position: absolute;
	right: 0;
	top: 0;
	text-align: right;
	z-index: 5;
	letter-spacing: -0.8em;}
#quest_navi li{
	letter-spacing: normal;
	display: inline-block;
	border-left:1px solid rgba(0,0,0,0.1);
	border-bottom:1px solid rgba(0,0,0,0.1);}
#quest_navi li a{
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	font-size: 25px;
	color: #212a30;}
#quest_navi li a:hover{
	color: #cfcc84;}
.quest_box{
	position: absolute;
	left: 0;
	top: 0;
	background: #FFF;
	padding: 60px 20px 20px;
	text-align: center;
	display: none;}
#quest_01{
	display: block;}
.quest_box .quest_contents{
	min-height: 90px;
	padding: 0 0 20px;}
.quest_box .quest_contents h3{
	font-size: 24px;
	font-weight: bold;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	line-height: 30px;
	padding: 0 0 10px;
	margin: 0 0 20px;}
.quest_box .quest_contents p,
.quest_box .quest_contents li{
	font-size: 20px;
	line-height: 30px;
	margin: 0 0 20px;}
.quest_select{
	display: table;
	table-layout: fixed;
	width: 100%;}
.quest_select li{
	display: table-cell;
	vertical-align: top;
	padding: 10px;}
.quest_select li a{
	display: block;
	font-size: 20px;
	line-height: 30px;
	padding: 15px 10px;
	border-radius: 5px;
	text-align: center;
	color: #FFF;
	text-shadow: 0 0 3px rgba(0,0,0,0.1);
	background: #212a30;}
.quest_select li a.quest_yes{
	background: #2b6186;}
.quest_select li a.quest_no{
	background: #932311;}
.quest_select li a.quest_conatct{
	background: #cfcc84;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					TOP

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
/*==================================================
SLIDER
====================================================*/
.sld_content{
	background: #212a30 url(../images/home/sld_01_bg.png) right center no-repeat;
	background-size: auto 100%;
	height: 400px;
	padding: 10px;}
.sld_bdr{
	height: 100%;
	padding: 0 20px;
	border: 1px solid rgba(199,192,151,0.2);}
.sld_inner{
	max-width: 1020px;
	margin: 0 auto;
	color: #FFF;}
.sld_content .sld1_titleWrap{
	padding: 45px 0 40px;
	text-shadow: 0 1px 4px rgba(0,0,0,1);}
.sld_content .sld1_title{
	display: block;
	font-size: 25px;
	line-height: 50px;}
.sld_content .sld_title_line{
	display: block;
	font-size: 30px;
	margin: -50px 0 0;
	vertical-align: bottom;}
.sld_content .sld_title_line_l{
	font-size: 37px;}
.sld_content .sld_title_line_point{
	font-size: 90px;
	color: #ebec7f;}
.sld_content .check li{
	font-size: 25px;
	position: relative;
	line-height: 50px;
	padding: 0 0 0 40px;
	text-shadow: 0 1px 4px rgba(0,0,0,1);}
.sld_content .check li:after{
	content: '';
	width: 50px;
	height: 50px;
	background: url(../images/home/sld_01_check.png) left top no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 50%;
	margin: -25px 0 0;}

#mv{

}
#mv .swiper-container{
	position: relative;
	background-color: #10100e;
	width: 100%;
	height: 400px;
}
#mv .swiper-container .swiper-wrapper{
	position: relative;
}
#mv .swiper-container .swiper-wrapper .swiper-slide{
	position: relative;
	content: '';
	width: 100%;
	height: 100%;
	background: #212a30;
	background-size: cover;
}
#mv .swiper-container .swiper-wrapper .swiper-slide.main{
	background: #212a30 url(../images/home/sld_01_bg.png) right center no-repeat;
}
#mv .swiper-container .swiper-wrapper .swiper-slide img{
	width: 100%;
	height: auto;
}
#mv .swiper-container .swiper-wrapper .swiper-slide .txt{
	position: absolute;
	top: 50px;
	left: 50px;
	margin: auto;
	color: white;
	height: fit-content;
}
#mv .swiper-container .swiper-wrapper .swiper-slide:before{
	position: absolute;
	content: '';
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: 1px solid rgba(199,192,151,0.2);
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
#mv .swiper-container .swiper-wrapper .swiper-slide.main .txt .sld_titleWrap{
	max-width: unset;
}
#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap{
	max-width: calc(50% - 15px);
}
#mv .swiper-container .swiper-wrapper .swiper-slide.main .txt .sld_titleWrap .sld_title{
	font-size: 25px;
}
#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap .sld_title{
	display: block;
	/*font-size: 25px;*/
	font-size: 40px;
	line-height: 50px;
	text-shadow: 0 1px 4px rgba(0,0,0,1);
}
#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap p{
	display: block;
	font-size: 30px;
	vertical-align: bottom;
}
#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap p span{
	font-size: 37px;
}
#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap p .yellow{
	font-size: 90px;
	color: #ebec7f;
}
#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap .caption{
	font-size: 20px;
	line-height: 1.8;
	letter-spacing: 0.08em;
	text-shadow: 0 1px 4px rgba(0,0,0,1);
	margin-top: 1em;
}
#mv .swiper-container .swiper-wrapper .swiper-slide .img_area{
	position: absolute;
	display: flex;
	justify-content: space-between;
	width: 45%;
	height: 60%;
	bottom: 50px;
	top: 0;
	right: 50px;
	bottom: 0;
	margin: auto;
}
#mv .swiper-container .swiper-wrapper .swiper-slide .img_area .img{
	width: calc(50% - 10px);
	height: auto;
}
#mv .swiper-container .swiper-wrapper .swiper-slide .img_area .img:first-child{
}
#mv .swiper-container .swiper-wrapper .swiper-slide .img_area .img:last-child{

}
#mv .swiper-container .swiper-wrapper .swiper-slide .img_area .img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#mv .swiper-container .checklist{
	position: absolute;
	left: 50px;
	bottom: 50px;
	z-index: 1;
}
#mv .swiper-container .checklist li{
	font-size: 25px;
	position: relative;
	line-height: 50px;
	padding: 0 0 0 40px;
	text-shadow: 0 1px 4px rgba(0,0,0,1);
	color: white;
}
#mv .swiper-container .checklist li:after{
	content: '';
	width: 50px;
	height: 50px;
	background: url(../images/home/sld_01_check.png) left top no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 50%;
	margin: -25px 0 0;
}


/*==================================================
TOP PRACTICES
====================================================*/
#top_practices{
	padding: 40px 0;}
#top_practices h1 {
    text-align: center;
    padding: 50px 20px;
	line-height: 1.5;
    font-size: 25px;
    font-weight: bold;
}
#top_practices br{
	display: none;
}
/*==================================================
TOP MEASSAGE
====================================================*/
#top_message{
	padding: 0 20px;
	background: #f5f5f4;
	overflow: hidden;}
#top_message .box_dynamic_content .img{
	position: absolute;
	left: auto;
	bottom: calc(50% - 168px);
	right: calc((100% - 1020px) / 2);
	width: 510px;
	padding: 0 0 0 20px;
	text-align: right;}
/*==================================================
TOP NEWS
====================================================*/
#top_news{
	padding: 30px 20px 40px;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			POST					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#post_layout{
	display: table;
	table-layout: fixed;
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	padding: 20px 0;}
#post_main{
	display: table-cell;
	vertical-align: top;
	padding: 0 40px 0 0;}
#post_side{
	display: table-cell;
	width: 240px;
	vertical-align: top;}
/*==================================================
POST SIDE
====================================================*/
.side_box{
	margin: 0 0 15px;
	padding: 0 0 15px;}
.side_box h3{
	padding: 0 0 10px;
	margin: 0 0 20px;
	font-size: 18px;
	line-height: 1.5;
	color: #363F4F;
	position: relative;
	border-bottom: 1px solid #e1ded2;}
.side_box h3:after{
	content: '';
	width: 40px;
	height: 3px;
	background: #15334c;
	position: absolute;
	left: 0;
	bottom: -1px;}
.side_box_inner{
	padding: 0 10px;}
.side_box_inner li{
	font-size: 14px;}
.side_box_inner li a{
	display: block;
	line-height: 1.6;
	padding: 5px 30px 5px 0;
	color: #333;
	position: relative;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;}
.side_box_inner li a:hover{
	text-decoration: underline;}
.side_box_inner li a:after{
	content: '\ea31';
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	font-size: 14px;
	color: #e1ded2;
	position: absolute;
	top: 50%;
	right: 0;
	margin: -10px 0 0;}
.side_box_inner table{
	width: 100%;
	table-layout: fixed;}
.side_box_inner table th,
.side_box_inner table td{
	font-size: 12px;
	line-height: 20px;
	text-align: center;
	color: #6b6b5e;}
.side_box_inner table caption{
	font-size: 12px;
	line-height: 20px;
	text-align: center;
	color: #6b6b5e;
	padding: 0 0 5px;
	border-bottom: 1px solid #E4E3DC;}
.side_box_inner table thead th{
	border-bottom: 1px solid #E4E3DC;}
.side_box_inner table a{
	color: #000;
	text-decoration: underline;}
.side_box_inner select{
	display: block;
	width: 100%;
	font-size: 14px;
	line-height: 20px;
	border: 1px solid #E4E3DC;}
.side_box_inner select option{
	font-size: 14px;
	line-height: 20px;}
/*==================================================
POST ARCHIVE
====================================================*/
#post_archive > li{
	margin: 0 0 20px;}
#post_archive > li > a{
	display: block;
	padding: 0 20px 20px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);}
#post_archive > li > a:hover{
	box-shadow: 0 5px 15px rgba(199,192,151,0.7);}
#post_archive .title{
	font-size: 28px;
	line-height: 40px;
	padding: 20px 40px 20px 0;
	position: relative;
	color: #454536;
	border-bottom: 1px solid #e1ded2;}
#post_archive .title:after{
	content: '\ea31';
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	font-size: 20px;
	color: #e1ded2;
	position: absolute;
	top: 50%;
	right: 0;
	margin: -20px 0 0;}
#post_archive .info{
	padding: 20px 0 10px;
	letter-spacing: -0.4em;}
#post_archive .info li{
	letter-spacing: normal;
	margin: 0 10px 10px 0;
	display: inline-block;}
#post_archive .info .icon{
	display: inline-block;
	font-size: 13px;
	color: #6b6b5e;}
#post_archive .info .cat .icon{
	padding: 2px 10px;
	border:1px solid rgba(0,0,0,0.1);}
#post_archive .text{
	padding: 0 0 10px;}
#post_archive .text p{
	padding: 0 0 10px;
	color: #6b6b5e;
	font-size: 16px;
	line-height: 2;}
#paging_navi{
	text-align: center;
	padding: 20px 10px;
	letter-spacing: -0.4em;}
#paging_navi a,
#paging_navi span{
	display: inline-block;
	letter-spacing: normal;
	margin: 0 10px;
	width: 42px;
	height: 42px;
	line-height: 40px;
	text-align: center;
	border-radius: 20px;
	background: rgba(0,0,0,0.1);
	box-shadow: 0 2px 4px rgba(0,0,0,0.1) inset;
	border: 1px solid transparent;}
#paging_navi span.current{
	background: #FEFEFE;
	box-shadow: 0 1px 1px rgba(255,255,255,1) inset;
	border: 1px solid rgba(0,0,0,0.1);}
#paging_navi a:hover{
	color: #817c5a;
	background: #FEFEFE;
	box-shadow: 0 1px 3px rgba(199,192,151,0.2);
	border: 1px solid rgba(199,192,151,0.7);}
#paging_navi span.extend {
    background: none;
    box-shadow: none;
    border: none;
    min-width: 20px;
}

#paging_navi .wp-pagenavi span.extend {
    display: none !important;
}


/*==================================================
POST ARCHIVE
====================================================*/
#post_single{
	display: block;
	padding: 0 20px;
	margin: 0 0 40px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);}
#post_head{
	padding: 0 0 20px;
	border-bottom: 1px solid #e1ded2;}
#post_head .title{
	font-size: 28px;
	line-height: 40px;
	padding: 20px 40px 20px 0;
	position: relative;
	color: #454536;}
#post_head .info{
	padding: 0 0 10px;
	letter-spacing: -0.4em;}
#post_head .info li{
	letter-spacing: normal;
	margin: 0 10px 10px 0;
	display: inline-block;}
#post_head .info .icon{
	display: inline-block;
	font-size: 13px;
	color: #6b6b5e;}
#post_head .info .cat .icon{
	padding: 2px 10px;
	border:1px solid rgba(0,0,0,0.1);}
.post_content{
	padding: 40px 10px;}
.post_content h3{
	margin: 40px 0 20px;
	padding: 10px 10px 10px 0;
	font-size: 32px;
	line-height: 1.5;}
.post_content h4{
	margin: 20px 0;
	padding: 10px 10px 10px 5px;
	font-size: 24px;
	line-height: 1.5;
	border-left: 5px solid #15334c;}
.post_content h5{
	margin: 0 0 20px;
	padding: 10px 10px 10px 5px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
	border-bottom: 1px solid rgba(0,0,0,0.1);}
.post_content a{
	color: #11358A;}
.post_content a:hover{
	text-decoration: underline;}
.post_content p,
.post_content li,
.post_content dt,
.post_content dd,
.post_content th,
.post_content td{
	line-height: 1.7;
	font-size: 18px;}
.post_content p,
.post_content ul,
.post_content ol,
.post_content dl,
.post_content table{
	clear: both;
	margin: 0 0 20px;}
.post_content strong{
	font-weight: bold;}
.post_content em{
	font-style: italic;}
.post_content blockquote {
    display: block;
	padding: 20px;
	background: rgba(0,0,0,0.1);}
.post_content .aligncenter{
    display: block;
    margin: 0 auto;}
.post_content .alignright{
	float: right;}
.post_content .alignleft{
	float: left;}
#paging_navi_single{
	display: flex;
	flex-wrap: wrap;}
#paging_navi_single li{
	width: 33.333%}
#paging_navi_single li.prev{
	padding: 0 10px 0 0;}
#paging_navi_single li.back{
	padding: 0 5px;}
#paging_navi_single li.next{
	padding: 0 0 0 10px;}
#paging_navi_single li a{
	display: block;
	text-align: center;
	font-size: 16px;
	padding: 10px;
	color: #817c5a;
	border:1px solid rgba(199,192,151,0.2);
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);}
#paging_navi_single li a:hover{
	box-shadow: 0 2px 10px rgba(199,192,151,0.2);}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			OFFICE					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
.office_box{
	padding: 40px 20px;
	position: relative;}
.office_box_inner{
	max-width: 1020px;
	margin: 0 auto;
	display: flex;}
.office_box_text{
	padding: 20px;
	width: 60%;
	background: rgba(255,255,255,0.7);}
.office_box_empty{
	width: 40%;}
#useful .office_box_text{
	padding: 20px 40px 20px 0;}
#useful .office_box_empty{
	background: url(../images/office/202407_about_img.jpg) center bottom no-repeat;
	background-size: cover;}
#pacific{
	background: url(../images/office/about_img002_bg.jpg) right center no-repeat;
	background-size: cover;}
#pacific .office_box_text{
	padding: 20px 0 20px 40px;}
#pacific .office_box_empty{
	background: url(../images/office/about_img002.jpg) right center no-repeat;
	background-size: cover;}
.office_box h2.point{
	font-size: 32px;
	margin: 0 auto 30px;
	line-height: 1.6;
	padding: 0 0 15px;
	position: relative;}
.office_box h2.point:after{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: -moz-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, rgba(155,153,121,1)), color-stop(100%, rgba(155,153,121,0)));
	background: -webkit-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: -o-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: -ms-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9b9979', endColorstr='#9b9979',GradientType=1 );}



/* sss */
.office_box h3.ttl_cmn{
	margin: 0 auto 30px;
	max-width: 1020px;
	position: relative;
	text-align: center;}
.office_box h3.ttl_cmn:after{
	content: '';
	width: 100%;
	height: 1px;
	background: #e1ded2;
	position: absolute;
	top: 50%;
	left: 0;}
.office_box h3.ttl_cmn .ttl_cmn_inner{
	display: inline-block;
	padding: 0 50px;
	position: relative;
	background: #FFF;
	z-index: 5;}
.office_box h3.ttl_cmn .ttl_cmn_inner:before,
.office_box h3.ttl_cmn .ttl_cmn_inner:after{
	content: '';
	width: 1px;
	height: 30px;
	background: #e1ded2;
	position: absolute;
	top: 50%;
	margin: -15px 0 0;}
.office_box h3.ttl_cmn .ttl_cmn_inner:before{
	left: 0;}
.office_box h3.ttl_cmn .ttl_cmn_inner:after{
	right: 0;}
.office_box h3.ttl_cmn .main{
	display: inline-block;
	width: 100%;
	font-size: 24px;
	color: #000;
	line-height: 1.2;}
.office_box h3.ttl_cmn .sub{
	display: inline-block;
	width: 100%;
	color: #9fa052;
	font-size: 16px;
	line-height: 1.2;}

/* ss */


.office_box p.text{
	font-size: 16px;
	line-height: 1.8;
	color: #383B3E;}
.office_box_img{
	width: 40%;
	position: absolute;
	right: 0;
	top: 0;}
.office_box_img img{
	max-width: 100%;}
#about{
	padding: 20px;
	background: #f5f5f4;}
#about .ttl_cmn_inner{
	background: #f5f5f4;}
.about_detail{
	max-width: 720px;
	margin: 40px auto 0;
	box-shadow: 0 3px 10px rgba(0,0,0,0.1);}
.about_detail .about_list{
	display: flex;
	background: #FFF;
	border-bottom: 1px solid #f5f5f4;}
.about_detail .about_list:last-child{
	border-bottom: none;}
.about_list dt{
	width: 25%;
	font-size: 16px;
	line-height: 1.5;
	padding: 20px;
	align-self: center;
	position: relative;
	color: #15334c;}
.about_list dt:after{
	content: '';
	width: 3px;
	height: 30px;
	position: absolute;
	left: 0;
	top: 50%;
	margin: -15px 0 0;
	background: #15334c;}
.about_list dd{
	width: 75%;
	font-size: 16px;
	line-height: 1.5;
	padding: 20px;
	position: relative;}
.about_list dd:after{
	content: '';
	width: 1px;
	height: 50px;
	position: absolute;
	left: 0;
	top: 50%;
	margin: -25px 0 0;
	background: #f5f5f4;}
#about_gmap {
	position: relative;
	padding-bottom: 300px;
	height: 0;
	overflow: hidden;}
#about_gmap iframe,
#about_gmap object,
#about_gmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			CONTACT					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
.contact_box{
	max-width: 1060px;
	margin: 0 auto;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	padding: 40px 20px 60px;}
.contact_box h2{
	font-size: 24px;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	padding: 0 0 15px;
	margin: 0 0 30px;
	position: relative;}
.contact_box h2:after{
	content: '';
	display: block;
	width: 60px;
	height: 3px;
	background: #15334c;
	position: absolute;
	left: 50%;
	bottom: 0;
	margin: 0 0 0 -30px;}
.contact_box p.text{
	font-size: 16px;
	line-height: 1.8;
	margin: 0 0 20px;
	text-align: center;}
#form_intro .inner {
	width: 100%;
	display: flex;
	flex-wrap: wrap;}
#form_intro .inner .txt {
	padding: 0 20px 0 0;
	width: 72%;}
#form_intro .inner .img {
	width: 28%;}
#form_intro .inner .img img {
	max-width: 100%;}
/*==================================================
TEL
====================================================*/
.tel_box{
	max-width: 480px;
	margin: 0 auto;
	padding: 20px;
	border: 3px double #dcd8bf;}
.tel_box dt{
	margin: 0 0 10px;
	border-bottom: 1px solid #dcd8bf;}
.tel_box dt a{
	display: block;
	font-size: 32px;
	text-align: center;
	line-height: 1.2;}
.tel_box dt a:hover{
	color: #9fa052;}
.tel_box dd{
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
	color: #444;}
/*==================================================
FORM
====================================================*/
.form_box{
	display: flex;
	flex-wrap: wrap;
	max-width: 960px;
	width: 100%;
	border-bottom: 1px dotted rgba(0,0,0,0.1);}
.form_box dt{
	width: 25%;
	font-size: 16px;
	line-height: 1.5;
	align-self: center;
	text-align: right;
	padding: 10px 10px 10px 0;}
.form_box dd{
	width: 75%;
	font-size: 16px;
	line-height: 1.5;
	padding: 10px 0 10px 10px;}
.require{
	color: #DC0003;}
#contact_submit{
	text-align: center;}
.notice{
	background: #EFEEE6;
	border-radius: 3px;
	margin: 30px auto 0;
	padding: 20px;
	max-width:640px;}
.notice li{
	font-size: 13px;
	line-height: 2;}
.notice a{
	font-weight: bold;
	text-decoration: underline;}
.notice a:hover{
	color: #9fa052;}
/*--------------------------------------------------- FORM : INPUT & TEXTAREA*/
.form_box input[type="text"],
input[type="text"].input_cmn,
.form_box input[type="email"],
input[type="email"].input_cmn,
.form_box input[type="password"],
input[type="password"].input_cmn,
.form_box input[type="tel"],
input[type="tel"].input_cmn,
.form_box input[type="number"],
input[type="number"],
.form_box textarea,
textarea.input_cmn{
	resize: vertical;
	display:block;
	max-width:100%;
	width: 100%;
	margin:3px 0;
	padding:5px 10px;
	border:1px solid #D1CDC7;
	font-size:16px;
	line-height:1.5;
	border-radius:3px;
	box-sizing:border-box;
	box-shadow:0 1px 2px rgba(0,0,0,0.1) inset;}
/*--------------------------------------------------- FORM : LABEL*/
.form_box label,
label.label_cmn{
	display:inline-block;
	margin:0 5px 5px 0;
	padding:5px 10px;
	font-size:16px;
	cursor:pointer;
	border:1px solid #D1CDC7;
	border-radius:3px;}
.form_box label.checked,
label.label_cmn.checked,
.form_box label.checked input[type="checkbox"],
label.label_cmn.checked input[type="checkbox"],
.form_box label.checked input[type="radio"],
label.label_cmn.checked input[type="radio"]{
	background: #9fa052;
	color: #FFF;
	border-color: #9fa052;}
.form_box .wpcf7-list-item{
	margin: 0;}
/*--------------------------------------------------- FORM : SELECT*/
.form_box select,
select.select_cmn{
	display:block;
	margin:0 5px 5px 0;
	padding:5px 10px;
	font-size:16px;
	cursor:pointer;
	border:1px solid #D1CDC7;
	border-radius:3px;}
.form_box select option,
select.select_cmn option{
	padding:5px 10px;
	font-size:16px;
	cursor:pointer;
	border-bottom:1px solid #D1CDC7;}
/*--------------------------------------------------- FORM : BUTTON*/
#contact_submit input[type="submit"],
#contact_submit input[type="reset"],
#contact_submit input[type="button"],
input[type="button"].btn_cmn,
a.lnk_input
.form_box input[type="submit"],
input[type="submit"].btn_cmn,
.form_box input[type="reset"],
input[type="reset"].btn_cmn,
.form_box input[type="button"],
input[type="button"].btn_cmn,
a.lnk_input{
	display:inline-block;
	min-width:320px;
	margin:20px 10px;
	text-align:center;
	padding:10px 20px;
	cursor:pointer;
	background:#9fa052;
	color:#FFF;
	border: none;
	border-radius:3px;
	vertical-align:middle;
	box-sizing:border-box;
	box-shadow:0 1px 3px rgba(0,0,0,0.2);
	transition: all 1s ease-in-out 0s;
	-moz-transition: all 1s;
	-webkit-transition: all 1s;
	-o-transition: all 1s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;}
.form_box input[type="reset"],
input[type="reset"].btn_cmn,
a.lnk_input.cancel,
a.lnk_input.back{
	background:#666;}
#contact_submit input[type="submit"]:hover,
#contact_submit input[type="reset"]:hover,
#contact_submit input[type="button"]:hover,
.form_box input[type="submit"]:hover,
input[type="submit"].btn_cmn:hover,
.form_box input[type="reset"]:hover,
input[type="reset"].btn_cmn:hover,
.form_box input[type="button"]:hover,
input[type="button"].btn_cmn:hover,
a.lnk_input:hover{
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;}
/*--------------------------------------------------- FORM : FOCUS*/
.form_box input:focus,
input.input_cmn:focus,
.form_box textarea:focus,
textarea.input_cmn:focus,
.form_box label:focus,
label.label_cmn:focus,
.form_box select:focus,
select.select_cmn:focus {
	border-color:#9fa052;
	box-shadow:0 0 5px #9fa052 inset;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			PRIVACY					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#privacy_layout{
	max-width: 720px;
	margin: 0 auto;
	padding: 40px 20px;}
.box_privacy{
	padding: 20px 0;}
.box_privacy h3{
	font-size: 20px;
	position: relative;
	padding: 0 0 20px;
	margin: 0 0 20px;
	border-bottom: 1px solid #A5AAAF;}
.box_privacy h3:after{
	content: '';
	width: 40%;
	height: 1px;
	background: #15334c;
	position: absolute;
	left: 0;
	bottom:-1px;}
.box_privacy p,
.box_privacy li{
	font-size: 16px;
	line-height: 27px;}
.box_privacy p,
.box_privacy ul,
.box_privacy ol{
	margin: 0 0 20px;}
.privact_lst_num{
	padding: 0 0 0 30px;}
.privact_lst_num li{
	position: relative;}
.privact_lst_num li .num{
	display: inline-block;
	left: -30px;
	top: 0;
	width: 30px;
	position: absolute;
	text-align: center;}
.box_privacy_about{
	margin: 0 auto;
	padding: 20px;
	border: 3px double #cdca9e;}
.box_privacy_about h3{
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid #cdca9e;}
.box_privacy_about h3 .sub{
	font-size: 14px;}
.privacy_list{
	display: flex;
	width: 100%;}
.privacy_list dt,
.privacy_list dd{
	padding: 5px 0;
	font-size: 14px;
	line-height: 1.5;}
.privacy_list dt{
	padding: 5px 10px 5px 0;
	width: 25%;}
.privacy_list dd{
	width: 75%;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			PRACTICES					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#practices_layout{
	padding: 20px 10px;
	background: #f5f5f4;}
.practices_list{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;}
.practices_list li{
	width: 33.333%;
	padding: 20px;}
.practices_list li a{
	width: 100%;
	height: 100%;
	display: block;
	background: #FFF;
	box-shadow: 0 3px 10px rgba(0,0,0,0.1)}
.practices_list li a:hover{
	box-shadow: 0 10px 20px rgba(199,192,151,0.7);}
.practices_list li a .img img{
	max-width: 100%;}
.practices_list li a .txt{
	padding: 20px;
	border-radius: 0 0 3px 3px;}
.practices_list li a .practices_list_title{
	text-align: center;
	padding: 0 0 10px;
	font-size: 18px;
	line-height: 1.2;
	border-bottom: 1px solid #C0BDA7;
	color: #454536;}
.practices_list li a .practices_list_text{
	font-size: 13px;
	padding: 10px 0 0;
	color: #6b6b5e;
	line-height: 1.5;}
.practices_title{
	padding: 40px 0;
	margin: 20px 0 0;
	position: relative;
	text-align: center;}
.practices_title:after{
	content: '';
	width: 100%;
	height: 1px;
	background: rgba(0,0,0,0.1);
	position: absolute;
	left: 0;
	top: 50%;}
.practices_title .inner{
	display: inline-block;
	background: #FFF;
	padding: 0 30px;
	border-right:1px solid rgba(0,0,0,0.1);
	border-left:1px solid rgba(0,0,0,0.1);
	position: relative;
	z-index: 5;
	font-size: 24px;
	line-height: 1.5;}
.practices_title_sub{
	z-index: 5;
	font-size: 24px;
	line-height: 1.5;
	margin: 0 0 20px;
	border-bottom: 1px solid #CCC;}
.practices_title_sub .main,
.practices_title_sub .sub{
	display: inline-block;
	padding: 0 0 10px;
	position: relative;}
.practices_title_sub .main{
	color: #264f6a;
	font-weight: bold;}
.practices_title_sub .main:after{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 100%;
	left: 0;
	background: #264f6a;}
.practices_title_sub .sub{
	font-size: 18px;
	color:#5A6A7F;
	margin: 0 0 0 20px;}
.lst_img_navi{
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 0 40px;
	display: flex;
	flex-wrap: wrap;}
.lst_img_navi li{
	padding: 20px;
	width: 50%;}
.lst_img_navi li a{
	display: block;
	height: 100%;
	position: relative;
	padding: 10px 0 0;
	z-index: 5;
	background: #FFF;
	box-shadow: 0 0 5px rgba(0,0,0,0.1);}
.lst_img_navi li a:hover{
	box-shadow: 0 10px 20px rgba(199,192,151,0.7);}
.lst_img_navi li a:after{
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px;
	border-color: #264f6a transparent transparent transparent;
	position: absolute;
	left: 50%;
	bottom: -30px;
	margin: 0 0 0 -20px;
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;}
.lst_img_navi li a:hover:after{
	bottom: -40px;}
.lst_img_navi li a .img{
	display: block;
	text-align: center;}
.lst_img_navi li a .img img{
	max-width: 100%;}
.lst_img_navi li a .txt{
	display: block;
	padding: 0 20px 20px;
	background: #FFF;
	color: #212a30;
	text-align: center;
	position: relative;
	z-index: 5;}
.lst_img_navi li a .txt .title{
	display: block;
	font-size: 24px;
	line-height: 1.5;}
.lst_img_navi li a .txt .sub{
	display: block;
	font-size: 18px;
	line-height: 1.5;
	color: #ab9024;
	font-weight: 800;}
.practices_box{
	max-width: 960px;
	padding: 0 40px 40px;
	margin: 0 auto;}
.practices_box.top{
	padding: 40px;}
.practices_box p{
	font-size: 18px;
	line-height: 2;}
.practices_box p,
.practices_box ul,
.practices_box ol,
.practices_box dl,
.practices_box table{
	margin: 0 0 10px;}
.practices_box .lst_tbl{
	width: 100%;
	display: flex;
	flex-wrap: wrap;}
.practices_box .lst_tbl dt,
.practices_box .lst_tbl dd{
	font-size: 18px;
	line-height: 2;
	padding: 5px 0;}
.practices_box .lst_tbl dt{
	width: 25%;}
.practices_box .lst_tbl dd{
	width: 75%;}
.practices_link{
	padding: 40px 10px 30px;
	text-align: center;
	letter-spacing: -0.4em;}
.practices_link li{
	display: inline-block;
	padding: 0 10px 10px;
	letter-spacing: normal;}
.practices_link a{
	display: inline-block;
	padding: 20px;
	width: 100%;
	max-width: 280px;
	text-align: center;
	background: #15334c;
	color: #FFF;}
.practices_link a.light{
	padding: 20px 40px 20px 20px;
	width: 100%;
	max-width: inherit;
	max-width: auto;
	background: #FFF;
	border: 1px solid #15334c;
	color: #15334c;
	position: relative;}
.practices_link a.light:after{
	content: '\eb14';
	display: inline-block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	color: #77878C;
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -10px 0 0;}
.practices_link a:hover{
	color: #ded7ae;}
.practices_link a.light:hover{
	border-color: #204ca5;
	color: #204ca5;}
.lst_flow li{
	display: table;
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	table-layout: fixed;}
.lst_flow li .practices_box{
	width: auto;
	padding: 0 20px 20px;
	display: table-cell;}
.lst_flow li .flow_text{
	display: table-cell;
	vertical-align: top;}
.lst_flow li .flow_num{
	display: table-cell;
	vertical-align: top;
	width: 100px;
	text-align: center;
	position: relative;}
.lst_flow li .flow_num:after{
	content: '';
	display: block;
	width: 1px;
	height: 100%;
	left: 50%;
	top: 0;
	position: absolute;
	background: #b2a346;}
.lst_flow li:last-child .flow_num:after{
	display: none;}
.lst_flow li .flow_num_icon{
	display: inline-block;
	font-size: 42px;
	width: 60px;
	height: 60px;
	text-align: center;
	line-height: 60px;
	border: 1px solid #b2a346;
	color: #b2a346;
	background: #FFF;
	position: relative;
	z-index: 5;}
.instance_box{
	width: 100%;
	max-width: 720px;
	padding: 0 20px 30px;
	margin: 0 auto 30px;
	border-bottom: 1px solid rgba(0,0,0,0.1);}
.instance_box_head{
	width: 100%;
	max-width: 720px;
	display: table;
	table-layout: fixed;
	margin: 0 auto 10px;}
.instance_img{
	width: 80px;
	padding: 0 20px 0 0;
	display: table-cell;
	vertical-align: top;}
.instance_img .icon{
	display: inline-block;
	width: 60px;
	height: 60px;
	position: relative;
	background: #ADB5CF;
	border-radius: 30px;}
.instance_img .icon:after{
	content: '\e918';
	display: inline-block;
	width: 60px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	font-size: 30px;
	color: #2E3146;}
.male .instance_img .icon:after{
	content: '\e917';}
.bld .instance_img .icon:after{
	content: '\e96e';}
.house .instance_img .icon:after{
	content: '\e964';}
.instance_txt{
	display: table-cell;
	vertical-align: top;}
.instance_txt h4{
	padding: 20px 0;
	font-size: 18px;
	line-height: 20px;
	margin: 0 0 20px;}
.instance_box dl{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 20px 80px;}
.instance_box dl dt{
	width: 20%;
	line-height: 1.5;
	border-right: 1px solid rgba(0,0,0,0.1);}
.instance_box dl dd{
	width: 80%;
	padding: 0 0 0 20px;
	line-height: 1.5;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					PRICE

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#price_layout{
	padding: 0 0 40px;
	background: #f5f5f4;}
.price_title{
	font-size: 28px;
	line-height: 1.5;
	padding: 60px 10px 20px;
	max-width: 1020px;
	margin: 0 auto 30px;
	position: relative;
	text-align: center;}
.price_title:before{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	background: -moz-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, rgba(155,153,121,0)), color-stop(50%, rgba(155,153,121,1)), color-stop(100%, rgba(155,153,121,0)));
	background: -webkit-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: -o-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: -ms-linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	background: linear-gradient(45deg, rgba(155,153,121,0) 0%, rgba(155,153,121,1) 50%, rgba(155,153,121,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9b9979', endColorstr='#9b9979',GradientType=1 );}
.price_title:before{
	bottom: 0;}
.price_box{
	padding: 0 10px 20px;}
.price_box_inner{
	padding: 30px;
	max-width: 1020px;
	margin: 0 auto;
	background: #FFF;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);}
.price_sodan_list dt{
	font-size: 20px;
	line-height: 1.5;
	padding: 0 0 10px;
	margin: 0 0 10px;
	text-align: center;
	border-bottom:1px solid rgba(0,0,0,0.1);}
.price_sodan_list dt .price{
	font-size: 28px;
	font-weight: bold;
	color: #15334c;}
.price_sodan_list dd{
	font-size: 16px;
	line-height: 1.5;
	text-align: center;}
.price_sodan_list dd .point{
	color: #7E0E10;
	font-weight: bold;
	font-size: 20px;}
.price_box h4{
	font-size: 20px;
	line-height: 1.5;
	padding: 0 0 10px;
	margin: 0 0 20px;
	text-align: center;
	border-bottom:1px solid rgba(0,0,0,0.1);}

.price_box h3{
	font-size: 20px;
	line-height: 1.5;
	padding: 0 0 10px;
	margin: 0 0 20px;
	text-align: center;
	border-bottom:1px solid rgba(0,0,0,0.1);}
.smart_table{
	width: 100%;
	overflow: auto;
	position: relative;
	box-shadow: 0 0 10px rgba(0,0,0,0.1) inset;
	padding: 10px;}
.smart_table_inner{
	background: #FFF;
	width: 100%;
	min-width: 900px;}
.smart_table_inner table{
	width: 100%;}
.smart_table_inner table th,
.smart_table_inner table td{
	padding: 10px;
	font-size: 14px;
	line-height: 1.5;}
.smart_table_inner table th{
	background: #184461;
	color: #FFF;
	vertical-align: middle;}
.smart_table_inner table th.sub{
	background: #cadfee;
	color: #111;
	text-align: left;
	width: 20%;}
.smart_table_inner table th.plus_row{
	border-right: 1px solid rgba(0,0,0,0.3);}
.smart_table_inner table th.sub,
.smart_table_inner table td{
	border-bottom: 1px solid rgba(0,0,0,0.3);}
.smart_table_inner table td{
	border-right: 1px solid rgba(0,0,0,0.3);}
.super{
	font-size: 12px;
	color: #7E0E10;
	vertical-align: super;}
.price_notice{
	padding: 20px 10px 15px;
	font-size: 14px;
	line-height: 1.5;}
.price_notice li{
	margin: 0 0 5px;}
.price_text{
	font-size: 16px;
	line-height: 1.5;
	margin: 0 0 20px;}
.price_box .practices_link{
	padding: 10px;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			LAWER					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#lawyer_layout{
	background: #FAFAFA;
	padding: 40px 20px 20px;}
.lawyer_box{
	width: 100%;
	max-width: 1020px;
	background: #FFF;
	margin: 0 auto 20px;
	border-radius: 5px;
	box-shadow: 0 0 20px rgba(0,0,0,0.1);}
.lawyer_box h2{
	padding: 20px;
	font-size: 18px;
	line-height: 1.5;
	border-bottom: 1px solid rgba(0,0,0,0.1);}
.lawyer_profile{
	width: 100%;
	display: flex;}
.lawyer_box .lawyer_profile_face{
	padding: 30px 20px 20px;
	width: 36%;}
.lawyer_box .lawyer_profile_face img{
	max-width: 100%;}
.lawyer_box .lawyer_profile_info{
	padding: 20px 20px 20px 0;
	width: 64%;
	display: flex;
	flex-wrap: wrap;}
.lawyer_box .lawyer_profile_info dt,
.lawyer_box .lawyer_profile_info dd{
	font-size: 14px;
	line-height: 1.6;}
.lawyer_box .lawyer_profile_info dt{
	padding: 10px;
	width: 25%;}
.lawyer_box .lawyer_profile_info dd{
	padding: 10px;
	width: calc(100% - 25%);}
.lawyer_profile_info_inner_list li{
	font-size: 14px;
	line-height: 1.6;
	display: flex;}
.lawyer_profile_info_inner_list li .year{
	display: block;
	width: 100px;}
.lawyer_profile_info_inner_list li .text{
	display: block;
	width: calc(100% - 100px);}


/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			RECRUIT

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#recruit{

}
#recruit #page_layout{
	background: #FAFAFA;
	padding: 40px 20px 20px;
}

.sec_block{
	color: #383B3E;
	max-width: 1200px;
	margin: 0 auto 20px;
	padding: 10px;
}
.sec_block .wrapper{

}
.sec_block .wrapper .sec_title{

}

.sec_block .wrapper .sec_title h2{
	position: relative;
	font-size: 32px;
	margin: 0 auto 30px;
	line-height: 1.6;
	padding: 0 0 15px;
}
.sec_block .wrapper .sec_title h2:after{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: -moz-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, rgba(155,153,121,1)), color-stop(100%, rgba(155,153,121,0)));
	background: -webkit-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: -o-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: -ms-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9b9979', endColorstr='#9b9979',GradientType=1 );
}

.sec_block .wrapper .sec_title h3{
	position: relative;
	font-size: 32px;
	margin: 0 auto 30px;
	line-height: 1.6;
	padding: 0 0 15px;
}
.sec_block .wrapper .sec_title h3:after{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: -moz-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, rgba(155,153,121,1)), color-stop(100%, rgba(155,153,121,0)));
	background: -webkit-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: -o-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: -ms-linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	background: linear-gradient(45deg, rgba(155,153,121,1) 0%, rgba(155,153,121,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9b9979', endColorstr='#9b9979',GradientType=1 );
}
.sec_block .wrapper .sec_title content{

}

.sec_block .wrapper h4{
	font-size: 20px;
	line-height: 1.5;
	padding: 0 0 10px;
	margin: 0 0 20px;
}

.sec_block .wrapper p{
	font-size: 16px;
	line-height: 1.8;
	white-space: pre-wrap;
}

.sec_block.intro .wrapper{

}
.sec_block.intro .wrapper .content{
	display: flex;
	justify-content: space-between;
}
.sec_block.intro .wrapper .content .img{
	max-width: 200px;
}
.sec_block.intro .wrapper .content .img img{
	width: 100%;
	height: auto;
}
.sec_block.intro .wrapper .content .txt{
	width: calc(100% - 230px);
	font-size: 18px;
}

.sec_block.message{

}
.sec_block.message .content{
	margin-bottom: 30px;
}

.recruit_detail{
	max-width: 720px;
	margin: 40px auto 0;
	box-shadow: 0 3px 10px rgba(0,0,0,0.1);}
.recruit_detail .recruit_list{
	display: flex;
	background: #FFF;
	border-bottom: 1px solid #f5f5f4;}
.recruit_detail .recruit_list:last-child{
	border-bottom: none;}
.recruit_list dt{
	width: 25%;
	font-size: 16px;
	line-height: 1.5;
	padding: 20px;
	align-self: center;
	position: relative;
	color: #15334c;}
.recruit_list dt:after{
	content: '';
	width: 3px;
	height: 30px;
	position: absolute;
	left: 0;
	top: 50%;
	margin: -15px 0 0;
	background: #15334c;}
.recruit_list dd{
	width: 75%;
	font-size: 16px;
	line-height: 1.5;
	padding: 20px;
	position: relative;
	white-space: pre-wrap;}
.recruit_list dd:after{
	content: '';
	width: 1px;
	height: 50px;
	position: absolute;
	left: 0;
	top: 50%;
	margin: -25px 0 0;
	background: #f5f5f4;}


/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			KEYFRAME					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@keyframes marquee {
	0% {
		left: 100%;
		transform: translate(0);
	}
	100% {
		left: 0;
		transform: translate(-100%);
	}
}
@keyframes fixwidth {
	0% {
		width: 0;
		left: 50%;
	}
	100% {
		width: 100%;
		left: 0;
	}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			1100px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:1100px){
	#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap .sld_title{
		font-size: 30px;
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap .caption{
		font-size: 17px;
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .img_area{
		width: 40%;
		height: 45%;
	}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			1020px					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:1020px){
	
/*==================================================
 TOP SLIDER 1020
====================================================*/
	.office_box{
		padding: 10px;
		position: relative;}
	.office_box_inner{
		display: block;
		padding: 1px;
		border: 1px solid rgba(255,255,255,0.4);}
	.office_box_text{
		padding: 20px;
		width: 100%;
		position: relative;
		z-index: 5;
		background: rgba(255,255,255,0.6);}
	.office_box_empty{
		width: 100%;
		height: 100%;
		position: absolute;
		z-index: 1;
		left: 0;
		top: 0;}
	#useful .office_box_text{
		padding: 40px;}
	#pacific .office_box_text{
		padding: 40px;}
	.office_box h3.point{
		font-size: 24px;}

	.office_box .ttl_cmn {
    margin: 0 auto 30px;
    max-width: 1020px;
    position: relative;
    text-align: center;
}


	
	#top_message .box_dynamic_content .img{
		right: -20px;
		width: 50%;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			980px					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:980px){
	/*==================================================
	SLIDER
	====================================================*/
	.sld_bdr{
		padding: 0 20px;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			880px					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:880px){
	/*--------------------------------------------------- BOX : PAGE NAVI*/
	.box_page_navi{
		padding: 0 10px;}
	.box_page_navi li{
		padding: 0 10px 10px;}
	.box_page_navi_inner .btn{
		font-size: 16px;}
	/*==================================================
	PRACTICES 880
	====================================================*/
	.practices_list li{
		width: 50%;
		padding: 10px;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			768px					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:768px){
	/*==================================================
	HEADER
	====================================================*/
	#title{
		background: #282b2d;
		height: 26px;
		padding: 0 20px 2px;
		margin: 0 0 60px;
		position: relative;
		z-index: 1000;
		overflow: hidden;}
	#title:after{
		content: "";
		white-space: nowrap;
		display: inline-block;}
	#title span{
		color: #9f9f85;
		max-width: 1020px;
		margin: 0 auto;
		font-size: 12px;
		line-height: 2;
		position: absolute;
		top: 0;
		white-space: nowrap;
		animation-name: marquee;
		animation-timing-function: linear;
		animation-duration: 10s;
		animation-iteration-count: infinite;
		display: block;} 
		
	/* #title h1{
		color: #9f9f85;
		max-width: 1020px;
		margin: 0 auto;
		font-size: 12px;
		line-height: 2;
		position: absolute;
		top: 0;
		white-space: nowrap;
		animation-name: marquee;
		animation-timing-function: linear;
		animation-duration: 10s;
		animation-iteration-count: infinite;} */
	/*--------------------------------------------------- HEADER LOGO*/
	#header_area{
		padding: 0 0 0 20px;
		position: fixed;
		z-index: 1000;
		height: 60px;
		left: 0;
		top: 26px;
		transition: all 0.7s ease-in-out 0s;
		-moz-transition: all 0.7s;
		-webkit-transition: all 0.7s;
		-o-transition: all 0.7s;}
	.scrolled #header_area{
		top: 0;}
	#hdr_logo{
		padding: 10px 0;}
	#hdr_logo a{
		height: 40px;
		padding: 0 0 0 50px;
		background: url(../images/common/hdr_logo.jpg) left center no-repeat;
		background-size: auto 40px;}
	#hdr_logo a .ja{
		font-size: 16px;
		line-height: 25px;}
	#hdr_logo a .en{
		font-size: 10px;
		line-height: 15px;}
	/*--------------------------------------------------- HEADER TEL*/
	#hdr_tel_area{
		display: none;}
	/*--------------------------------------------------- HEADER ICON*/
	.hdr_icon{
		display: table-cell;}
	/*--------------------------------------------------- GLOBAL NAVI*/
	#global_navi_area{
		background: #15334c;
		padding: 86px 0 20px;
		position: fixed;
		width: 100%;
		height: 100%;
		z-index: 900;
		top: 0;
		left: 100%;
		transition: all 0.7s ease-in-out 0s;
		-moz-transition: all 0.7s;
		-webkit-transition: all 0.7s;
		-o-transition: all 0.7s;}
	.menu_open #global_navi_area{
		left: 0;}
	.scrolled #global_navi_area{
		padding: 60px 0 20px;}
	#global_navi{
		width: 100%;
		height: 100%;
		display: block;
		overflow: auto;}
	#global_navi:after{
		width: 1px;
		height: 100%;
		box-shadow: 1px 0 0 rgba(255,255,255,0.05);
		left: 5px;
		bottom: 0;}
	#global_navi li{
		width: 100%;
		position: relative;}
	#global_navi li:before,
	#global_navi li:after,
	#global_navi li:first-child a:after,
	#global_navi li:last-child a:after{
		display: none;}
	#global_navi li a{
		display: block;
		text-align: left;
		position: relative;
		padding: 10px 40px 10px 20px;
		line-height: 30px;
		color: #fefef2;}
	#global_navi li a:before{
		content: '';
		width: 1px;
		height: 0;
		position: absolute;
		bottom: auto;
		top: 50%;
		left: 5px;
		z-index: 5;
		transition: all 0.7s ease-in-out 0s;
		-moz-transition: all 0.7s;
		-webkit-transition: all 0.7s;
		-o-transition: all 0.7s;
		background: -webkit-gradient(linear, top, bottom, color-stop(1.00, #cfcc84), color-stop(0.50, #e0deb0), color-stop(0.00, #cfcc84));
		background: -webkit-linear-gradient(top, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
		background: -moz-linear-gradient(top, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
		background: -o-linear-gradient(top, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
		background: -ms-linear-gradient(top, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);
		background: linear-gradient(to bottom, #cfcc84 0%, #e0deb0 50%, #cfcc84 100%);}
	#global_navi li a.current:before,
	#global_navi li a:hover:before{
		width: 1px;
		height: 100%;
		top: 0;
		left: 5px;}
	#global_navi li a:after,
	#global_navi li:first-child a:after,
	#global_navi li:last-child a:after{
		display: block;
		background: none;
		content: '\ea31';
		width: 30px;
		height: 30px;
		line-height: 30px;
		text-align: center;
		font-size: 20px;
		color: rgba(0, 0, 0, 0.5);
		position: absolute;
		right: 0;
		top: 50%;
		left: auto;
		margin: -15px 0 0;}
	/*--------------------------------------------------- FOOTER CONTACT*/
	#ftr_contact_area{
		background: #212a30 url(../images/common/202407_ftr_contact_sp.jpg) right bottom no-repeat;
		background-size: 100% auto;}
	#ftr_contact_area_inner{
		padding: 30px 10px 60vw;}
	#ftr_contact{
		display: block;}
	#ftr_contact div{
		width: 100%;
		text-align: center;
		padding: 0 0 20px}
	#ftr_contact div .sub{
		font-size: 18px;}
	#ftr_contact div .main{
		font-size: 24px;}
	#ftr_contact .ftr_contact_method{
		padding: 0;}
	#ftr_contact .tel{
		font-size: 24px;
		margin: 0 0 10px;}
	#ftr_contact .tel a{
		display: block;
		max-width: 240px;
		margin: 0 auto 10px;
		padding: 0 0 0 30px;}
	#ftr_contact .tel .time{
		display: block;
		font-size: 14px;
		text-align: center;}
	#ftr_contact .bnr a{
		display: block;
		max-width: 400px;
		margin: 0 auto;
		padding: 20px 40px 20px 50px;}
	/*--------------------------------------------------- BOX : DYNAMIC*/
	.box_dynamic_content .img,
	#top_message .box_dynamic_content .img {
		position: relative;
		left: auto;
		bottom: auto;
		width: 100%;
		text-align: center;}
	#top_message .box_dynamic_content .img {
		position: relative;
		text-align: center;
		right: auto;
		padding: 0 0 20px;}
	.box_dynamic_content .text{
		padding: 30px 0 20px;}
	.box_dynamic_content .text h2{
		margin: 0 0 30px;
		text-align: center;}
	.box_dynamic_content .text p{
		max-width: 100%;
		margin: 0 auto;}
/*--------------------------------------------------- LINK : LIST*/
	#top_message .lnk_list{
		text-align: center;}
/*--------------------------------------------------- POINT*/
	.point_box{
		padding: 40px 10px 0;}
	.point_box_inner {
		padding: 0;}
	.point_box .point_txt {
		width: 100%;
		padding: 0 20px;}
	.point_box .point_img {
		width: 100%;
		position: relative;
		right: auto;
		bottom: auto;
		justify-content: center;
		padding: 30px 0;}
	.point_box .point_img img {
		max-height: auto;
		max-width: 250px;
		height: auto;}
	.point_list{
		padding: 0;}
	.point_list li{
		font-size: 20px;
		position: relative;
		line-height: 30px;
		padding: 0 0 0 40px;}
	.point_list li:after{
		width: 30px;
		height: 30px;
		margin: -15px 0 0;}
	.practices_box {
		padding: 0 20px 20px;}
	.practices_box p{
		font-size: 14px;
		line-height: 2;}
	.practices_box .lst_tbl{
		display: block;}
	.practices_box .lst_tbl dt,
	.practices_box .lst_tbl dd{
		font-size: 14px;}
	.practices_box .lst_tbl dt{
		width: 100%;
		font-weight: bold;
		padding: 5px 0 10px;
		border-bottom: 1px dotted rgba(0,0,0,0.1);}
	.practices_box .lst_tbl dd{
		width: 100%;}
	.practices_title_sub{
		font-size: 20px;
		text-align: center;
		border-bottom: 1px solid #CCC;}
	.practices_title_sub .main,
	.practices_title_sub .sub{
		display: block;}
	.practices_title_sub .main:after{
		display: none;}
	.practices_title_sub .sub{
		font-size: 14px;
		margin: 0;}
	.lst_img_navi{
		display: block;}
	.lst_img_navi li{
		width: 100%;}
	.lst_img_navi li a .txt{
		display: block;
		padding: 0 10px 10px;}
	.lst_img_navi li a .txt .title{
		font-size: 18px;}
	.lst_img_navi li a .txt .sub{
		font-size: 14px;}
	.quest_box .quest_contents h3{
		font-size: 20px;
		line-height: 25px;}
	.quest_box .quest_contents p,
	.quest_box .quest_contents li{
		font-size: 16px;
		line-height: 1.5;
		margin: 0 0 15px;}
	
	#form_intro .inner .txt {
		width: calc(100% - 180px);}
	#form_intro .inner .img {
		width: 180px;}
	#form_intro .inner .img img {
		max-width: 100%;}
	.contact_box p.text {
		font-size: 14px;
		text-align: left;}

	/*||||||||||||||||||||||||||||||||||||||||||||||||||
	----------------------------------------------------

				RECRUIT

	----------------------------------------------------
	||||||||||||||||||||||||||||||||||||||||||||||||||||*/
	#recruit{
	}
	#recruit #page_layout{
	}
	.sec_block{
	}
	.sec_block .wrapper{
	}
	.sec_block .wrapper .sec_title{
	}
	.sec_block .wrapper .sec_title h3{
		font-size: 24px;
	}
	.sec_block .wrapper .sec_title h3:after {
	}
	.sec_block .wrapper .sec_title content{
	}
	.sec_block .wrapper h4{
		font-size: 18px;
		line-height: 1.2;
	}
	.sec_block .wrapper p{
		font-size: 14px;
		line-height: 1.8;
	}
	.sec_block.intro .wrapper .content{
		flex-direction: column;
	}
	.sec_block.intro .wrapper .content .img{
		max-width: 100%;
		margin-bottom: 1em;
	}
	.sec_block.intro .wrapper .content .img img{
	}
	.sec_block.intro .wrapper .content .txt{
		width: 100%;
		line-height: 1.9;
	}
	.recruit_detail .recruit_list{
		display: block;}
	.recruit_list dt{
		width: 100%;
		padding: 10px 20px;
		font-size: 14px;
		font-weight: bold;}
	.recruit_list dd{
		width: 100%;}
	.recruit_list dd:after{
		content: '';
		width: 80%;
		height: 1px;
		position: absolute;
		left: 10%;
		top: 0;
		margin: 0;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			640px					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:640px){
	/*--------------------------------------------------- BOX : PAGE NAVI*/
	.box_page_navi{
		display: block;}
	.box_page_navi li{
		width: 100%;
		padding: 0 0 10px;}
	/*==================================================
	SLIDER
	====================================================*/
	.sld_content{
		height: 300px;
		padding: 10px;}
	.sld_bdr{
		padding: 0 20px;
		background: rgba(0,0,0,0.4);}
	.sld_content h2{
		padding: 20px 0 15px;}
	.sld_content .sld1_title{
		font-size: 20px;
		line-height: 30px;}
	.sld_content .sld_title_line{
		font-size: 24px;
		margin: -40px 0 0;}
	.sld_content .sld_title_line_l{
		font-size: 28px;}
	.sld_content .sld_title_line_point{
		font-size: 80px;}
	.sld_content .check li{
		font-size: 20px;
		position: relative;
		line-height: 40px;
		padding: 0 0 0 30px;}
	.sld_content .check li:after{
		width: 40px;
		height: 40px;
		margin: -20px 0 0;}

	#mv{
	}
	#mv .swiper-container{
		height: 70vh;
		max-height: 540px;
	}
	#mv .swiper-container .swiper-wrapper{
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide{
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide img{
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .txt{
		top: 25px;
		left: 25px;
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide.main{
		background-size: cover;
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide:before{
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap{
		max-width: unset;
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap .sld_title{
		font-size: 27px;
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap p{
		font-size: 16px;
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap p span{
		font-size: 20px;
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap p .yellow{
		font-size: 60px;
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .txt .sld_titleWrap .caption{
		font-size: 16px;
		width: calc(100% - 25px);
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .img_area{
		width: calc(100% - 40px);
		height: 25%;
		max-height: 250px;
		min-height: 120px;
		top: unset;
		right: 0;
		left: 0;
		bottom: 30px;
		margin: auto;
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .img_area .img{
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .img_area .img:first-child{
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .img_area .img:last-child{
	}
	#mv .swiper-container .swiper-wrapper .swiper-slide .img_area .img img{
	}
	#mv .swiper-container .checklist{
		left: 25px;
	}
	#mv .swiper-container .checklist li{
		font-size: 16px;
		padding: 0 0 0 30px;
	}
	#mv .swiper-container .checklist li:after{
		width: 30px;
		height: 30px;
		margin: -15px 0 0;
	}

/*--------------------------------------------------- BOX : API*/
	.lst_api_head h2{
		padding: 10px;
		font-size: 16px;}
	.lst_api_head h2 .sub{
		font-size: 11px;}
	.lst_api_head .link a{	
		font-size: 12px;
		padding: 10px;}
	.lst_api_list li a{
		display: block;
		position: relative;}
	.lst_api_list li a:after{
		content: '\ea31';
		display: inline-block;
		width: 40px;
		height: 40px;
		text-align: center;
		line-height: 40px;
		position: absolute;
		right: 0;
		top: 50%;
		color: #9c9a94;
		margin: -20px 0 0;}
	.lst_api_list li a .cat{
		width: 145px;
		display: inline-block;
		padding: 5px 10px 0 10px;}
	.lst_api_list li a .date{
		display: inline-block;
		padding: 5px 10px 0 0;}
	.lst_api_list li a .title{
		display: block;
		padding: 5px 40px 5px 10px;}
	.lst_api_list li a .title:after{
		display: none;}
	/*==================================================
	POST
	====================================================*/
	#post_layout{
		display: block;
		padding: 20px;}
	#post_main{
		display: block;
		width: 100%;
		padding: 0 0 40px;}
	#post_side{
		display: block;
		width: 100%;}
	#post_archive .title{
		font-size: 20px;
		line-height: 30px;
		padding: 10px 40px 10px 0;}
	.post_content p,
	.post_content li,
	.post_content dt,
	.post_content dd,
	.post_content th,
	.post_content td{
		line-height: 1.7;
		font-size: 16px;}
	#useful .office_box_text,
	#pacific .office_box_text{
		padding: 20px;}
	#about{
		padding: 40px 10px;}
	.about_detail .about_list{
		display: block;}
	.about_list dt{
		width: 100%;
		padding: 10px 20px;
		font-size: 14px;
		font-weight: bold;}
	.about_list dd{
		width: 100%;}
	.about_list dd:after{
		content: '';
		width: 80%;
		height: 1px;
		position: absolute;
		left: 10%;
		top: 0;
		margin: 00;}
/*--------------------------------------------------- LIST : PAGE NAVI*/
	.page_navi_list li{
		width: 50%;
		padding: 0 10px 10px;}
	.lst_flow li{
		display: table;
		width: 100%;
		max-width: 1020px;
		margin: 0 auto;
		table-layout: fixed;}
	.lst_flow li .practices_box{
		width: auto;
		padding: 0 10px 20px;
		display: table-cell;}
	.lst_flow li .flow_text{
		display: table-cell;
		vertical-align: top;}
	.lst_flow li .flow_num{
		display: table-cell;
		vertical-align: top;
		width: 60px;
		text-align: center;
		position: relative;}
	.lst_flow li .flow_num_icon{
		display: inline-block;
		font-size: 20px;
		width: 40px;
		height: 40px;
		line-height: 40px;}
	
	.lawyer_profile {
		flex-wrap: wrap;}
	.lawyer_box .lawyer_profile_face,
	.lawyer_box .lawyer_profile_info {
		width: 100%;}
	.lawyer_box .lawyer_profile_face {
		padding: 20px 20px;
		max-width: 240px;
		margin: 0 auto;}
	.lawyer_box .lawyer_profile_info {
		padding: 0 20px 20px;}
	
	#form_intro .inner {
		position: relative;
		z-index: 1;}
	#form_intro .inner .txt {
		width: 100%;
		padding: 0;}
	#form_intro.contact_box h2 {
		padding-right: 170px;}
	#form_intro.contact_box h2::after {
		margin: 0 0 0 -120px;}
	.contact_box p.text {
		padding-right: 170px;}
	#form_intro .tel_box {
		max-width: none;
		margin-top: 50px;
		background: #fff;}
	#form_intro .inner .img {
		position: absolute;
		z-index: -1;
		right: -20px;
		top: 0;
		max-height: 160px;
		overflow: hidden;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			480px					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:480px){
	/*--------------------------------------------------- HEADER LOGO*/
	#header_area{
		padding: 0 0 0 10px;}
	#hdr_logo{
		padding: 10px 0;}
	#hdr_logo a{
		height: 40px;
		padding: 0 0 0 40px;
		background: url(../images/common/hdr_logo.jpg) left center no-repeat;
		background-size: auto 30px;}
	#hdr_logo a .ja{
		font-size: 14px;
		line-height: 20px;}
	#hdr_logo a .en{
		font-size: 10px;
		line-height: 15px;}
	.hdr_icon{
		width: 40px;
		padding: 5px;}
	.hdr_icon .icon{
		font-size: 20px;
		line-height: 30px;}
	#hdr_icon_menu_inner{
		width: 30px;
		height: 40px;}
	#hdr_icon_menu_inner span{
		width: 20px;
		height: 2px;
		left: 5px;}
	#hdr_icon_menu_inner span.top{
		top: 13px;}
	#hdr_icon_menu_inner span.bottom{
		bottom: 13px;}
/*==================================================
TOP PRACTICES
====================================================*/

#top_practices h1 {
    padding: 30px 20px;
    font-size: 16px;
	line-height: 1.5;
}
#top_practices br{
	display: block;
}
#top_practices {
    padding: 0;
}
/*==================================================
FOOTER
====================================================*/
	#footer{
		padding: 40px 0 20px;
		text-align: center;}
	#ftr_title{
		font-size: 18px;
		line-height: 1.2;
		padding: 0 20px 10px;
		color: #FFF;
		letter-spacing: 0.05em;
		position: relative;}
	#ftr_sub{
		font-size: 11px;
		line-height: 1.2;
		padding: 10px 0 20px;
		color: #cdca9e;}
	#ftr_about{
		padding: 0 10px;}
	#ftr_about li{
		font-size: 14px;
		line-height: 1.7;
		color: #d2d2d2;}
	#ftr_navi{
		display: flex;
		flex-wrap: wrap;}
	#ftr_navi li{
		width: 50%;
		padding: 5px;
		display: block;}
	#ftr_navi li:after{
		display: none;}
	#ftr_navi li a{
		color: #d2d2d2;
		line-height: 1.5;
		display: block;
		padding: 10px;
		border: 1px solid rgba(255,255,255,0.1);}
	#footer .bnr_area{
		flex-direction: column;
		row-gap: 20px;
		padding: 0 1em;
	}
	#footer .bnr_area .parts_bnr{
		width: 100%;
	}
	#footer .bnr_area .parts_bnr:first-child{
	}
	#footer .bnr_area .parts_bnr:nth-child(2){
	}
	#footer .bnr_area .parts_bnr:last-child{
	}
	#footer .bnr_area .parts_bnr span{
	}
	#footer .bnr_area .parts_bnr img{
	}
	/*==================================================
	SLIDER
	====================================================*/
	.sld_content{
		height: 200px;
		padding: 5px;}
	.sld_bdr{
		padding: 0 10px;
		background: rgba(0,0,0,0.4);}
	.sld_content .sld1_titleWrap{
		padding: 10px 0;}
	.sld_content .sld1_title{
		font-size: 14px;
		line-height: 25px;}
	.sld_content .sld_title_line{
		font-size: 16px;
		margin: -35px 0 0;}
	.sld_content .sld_title_line_l{
		font-size: 20px;}
	.sld_content .sld_title_line_point{
		font-size: 70px;}
	.sld_content .check li{
		font-size: 16px;
		position: relative;
		line-height: 30px;
		padding: 0 0 0 30px;}
	.sld_content .check li:after{
		width: 30px;
		height: 30px;
		margin: -15px 0 0;}
	.box_dynamic_content .text{
		padding: 30px 0 0;}
	.box_dynamic_content .text h2{
		font-size: 20px;
		margin: 0 0 20px;}
	.box_dynamic_content .text p{
		font-size: 16px;}
/*--------------------------------------------------- LINK : LIST*/
	#top_message .lnk_list li{
		display: block;
		margin: 0 0 10px;}
	#top_message .lnk_list li a{
		display: block;
		width: 100%;}
	/*==================================================
	PRACTICES 480
	====================================================*/
	.practices_list li{
		width: 100%;
		padding: 0 10px 10px;}
/*--------------------------------------------------- LIST : PAGE NAVI*/
	.page_navi_list li{
		width: 100%;}
	.instance_img{
		width: 60px;
		padding: 0 10px 0 0;}
	.instance_img .icon{
		display: inline-block;
		width: 40px;
		height: 40px;
		border-radius: 20px;}
	.instance_img .icon:after{
		width: 40px;
		height: 40px;
		line-height: 40px;
		font-size: 20px;}
	.instance_txt h4{
		padding: 10px 0;
		margin: 0 0 10px;}
	.instance_box dl{
		padding: 0 0 20px;}
	.instance_box dl dt,
	.instance_box dl dd{
		font-size: 14px;}
	
	.lawyer_box .lawyer_profile_info dt,
	.lawyer_box .lawyer_profile_info dd {
		width: 100%;}
	.lawyer_box .lawyer_profile_info dt {
		padding: 5px 10px;
		border-bottom: 1px solid #e5e5e5;}
	.lawyer_box .lawyer_profile_info dd {
		padding: 10px 10px 25px calc(10px + 1em);}
	
	.point_box .point_img {
		display: none;}
	.point_box .point_txt {
		padding: 0 20px 40px;}
	
	#form_intro.contact_box h2,
	.contact_box p.text {
		padding-right: 0;}
	#form_intro.contact_box h2::after {
		margin: 0 0 0 -30px;}
	#form_intro .inner .img {
		display: none;}
	#form_intro .tel_box {
		margin-top: 0;}
	#contact_submit input[type="submit"], #contact_submit input[type="reset"], #contact_submit input[type="button"], input[type="button"].btn_cmn, a.lnk_input .form_box input[type="submit"], input[type="submit"].btn_cmn, .form_box input[type="reset"], input[type="reset"].btn_cmn, .form_box input[type="button"], input[type="button"].btn_cmn, a.lnk_input {
		padding: 15px;
		min-width: 260px;}
	.form_box dt,
	.form_box dd {
		width: 100%;}
	.form_box dt {
		padding: 10px 10px 0 0;
		text-align: left;}
	.form_box dd {
		padding: 5px 0 10px 10px;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			340px					

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:340px){

}

/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

[contact-form-7 id="261ec2a" title="コンタクトフォーム 1"]修正				

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/

/* ==========================================
   CF7 彈窗通用樣式 (Modal Overlay)
   ========================================== */
.cf7-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6); /* 半透明黑背景 */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999; /* 確保浮在最上層 */
  padding: 20px;
  box-sizing: border-box;
}

/* 彈窗主體卡片 */
.cf7-modal-content {
  background-color: #ffffff;
  width: 100%;
  max-width: 540px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 30px 25px;
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  animation: modalFadeIn 0.25s ease-out;
}

/* 淡入動畫 */
@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 標題與文字 */
.cf7-modal-content h3 {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  color: #333333;
  text-align: center;
  border-bottom: 2px solid #f0f0f0;
  padding-bottom: 12px;
}

.cf7-modal-content p {
  color: #555555;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 25px;
}

/* 內容列表排版 (dl, dt, dd) */
.cf7-modal-content dl {
  margin: 0 0 25px 0;
  display: grid;
  grid-template-columns: 110px 1fr;
  row-gap: 12px;
  column-gap: 10px;
  font-size: 0.95rem;
}

.cf7-modal-content dt {
  font-weight: 600;
  color: #666666;
}

.cf7-modal-content dd {
  margin: 0;
  color: #222222;
  word-break: break-word;
  white-space: pre-wrap; /* 保持多行輸入的換行 */
}

/* 按鈕容器與按鈕樣式 */
.modal-buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}

.cf7-modal-content button {
  padding: 12px 28px;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.cf7-modal-content button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* 返回/關閉按鈕 (灰色) */
#modal-back-btn,
#modal-close-success-btn,
#modal-close-error-btn {
  background-color: #e0e0e0;
  color: #333333;
}

#modal-back-btn:hover,
#modal-close-success-btn:hover,
#modal-close-error-btn:hover {
  background-color: #d0d0d0;
}

/* 送出按鈕 (主色調) */
#modal-submit-btn {
  background-color: #28a745; /* 可自行改為主題主色 */
  color: #ffffff;
}

#modal-submit-btn:hover {
  background-color: #218838;
}

/* 智慧型手機響應式調整 */
@media (max-width: 480px) {
  .cf7-modal-content {
    padding: 20px 15px;
  }
  
  .cf7-modal-content dl {
    grid-template-columns: 1fr; /* 手機版轉為單欄 */
    row-gap: 4px;
  }
  
  .cf7-modal-content dt {
    margin-top: 8px;
    font-size: 0.85rem;
  }

  .modal-buttons {
    flex-direction: column;
    gap: 10px;
  }

  .cf7-modal-content button {
    width: 100%;
  }
}

/* 自訂確認按鈕綠色樣式 */
.custom-submit-btn,
#open-confirm-btn {
  display: inline-block;
  width: 100%;
  max-width: 300px;
  padding: 14px 28px;
  background-color: #28a745; /* 綠色背景 */
  color: #ffffff; /* 白色文字 */
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(40, 167, 69, 0.2);
  transition: all 0.25s ease;
}

/* 滑鼠懸停與聚焦效果 */
.custom-submit-btn:hover,
#open-confirm-btn:hover {
  background-color: #218838; /* 深綠色 */
  box-shadow: 0 6px 12px rgba(40, 167, 69, 0.3);
  transform: translateY(-2px);
}

/* 按下時的效果 */
.custom-submit-btn:active,
#open-confirm-btn:active {
  background-color: #1e7e34;
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(40, 167, 69, 0.2);
}
