@charset "UTF-8";
/*==================================================================== reset
*/
*, *:before, *:after { -webkit-box-sizing: border-box; box-sizing: border-box; }

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

/*==================================================================== common
*/
body { cursor: auto; color: #333; font: normal normal 16px / 1.5 "Noto Sans Japanese", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Sans", "ヒラギノ角ゴ", Meiryo UI, "メイリオ UI", Meiryo, "メイリオ", Arial, Helvetica, "MS PGothic", "ＭＳ Ｐゴシック", Osaka, sans-serif; letter-spacing: 0; word-spacing: 0.1em; -moz-text-size-adjust: 100%; text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }

@media only screen and (max-width: 1024px) { body { font: normal normal 14px / 1.5 "Noto Sans Japanese", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Sans", "ヒラギノ角ゴ", Meiryo UI, "メイリオ UI", Meiryo, "メイリオ", Arial, Helvetica, "MS PGothic", "ＭＳ Ｐゴシック", Osaka, sans-serif; } }

h1, h2, h3, h4, h5, h6 { font-weight: normal; padding: 0; }

hr { display: none; }

a img { border: none; }

a { color: #1164b0; text-decoration: underline; vertical-align: baseline; cursor: pointer; -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s; -weblit-transition: all .3s; }

a:visited { color: #069; }

a:hover { color: #f79525; text-decoration: none; }

a:active { color: #f9c; }

a:focus { color: #f79525; }

p { padding: 5px 0; }

dl, ul, ol { padding: 10px 0; margin: 0; }

ul { list-style: none; }

ol { list-style: decimal; padding-left: 2em; }

dt { font-weight: bold; }

ins { text-decoration: none; }

mark { background-color: #1164b0; color: #fff; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted #333; cursor: help; }

strong { color: #1164b0; font-weight: normal; }

embed, object, img { vertical-align: bottom; }

embed, object { outline: none; }

img { border: none; color: #1164b0; background: transparent; }

hr { display: none; }

table { border-collapse: collapse; border-spacing: 0; margin: 10px auto; }

th, td { vertical-align: middle; text-align: left; border: 1px solid #ccc; padding: 0; }

thead th, thead td { text-align: center; }

th { vertical-align: top; font-weight: bold; }

td { vertical-align: top; padding: 2px 10px; }

td ul, td dl { height: auto; }

form { padding: 0; margin: 0; }

fieldset { border: 0; padding: 0; margin: 0; }

legend { padding: 0 0 10px; margin: 0; }

label { display: inline-block; cursor: pointer; }

input, textarea, button, select { -webkit-box-sizing: border-box; box-sizing: border-box; color: inherit; font-family: inherit; font-size: inherit; vertical-align: middle; }

input[type="text"], input[type="password"], input[type="tel"], textarea { border: 1px solid #ccc; padding: 5px; }

input { padding: 0 5px; }

input[type="button"] { padding: 0 2px; }

button, input[type="submit"], input[type="button"], input[type="reset"] { cursor: pointer; }

button::-moz-focus-inner, input::-moz-focus-inner { border: none; padding: 0; }

button:active, button img { position: relative; }

select option { padding: 0 5px; }

textarea { resize: vertical; }

.slct { display: inline-block; position: relative; margin-right: 5px; }

.slct select { -webkit-box-sizing: border-box; box-sizing: border-box; position: relative; background: transparent; appearance: none; -webkit-appearance: none; -moz-appearance: none; color: inherit; -o-text-overflow: ellipsis; text-overflow: ellipsis; white-space: normal; vertical-align: middle; border: 1px solid #ccc; border-radius: 0; -webkit-border-radius: 0; padding: 5px 30px 5px 10px; outline: none; }

.slct:after { position: absolute; top: 50%; right: 15px; font-family: FontAwesome; content: "\f107"; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); pointer-events: none; }

.ie9 .slct { background: none; padding-right: 0; }

.slct select:focus { border-color: #3b97ec; }

.slct select::-ms-expand { display: none; }

.slct select:focus option { background-color: transparent; }

.slct select[disabled] { border: none; background: none; }

/*==================================================================== utility
*/
.clr, .clear { clear: both; }

.aC, .ac { text-align: center; }

.aL, .al { text-align: left; }

.aR, .ar { text-align: right; }

.fL, .fl { float: left; }

.fR, .fr { float: right; }

.imgL, .img_l { float: left; padding-right: 30px; padding-bottom: 10px; }

.imgR, .img_r { float: right; padding-left: 30px; padding-bottom: 10px; }

.imgL img, .img_l img, .imgR img, .img_r img { margin-bottom: 10px; max-width: 100%; }

.fsI, .fs_i { font-style: italic; }

.fwB, .fw_b { font-weight: bold; }

.ff_goshic { font-family: "Noto Sans Japanese", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Sans", "ヒラギノ角ゴ", Meiryo UI, "メイリオ UI", Meiryo, "メイリオ", Arial, Helvetica, "MS PGothic", "ＭＳ Ｐゴシック", Osaka, sans-serif; }

.ff_min { font-family: "Hiragino Mincho Pro", "ヒラギノ明朝 Pro", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", Georgia, "Times New Roman", "MS PMincho", "ＭＳ Ｐ明朝", Times, serif; }

.ff_yugo { font-family: "YuGothic", "游ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Sans", "ヒラギノ角ゴ", Meiryo UI, "メイリオ UI", Meiryo, "メイリオ", Arial, Helvetica, "MS PGothic", "ＭＳ Ｐゴシック", Osaka, sans-serif; }

.ff_yumin { font-family: "YuMincho", "游明朝", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", Georgia, "Times New Roman", "MS PMincho", "ＭＳ Ｐ明朝", Times, serif; }

.max100 { max-width: 100%; }

.col-1 { width: 100%; }

.col2 { width: 50%; }

.col3 { width: 33.3%; }

.col4 { width: 25%; }

.pt_xs { padding-top: 10px; }

.pt_sm { padding-top: 15px; }

.pt_md { padding-top: 30px; }

.pb_xs { padding-bottom: 10px; }

.pb_sm { padding-bottom: 15px; }

.pb_md { padding-bottom: 30px; }

@media only screen and (max-width: 1024px) { .pt_xs { padding-top: 5px; }
  .pt_sm { padding-top: 10px; }
  .pt_md { padding-top: 15px; }
  .pb_xs { padding-bottom: 5px; }
  .pb_sm { padding-bottom: 10px; }
  .pb_md { padding-bottom: 15px; } }

/* ========================================
br
======================================== */
/*br-XX-block*/
.br-xs-block { display: none; }

@media only screen and (min-width: 480px), print { .br-xs-block { display: inline-block; } }

.br-sm-block { display: none; }

@media only screen and (min-width: 768px), print { .br-sm-block { display: inline-block; } }

.br-md-block { display: none; }

@media only screen and (min-width: 1024px), print { .br-md-block { display: inline-block; } }

.br-lg-block { display: none; }

@media only screen and (min-width: 1300px) { .br-lg-block { display: inline-block; } }

/*br-XX-none*/
@media only screen and (min-width: 480px), print { .br-xs-none { display: none; } }

@media only screen and (min-width: 768px), print { .br-sm-none { display: none; } }

@media only screen and (min-width: 1024px), print { .br-md-none { display: none; } }

@media only screen and (min-width: 1300px) { .br-lg-none { display: none; } }

@media only screen and (max-width: 768px) { .br-sm-min-none { display: none; } }

.br-xs-min-block { display: none; }

@media only screen and (max-width: 480px) { .br-xs-min-block { display: inline-block; } }

.pc_tb_hide { display: none !important; }

@media only screen and (max-width: 768px) { .pc_tb_hide { display: block !important; } }

.pc_sp_hide { display: none !important; }

@media only screen and (max-width: 480px) { .pc_sp_hide { display: block !important; } }

@media only screen and (max-width: 768px) { .tb_hide { display: none !important; } }

@media only screen and (max-width: 480px) { .sp_hide { display: none !important; } }

/* ========================================
clearfix
======================================== */
.clearfix { zoom: 1; }

.clearfix:after { display: block; content: ""; height: 0; clear: both; visibility: hidden; }

/*==================================================================== wrapper
*/
.open_menu, .open_menu body { overflow: hidden; }

#wrapper { position: relative; padding: 80px 50px 0; }

@media only screen and (max-width: 1300px) { #wrapper { padding: 80px 30px 0; } }

@media only screen and (max-width: 1024px) { #wrapper { padding-top: 67px; } }

@media only screen and (max-width: 768px) { #wrapper { padding: 40px 15px 0; } }

@media only screen and (max-width: 480px) { #wrapper { padding-top: 46px; } }

.i_pagelink { padding-top: 3em; margin-top: -3em; }

.aos-item { position: relative; z-index: -1; }

.aos-item.aos-animate { z-index: 1; }

/*==================================================================== header
*/
.header { position: fixed; top: 0; left: 0; width: 100%; background-color: #fff; -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); padding: 0 50px 15px; z-index: 1000; /*	
	&:after {
		position: absolute;
		left: 0;
		bottom: -50px;
		width: 0;
		height: 0;
		content: "";
		border-style: solid;
		border-width: 50px 2000px 0 0;
		border-color: #fff transparent transparent transparent;
		@media only screen and (max-width:768px) {
			bottom: -20px;
			border-width: 20px 768px 0 0;
		}
	}
*/ }

@media only screen and (max-width: 1300px) { .header { padding: 0 30px 10px; } }

@media only screen and (max-width: 768px) { .header { padding: 0 15px 5px; } }

@media only screen and (max-width: 1300px) { .nav_area { position: relative; } }

@media only screen and (max-width: 1024px) { .nav_area { position: absolute; top: 0; right: 0; display: none; width: 90%; height: 100vh; background-color: #1164b0; padding: 65px 30px 30px; z-index: 2000; } }

@media only screen and (max-width: 768px) { .nav_area { padding: 40px 15px 15px; }
  .nav_area .scroll_area { height: calc(100% - 40px); height: -webkit-calc(100% - 40px); overflow: auto; /*-webkit-overflow-scrolling: touch;*/ } }

@media only screen and (max-width: 1024px) { .nav_area > .inner { height: 100%; overflow: auto; } }

.h_logo { position: absolute; left: 0; right: 0; text-align: center; padding: 22px 0 5px; z-index: 1; margin: 0 auto; }

@media only screen and (max-width: 1024px) { .h_logo { position: static; padding-top: 12px; } }

@media only screen and (max-width: 768px) { .h_logo { padding-top: 10px; padding-left: 10px; text-align: left; }
  .h_logo img { height: 28px; } }

@media only screen and (max-width: 768px) { .en .h_logo { padding-left: 0; } }

@media only screen and (max-width: 1440px) { .en .h_logo img { margin-left: -7em; } }

@media only screen and (max-width: 768px) { .en .h_logo img { margin-left: 0; } }

.h_menu { display: none; position: absolute; top: 18px; right: 30px; z-index: 2100; }

@media only screen and (max-width: 1024px) { .h_menu { display: block; } }

@media only screen and (max-width: 768px) { .h_menu { top: 15px; right: 15px; } }

.menu-trigger { position: relative; width: 40px; height: 30px; }

@media only screen and (max-width: 768px) { .menu-trigger { width: 24px; height: 18px; } }

.menu-trigger, .menu-trigger span { display: inline-block; -webkit-transition: all .4s; -o-transition: all .4s; transition: all .4s; -webkit-box-sizing: border-box; box-sizing: border-box; }

.menu-trigger span { position: absolute; left: 0; width: 100%; height: 2px; background-color: #333; border-radius: 2px; }

.menu-trigger span:nth-of-type(1) { top: 0; }

.menu-trigger span:nth-of-type(2) { top: 14px; }

@media only screen and (max-width: 768px) { .menu-trigger span:nth-of-type(2) { top: 8px; } }

.menu-trigger span:nth-of-type(3) { bottom: 0; }

.menu-trigger.active span { background-color: #fff; }

.menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(14px) rotate(-315deg); -ms-transform: translateY(14px) rotate(-315deg); transform: translateY(14px) rotate(-315deg); }

@media only screen and (max-width: 768px) { .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(8px) rotate(-315deg); -ms-transform: translateY(8px) rotate(-315deg); transform: translateY(8px) rotate(-315deg); } }

.menu-trigger.active span:nth-of-type(2) { opacity: 0; }

.menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-14px) rotate(315deg); -ms-transform: translateY(-14px) rotate(315deg); transform: translateY(-14px) rotate(315deg); }

@media only screen and (max-width: 768px) { .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-8px) rotate(315deg); -ms-transform: translateY(-8px) rotate(315deg); transform: translateY(-8px) rotate(315deg); } }

.h_nav { position: absolute; left: 50px; top: 28px; white-space: nowrap; z-index: 2; }

@media only screen and (max-width: 1300px) { .h_nav { position: relative; left: inherit; float: left; font-size: 14px; } }

@media only screen and (max-width: 1024px) { .h_nav { position: static; float: none; } }

.h_nav li { display: inline-block; padding: 0 20px 0 0; }

.h_nav li:last-child { padding-right: 0; }

@media only screen and (max-width: 1300px) { .h_nav li { padding-right: 10px; } }

@media only screen and (max-width: 1024px) { .h_nav li { display: block; padding-right: 0; } }

.h_nav li a, .h_nav li .h_menubox { position: relative; display: inline-block; color: #333; text-decoration: none; border-bottom: 2px solid #1164b0; padding-bottom: 0; cursor: pointer; outline: none; }

@media only screen and (max-width: 1024px) { .h_nav li a, .h_nav li .h_menubox { display: block; color: #fff; border-bottom: 1px dotted #fff; padding: 15px; } }

.h_nav li a:before, .h_nav li .h_menubox:before { position: absolute; bottom: -2px; left: 0; right: 0; content: ""; margin: 0 auto; border-bottom: 2px solid #f79525; -ms-transform: scale(0, 1); transform: scale(0, 1); -webkit-transform: scale(0, 1); -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s; }

@media only screen and (max-width: 1024px) { .h_nav li a:before, .h_nav li .h_menubox:before { display: none; } }

.h_nav li a:hover, .h_nav li .h_menubox:hover { color: #f79525; }

@media only screen and (max-width: 1024px) { .h_nav li a:hover, .h_nav li .h_menubox:hover { color: #fcee21; } }

.h_nav li a:hover:before, .h_nav li .h_menubox:hover:before { -ms-transform: scale(1); transform: scale(1); -webkit-transform: scale(1); }

.h_nav li .h_menubox:after { position: absolute; bottom: -12px; left: 0; right: 0; content: ""; width: 0; height: 0; border-style: solid; border-width: 5px 5px 0 5px; border-color: #1164b0 transparent transparent transparent; margin: 0 auto; }

@media only screen and (max-width: 1024px) { .h_nav li .h_menubox:after { display: none; } }

.h_nav li .h_menubox:hover { color: #1164b0; }

@media only screen and (max-width: 1024px) { .h_nav li .h_menubox:hover { color: #fcee21; } }

.h_nav li .h_menubox:hover:before { bottom: -40px; border-bottom: 40px solid #1164b0; }

.h_nav li .h_menubox:hover:after { border-top-color: #fff; }

.h_nav li .h_tabbox { position: absolute; top: 52px; left: -30px; display: none; background-color: #1164b0; color: #fff; -webkit-box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); padding: 10px; z-index: 1; cursor: default; }

.h_nav li .h_tabbox.tabbox1 { min-width: 900px; }

@media only screen and (max-width: 1300px) { .h_nav li .h_tabbox { top: 47px; } }

@media only screen and (max-width: 1024px) { .h_nav li .h_tabbox { position: static; left: -5em; -webkit-box-shadow: none; box-shadow: none; padding: 0; }
  .h_nav li .h_tabbox.tabbox1 { min-width: inherit; } }

.h_nav li .h_tabbox dl { padding: 10px; overflow: hidden; }

@media only screen and (max-width: 1024px) { .h_nav li .h_tabbox dl { background-color: #4895d9; padding: 15px; margin: 15px -15px 0; } }

.h_nav li .h_tabbox dt { border-bottom: 1px solid #fff; padding: 0 0 5px; margin: 0 0 10px; }

@media only screen and (max-width: 1024px) { .h_nav li .h_tabbox dt { margin-bottom: 0; font-weight: normal; border: none; } }

.h_nav li .h_tabbox dd { width: 25%; float: left; padding-right: 10px; }

.h_nav li .h_tabbox dd:nth-child(4n+1) { padding-right: 0; }

@media only screen and (max-width: 1024px) { .h_nav li .h_tabbox dd { width: auto; float: none; padding-right: 0; } }

.h_nav li .h_tabbox ul { display: block; padding: 10px; overflow: hidden; }

@media only screen and (max-width: 1024px) { .h_nav li .h_tabbox ul { background-color: #4895d9; padding: 15px; margin: 15px -15px 0; } }

.h_nav li .h_tabbox ul li { display: block; padding: 0 02px; }

.h_nav li .h_tabbox a { display: block; background: url(../img/ico_arw2.png) no-repeat 0 50%/6px auto; -webkit-background-size: 6px auto; color: #fff; font-size: 14px; padding: 0 0 0 12px; }

@media only screen and (max-width: 1024px) { .h_nav li .h_tabbox a { display: block; padding-top: 10px; padding-bottom: 10px; } }

@media only screen and (max-width: 1024px) { .h_nav li .h_tabbox:last-child a { border: none; } }

.h_right { position: relative; float: right; z-index: 1; }

@media only screen and (max-width: 1024px) { .h_right { position: static; float: none; } }

.lang_switch { float: right; font-size: 12px; text-align: center; padding: 10px 0 0; margin-bottom: 10px; overflow: hidden; }

@media only screen and (max-width: 1024px) { .lang_switch { position: absolute; top: 20px; right: inherit; left: 30px; padding: 0; margin: 0; } }

@media only screen and (max-width: 768px) { .lang_switch { top: 10px; left: 15px; } }

.lang_switch li { float: left; }

.lang_switch li a { display: inline-block; min-width: 70px; color: #fff; text-decoration: none; background-color: #ccc; padding: 5px 10px; }

.lang_switch li a.active, .lang_switch li a:hover { background-color: #f79525; }

@media only screen and (max-width: 768px) { .lang_switch li a { min-width: 100px; padding: 2px; } }

.lang_switch li:first-child a { border-radius: 18px 0 0 18px; }

.lang_switch li:last-child a { border-radius: 0 18px 18px 0; }

.h_contact { background-color: #fff; padding: 34px 10px 0 0; float: right; overflow: hidden; }

@media only screen and (max-width: 1300px) { .h_contact { padding: 26px 5px 0 0; } }

@media only screen and (max-width: 1024px) { .h_contact { float: none; padding: 15px; } }

.h_contact > dl, .h_contact > p { vertical-align: middle; padding: 0; }

.h_contact dl { float: left; padding: 0; overflow: hidden; }

@media only screen and (max-width: 1300px) { .h_contact dl { float: none; padding-top: 5px; } }

@media only screen and (max-width: 1024px) { .h_contact dl { float: left; width: 50%; padding-left: 10px; } }

@media only screen and (max-width: 480px) { .h_contact dl { width: auto; float: none; padding: 0 0 5px; } }

.h_contact dl:first-child { border-right: 1px dotted #333; padding-right: 10px; margin-right: 10px; }

@media only screen and (max-width: 1300px) { .h_contact dl:first-child { border-right: none; padding: 5px 0 0; margin: 0; } }

@media only screen and (max-width: 1024px) { .h_contact dl:first-child { border-right: 1px dotted #333; padding-left: 0; margin-right: 0; } }

@media only screen and (max-width: 480px) { .h_contact dl:first-child { border-right: none; padding-right: 0; } }

.h_contact dl dt { font-size: 12px; font-weight: normal; vertical-align: middle; padding-bottom: 2px; }

@media only screen and (max-width: 1300px) { .h_contact dl dt { float: left; min-width: 7em; text-align: right; padding-right: 5px; clear: both; } }

@media only screen and (max-width: 1024px) { .h_contact dl dt { float: none; min-width: inherit; text-align: left; padding-right: 0; } }

.h_contact dl dt i { font-size: 14px; margin-right: 5px; }

.h_contact dl dd { color: #1164b0; font-size: 12px; letter-spacing: 0.05em; }

@media only screen and (max-width: 1300px) { .h_contact dl dd { float: left; } }

@media only screen and (max-width: 480px) { .h_contact dl dd { text-align: center; } }

.h_contact dl dd img { height: 21px; }

@media only screen and (max-width: 1300px) { .h_contact dl dd img { height: 18px; } }

@media only screen and (max-width: 1024px) { .h_contact dl dd img { max-width: 100%; height: auto; } }

.h_contact dl dd span { display: block; }

.h_contact > p { position: absolute; top: 38px; right: 0; padding: 5px 0 0; clear: both; }

@media only screen and (max-width: 1024px) { .h_contact > p { position: static; width: auto; } }

.h_contact > p i { margin-right: 5px; }

.h_contact > p a { display: block; width: 140px; background-color: #1164b0; color: #fff; font-size: 14px; text-align: center; text-decoration: none; padding: 5px 10px; }

.h_contact > p a:hover { background-color: #f79525; }

@media only screen and (max-width: 1024px) { .h_contact > p a { width: auto; font-size: 16px; margin-top: 5px; } }

/*==================================================================== search_area
*/
.search_area { position: relative; background-color: #4895d9; color: #fff; z-index: 100; }

.search_area .form_btn { max-width: inherit; border-top: 1px dotted #fff; padding-top: 10px; }

@media only screen and (max-width: 1024px) { .search_area .form_btn { margin: 0 20px; } }

@media only screen and (max-width: 480px) { .search_area .form_btn { margin: 0 15px; } }

.search_area .form_check_area { padding-bottom: 5px; }

.search_list { display: table; width: 100%; padding: 10px 0; }

@media only screen and (max-width: 1300px) { .search_list { padding: 10px; } }

@media only screen and (max-width: 1024px) { .search_list { padding: 10px; } }

@media only screen and (max-width: 768px) { .search_list { display: block; overflow: hidden; } }

.search_list h2, .search_list ul { display: table-cell; vertical-align: top; padding: 0; }

@media only screen and (max-width: 768px) { .search_list h2, .search_list ul { display: block; } }

.search_list h2 { width: 200px; font-size: 14px; font-weight: normal; text-align: center; vertical-align: middle; padding: 0; }

@media only screen and (max-width: 1024px) { .search_list h2 { width: 110px; text-align: left; } }

@media only screen and (max-width: 768px) { .search_list h2 { width: auto; font-size: 12px; text-align: center; padding-bottom: 5px; } }

.search_list h2:before { display: block; width: 34px; height: 34px; content: ""; background: url(../img/ico_search_w.png) no-repeat 0 0/contain; -webkit-background-size: contain; margin: 0 auto; }

@media only screen and (max-width: 1024px) { .search_list h2:before { width: 28px; height: 28px; } }

@media only screen and (max-width: 1024px) { .search_list h2:before { display: inline-block; width: 20px; height: 20px; vertical-align: middle; } }

.search_list li { width: 25%; float: left; padding-left: 5px; }

@media only screen and (max-width: 768px) { .search_list li:first-child { padding-left: 0; } }

.search_list li span { display: block; background: #fff url(../img/search_arw_b.png) no-repeat 100% 28px/auto 10px; -webkit-background-size: auto 10px; color: #1164b0; padding: 15px; cursor: pointer; }

@media only screen and (max-width: 1024px) { .search_list li span { background-position: 100% 20px; padding: 10px; } }

@media only screen and (max-width: 480px) { .search_list li span { background-position: 55% 95%; background-size: auto 6px; -webkit-background-size: auto 6px; text-align: center; } }

.search_list li span:before { display: inline-block; height: 30px; content: ""; background: no-repeat 0 0 / contain; background-size: contain; vertical-align: middle; margin-right: 10px; }

@media only screen and (max-width: 480px) { .search_list li span:before { display: block; margin: 0 auto; } }

.search_list li.active span { background-color: #1164b0; background-image: url(../img/search_arw_w.png); color: #fff; vertical-align: top; padding-bottom: 25px; margin-bottom: -10px; }

@media only screen and (max-width: 1024px) { .search_list li.active span { padding-bottom: 20px; } }

.search_list li .ico0:before { width: 31px; background-image: url(../img/ico_cate1_b.png); }

.search_list li.active .ico0:before { background-image: url(../img/ico_cate1_w.png); }

.search_list li .ico1:before { width: 36px; background-image: url(../img/ico_cate2_b.png); }

.search_list li.active .ico1:before { background-image: url(../img/ico_cate2_w.png); }

.search_list li .ico2:before { width: 48px; background-image: url(../img/ico_cate3_b.png); }

.search_list li.active .ico2:before { background-image: url(../img/ico_cate3_w.png); }

.search_list li .ico3:before { width: 35px; background-image: url(../img/ico_cate4_b.png); }

.search_list li.active .ico3:before { background-image: url(../img/ico_cate4_w.png); }

.search_box { position: absolute; left: 0; display: none; width: 100%; background-color: #1164b0; }

.form_check_area { padding: 30px 0; overflow: hidden; }

@media only screen and (max-width: 1024px) { .form_check_area { padding: 15px; } }

@media only screen and (max-width: 480px) { .form_check_area { padding: 10px; } }

.form_check_area li { width: 25%; float: left; padding: 5px; }

.form_check_area li:nth-child(4n+1) { clear: both; }

@media only screen and (max-width: 1024px) { .form_check_area li { width: 33.33%; }
  .form_check_area li:nth-child(4n+1) { clear: none; }
  .form_check_area li:nth-child(3n+1) { clear: both; } }

@media only screen and (max-width: 768px) { .form_check_area li { width: 50%; }
  .form_check_area li:nth-child(3n+1) { clear: none; }
  .form_check_area li:nth-child(2n+1) { clear: both; } }

@media only screen and (max-width: 360px) { .form_check_area li { width: auto; float: none; } }

.form_check_area label { display: block; }

.form_check_area label input { display: none; }

.form_check_area label span { display: block; background: url(../img/ico_check.png) no-repeat 100% 50%; border: 1px solid #ccc; padding: 5px 35px 5px 10px; }

.form_check_area label span:hover { border-color: #f79525; }

@media only screen and (max-width: 768px) { .form_check_area label span { background-size: 20px auto; -webkit-background-size: 20px auto; padding-right: 25px; } }

@media only screen and (max-width: 480px) { .form_check_area label span { line-height: 1.2; } }

.form_check_area label input:checked + span { color: #f79525; border-color: #f79525; background-color: #fff; background-image: url(../img/ico_check_o.png); }

.form_check_area label.black span { color: #fff; background-color: #000; }

.form_check_area.radio label span { background-image: url(../img/ico_radio.png); }

.form_check_area.radio label input:checked + span { background-image: url(../img/ico_radio_o.png); }

/*==================================================================== footer
*/
.footer_contact { padding: 60px 0 80px; }

@media only screen and (max-width: 768px) { .footer_contact { padding: 20px 0 40px; } }

@media only screen and (max-width: 480px) { .footer_contact { padding: 20px 0; } }

.footer_contact .f_contact_btn a { min-width: 500px; }

@media only screen and (max-width: 768px) { .footer_contact .f_contact_btn a { min-width: inherit; width: 100%; } }

@media only screen and (max-width: 480px) { .footer_contact .f_contact_btn a b { display: block; } }

.home .footer_contact { padding-top: 0; }

.f_address_wrap { margin: 0 0 20px; overflow: hidden; }

.f_address { width: 50%; float: left; padding: 10px; }

@media only screen and (max-width: 480px) { .f_address { width: auto; float: none; padding: 0 0 10px; } }

.f_address h3 { background-color: #1164b0; color: #fff; padding: 5px 10px; }

.f_address > div { padding: 30px; border: 1px solid #ccc; }

@media only screen and (max-width: 480px) { .f_address > div { padding: 10px; } }

.f_address address { font-style: normal; }

.f_address img { max-width: 100%; }

.f_address img:first-child { margin-right: 10px; }

.en .f_address address { min-height: 60px; }

.footer { position: relative; background-color: #f2f2f2; border-top: 1px solid #ccc; padding: 40px 50px; margin: 20px -50px 0; overflow: hidden; }

@media only screen and (max-width: 1300px) { .footer { padding: 20px 30px; margin: 20px -30px 0; } }

@media only screen and (max-width: 1024px) { .footer { padding-left: 200px; } }

@media only screen and (max-width: 768px) { .footer { padding: 20px 15px 80px; margin-left: -15px; margin-right: -15px; } }

.footer .f_bnr { position: absolute; bottom: 10px; left: 45px; white-space: nowrap; }

@media only screen and (max-width: 1300px) { .footer .f_bnr { left: 30px; } }

@media only screen and (max-width: 768px) { .footer .f_bnr { position: static; padding: 0; } }

.footer .f_bnr li { display: inline-block; vertical-align: bottom; }

.footer .f_bnr li + li { padding-left: 5px; }

@media only screen and (max-width: 1300px) { .footer .f_bnr li + li { padding-left: 2px; } }

.footer .f_bnr img { max-height: 60px; }

@media only screen and (max-width: 480px) { .footer .f_bnr img { max-height: 40px; } }

.footer .fnav { position: absolute; top: 25%; right: 120px; }

@media only screen and (max-width: 1300px) { .footer .fnav { position: static; font-size: 14px; text-align: right; padding-right: 90px; padding-bottom: 15px; } }

@media only screen and (max-width: 1024px) { .footer .fnav { width: 75%; float: right; padding-right: 90px; } }

@media only screen and (max-width: 768px) { .footer .fnav { width: auto; float: none; padding-right: 0; } }

@media only screen and (max-width: 480px) { .footer .fnav { font-size: 12px; } }

.footer .fnav li { display: inline-block; vertical-align: middle; }

.footer .fnav li:before { content: "｜"; }

.footer .fnav li:first-child:before { content: ""; }

.footer .fnav a { color: #333; text-decoration: none; }

.footer .fnav a:hover { color: #1164b0; text-decoration: underline; }

.copylight { font-size: 14px; text-align: center; }

@media only screen and (max-width: 1300px) { .copylight { text-align: right; padding: 0 90px 0 40px; } }

@media only screen and (max-width: 1024px) { .copylight { width: 75%; float: right; padding: 0 90px 0 20px; } }

@media only screen and (max-width: 768px) { .copylight { width: auto; float: none; padding: 0; } }

@media only screen and (max-width: 480px) { .copylight { font-size: 12px; } }

.pagetop { position: fixed; bottom: 0; right: 0; display: none; z-index: 10; }

@media only screen and (max-width: 768px) { .pagetop img { width: 80px; } }

/*==================================================================== module
*/
.main2 { background: no-repeat 50% 0 / cover; -webkit-background-size: cover; background-attachment: fixed; padding: 0 50px; margin-bottom: 50px; }

@media only screen and (max-width: 1024px) { .main2 { padding: 0 30px; margin-bottom: 30px; } }

@media only screen and (max-width: 768px) { .main2 { padding: 0 15px; margin-bottom: 15px; }
  .main2 img { width: 80px; } }

.main2 > div { display: table; width: 100%; height: 280px; }

@media only screen and (max-width: 1300px) { .main2 > div { height: 240px; } }

@media only screen and (max-width: 1024px) { .main2 > div { height: 160px; } }

@media only screen and (max-width: 768px) { .main2 > div { height: 120px; } }

@media only screen and (max-width: 480px) { .main2 > div { height: 100px; } }

.main2 h1 { display: table-cell; color: #fff; font-size: 38px; font-weight: normal; vertical-align: middle; padding-top: 0; }

@media only screen and (max-width: 1024px) { .main2 h1 { font-size: 28px; } }

@media only screen and (max-width: 768px) { .main2 h1 { font-size: 24px; } }

@media only screen and (max-width: 480px) { .main2 h1 { font-size: 20px; } }

.main2 h1 > span { display: block; width: 250px; background-color: #fff; color: #1164b0; font-size: 16px; padding: 5px 10px; }

@media only screen and (max-width: 768px) { .main2 h1 > span { font-size: 14px; } }

@media only screen and (max-width: 480px) { .main2 h1 > span { width: 200px; padding: 2px 5px; } }

.bleadlist { background-color: #043d78; color: #fff; font-size: 14px; padding: 5px 40px; margin: 0 -50px; overflow: hidden; }

@media only screen and (max-width: 1300px) { .bleadlist { padding-left: 30px; padding-right: 30px; } }

@media only screen and (max-width: 1024px) { .bleadlist { font-size: 12px; margin: 0 -30px; } }

@media only screen and (max-width: 768px) { .bleadlist { display: none; } }

.bleadlist li { display: inline-block; float: left; }

.bleadlist li:first-child:before { font-family: FontAwesome; content: "\f015"; padding-right: 5px; }

.bleadlist li:after { content: ">"; margin: 0 10px; }

.bleadlist li:last-child:after { content: ""; margin: 0; }

.bleadlist a { color: #fff; text-decoration: none; }

.inner { max-width: 1200px; margin: 0 auto; }

@media only screen and (max-width: 1300px) { .inner { max-width: inherit; } }

.pointer-events { pointer-events: none; }

@media only screen and (max-width: 768px) { .pointer-events { pointer-events: auto; } }

.hl1 { color: #1164b0; font-size: 28px; font-weight: normal; padding: 45px 0 30px; }

@media only screen and (max-width: 768px) { .hl1 { font-size: 24px; padding: 30px 0 15px; } }

@media only screen and (max-width: 480px) { .hl1 { font-size: 20px; } }

.hl1:first-child { padding-top: 30px; }

@media only screen and (max-width: 768px) { .hl1:first-child { padding-top: 15px; } }

.hl1.black { color: #333; }

.hl1 span { display: block; font-size: 24px; color: #333; }

.hl2 { background-color: #1164b0; color: #fff; text-align: center; padding: 5px 15px; margin: 45px 0 15px; }

.hl2:first-child { margin-top: 0; }

@media only screen and (max-width: 768px) { .hl2 { margin: 30px 0 15px; } }

.hl2.orange { background-color: #f79525; }

.hl3 { position: relative; color: #1164b0; font-size: 28px; text-align: center; letter-spacing: 0.05em; border-top: 1px solid #ccc; padding: 45px 0 0; }

@media only screen and (max-width: 768px) { .hl3 { font-size: 24px; padding: 30px 0 0; } }

@media only screen and (max-width: 480px) { .hl3 { font-size: 20px; } }

.hl3:before { position: absolute; top: -1px; left: 0; right: 0; content: ""; width: 180px; border: 3px solid #1164b0; margin: 0 auto; }

.hl4 { position: relative; color: #1164b0; font-size: 28px; text-align: center; padding: 0; margin: 30px 0; }

@media only screen and (max-width: 768px) { .hl4 { font-size: 24px; margin: 15px 0; } }

@media only screen and (max-width: 480px) { .hl4 { font-size: 20px; } }

.hl4 > span { position: relative; display: inline-block; letter-spacing: 0.05em; background-color: #fff; padding: 5px 30px; z-index: 1; }

@media only screen and (max-width: 480px) { .hl4 > span { padding-left: 15px; padding-right: 15px; } }

.hl4:before { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 1px; content: ""; border-top: 1px solid #1164b0; margin: auto; }

.hl4 + .hl1 { color: #333; padding: 0; margin: -20px 0 90px; }

@media only screen and (max-width: 768px) { .hl4 + .hl1 { margin: -15px 0 30px; } }

@media only screen and (max-width: 480px) { .hl4 + .hl1 { margin: -15px 0 15px; } }

.sec2 .hl4 > span { background-color: #eef5fc; }

.box_w .hl4 > span { background-color: #fff; }

.hl5 { background: url(../img/arw3.png) no-repeat 0 50%; color: #1164b0; font-size: 24px; border-left: 4px solid #1164b0; padding: 0 0 0 44px; margin: 30px 0; }

@media only screen and (max-width: 768px) { .hl5 { font-size: 20px; margin: 10px 0; } }

@media only screen and (max-width: 480px) { .hl5 { font-size: 16px; } }

.hl5:first-child { margin-top: 0; }

.catch_txt { text-align: center; padding-bottom: 45px; line-height: 1.8; }

@media only screen and (max-width: 768px) { .catch_txt { padding-bottom: 30px; }
  .catch_txt br { display: none; } }

@media only screen and (max-width: 480px) { .catch_txt { text-align: left; padding-bottom: 15px; } }

a.btn_a, .btn_a, a.btn_b, .btn_b, a.btn_c, .btn_c, a.btn_d, .btn_d { position: relative; display: inline-block; min-width: 260px; background: #fff url(../img/arw1.png) no-repeat 0 50%/32px auto; border: none; color: #000327; text-decoration: none; padding: 10px 15px 10px; }

a.btn_a:hover, .btn_a:hover, a.btn_b:hover, .btn_b:hover, a.btn_c:hover, .btn_c:hover, a.btn_d:hover, .btn_d:hover { opacity: 0.6; -ms-filter: "alpha(opacity=($opacity * 100))"; filter: alpha(opacity=60); }

@media only screen and (max-width: 768px) { a.btn_a, .btn_a, a.btn_b, .btn_b, a.btn_c, .btn_c, a.btn_d, .btn_d { min-width: 200px; } }

a.btn_a, .btn_a { padding-left: 40px; }

a.btn_b, .btn_b { background: #1164b0 url(../img/arw2.png) no-repeat 0 50%/32px auto; color: #fff; text-align: left; padding-left: 40px; -webkit-box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); }

a.btn_b:hover, .btn_b:hover { -webkit-box-shadow: 0 10px 0 rgba(0, 0, 0, 0.05); box-shadow: 0 10px 0 rgba(0, 0, 0, 0.05); }

a.btn_c, .btn_c { background: #a6a6a6; -webkit-box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); color: #fff; text-align: center; }

a.btn_c:after, .btn_c:after { position: absolute; right: 0; bottom: 0; width: 0; height: 0; content: ""; border-style: solid; border-width: 0 0 15px 15px; border-color: transparent transparent #fcee21 transparent; }

a.btn_c:hover, .btn_c:hover { -webkit-box-shadow: 0 10px 0 rgba(0, 0, 0, 0.05); box-shadow: 0 10px 0 rgba(0, 0, 0, 0.05); }

a.btn_c.orange, .btn_c.orange { background-color: #f79525; }

a.btn_c.blue, .btn_c.blue { background-color: #1164b0; }

a.btn_c.white, .btn_c.white { background-color: #fff; color: #1164b0; border: 1px solid #f2f2f2; }

a.btn_c.white:after, .btn_c.white:after { border-bottom-color: #1164b0; }

a.btn_c i, .btn_c i { margin-right: 5px; }

a.btn_c b, .btn_c b { font-size: 150%; font-weight: normal; }

a.arw_back, .arw_back { background-image: url(../img/arw2_r.png); background-repeat: no-repeat; background-position: 20px 50%; background-size: auto 19px; -webkit-background-size: auto 19px; }

a.btn_d, .btn_d { background: #a6a6a6; color: #fff; -webkit-box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); }

a.btn_d.orange, .btn_d.orange { background-color: #f79525; }

.form_btn { max-width: 700px; text-align: center; padding-bottom: 40px; margin: 0 auto; overflow: hidden; }

@media only screen and (max-width: 1024px) { .form_btn { padding-bottom: 20px; } }

.form_btn > div { width: 50%; float: left; padding: 10px; }

@media only screen and (max-width: 480px) { .form_btn > div { width: auto; max-width: 280px; float: none; padding: 0 0 10px; margin: 0 auto; } }

.form_btn > div button { width: 100%; min-width: inherit; }

.sec1, .sec2 { position: relative; overflow: hidden; }

.sec1 { padding-bottom: 80px; }

@media only screen and (max-width: 1024px) { .sec1 { padding-bottom: 60px; } }

@media only screen and (max-width: 768px) { .sec1 { padding-bottom: 40px; } }

.sec2 { background-color: #eef5fc; padding: 50px; margin-bottom: 80px; }

@media only screen and (max-width: 1024px) { .sec2 { padding: 30px; margin-bottom: 40px; } }

@media only screen and (max-width: 768px) { .sec2 { padding: 15px; margin-bottom: 20px; } }

.box_w { background-color: #fff; -webkit-box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); padding: 40px; margin-bottom: 10px; }

@media only screen and (max-width: 1024px) { .box_w { padding: 30px; } }

@media only screen and (max-width: 768px) { .box_w { padding: 15px; } }

.table_a { width: 100%; border: none; }

.table_a th, .table_a td { position: relative; padding: 15px; border: none; border-bottom: 1px solid #ccc; }

@media only screen and (max-width: 768px) { .table_a th, .table_a td { padding: 10px; } }

.table_a th { width: 22%; color: #1164b0; font-weight: normal; white-space: nowrap; }

.table_a thead th { background-color: #1164b0; color: #fff; border: none; padding: 5px 10px; }

.table_b { width: 100%; border: 1px solid #1164b0; margin: 15px 0 30px; }

.table_b th, .table_b td { border: none; vertical-align: middle; padding: 15px; }

.table_b th { color: #1164b0; font-weight: 500; white-space: nowrap; border-left: 1px solid #1164b0; }

.table_b td { width: 33.33%; }

.table_c { width: 100%; border: none; }

@media only screen and (max-width: 768px) { .table_c { display: block; }
  .table_c thead, .table_c tbody, .table_c tr { display: block; } }

.table_c th, .table_c td { border: none; border-top: 1px dotted #ccc; border-bottom: 1px dotted #ccc; padding: 15px; }

@media only screen and (max-width: 768px) { .table_c th, .table_c td { display: block; border: none; padding: 10px 10px 15px; } }

.table_c th { color: #fff; font-weight: normal; background-color: #1164b0; }

@media only screen and (max-width: 768px) { .table_c th { padding: 5px 10px; } }

.error_area { max-width: 960px; color: #f79525; border: 1px solid #f79525; padding: 15px; margin: 0 auto 45px; clear: both; }

.required:after { content: "※"; color: #f79525; font-size: 14px; font-weight: bold; margin-left: 5px; }

tr.error th { color: #dc0000; }

tr.error input[type="text"], tr.error input[type="password"], tr.error input[type="tel"], tr.error textarea { border-color: #dc0000; }

.txt_error { color: #dc0000; font-size: 14px; }

input[size="4"] { width: 80px; }

.pager_list { display: inline-table; float: right; padding: 0 0 10px; overflow: hidden; }

@media only screen and (max-width: 480px) { .pager_list { display: block; text-align: center; } }

.pager_list p, .pager_list ul { display: table-cell; text-align: right; vertical-align: bottom; padding: 0; }

@media only screen and (max-width: 480px) { .pager_list p, .pager_list ul { display: inline-block; } }

.pager_list p { padding-right: 10px; }

.pager_list p b { color: #1164b0; font-size: 160%; font-weight: normal; padding: 0 2px; }

@media only screen and (max-width: 768px) { .pager_list p b { font-size: 140%; } }

@media only screen and (max-width: 480px) { .pager_list:last-child p { display: none; } }

.pager_list li { float: left; }

.pager_list li i { font-size: 20px; }

.pager_list li:first-child i { margin-right: 10px; }

.pager_list li:last-child i { margin-left: 10px; }

.pager_list li a { display: inline-block; text-align: center; text-decoration: none; border: 1px solid #1164b0; padding: 7px 20px; }

@media only screen and (max-width: 768px) { .pager_list li a { padding: 4px 15px; } }

.pager_list li .slct { color: #fff; margin: 0; }

.pager_list li .slct select { background-color: #1164b0; border-color: transparent; height: 40px; margin: 0; }

@media only screen and (max-width: 1024px) { .pager_list li .slct select { height: 38px; } }

@media only screen and (max-width: 768px) { .pager_list li .slct select { height: 32px; } }

.search_result_area { margin: 0 -10px 20px; }

@media only screen and (max-width: 768px) { .search_result_area { margin-bottom: 0; } }

.search_result_area ul { width: 100%; padding: 0 10px 0 0; overflow: hidden; }

.search_result_area li { width: 20%; float: left; padding: 10px; }

.search_result_area li:nth-child(5n+1) { clear: both; }

@media only screen and (max-width: 768px) { .search_result_area li { width: 33.33%; }
  .search_result_area li:nth-child(5n+1) { clear: inherit; }
  .search_result_area li:nth-child(3n+1) { clear: both; } }

@media only screen and (max-width: 480px) { .search_result_area li { width: 50%; }
  .search_result_area li:nth-child(3n+1) { clear: inherit; }
  .search_result_area li:nth-child(2n+1) { clear: both; } }

.search_result_area li .hl2 { display: table-cell; width: 1000px; vertical-align: middle; }

.search_result_area li a { position: relative; display: block; background-color: #b5d4f0; -webkit-box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); text-align: center; text-decoration: none; }

.search_result_area li a:after { position: absolute; right: 0; bottom: 0; width: 0; height: 0; content: ""; border-style: solid; border-width: 0 0 20px 20px; border-color: transparent transparent #1164b0 transparent; }

.search_result_area li a:hover { opacity: 0.6; -ms-filter: "alpha(opacity=($opacity * 100))"; filter: alpha(opacity=60); -webkit-box-shadow: 0 10px 0 rgba(0, 0, 0, 0.05); box-shadow: 0 10px 0 rgba(0, 0, 0, 0.05); }

.search_result_area li a:hover small { color: #f79525; }

.search_result_area li a:hover small b { background-color: #f79525; }

.search_result_area li a figcaption { background-color: #fff; border-top: 2px solid #1164b0; padding: 15px 5px; }

.search_result_area li a figcaption.ico_new:before { display: inline-block; content: "NEW"; color: #fcee21; font-size: 14px; background-color: #dc0000; padding: 0 8px; margin-right: 10px; }

.search_result_area li a figcaption small { display: block; color: #333; font-size: 14px; vertical-align: middle; padding-top: 5px; }

.search_result_area li a figcaption small b { display: inline-block; background-color: #1164b0; color: #fff; font-weight: normal; line-height: 1; padding: 2px 10px; margin-right: 5px; }

.search_result_area li img { width: 100%; }

.search_result_area.white li { width: 33.33%; }

.search_result_area.white li a { background-color: #fff; }

.search_result_area.white li a figcaption { border: none; }

.search .search_result_area { border-bottom: 1px solid #ccc; padding-bottom: 20px; }

.search_result_list { display: inline-table; width: 45%; color: #1164b0; padding: 0; }

@media only screen and (max-width: 768px) { .search_result_list { display: block; width: auto; background-color: #f2f2f2; margin-bottom: 10px; } }

.search_result_list dt, .search_result_list dd { display: table-cell; vertical-align: middle; }

@media only screen and (max-width: 768px) { .search_result_list dt, .search_result_list dd { padding: 2px 5px; } }

.search_result_list dt { width: 95px; font-weight: normal; background: url(../../img/search_result_arw.png) no-repeat 0 50%/contain; background-size: contain; padding: 8px; }

@media only screen and (max-width: 768px) { .search_result_list dt { width: 80px; color: #fff; text-align: center; background: #1164b0; padding: 0; } }

.article_detail { background-color: #fff; -webkit-box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05); padding: 40px; margin-bottom: 30px; word-wrap: break-word; overflow-wrap: break-word; overflow: hidden; }

@media only screen and (max-width: 1024px) { .article_detail { padding: 30px; } }

@media only screen and (max-width: 768px) { .article_detail { padding: 15px; }
  .article_detail + .ar { padding-bottom: 15px; }
  .article_detail img { width: auto; max-width: 100%; height: auto; } }

.article_detail p { line-height: 1.8; }

.article_detail figure { max-width: 700px; text-align: center; border: 4px solid #f2f2f2; margin: 0 auto 30px; }

@media only screen and (max-width: 1024px) { .article_detail figure { margin-bottom: 10px; } }

@media only screen and (max-width: 768px) { .article_detail figure { margin-bottom: 0; } }

.article_detail figure img { max-width: 100%; }

.article_detail ul { list-style: disc; padding: 15px 0; margin-left: 1.5em; }

.article_detail li { padding: 2px 0; }

.article_detail dl { border: 1px solid #1164b0; padding: 30px; margin: 15px 0; }

@media only screen and (max-width: 768px) { .article_detail dl { padding: 15px; margin: 10px 0; } }

.article_detail dl dt { color: #1164b0; border-left: 5px solid #1164b0; padding-left: 10px; margin-bottom: 10px; }

.article_detail dl dd + dt { margin-top: 30px; }

@media only screen and (max-width: 768px) { .article_detail dl dd + dt { margin-top: 15px; } }

.article_detail dl ul { padding: 0; }

.article_detail hr { display: block; border: none; border-bottom: 1px dotted #999; margin: 10px 0; }

.article_detail .photo_color { list-style: none; padding: 30px 0; margin: 0; overflow: hidden; }

@media only screen and (max-width: 768px) { .article_detail .photo_color { padding: 15px 0; } }

@media only screen and (max-width: 480px) { .article_detail .photo_color { padding: 10px 0; } }

.article_detail .photo_color li { width: 16.66%; float: left; text-align: center; }

@media only screen and (max-width: 768px) { .article_detail .photo_color li { width: 33.33%; } }

@media only screen and (max-width: 480px) { .article_detail .photo_color li { font-size: 12px; } }

.article_detail .photo_color li figure { border: none; margin-bottom: 0; }

.article_detail .photo_color li img { max-width: 100%; }

@media only screen and (max-width: 768px) { .article_detail .img_l, .article_detail .img_r { float: none; padding: 5px 0 30px; } }

@media only screen and (max-width: 480px) { .article_detail .img_l, .article_detail .img_r { padding-bottom: 15px; } }

.note_list { padding: 15px 0; }

.note_list li { background: url(../img/ico_arw.png) no-repeat 0 12px; padding: 5px 0 5px 20px; }

.container .photo_list { list-style: none; margin: 0 -10px; padding: 10px 0; overflow: hidden; }

.container .photo_list li { width: 20%; float: left; padding: 10px; }

@media only screen and (max-width: 768px) { .container .photo_list li { width: 33.33%; }
  .container .photo_list li:nth-child(3n+1) { clear: both; } }

@media only screen and (max-width: 480px) { .container .photo_list li { width: 50%; }
  .container .photo_list li:nth-child(3n+1) { clear: none; }
  .container .photo_list li:nth-child(2n+1) { clear: both; } }

.container .photo_list li figure { text-align: left; border: none; }

.container .photo_list li figure img { width: 100%; }

.container .photo_list li figure figcaption { font-size: 14px; background: url(../img/ico_arw.png) no-repeat 0 12px; padding: 5px 0 5px 14px; }

.video_area { padding: 30px 0 0; overflow: hidden; }

.video_area .video { width: 33.33%; float: left; padding: 0 10px 10px; }

.video_area .video:nth-child(3n+1) { clear: both; }

.video_area .video > div { position: relative; width: 100%; padding-top: 56.25%; }

.video_area .video > div iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

@media only screen and (max-width: 1024px) { .video_area .video { width: 50%; }
  .video_area .video:nth-child(3n+1) { clear: none; }
  .video_area .video:nth-child(2n+1) { clear: both; } }

@media only screen and (max-width: 768px) { .video_area .video { width: 100%; float: none; padding-left: 0; padding-right: 0; } }

/**/
.catalog{
	margin: 0 0 50px;
}
.catalog .inner{
	padding: 0 0 100px;
	border-bottom: 1px solid #ccc;
}
.catalog_btn a{
	width: 500px;
	padding: 10px 15px 10px;
	display: inline-block;
	background: #1164b0;
	position: relative;
	-webkit-box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05);
	box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.05);
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.catalog_btn a:hover{
	opacity: 0.6; 
	-ms-filter: "alpha(opacity=($opacity * 100))"; 
	filter: alpha(opacity=60);
}
.catalog_btn a b{
	font-size: 150%;
    font-weight: normal;
}
.catalog_btn a i{
	margin-right: 5px;
}
.catalog_btn a:after{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    content: "";
    border-style: solid;
    border-width: 0 0 15px 15px;
    border-color: transparent transparent #fcee21 transparent;
}
@media only screen and (max-width: 768px) {
	.catalog{
		margin: 0 0 40px;
	}
	.catalog .inner{
		padding: 0 0 50px;
	}
	.catalog_btn a { 
		width: 100%; 
	}
}
@media only screen and (max-width: 480px) {
	.catalog_btn a b{
		display: block;
	}
}
