@charset "utf-8";

/* common */

body {
font-family: "Noto Sans JP", メイリオ, Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
font-weight: 400;
font-size: 14px;
line-height: 1.8;
color: #000 !important;
overflow-x: hidden;
}
main { background-color: #f2f4f6; padding-bottom: 60px; }
* { box-sizing: border-box; }

@media all and (max-width: 768px) {
body { font-size: 14px; }
p { font-size: 14px !important; }
main { padding-bottom: 40px; }
}

@media all and (min-width: 769px) {
body { min-width: 1080px; }
p { letter-spacing: 1px; }
h2,h3,h4 { letter-spacing: 2px; }
}

h1,h2,h3 { margin: 0; }
ul,ol { padding: 0; margin: 0; list-style: none; }
.fn_w5 { font-weight: 500; }
.fn_w6 { font-weight: 600; }
.fn_w7 { font-weight: 700; }
img { max-width: 100%; height: auto; vertical-align:top; }

.sp0 { display: none; }
.pc0 { display: block; }
@media all and (max-width: 768px) {
.sp0 { display: block; }
.pc0 { display: none; }
}
.sp1 { display: none; }
.pc1 { display: block; }

@media all and (max-width: 560px) {
.sp1 { display: block; }
.pc1 { display: none; }
.sp_mg { margin-bottom: 23px !important;}
}
.ps_rlt { position: relative; }
.al_center { margin: 0 auto; }


a img, button img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: 0.2s ease-in;
    transition: 0.2s ease-in;
	filter:alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;
}
a img:hover, button img:hover {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}
img.w100 { max-width: 100%; height: auto; }
a:visited,a:hover,a:active { text-decoration: none; }


/* ヘッダー */
a { -webkit-transition: 0.2s ease-in; transition: 0.2s ease-in; }
h1.logo { margin: 0 !important; padding-left: 20px; width: 100%; max-width: 360px; height: auto; float: left; }

.head_link { float: right; padding: 0; }
.head_link a { -webkit-transition: 0.2s ease-in; transition: 0.2s ease-in; }
.head_link a img { width: 300px; height: auto; }
.header_block { height: 75px; width: 100%; background: #fff; padding: 0; top: 0; z-index: 5; display: flex; justify-content: space-between; align-content: center; align-items: center; margin: 0 auto 0; }
.header_block.top_page { box-shadow: 0 0 20px rgba(0,0,0,0.16); z-index: 8; position: relative; }
.gNav ul li { width: auto; text-align: center !important; margin: 0 0 8px; }
.gNav ul li a { color: #fff; text-decoration: none; font-weight: 600 !important; text-align: center !important; padding: 5px 0; font-size: 14px !important;}
.gNav ul li a.ex_link { padding-right: 20px !important; background-image: url("../images/common/ex.png"); background-size: 12px auto; background-repeat: no-repeat; background-position: right center; }
.container { width: 100%; max-width: 1280px !important; padding: 0 40px; }
.container_w { width: 100%; max-width: 1600px !important; padding: 0; }
.f_btn { position: fixed; right: 0px; z-index: 4; bottom: 40vh; }
.f_btn:hover { right: -2px; }
.f_btn img { width: 40px; height: auto; }
.ft_btn { display: none; }
@media all and (min-width: 769px) {
.header_block { position: relative; height: 75px; }
.gNav ul { 
	list-style: none;
	display: flex;
   -webkit-flex-flow: row nowrap;
   flex-flow: row nowrap;
   justify-content: space-between;
	width: 100%;
	align-content: center;
	align-items: center;
}
.gNav ul li { margin: 0; position: relative; padding: 0 24px; }
.gNav ul li:first-child { padding-left: 0 !important; }
.gNav ul li::after { content: ""; width: 1px; height: 17px; background-color: #cdd5dd; position: absolute; display: block; right: 0; top: 8px; }
.gNav ul li a { transition: all 0.3s ease; color: #000; text-align: center !important; font-size: 14px !important; border-bottom: 2px solid #fff; padding: 0 !important; letter-spacing: 0.5px; font-weight: 400 !important; white-space: nowrap; }
.gNav ul li a:hover, .gNav ul li a.n_active { border-bottom: 2px solid #eaea06; }
.gNav ul li.contact_btn::after, .gNav ul li:nth-child(5)::after { display: none; }
.gNav ul li.contact_btn { padding: 0 !important; }
.gNav ul li.contact_btn a { display: flex; width: 198px; height: 75px; background-image: url("../images/common/g_contact.png"); background-size: 100% 100%; color: #fff !important; border-bottom: none; font-weight: 600 !important; justify-content: center; align-content: center; align-items: center; }
.gNav ul li.contact_btn a:hover { border: none; color: #eaea06 !important; }
.header_block .container { width: auto; margin: 0; padding: 0 !important; }
.gNav.fNav ul { width: 760px; margin: 0 auto; justify-content: center; }
.gNav.fNav ul.sNav { margin: 40px auto 25px; }
.gNav.fNav ul li:first-child { padding-left: 24px !important; }
.gNav.fNav ul.sNav li a { font-size: 12px !important; }
.gNav.fNav ul.sNav li:nth-child(2)::after { display: none; }
}
@media all and (max-width: 768px) {
.f_btn { display: none; }
.ft_btn { display: flex; justify-content: space-between; position: fixed; bottom: 0; left: 0; width: 100%; background-color: #fff; }
.header_block.top_page { box-shadow: 0 0 10px rgba(0,0,0,0.16); }
.footer { padding-bottom: 16vw !important; }
}

@media all and (max-width: 1400px) {
.gNav ul li { padding: 0 20px; }
.gNav ul li a { letter-spacing: 0; }
.gNav.fNav ul li:first-child { padding-left: 20px !important; }
}
@media all and (max-width: 1280px) {
h1.logo { max-width: 280px !important; }
.gNav ul li a { font-size: 12px !important; }
.gNav ul li { padding: 0 18px; }
.gNav ul li.contact_btn a { width: 140px; }
.gNav.fNav ul.sNav li a { font-size: 10px !important; }}
@media all and (max-width: 768px) {
h1.logo { max-width: 300px; padding-top: 0; padding-left: 0; }
.header_block { padding: 5px 10px 10px; height: 60px; margin-bottom: 0; }
.container { padding: 0 30px !important; }
.header_block .container { width: 100%; margin: 0; padding: 0 5px 0 10px !important; }
.gNav ul li a { display: inline-block; width: auto; font-size: 16px !important; }
.gNav ul li.contact_btn { display: none; }
.gNav ul li a.ex_link { background-position: right top 17px; background-size: 14px auto; }
.gNav.fNav li { margin: 0; }
.gNav.fNav li a { font-size: 12px !important; color: #000; padding: 3px 0; font-weight: 400 !important; }
.gNav.fNav ul li a.ex_link { background-position: right top 9px; background-size: 12px auto; }
.gNav.fNav ul.sNav li a { font-size: 12px !important; color: #000; }
.gNav.fNav ul.sNav { margin: 30px auto 20px; }
}
@media all and (max-width: 480px) {
.container { padding: 0 20px !important; }
h1.logo { width: 260px; }}
@media all and (max-width: 400px) {h1.logo { width: 240px; }}

#nav_toggle{
	display: none;
	cursor: pointer;
}


/*メニュー部分*/
@media all and (max-width:768px){
	nav{
		display: none;
		position: absolute;
		top:60px;
		width: 100%;
		background-color: rgba(32,64,120,0.95);
		left: 0;
		padding: 120px 0;
		z-index: 4;
	}
	header nav ul{
		display: block;
		margin: 0;
		padding: 0 10px;
		list-style: none;
	}
	header nav ul li{
		margin: 0 auto;
		text-align: center;
		font-size: 14px !important;
	}
	header nav ul li:last-child{
		border: none;
	}
	header nav ul li a{
		display: block;
		transition: all  0.3s ease;
		border-bottom: 2px solid rgba(234,234,6,0.0);
		padding: 10px 0 0 !important;
	}
	header nav ul li a:hover{
		border-bottom: 2px solid rgba(234,234,6,1.0);
	}
 
}

@media all and (max-width:768px){
.header_block {
background-image: url("../images/common/hb_bg.png");
background-position: right center;
background-repeat: no-repeat;
background-size: 60px 60px;
}
	/*開閉ボタン*/
	#nav_toggle{
		display: block;
		width: 30px;
		height: 30px;
		position: absolute;
		top: 13px;
		right: 5px;
		z-index: 100;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 2px;
		background: #fff;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:10px;
	}
	#nav_toggle span:nth-child(3){
		top:20px;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 12px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 12px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
		}
}


/* block_01 */

.cat_head { background-size: cover; width: 100%; height: 15.27777vw; display: flex; background-position: center center; justify-content: center; align-content: center; align-items: center; margin-bottom: 60px; }
.cat_head h2 { font-size: 180%; font-weight: 700; color: #fff; letter-spacing: 4px; }
.cat01 { background-image: url("../images/c_head/01.jpg"); }
.cat02 { background-image: url("../images/c_head/02.jpg"); }
.cat03 { background-image: url("../images/c_head/03.jpg"); }
.cat04 { background-image: url("../images/c_head/04.jpg"); }
.block_01 h2 { text-align: center; padding: 80px 0; color: #fff; font-size: 180%; }
.lead_txt { text-align: center; line-height: 2.2; margin-bottom: 28px; }
.inner_box { padding: 0 0 40px; }
.pcB, .pcB2, .pcB3 { display: inherit; }
.spB, .spB2, .spB3, .spB4, .pcB4 { display: none; }
@media all and (min-width: 1240px) { .pcB4 { display: inherit; } }
@media all and (max-width: 768px) {
.lead_txt { text-align: left; line-height: 2.0; margin-bottom: 23px; }
.cat_head { height: 250px; }
.pcB { display: none; }
.spB { display: inherit; }
}
@media all and (max-width: 560px) {
.pcB2 { display: none; }
.spB2 { display: inherit; }
.cat_head { height: 30vw; margin-bottom: 40px; }
.cat_head h2 { font-size: 150%; letter-spacing: 1px; }
.cat01 { background-image: url("../images/c_head/01_sp.jpg"); }
.cat02 { background-image: url("../images/c_head/02_sp.jpg"); }
.cat03 { background-image: url("../images/c_head/03_sp.jpg"); }
.cat04 { background-image: url("../images/c_head/04_sp.jpg"); }
.inner_box { padding: 0 0 20px; }
}
@media all and (max-width: 480px) {
.pcB3 { display: none; }
.spB3 { display: inherit; }
}
@media all and (max-width: 420px) {
.pcB4 { display: none; }
.spB4 { display: inherit; }
}


/*================
TOP
================*/
.top_lead { padding: 70px 0 40px; }
.top_lead p { font-size: 115% !important; font-weight: 500; letter-spacing: 2px; line-height: 2.2; margin-bottom: 1.6em; }
@media all and (max-width: 480px) {
.top_lead p { letter-spacing: 1px; font-size: 110% !important; line-height: 2.0; }
.top_lead { padding: 50px 0 30px; }
}

/* Table */
table.table_01 { width: 100%; border-top: 2px solid #bcc7d1; border-bottom: 2px solid #bcc7d1; }
table.table_01 th { white-space: nowrap; background: #f2f4f6; font-weight: 500 !important; }
table.table_01 td { background: #fff; }
table.table_01 th, table.table_01 td {
    padding: .85em 1.0em;
    font-weight: normal;
    border-bottom: solid 1px #bcc7d1;
}
@media all and (max-width:768px){
table.table_01 { margin-top: 12px; }
table.table_01 th, table.table_01 td { padding: .6em .85em; font-size: 90%; }}



/* footer */
.footer { padding: 40px 0 0; }
.f_logo { width: 100px; display: block; margin: 0 auto 24px; }
.footer p.cr_txt { font-size: 12px !important; margin-top: 5px; text-align: center; }
@media all and (max-width:1280px){.footer p.cr_txt { font-size: 12px !important; }}
@media all and (max-width:768px){.footer p.cr_txt { font-size: 10px !important; }
.footer { padding-top: 30px; }
.f_logo { margin: 0 auto 16px; }}


/* ページトップ */
#page-top {
    position: fixed;
    bottom: 0;
    right: 0;
	width: 40px;
	height: 40px;
	display: block;
	z-index: 5;
}
#page-top img {
	width: 100%;
	height: auto;
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;}
#page-top:hover ibmg {
	filter:alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;}
@media all and (max-width:768px){
#page-top {
    bottom: 18vw;
    right: 0;
	width: 40px;
	height: 40px;}
}

img { max-width:100%; height: auto; }
.rnd_01 { border-radius: 50%; width: 60%; height: auto; box-shadow: 0 0 8px rgba(0,0,0,0.2); }

ul.nrm_list li { padding-left: 16px; margin-bottom: 8px; position: relative; }
ul.nrm_list li::after { 
content: "・";
font-weight: 700;
position: absolute;
left: -4px;
top:0;
}
ul.nrm_list li:last-child { margin-bottom: 0; }
@media all and (max-width:560px){
ul.nrm_list li { padding-left: 20px; }
ul.nrm_list li::after { left: 0; } }

@media print {
 a[href]:after {
 content: "" !important;
 }
 
 abbr[title]:after {
 content: "" !important;
 }
}


.box_01L { float: left; width: 25%; }
.box_01R { float: right; width: 72%; }
.dt_box { width: 760px; margin: 0 auto; display: flex; margin-bottom: 12px; align-content: flex-start; align-items: flex-start; }
.dt_ttl { width: 80px; background-color: #9b97b2; color: #fff; font-weight: 500; padding: 0 8px; margin-right: 20px; text-align: center; font-size: 90%; }
.dt_txt { width: calc(100% - 100px); }
ul.dt_txt { padding: 0 0 0 20px; }
ul.dt_txt li { line-height: 1.5; margin-bottom: 8px; }
@media all and (max-width: 768px){
.dt_box { flex-wrap: wrap; }
.dt_txt { width: 100%; font-size: 14px; }
.box_01L { float: none; width: 100%; }
.box_01R { float: none; width: 100%; }
}
.box_02L { float: left; width: 73%; }
.box_02R { float: right; width: 24%; }
@media all and (max-width: 991px){
.box_02L { float: left; width: 65%; }
.box_02R { float: right; width: 31%; }
}
@media all and (max-width: 768px){
.dt_box { width: 100%; }
.box_02L { float: none; width: 100%; }
.box_02R { float: none; width: 100%; }
}
.box_03L { float: left; width: 64%; }
.box_03R { float: right; width: 33%; }
@media all and (max-width: 768px){
.box_03L { float: none; width: 100%; }
.box_03R { float: none; width: 100%; }
}
.box_04L { float: left; width: 70%; }
.box_04R { float: right; width: 27%; }
@media all and (max-width: 768px){
.box_04L { float: left; width: 64%; }
.box_04R { float: right; width: 33%; }}
@media all and (max-width: 560px){
.box_04L { float: none; width: 100%; }
.box_04R { float: none; width: 100%; }
}
.clearfix {
  clear: both;
  float: none;
}
.box_04R img { width: 100%; height: auto; }
.txt_f14 { font-size: 14px !important; }
.txt_f16 { font-size: 16px !important; }
.txt_f18 { font-size: 18px !important; }
.txt_f20 { font-size: 20px !important; }
.color_BL { color: #2648a1; }
.txt_L1 { color: #2648a1; font-size: 140%; }
.box_HH { width: 48%; }
.box_HH2 { width: 50%; }
.box_HH2_2 { width: 50%; }
.box_HH3 { width: 50%; }
.box_3SP { width: 31%; margin-bottom: 24px; }
.box_3SP_wrap::after { content: ""; width: 31%; height: auto; display: block; }
.bgs { background: #fff; box-shadow: 0 0 7px rgba(0, 0, 0, 0.1); padding: 5px; }
.bgs.bgs_c1 { border: 2px solid #5fc97a; box-shadow: none; }
.bgs.bgs_c2 { border: 2px solid #c49dca; box-shadow: none; }
.box_4SP { width: 23%; }
@media all and (max-width: 1180px){
.box_4SP { width: 47%; margin-bottom: 50px; }
.box_4SP:nth-child(3), .box_4SP:nth-child(4) { margin-bottom: 0; }}
@media all and (max-width: 991px){
.box_4SP { margin-bottom: 40px; } }

@media all and (max-width: 768px){
.box_3SP_i { display: flex; justify-content: space-between; align-content: flex-start; align-items: flex-start; }
.box_HH { width: 100%; }
.box_HH2 { width: 100%; }
.box_HH2_2 { width: 48.5%; }
.box_3SP { width: 100%; margin-bottom: 30px; }
.box_HH:last-child, .box_3SP:last-child { margin-bottom: 0; }
.bgs { padding: 12px 0 10px; }}
@media all and (max-width: 560px){
.box_4SP { width: 100%; margin-bottom: 30px; }
.box_4SP:nth-child(3) { margin-bottom: 30px; } }

.sub_box { font-size: 90%; padding: 8px 0; }
.sub_box2 { font-size: 90%; padding: 20px 20px 16px; display: flex; justify-content: space-between; align-content: flex-start; align-items: flex-start; }
.sub_box2 .icon_img { width: 22%; }
.sub_box2 .tt_txt { width: 73%; }
.thumb_img { margin-bottom: 0; text-align: center; }
.thumb_img img { width: 25%; }
.flex_wrap { display: flex; flex-wrap: wrap !important; justify-content: space-between; }
.flex_wrap2 { display: flex; flex-wrap: wrap; justify-content: space-between; align-content: center; align-items: center; }
.box_HL { width: 48.5%; margin-right: 3%; display: block; float: left; margin-bottom: 20px; background: #fff; box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); position: relative; }
.box_HR { width: 48.5%; display: block; float: left; margin-bottom: 20px; background: #fff; box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); position: relative; }
@media all and (max-width: 768px){
.box_HL { width: 100%; margin-right: 0%; display: block; float: none; }
.box_HR { width: 100%; margin-right: 0%; display: block; float: none; }
.box_3SP_i .thumb_img img { width: 75px; }
.box_3SP_i .sub_box { width: calc(100% - 84px); }
}

.clear_00_n { clear: both; height: 10px; margin-bottom: 10px; }
.clear_00 { clear: both; height: 60px; margin-bottom: 60px; }
.clear_01 { clear: both; height: 20px; margin-bottom: 20px; }
.clear_02 { clear: both; border-bottom:1px dotted #CCC; height: 30px; margin-bottom: 30px; }
.clear_03 { clear: both; border-bottom:1px dotted #CCC; height: 0; margin-bottom: 18px; }
.clear_04 { clear: both; border-bottom:1px solid #CCC; height: 36px; margin-bottom: 36px; }


ul.sub_nav {
margin:0 0 30px; padding:0; list-style: none; font-size:18px;
}
ul.sub_nav:after {
    content:" ";
    display:block;
    clear:both;
}
ul.sub_nav li {
margin: 0 8px 12px 0;
display: block;
float: left;
}
ul.sub_nav li a {
padding: 6px 10px 4px;
border: 1px solid #2648a1;
color: #fff;
background: #2648a1;
text0decoration: none;
display: block;
line-height:1.2;
font-weight:bold;
}
ul.sub_nav li a.off {
background:#fff;
color: #2648a1;
text-decoration: none;
}
ul.sub_nav li a:hover {
color: #fff;
background: rgba(38,72,161,0.6);
text-decoration: none;
}
@media all and (max-width:560px){
ul.sub_nav {font-size:16px;}
}





/* box系 */
.fbox { display: flex; justify-content: space-between; box-shadow: 0 0 24px rgba(153,164,176,0.25); background-color: #fff; margin-bottom: 48px; flex-wrap: wrap; }
.fbox2 { box-shadow: 0 0 24px rgba(153,164,176,0.25); background-color: #fff; margin-bottom: 48px; padding-bottom: 30px; }
.img_shd { box-shadow: 0 0 12px rgba(153,164,176,0.25); }
.fbox_r { border-radius: 3px; }
.fbox_c { align-content: center; align-items: center; }
.fb_img { width: 40.83%; }
.fbox_r .fb_img img { border-radius: 3px 0 0 3px; }
.fb_img_r { border-radius: 0 3px 3px 0 !important; }
.fb_txt { width: 59.17%; padding: 30px 40px; }
.fb_txt.fb_txt_L { width: 100%; }
.fbox_H .fb_img, .fbox_H .fb_txt { width: 50%; }
.fb_txt.fb_txt2 { position: relative; }
.fb_txt.fb_txt2 h4 { margin-top: 24px; }
.fb_txt.fb_txt2::before { content: ""; position: absolute; top: 96px; left: 66px; width: 2px; height: 100%; background-color: #005bac; }
.fb_txt.fb_txt2.num_brd_non::before { display: none; }
.fb_txt.fb_txt2::after { content: ""; position: absolute; top: 36px; left: 33px; width: 66px; height: 66px; background-repeat: no-repeat; background-size: 66px 66px; }
.fb_txt.fb_txt2.num01::after { background-image: url("../images/tech/n01.png"); }
.fb_txt.fb_txt2.num02::after { background-image: url("../images/tech/n02.png"); }
.fb_txt.fb_txt2.num03::after { background-image: url("../images/tech/n03.png"); }
.fb_txt.fb_txt2.num04::after { background-image: url("../images/tech/n04.png"); }
.fb_txt p:last-child { margin-bottom: 0 !important; }
.m_btn img { width: 160px; margin-top: 20px; }
.fb_inner { display: flex; border: 2px solid #dde6ee; margin: 16px 40px 0; box-sizing: border-box; justify-content: space-between; flex-wrap: wrap; }
.fb_inner .fb_txt { padding: 20px; }
.fb_img2 { padding: 20px 20px 20px 0; }
.bw_70 { width: 60%; margin: 0 auto; }
.bw_80 { width: 80%; margin: 0 auto; }
.bw_90 { width: 90%; margin: 0 auto; }
.lead_sub { width: 750px; margin: 0 auto; padding-bottom: 30px; }
.map_img { width: 800px; }


@media all and (min-width:769px){
.fb_txt.fb_txt2 .ttl02 { font-size: 140%; }
.flex_r { flex-flow: row-reverse; }
.flex_r.fbox_r .fb_img img { border-radius: 0 3px 3px 0; }
.fb_txt.fb_txt2 { padding-left: 120px; }
.about_bg {
background-position: center center;
background-repeat: no-repeat;
background-size: cover; }
.ap01 { background-image: url("../images/about/01_pc.jpg"); }
.ap02 { background-image: url("../images/about/02_pc.jpg"); }
.ap03 { background-image: url("../images/about/03_pc.jpg"); }}

@media all and (max-width:1180px){ 
.bw_80 { width: 100%; } .bw_70 { width: 75%; }
.fb_txt { padding: 24px 30px; }
.fb_inner { margin: 14px 30px 0; }
.fbox2 { padding-bottom: 30px; } }
@media all and (max-width:991px){.bw_70 { width: 85%; }}

@media all and (max-width:768px){
.fbox, .fbox2 { margin-bottom: 27px; }
.bw_70 { width: 100%; }
.bw_90 { width: 100%; margin: 0 auto; }
.fb_img, .fb_txt { width: 100%; }
.fbox_r .fb_img img { border-radius: 3px 3px 0 0; }
.fb_img_r { border-radius: 3px 3px 0 0 !important; }
.fb_txt { padding: 24px; }
.fb_inner { margin: 12px 24px 0; }
.fb_img2 { padding: 0 18px 18px; }
.fb_inner .fb_txt { padding: 12px 18px; }
.fbox2 { padding-bottom: 24px; }
.m_btn img { width: 140px; margin-top: 10px; }
.fb_txt.fb_txt2::before { top: auto; bottom: -27px; left: 50%; margin-left: -1px; width: 2px; height: 27px; }
.fb_txt.fb_txt2::after { top: 16px; left: 16px; width: 48px; height: 48px; background-repeat: no-repeat; background-size: 48px 48px; }
.fb_txt.fb_txt2 h4 { margin-top: 4px; padding-left: 48px; margin-bottom: 24px; }
.lead_sub { width: 100%; margin: 0 auto; padding-bottom: 10px; }
.fbox_H .fb_img, .fbox_H .fb_txt { width: 100%; }
}
@media all and (max-width:560px){
.fb_txt { padding: 18px; }
.fb_inner { margin: 12px 18px 0; }
.fbox2 { padding-bottom: 18px; }
.fb_txt.fb_txt2 h4 { margin-top: 10px; padding-left: 56px; margin-bottom: 20px; }}


/* margin */
.mgB0 { margin-bottom: 0 !important; }
.mgB5 { margin-bottom: 5px !important; }
.mgB8 { margin-bottom: 8px !important; }
.mgB10 { margin-bottom: 10px !important; }
.mgB16 { margin-bottom: 16px !important; }
.mgB20 { margin-bottom: 20px !important; }
.mgB24 { margin-bottom: 24px !important; }
.mgB30 { margin-bottom: 30px !important; }
.mgB40 { margin-bottom: 40px !important; }
.mgB60r { margin-bottom: 60px !important; }
.mgT16 { margin-top: 16px !important; }
.mgT20 { margin-top: 20px !important; }
.mgT30 { margin-top: 30px !important; }
.mgT30r { margin-top: 30px !important; }
.mgT40 { margin-top: 40px !important; }
.mgT50 { margin-top: 50px !important; }
.mgT60 { margin-top: 60px !important; }
.mgT60r { margin-top: 60px !important; }
.mgTM8 { margin-top: -8px !important; }
.mgTM12 { margin-top: -12px !important; }
.mgTM20 { margin-top: -20px !important; }
.w90 { width: 90%;  margin: 0 auto; }
.w80 { width: 80%;  margin: 0 auto; }
@media all and (max-width:768px){
.w80, .w90 { width: 100%; }
.mgB60r { margin-bottom: 30px !important; }
.mgT60r { margin-top: 40px !important; }
.mgT30r { margin-top: 20px !important; }}

/* txt */
.ttl01 { font-size: 175%; font-weight: 700; margin-bottom: 30px; padding-bottom: 30px; position: relative; text-align: center; letter-spacing: 4px; line-height: 1.45; }
.ttl01 span { font-weight: 500; font-size: 90%; }
.ttl01::after { content: ""; display: block; background-color: #eaea06; position: absolute; width: 60px; height: 6px; bottom: 0; left: 50%; margin-left: -30px; }
.ttl02 { font-size: 130%; font-weight: 700; margin-top: 6px; margin-bottom: 20px; color: #005bac; line-height: 1.35; letter-spacing: 1.5px; }
.ttl02.pin_ttl { padding: 20px 0 20px 40px; background-size: 28px auto; background-position: left center; background-repeat: no-repeat; margin-top: -10px; }
.ttl02.pin_ttl.pin01 { color: #2593d9; background-image: url("../images/about/pin01.png"); }
.ttl02.pin_ttl.pin02 { color: #005bac; background-image: url("../images/about/pin02.png"); }
.ttl02.pin_ttl.pin03 { color: #023e74; background-image: url("../images/about/pin03.png"); }
.ttl03 { font-size: 165%; font-weight: 700; margin-bottom: 30px; color: #005bac; text-align: center; line-height: 1.5; letter-spacing: 2px; }
.ttl04 { font-size: 115%; font-weight: 600; margin-bottom: 20px; line-height: 1.35; letter-spacing: 1.5px; }
.txt_c, .txt_cl { text-align: center !important; }
.txt_c a.btn_link { margin: 0 auto; }
.txt_rc, .txt_rl2, .txt_rlc, .txt_rr { text-align: right !important; }
.txt_200 { font-size: 200% !important; }
.txt_180 { font-size: 180% !important; }
.txt_160 { font-size: 160% !important; }
.txt_140 { font-size: 140% !important; }
.txt_120 { font-size: 120% !important; }
.txt_110 { font-size: 110% !important; }
.txt_90 { font-size: 90% !important; }
.txt_80 { font-size: 80% !important; }
.txt_70 { font-size: 70% !important; }
.txt_60 { font-size: 60% !important; }
.txt_id01 { text-indent: -2.75em; padding-left: 2.75em; letter-spacing: 0.1em; }
@media all and (max-width: 991px){
.txt_rl2, .txt_rlc { text-align: left !important; } }

@media all and (min-width: 769px){.txt_lh01 { line-height: 2.4; }}

@media all and (max-width: 768px){
.txt_rc, .txt_rlc { text-align: center !important; }
.txt_cl { text-align: left !important; }
.txt_160 { font-size: 140% !important; line-height: 1.45; }
.ttl01 { font-size: 155%; margin-bottom: 24px; padding-bottom: 20px; letter-spacing: 1px; }
.ttl01::after { width: 48px; height: 4px; margin-left: -24px; }
.ttl02 { margin-bottom: 12px; font-size: 125%; letter-spacing: 1px; }
.ttl02.pin_ttl { margin-bottom: -10px; }
.ttl03 { font-size: 145%; margin-bottom: 25px; letter-spacing: 1.5px; }
.ttl04 { margin-bottom: 8px; font-size: 110%; letter-spacing: 1px; }
}
@media all and (max-width: 480px){
.ttl03 { font-size: 135%; }
.txt_lsm { letter-spacing: -8px; }
.txt_lsm2 { letter-spacing: -1.5px; }
}

.pp_btn_h { position: absolute; right: 30px; top: -1px; line-height: 1.0; display: flex; padding: 0; border-radius: 0 0 8px 8px; background-color: #fff; box-shadow: 0 0 5px rgba(0,0,0,0.2); }
.pp_btn_h a { display: block; text-decoration: none; padding: 10px 4px; font-size: 13px; letter-spacing: 1px; color: #f7931e; position: relative; }
.pp_btn_h a:nth-child(1):after,.pp_btn_h a:nth-child(2):after { content: "|"; padding-left: 8px; }
.pp_btn_h a:hover { text-decoration: underline; }
.pp_btn_h a:first-child { padding-left: 16px; }
.pp_btn_h a:nth-child(3) { padding-right: 16px; }
.pp_btn_h a:last-child { border-radius: 0 0 7px 0; background-color: #f7931e; color: #fff; padding: 10px 16px; }
.pp_btn, .pp_btn2 { display: none; }
@media all and (max-width: 768px){
.pp_btn2 { display: inherit; white-space: nowrap; }
.pp_btn { display: inherit; margin-top: 12px !important; }
.pp_btn a { background-color: #fff; color: #f7931e !important; border: 1px solid #fff; }
.pp_btn a:hover { color: #fff !important; }
.pp_btn_h { display: none; }
}


/* スライダー */
.mv { position: relative; overflow-x: hidden; }
.mv::-webkit-scrollbar {
 display:none;
}
.mv h2 {
position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.mv h2 img { width: 560px; }
.slider li img { width: 100%; }
.slick-dots li button:before {
    font-size: 10px;
    content: '●';
    opacity: 1.0;
    color: #cdd5dd;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	margin-top: 8px; }
.slick-dots li.slick-active button:before { color: #2593d9 !important; }
.slick-dots li { margin: 0; }
@media all and (max-width: 768px){
.mv h2 { width: 100%; text-align: center; }
.mv h2 img { width: 64% !important; max-width: 360px; margin-top: -10vw; }
.slick-dots li button:before { font-size: 8px; }
}




/* Confirm */
.overlay {
display: none;
width: 100%;
height: calc(100% + 30px);
background: rgba(0,0,0,0.3);
position: fixed;
margin-top: -15px;
z-index: 9999999999999999999999;
}
button { margin: 0; padding: 0; }
.btn_area {
max-width: 1000px;
width: 80%;
height: auto;
padding: 30px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
background: #fff;
text-align: center;
z-index: 999999999999999999999;
}
.btn_area .ttl {
font-weight: bold
}
.btn_area p {
padding: 15px;
font-size: 14px;
}
.btn_area button, .c_non {
display: block;
color: #fff;
text-align: center;
border: none;
background: none !important;
}
.btn_area p.c_txt { display: inline-block; font-weight: 700; border-bottom: 1px solid #000; padding: 0 0 4px; }
.c_non { margin-left: 20px; }
.c_btn { width: 180px; height: auto; }
.btn_area button:hover, .c_non:hover {
opacity: 0.7;
}
.c_select { display: flex; flex-wrap: nowrap; justify-content: center; padding: 20px 0; }
.btn_area p.conf_ttl { font-weight: 700; font-size: 20px !important; color: #005bac; }
@media all and (max-width:880px){
.btn_area { width: 90%; padding: 12px; }
}
@media all and (max-width:768px){
.btn_area p { text-align: left; font-size: 12px !important; padding: 5px; }
.btn_area p.c_txt { text-align: center; }
.c_select { padding: 4px 0 14px; }
.c_btn { max-width: 120px; }
.btn_area button, .c_non { width: auto; }
.c_non { margin-left: 10px; }
.btn_area p.conf_ttl { font-size: 17px !important; text-align: center; }
.btn_area p.c_txt { border-bottom: none; padding-bottom: 0; line-height: 2.4; }
.c_txt span { border-bottom: 1px solid #000; padding-bottom: 3px; } }
/*@media all and (max-width:480px){
.btn_area { padding: 20px; }
.btn_area p { padding: 0; }
.c_select { flex-flow: column; align-content: center; align-items: center; }
.c_non { margin: 20px 0 0; }
}*/


/* Add 20251204 */
#check { color: #005bac; font-weight: 500;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: 0.2s ease-in;
    transition: 0.2s ease-in;
	filter:alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;
	cursor: pointer;
}
#check:hover {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}
