@charset "utf-8";
.page_title{
	max-width:1040px;
	padding:35px 20px;
	margin:0 auto 80px;
	font-size:3.4rem;
	font-weight:bold;
	letter-spacing:3.2px;
	position:relative;
	color:#fff;
}
.page_title::before{
	content:'';
	display:block;
	background: #029FE1;
	background: linear-gradient(95deg, rgba(2, 159, 225, 1) 0%, rgba(30, 48, 133, 1) 100%);
	margin:0 calc(50% - 50vw);
	width:100vw;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	z-index:-1;
}

.content_area{
	max-width:1040px;
	padding:0 20px 108px;
	margin:auto;
}
.content_area > *:first-child{margin-top:0;}

h2{
	position:relative;
	margin:80px 0 31px;
	font-size:2.8rem;
	letter-spacing:2.8px;
	padding:14px 0 0;
	font-weight:bold;
	border-top:3px solid #008CD7;
}
h2::before{
	content:'';
	display:block;
	width:42px;
	height:3px;
	background:#32318F;
	position:absolute;
	left:0;
	top:-3px;
}
h3{
	position:relative;
	margin:52px 0 31px;
	font-size:2.4rem;
	letter-spacing:2.4px;
	border-top:2px solid #ccc;
	padding-top:8px;
	font-weight:bold;
}
h4{
	position:relative;
	margin:40px 0 20px;
	font-size:2.2rem;
	letter-spacing:2.2px;
	font-weight:bold;
}
h5{
	position:relative;
	margin:30px 0 10px;
	font-size:1.8rem;
	letter-spacing:1.8px;
	font-weight:bold;
}

p{margin:15px 0;line-height:1.8;font-size:1.7rem;letter-spacing:1.7px;}
ul, ol{
	padding-left:30px;
	margin-bottom:20px;
	font-size:1.7rem;
	letter-spacing:1.7px;
}
ul li{list-style:disc;}
ul li li{list-style:circle;}
ul li li li{list-style:square;}
ol li{list-style:decimal;}
li{margin-bottom:5px;}
table{
	width:100%;
	margin:20px 0;
	border-top:1px solid #ccc;
}
th, td{
	padding:18px 20px;
	border-bottom:1px solid #ccc;
	vertical-align:top;
	font-size:1.7rem;
	letter-spacing:1.7px;
}
th{
	width:20%;
	background:#F6F1E9;
	font-weight:bold;
	text-align:left;
}
td *:first-child{margin-top:0;}
td *:last-child{margin-bottom:0;}

.alignleft{margin-right:auto;}
.aligncenter{margin:auto;}
.alignright{margin-left:auto;text-align:right;}
.right{text-align:right;}
.center{text-align:center;}

#pankuzu{
	max-width:1040px;
	padding:0 20px;
	margin:auto;
}
#pankuzu ul{
	display:flex;
	flex-wrap:wrap;
	padding:0 60px 0 0;
}
#pankuzu li{
	list-style:none;
	margin:10px 13px 0 0;
	font-size:1.2rem;
	position:relative;
}
#pankuzu a{
	margin-right:18px;
	color:#333;
	text-decoration:none;
}
#pankuzu li::after{
	content:'';
	display:block;
	position:absolute;
	top:5px;
	right:0;
	width:7px;
	height:8px;
	background:url(/img/common/arrow_pankuzu.svg) center no-repeat;
}
#pankuzu li:last-child a{
	text-decoration:none;
	pointer-events:none;
	margin-right:0;
}
#pankuzu li:last-child::after{display:none;}
#pankuzu a:hover{text-decoration:underline;}

.page_link{
	padding:0;
	display:grid;
	grid-gap:10px 20px;
	margin-bottom:20px;
	font-size:1.5rem;
	letter-spacing:1.5px;
	grid-template-columns:repeat(auto-fit, calc((100% - 40px) / 3));
}
.page_link li{
	float:left;
	list-style:none;
	margin:0 0 10px 0;
}
.page_link a{
	position:relative;
	display:flex;
	padding:7px 40px 7px 20px;
	background:url(/img/common/arrow_b_red.svg) right 15px center no-repeat;
	color:#333;
	height:100%;
	min-height:60px;
	align-items:center;
	text-decoration:none;
	border:1px solid #ddd;
	line-height:1.3;
	border-radius:20px;
}
.page_link a:hover{text-decoration:underline;}

.column_2, .column_3, .column_4, .column_5, .gallery{
	display:grid;
	grid-gap:40px;
	margin:20px 0;
	font-size:1.7rem;
	letter-spacing:1.7px;
}
.gallery img{margin:auto;}
.column_2, .gallery-columns-2{grid-template-columns:repeat(auto-fit, calc((100% - 40px) / 2));}
.column_3, .gallery-columns-3{grid-template-columns:repeat(auto-fit, calc((100% - 80px) / 3));}
.column_4, .gallery-columns-4{grid-template-columns:repeat(auto-fit, calc((100% - 120px) / 4));}
.column_5, .gallery-columns-5{grid-template-columns:repeat(auto-fit, calc((100% - 160px) / 5));}
.gallery-caption{
	margin:8px 0;
	font-size:1.5rem;
	letter-spacing:0.7px;
	line-height:1.9rem;
	text-align:center;
}
.wp-caption {
	max-width: 100% !important;
	width: auto !important;
	height: auto;
	display: block;
	box-sizing: border-box;
	margin: 0 auto;
}
div.gallery > br{display:none;}

.column_2 img, .column_3 img, .column_4 img, .column_5 img{margin:0 0 20px;}
a[rel*="attachment"]{pointer-events:none;}


.localnav{margin-top:117px;}
.localnav h2{
	margin:0 0 25px;
	border:none;
	padding:0;
}
.localnav h2::before{display:none;}
.ln_top_link{
	display:inline-block;
	position:relative;
}
.ln_top_link::before{
	content:'';
	position:absolute;
	right:0;
	top:calc(50% - 18px);
	display:block;
	width:36px;
	height:36px;
	border-radius:50%;
	border:1px solid #ccc;
	transition:background .3s,border .3s;
}
.ln_top_link:hover::before{
	background:#D93A23;
	border-color:#D93A23;
}
.ln_top_link span{
	display:inline-block;
	position:relative;
	padding-right:50px;
}
.ln_top_link span::after{
	content:'';
	display:block;
	position:absolute;
	top:calc(50% - 2px);
	right:9px;
	width:17px;
	height:4px;
	background:url(/img/common/arrow_r_red.svg) right center no-repeat;
	transition:opacity .3s,visibility .3s;
}
.ln_top_link span::before{
	content:'';
	display:block;
	position:absolute;
	top:calc(50% - 2px);
	right:9px;
	width:17px;
	height:4px;
	background:url(/img/common/arrow_r_white.svg) right center no-repeat;
	transition:opacity .3s,visibility .3s;
	visibility:hidden;
	opacity:0;
}
.ln_top_link:hover span{text-decoration:underline;}
.ln_top_link:hover span::after{opacity:0;visibility:hidden;}
.ln_top_link:hover span::before{visibility:visible;opacity:1;}

.ln_list{
	display:grid;
	grid-gap:15px;
	margin:0;
	padding:0;
	grid-template-columns:repeat(auto-fit, calc((100% - 45px) / 4));
}
.ln_item{
	list-style:none;
	margin:0;
}
.ln_link{
	display:flex;
	align-items:center;
	width:100%;
	min-height:60px;
	height:100%;
	border-radius:10px;
	padding:5px 20px;
	text-decoration:none;
	color:#333 !important;
	background:#EBEBEB;
	font-weight:500;
	transition:color .3s,background .3s;
	line-height:1.3;
}
.ln_link:hover{
	color:#fff !important;
	background:#32318F;
}
.on .ln_link{
	color:#fff !important;
	background:#32318F;
}

.link_btn{margin-top:24px;}
.link_btn a{
	display:inline-block;
	min-width:200px;
	padding:14px 30px 16px;
	border-radius:27px;
	background:#03163C;
	border:1px solid #03163C;
	color:#fff !important;
	font-size:1.5rem;
	letter-spacing:1.5px;
	text-align:center;
	text-decoration:none;
	transition:background 0.3s,color .3s;
	position:relative;
}
.link_btn a:hover{background:#fff;color:#333 !important;}

.link_btn a[target="_blank"]::after{
	content:'';
	display:block;
	position:absolute;
	top:calc(50% - 5px);
	right:20px;
	width:10px;
	height:10px;
	background:url(/img/common/popup_white.svg) right center no-repeat;
	transition:opacity .3s,visibility .3s;
}
.link_btn a[target="_blank"]::before{
	content:'';
	display:block;
	position:absolute;
	top:calc(50% - 5px);
	right:20px;
	width:10px;
	height:10px;
	background:url(/img/common/popup.svg) right center no-repeat;
	transition:opacity .3s,visibility .3s;
	visibility:hidden;
	opacity:0;
}
.link_btn a[target="_blank"]:hover::after{opacity:0;visibility:hidden;}
.link_btn a[target="_blank"]:hover::before{visibility:visible;opacity:1;}
.link_btn.center{text-align:center;}

.map, .movie_wrap{
	position:relative;
	width:auto;
	height:0;
	padding-bottom:56.25%;
	margin:0 auto;
	overflow:hidden;
}
.map iframe, .map object, .map embed, .movie_wrap iframe, .movie_wrap object, .movie_wrap embed{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border:none;
}

.txt_box {
	overflow:hidden;
	height:100%;
	margin-bottom:20px;
}
.img{
	float:left;
	margin-right:30px;
	max-width:280px;
}
.img_r{
	float:right;
	margin-left:30px;
	max-width:280px;
}
.txt{
	overflow: hidden;
	height: 100%;
}
.txt *:first-child{margin-top:0 !important;}
.txt *:last-child{margin-bottom:0 !important;}

.content_area img{border-radius:10px;}

.bor_gr{
	border:1px solid #ddd;
	border-radius:10px;
	padding:25px 30px;
}
.bor_gr *:first-child{margin-top:0 !important;}
.bor_gr *:last-child{margin-bottom:0 !important;}
.bor_red{
	border:1px solid #FF0000;
	color:#FF0000;
	padding:25px 30px;
	border-radius:10px;
}

.group_content{
	position:relative;
	border-top:2px solid #008CD7;
	padding-top:10px;
	margin:80px 0 0;
}
.group_content::before{
	content:'';
	display:block;
	width:42px;
	height:2px;
	background:#32318F;
	position:absolute;
	left:0;
	top:-2px;
}
.group_box{
	display:flex;
	justify-content:space-between;
	padding:33px 0 37px;
}
.group_box.group_in{margin-left:50px;border-top:1px dotted #ccc;}

.group_content .group_box:last-child{border-bottom:none;padding-bottom:0;}
.group_txt{flex:1;}
.group_txt img{border-radius:0 !important;}
.group_txt h2,.group_txt h3{margin:0 0 18px;padding:0;border:none;font-size:2.4rem;letter-spacing:2.4px;}
.group_txt h3{font-size:1.8rem;letter-spacing:1.8px;margin-bottom:14px;}
.group_txt p{margin-top:0;}
.group_txt p:last-child{margin-bottom:0;}
.group_txt h2::before{display:none;}
.group_img{width:373px;margin-left:40px;}

.outline_txt{line-height:2;}
.message h1{text-align:center;}
.message p{max-width:840px;margin:20px auto 0;}

.img_w img{
	border-radius:0;
	width:100%;
	max-width:700px;
	margin:auto;
}
.message_txt{
	display:block;
	font-size:2.8rem;
	letter-spacing:2.8px;
	margin-top:40px;
}
.ship .txt_box{margin-bottom:40px;}

.contact_more{
	border-radius:10px;
	background:#E8DCC7;
	text-align:center;
	padding:40px 20px;
}
.contact_more a{
	display:block;
	width:240px;
	padding:15px 20px;
	margin:auto;
	border-radius:30px;
	color:#fff !important;
	text-decoration:none;
	border:1px solid #03163C;
	background:#03163C;
	transition:background .3s,color .3s;
	font-size:1.4rem;
	letter-spacing:1.4px;
}
.contact_more a:hover{background:#fff;color:#03163C !important;}
.cm_link[target="_blank"]{display:block;background:none !important;padding:0;}
.cm_link .thumb{overflow:hidden;border-radius:10px;}
.cm_link img{margin-bottom:0;transition:transform .3s,opacity .3s;}
.cm_link:hover .thumb img{transform:scale(1.03);}
.cm_link p{margin:10px 0 20px;padding-left:20px;background:url(/img/common/popup.svg) no-repeat center left;}

.group_slide .slick-dots li{
	width:18px;
	height:18px;
	margin:0;
}
.group_slide .slick-dots li button::before{
	content:'';
	width:8px;
	height:8px;
	bottom:0;
	right:0;
	margin:auto;
	opacity:1;
	background:#ccc;
	border-radius:50%;
	transition:background .3s;
}
.group_slide .slick-dots li.slick-active button::before{background:#D93A23;}
.group_slide .slick-dots li button:hover::before{background:#D93A23;}

.content_area img{transition:all .3s;}
.content_area a:hover img{opacity:0.8;}


@media screen and (min-width:768px) and (max-width:1100px){
.page_link li{margin-bottom:21px;}
}

@media screen and (max-width:1100px){
.page_title{font-size:2.6rem;letter-spacing:2.4px;margin-bottom:60px;}
.content_area{padding-bottom:100px;}

h2{font-size:2.2rem;margin-top:60px;}
h3{font-size:2rem;margin:42px 0 21px;}
h4{font-size:2rem;}
h5{font-size:1.6rem;}

p{font-size:1.5rem;letter-spacing:1.5px;}
ul, ol{font-size:1.5rem;letter-spacing:1.5px;}

th, td{
	padding:14px 15px;
	font-size:1.5rem;
	letter-spacing:1.5px;
}
th{width:27%;}

.page_link{
	gap:10px 20px;
	grid-template-columns:repeat(auto-fit, calc((100% - 60px) / 3));
}
.page_link a{font-size:1.4rem;}

.link_btn a{
	padding:14px 20px 15px;
	font-size:1.4rem;
	letter-spacing:1.4px;
}
.ln_list{grid-template-columns:repeat(auto-fit, calc((100% - 15px) / 2));}
.ln_link{min-height:54px;}
.column_3, .gallery-columns-3{
	gap:20px;
	grid-template-columns:repeat(auto-fit, calc((100% - 40px) / 3));
}
.column_2, .column_3, .column_4, .column_5, .gallery{font-size:1.4rem;letter-spacing:1.4px;}

.group_content{
	padding-top:0;
	margin:50px 0 0;
}
.group_box{padding:23px 0 27px;}
.group_txt h2{font-size:2.2rem;letter-spacing:2.2px;}
.group_txt h3{font-size:1.6rem;letter-spacing:1.6px;}
.group_img{width:230px;margin-left:20px;}

.message_txt{
	font-size:2rem;
	letter-spacing:2px;
}
.gallery-caption{font-size:1.4rem;letter-spacing:1.4px;}
}

@media screen and (max-width:950px){
.scroll_table.tab table{min-width:1000px;}
}

@media screen and (max-width:767px){
.content_area{padding-bottom:80px;}
.page_title{margin-bottom:40px;}

img{margin:auto;}
p,ul, ol{
	margin-bottom:15px;
	font-size:1.4rem;
	line-height:2.7rem;
}
dl{margin-bottom:15px;}
dl dd:not(:last-child){margin-bottom:10px;}
th, td{
	padding:13px 15px;
	font-size:1.4rem;
}
th{width:33%;}
.col_table{table-layout:auto;}
#pankuzu ul{
	flex-wrap:nowrap;
	overflow-x:scroll;
	padding:0;
	margin:0 60px 20px 0;
}
#pankuzu li{white-space:nowrap;}
#pankuzu li::after{top:10px;}

.column_4{grid-template-columns:repeat(auto-fit, 48.181%);}

.page_link{
	grid-gap:10px 20px;
	grid-template-columns:repeat(auto-fit, calc((100% - 20px) / 2));
}
.page_link li a{font-size:1.3rem;min-height:50px;border-radius:15px;}

.link_btn a{
	min-width:180px;
	max-width:none;
	padding:13px 20px 15px;
}
.localnav h2{font-size:2.4rem;letter-spacing:2.4px;}
.ln_link{min-height:53px;padding:15px 20px;}

.tel{pointer-events:auto;}
.scroll_table.sp table{min-width:800px;}

.ln_list{
	grid-gap:10px;
	grid-template-columns:repeat(auto-fit, calc((100% - 10px) / 2));
}

.group_txt h2 img,.group_txt h3 img{margin:0;}
.message h1{text-align:left;}
.message_txt{
	font-size:1.8rem;
	letter-spacing:1.8px;
}
.group_box.group_in{margin-left:30px;}
}

@media screen and (max-width:599px){
.ln_list{display:block;}
.ln_item{margin-top:10px;}

.column_2, .column_3, .column_4, .column_5,.gallery{
	display:grid;
	grid-gap:20px 10px;
	margin:20px 0;
}
dl.gallery-item{margin-bottom:0 !important;}
.column_2,.gallery-columns-2{grid-template-columns:repeat(auto-fit, calc((100% - 10px) / 2));}
.column_3,.gallery-columns-3{grid-template-columns:repeat(auto-fit, calc((100% - 10px) / 2));}
.column_4,.gallery-columns-4{grid-template-columns:repeat(auto-fit, calc((100% - 10px) / 2));}
.column_5,.gallery-columns-5{grid-template-columns:repeat(auto-fit, calc((100% - 20px) / 3));}
.column_5 img{margin-bottom:0 !important;}
.column_2 img, .column_4 img, .column_5 img{margin-bottom:0;}
.column_3 div *:last-child{margin-bottom:0;}
.group_content{
	padding-top:0;
	margin:50px 0 0;
}
.group_box{
	display:block;
	padding:20px 0 24px;
}
.group_txt h2{font-size:2rem;letter-spacing:2px;margin-bottom:10px;}
.group_txt h3{font-size:1.4rem;letter-spacing:1.4px;margin-bottom:11px;}
.group_img{width:auto;margin:23px 0 0;}

.page_link{display:block;}
.page_link li{
	float:none;
	margin:0 0 6px !important;
}

.txt_box {height:auto;}
.img,.img_r{
	float:none;
	margin:0 0 20px;
	max-width:none;
}
.img img,.img_r img{display:block;width:auto;height:auto;max-width:100%;margin:auto;}
.txt{height:auto;}
.sales .column_2,.library .column_2{display:block;}

.office_table th,.office_table td{
	padding: 8px 10px;
	display:list-item;
	list-style:none;
	width:auto !important;
}
.office_table tr{border-bottom:1px solid #ccc;}
.office_table td{border-bottom:none !important;}
.office_table tr td:nth-child(1), .office_table tr td:nth-child(2){padding-bottom:5px !important;}

}