@charset "utf-8";


/* =======================================
共通設定
======================================= */
html{
	font-size: 2.6vw;
}
body {
	width:100%;
	height:auto;
	background: #fff;
	font-size: 1.4em;
	line-height: 1.6;
	color: #555;
	padding-top: 16vw;
}

a:link { text-decoration:none; color: inherit;}
a:visited { text-decoration:none; color: inherit;}
a:active { text-decoration:none; color: inherit;}
a:hover { text-decoration:none; color: inherit;}

img{
	height: auto;
}

#container {
	width: 100%;
	padding: 8vw 0 8vw;
}
.pc{
	display: none !important;
}

/* 基本ボックス設定 */
.wrap_out{
	width:100%;
	height:auto;
}
.wrap_main{
	width:100%;
	height:auto;
}
.wrap_in{
	width:100%;
	height:auto;
	margin:0 auto;
	padding-left: 7.3vw;
	padding-right: 7.3vw;
}

/* 横並びリスト */
ul.many_rows{
	display:block;
	height:auto;
	overflow:hidden;
}
ul.many_rows > li{
	display:block;
	height:auto;
	float:left;
}

/* 2カラム横並びリスト */
ul.two_rows{
	display:block;
	height:auto;
	overflow:hidden;
}
ul.two_rows > li{
	display:block;
	height:auto;
	float:left;
}
ul.two_rows > li:nth-child(2n+2) {
	float: right;
}

/* 3カラム横並びリスト */
ul.three_rows{
	display:block;
	height:auto;
	overflow:hidden;
}
ul.three_rows > li{
	display:block;
	height:auto;
	float:left;
}
ul.three_rows > li:nth-child(3n+2) {
	margin-right:0;
}
ul.three_rows > li:nth-child(3n+3) {
	float: right;
	margin-right:0;
}

/*テーブルブロック*/
.table_block{
	display: table;
	table-layout:fixed;
	width: 100%;
}
.table_block > .cell_block{
	display: table-cell;
	width: 50%;
	text-align: center;
	vertical-align: middle;
}
.table_block.sp_tate{
	display: block;
	table-layout: auto;
}
.table_block.sp_tate > .cell_block{
	display: block;
	width: 100%;
}

/* スクローラー */
#scroller {
	position: fixed;
	bottom: 2vw;
	right: 2vw;
	width: 12vw;
}



/* HEADER
------------------------------- */
.header {
	width: 100%;
	height: 16vw;
	border-top: 0.533vw solid #e72521;
	background-color: #fff;
	padding-top: 3.6vw;
	padding-left: 2.7vw;
	padding-right: 2.7vw;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3000;
}
.tbb_headerB{
	position: relative;
}
.tbb_headerB > .cell_block{
	text-align: left;
	vertical-align: top;
	font-size: 0;
}
.header_logo{
	width: 32vw;
}





.nav_headerB{
	font-size: 0;
}
.nav_headerB_top{
	text-align: right;
}
.nav_headerB_btm > a{
	display: inline-block;
	height: 40px;
	padding: 0 2.5em;
	border-left: 1px solid #ccc;
	font-size: 1.4rem;
	line-height: 40px;
	text-align: center;
}
.nav_headerB_btm > a:last-child{
	border-right: 1px solid #ccc;
}
.header_wrapB{
		margin-bottom: 24px;
}

/*ドロワーメニュー*/
.menu_wrap{
	position: fixed;
	left: 0;
	top: 16vw;
	width: 100%;
   height : -webkit-calc(100vh - 16vw) ;
   height : calc(100vh - 16vw) ;
	background-color: #f5f5f5;
	overflow: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	display: none;
}
.header_wrapC{
	background-color: #f5f5f5;
}
.tbb_headerC{
	padding: 0 3.7vw;
}
.tbb_headerC > .cell_block,.menu_btm a{
	display: block;
	width: 100%;
	height: 14.8vw;
	padding-left: 1em;
	text-align: left;
	font-size: 1.8rem;
	line-height: 14.8vw;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #ccc;
}
.cell_mail{
	background-image: url( "../img/header/base_bg.png");
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	background-size:cover;
	color: #fff!important;
	margin: 8vw 0;
}

.menu_btm{
	background-color: #fff;
	padding: 3.7vw;
    margin-bottom:100px;
}
.menu_btm a{
	border-bottom: 0;
}
.spc{
	padding-top: 3vw;
	margin-bottom: 3vw;
	border-bottom: 1px solid #ccc;
}


.menu_btn{
	position: absolute;
	top: -1.5vw;
	right: 0;
}
.menu_btn::after{
	content: "MENU";
	display: block;
	text-align: center;
	font-size: 1rem;
	font-weight: bold;
	width: 100%;
	bottom: 0;
	left: 0;
	line-height: 1;
}
.menu_btn .hamburger{
	padding: 1vw
}


.menu_btn.open{
/*	background-image: url( "../img/header/menu_btnB.png");*/
}
.menu_btn.open::after{
	content: "閉じる";
}

/* FOOTER
------------------------------- */
.footer{
	border-top: 1px solid #ccc;
}
.footer_wrapA{
	padding: 8.75vw 0;
	background-color: #f5f5f5;
}
.footer_wrapA .wrap_in{
	padding-left: 0;
	padding-right: 0;
}
.footer_bnrA{
	width: 100%;
	font-size: 0;
	text-align: center;
}
.footer_bnrA > li{
	display: inline-block!important;
	float: none!important;
	width:33%;
	padding: 1.25vw;
}
.footer_wrapB .wrap_in{
	padding-left: 0;
	padding-right: 0;
}
.footer_bnrB .cell_block{
	padding: 16vw 0;
	text-align: center;
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size:cover;
	background-size:cover;
}
.footer_bnrB .cellA{
	background-image: url( "../img/footer/base_bgA.jpg");
}
.footer_bnrB .cellB{
	background-image: url( "../img/footer/base_bgB.jpg");
}
.footerB_banner{
	width: 69.4vw;
}
.footer_wrapC {
	background-image: url( "../img/footer/bg_footer_sp.png");
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: 0 0;
	padding-top: 13vw;
	border-top: 1px solid #ccc;
	height: auto;
}
.tbb_footer_wrapC > .cell_block{
	vertical-align: top;
	text-align: left;
}
.footer_logo2{
	width: 43.2vw;
	margin-bottom: 3vw;
}
.tbb_footer_wrapC p{
	font-weight: 300;
}
.tbb_footer_wrapC .btn_wrap{
	text-align: center;
	padding: 5vw 0;
}
.tbb_footer_wrapC .btn_wrap .btn_B{
	width: 49%;
	height: 10vw;
	line-height: 10vw;
	margin: 0;
}
.tbb_footer_wrapC .btn_wrap .btn_B:first-child{
	margin-right: 2%;
}
.tbb_footer_wrapC > .cellB{
}
.tbb_footer_wrapC > .cellB p{
	font-size: 1.6rem;
}
.tbb_footer_info {
	margin: 5vw 0 0;
	padding: 4vw 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.tbb_footer_info > .cell_block{
	text-align: left;
	font-size: 1.3rem;
	font-weight: 300;
	width: auto;
	padding: 2vw 0;
}
.tbb_footer_info > .cellA{
	width: 55vw!important;
	text-align: right;
}
.footer_img_tel {
	width: 100%;
}
.tbb_footer_btm > .cellA{
	text-align: left;
}
.tbb_footer_btm > .cellB{
	text-align: right;
}
.footer_nav{
	font-size: 0;
}
.footer_nav > a{
	display: inline-block;
	font-size: 1.4rem;
	line-height: 1;
	padding-left: 1.5em;
	padding-right: 1.5em;
	border-right: 1px solid #ccc;
}
.footer_nav > a:first-child{
	padding-left: 0;
}
.footer_nav > a:last-child{
	border-right: 0;
}
.copy_right{
	height: 26vw;
	font-size: 1rem;
	text-align: center!important;
	line-height: 26vw;
}
.copy_right strong{
	color: #ec3936;
}

/* MV
------------------------------- */
.mv_wrap .wrap_in {
	position: relative;
	height: 30vw;
}
.mv_ttl {
	left: 7.3vw;
}
.mv_ttl_h1 {
	font-size: 2.6rem;
}
.mv_ttl_text {
	font-size: 1.2rem;
}

/* Breadcrumb
------------------------------- */
.breadcrumb_list > li {
	height: 6vw;
	line-height: 6vw;
	font-size: 1rem;
}

/* PAGE
------------------------------- */

.anchor_wrap > div{
	position: absolute;
	top: -16vw;
}
.under_mv{
	overflow: hidden;
}

h2 {
	font-size: 2.3rem;
	color: #000;
	margin-bottom: 1em;
	padding: 5vw;
	margin-left: -7.3vw;
	margin-right: -7.3vw;
}

h3 {
	font-size: 1.8rem;
	color: #000;
	margin-bottom: 1em;
	padding: 5vw 0;
}

h4 {
	color: #000;
	padding: 5vw 0;
	margin-bottom: 1em;
	font-weight: 600;
}

.box {
	border: 1px solid #0087b6;
	padding: 1.4em;
	margin-bottom: 2em;
}
ol.yoko > li, ul.yoko > li {
	display: inline-block;
	vertical-align: sub;
	margin-right: 1em;
}


.tbb_3raw .cell_block {
	width: 100% !important;
	vertical-align: top !important;
	text-align: left !important;
	padding: 3vw 0;
}
.tbb_3raw .cell_block p {
	font-size: 1.4rem;
}
.tbb_2raw .cell_block {
	vertical-align: top !important;
	text-align: left !important;
	padding: 3vw 0;
}
.tbb_2raw .cell_block p {
	font-size: 1.4rem;
}

.tbb_1raw .cell_block {
	vertical-align: top !important;
	text-align: left !important;
	padding: 3vw 0;
	width: 100% !important;
}
.tbb_1raw .cell_block p {
	font-size: 1.4rem;
}
.tbb_2raw_text .cell_block {
	vertical-align: top !important;
	text-align: left !important;
	padding: 3vw 0;
}
.tbb_2raw_text .cellA{
	padding-bottom: 0;
}
.tbb_2raw_text .cellB{
	padding-top: 0;
}

.side-column{
	margin-left: -7.3vw;
	margin-right: -7.3vw;
}
.local_nav_child a{
	display: block;
	height: 15vw;
	line-height: 15vw;
	padding:0 7.3vw;
	font-size: 1.8rem;
	border-top: 1px solid #ccc;
}
.local_nav_child:last-child a{
	border-bottom: 1px solid #ccc;
}

.img_right img{
	width: 100%;
	margin-left: 0;
	margin-bottom: 1em;
	float: none;
}

.img_left img{
	width: 100%;
	margin-right: 0;
	margin-bottom: 1em;
	float: none;
}


.ico_wind{
	display: inline;
	color: #0087b6!important;
	text-decoration: underline!important;
	position: relative;
	margin-right: 1.5em;
}
.ico_wind::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 15px;
	background-image: url( "../img/page/ico_wind.png");
	-webkit-background-size: 14px auto;
	background-size: 14px auto;
	background-repeat: no-repeat;
	background-position: 0 0;
	position: relative;
	top: auto;
	right: auto;
	margin-left: 0.3em;
}
.ico_pdf{
	display: inline;
	color: #0087b6!important;
	text-decoration: underline!important;
	position: relative;
	margin-right: 1.5em;
}
.ico_pdf::after {
	content: "";
	display: inline-block;
	width: 13px;
	height: 15px;
	background-image: url( "../img/page/ico_pdf.png");
	-webkit-background-size: 13px auto;
	background-size: 13px auto;
	background-repeat: no-repeat;
	background-position: 0 0;
	position: relative;
	top: auto;
	right: auto;
	margin-left: 0.3em;
}

/* TOP
------------------------------- */
.slick-dots {
	padding-bottom: 2vw;
}
.slick-dots > li {
	padding: 0 1.5vw;
}
.slick-dots > li button {
	width: 3vw;
	height: 3vw;
	-moz-border-radius: 3vw;
	-webkit-border-radius: 3vw;
	border-radius: 3vw;
}

/*重要なおしらせ*/
.top_info_wrap {
	background-image: url( "../img/home/base.png");
	background-position: 0 0;
	-webkit-background-size: 100% 100%;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.top_info {
	padding: 3vw;
	height: auto;
	max-height: none;
}
.top_info_post{
	width: 100%;
	color: #fff;
}
.top_info_post h2{
	padding: 0;
	display:block;
	font-size: 1.6rem;
	color: #fff;
	margin: 0;
	height: 5vw;
	line-height: 5vw;
	margin-bottom: 2vw;
}
.icoEx {
	min-height: 5vw;
	padding-left: 6vw !important;
	background-image: url( "../img/home/icon.png");
	background-position: 0 center;
	-webkit-background-size: 5vw auto;
	background-size: 5vw auto;
	background-repeat: no-repeat;
}
.top_info_post span {
	height: 5vw;
	line-height: 5vw;
	padding: 0 0.5em;
	font-size: 1.2rem;
}
.info_date {
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-size: 1.5rem !important;
}
.info_cate {
	background-color: #555;
	font-size: 1.1rem !important;
	display: inline-block;
	color: #fff;
	min-width: 26vw;
	height: 5vw;
	line-height: 5vw;
	text-align: center;
}
.top_info_post .info_cate {
	margin: 0 0.8em;
}
.info_title{
	display: block;
	height: auto!important;
}

/*NEWS*/
.ttl_h2A {
	position: relative;
	text-align: center;
	font-family: 'Inder', sans-serif;
	font-style: italic;
	font-size: 5.2rem;
	color: #0087b6;
	line-height: 1.4;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0;
}
.ttl_h2A small{
	display: block;
	font-size: 1.6rem;
	color: #555;
	font-style: normal;
}
.btn_more {
	display: inline-block;
	min-width: 10vw;
	height: 7vw;
	line-height: 7vw;
	padding: 0 2em 0 1em;
	font-size: 1.2rem;
	font-style: normal;
	text-align: center;
	color: #fff !important;
	background-color: #555;
	background-image: url( "../img/home/arrow.png");
	background-position: right 2vw center;
	background-repeat: no-repeat;
	background-size: 1.4vw auto;
}
.ttl_h2A .btn_more{
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
transform: translateY(-50%);

}
.news_wrap {
	background-color: #f5f5f5;
	background-image: url( "../img/home/screen.png");
	background-position: right bottom;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	padding-top: 0;
	padding-bottom: 8vw;
	margin-bottom: 12vw;
}
.news_list {
	margin-bottom: 2vw;
	border-bottom: 1px solid #ccc;
	padding-bottom: 2vw;
}
.news_list .cell_block{
	text-align: left;
	vertical-align: top;
	width: auto;
}
.news_list .cellA {
	padding-left: 0;
	display: inline-block !important;
	width: 18vw !important;
}
.news_list .cellB {
	display: inline-block !important;
	width: auto !important;
}
.news_list .cellC{
	padding-top: 1px;
	font-weight: 300;
}

/*タイトル部分*/
.home_h1_wrap {
	margin-bottom: 12vw;
	padding-top: 4vw;
}
.home_h1 {
	text-align: center !important;
	font-size: 2.0rem;
	color: #0087b6;
	line-height: 1.4 !important;
}

/*バナー部分*/
.home_bnrA_wrap {
	margin-bottom: 12vw;
}
.home_bnrA {
	position: relative;
	padding-top: 9vw;
	padding-left: 0 !important;
	padding-right: 0 !important;
	overflow: hidden;
	padding-bottom: 9vw;
}
.home_bnrA + .home_bnrA{
	margin-top: 8vw;
}
.home_bnrA_bg {
	display: block;
	width: 130%;
	max-width: none;
	margin-right: auto;
	margin-left: -26vw;
}
.home_bnrA_in {
	width: 70%;
	height: 60vw;
	position: absolute;
	top: 0;
	right: 3vw;
	padding: 3vw 5vw;
	color: #fff;
	text-align: left;
	background-image: url( "../img/home/home_bnrA_bgBlu.png");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% 100%;
}
.home_bnrA_in.left_pos {
	left: 3vw;
	right: auto;
}
.bgYl{
	background-image: url( "../img/home/home_bnrA_bgYl.png")!important;
}
.bgRd{
	background-image: url( "../img/home/home_bnrA_bgRd.png")!important;
}
.home_bnrA_ttl {
	font-family: 'Inder', sans-serif;
	font-size: 4.2rem;
	line-height: 1.2;
	color: #fff;
	position: relative;
	margin-bottom: 3vw;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	padding-bottom: 4vw;
	margin-left: auto;
	margin-right: auto;
}
/*.home_bnrA_ttl::after{
	content: "";
	display: block;
	width: 10vw;
	border-bottom: 1px solid #fff;
	position: absolute;
	left: 0;
	bottom: 0;
}*/
.home_bnrA_ttl span {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1rem;
	line-height: 1.4;
	padding-top: 1vw;
	display: block;
}
.home_bnrA_ttl small{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 0.7em;
}
.home_bnrA_in p{
	line-height: 1.6!important;
	margin-bottom: 0 !important;
}

.home_bnrB_wrap{
	padding-bottom: 4vw;
}
.home_bnrB > li {
	width: 100%;
	position: relative;
}
.home_bnrB > li .home_bnrB_img{
	display: block;
	width: 100%;
}
.home_bnrB_ttl{
	width: 100%;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
transform: translateY(-50%) translateX(-50%);
	color: #214f75;
}
.home_bnrB_ttl h3 {
	font-size: 2.2rem;
	color: #214f75;
	letter-spacing: 0.2em;
}
.home_bnrB_ttl p {
	font-size: 1.3rem;
	text-align: center !important;
	line-height: 1.4 !important;
	padding-top: 1.5vw;
	font-weight: 300;
	letter-spacing: 0.15em
}
.home_bnrB > li .btn_wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	font-size: 0;
	text-align: center;
	padding-bottom: 4vw;
}
.home_bnrB_btn {
	display: inline-block;
	width: 36vw;
	height: 8vw;
	background-image: url("../img/home/home_bnrB_btn.png"),url( "../img/home/home_bnrB_btn_bg.png");
	background-size: 1.6vw auto,100% 100%;
	background-repeat: no-repeat,no-repeat;
	background-position: right 15px center,0 0;
	font-size: 1.2rem;
	line-height: 8vw;
	text-align: center;
	color: #000000;
	margin: 0 !important;
}
.home_bnrB_btn.blue{
	background-image:url("../img/home/home_bnrB_btn_wh.png"),url( "../img/home/home_bnrB_btn_bg_blu.png");
	color: #fff!important;
}
.home_bnrA_in{
	z-index: 3;
}
.home_bnrA img {
    z-index: 1;
}


/* 虫図鑑
------------------------------- */
.anchor_wrap{
	position: relative;
	overflow: hidden;
}
.anchor_wrap > div{
	position: absolute;
	top: -16vw;
	left: 0;
}
.zukan_container{
	overflow: hidden;
}
.anchor_list_wrap{
	margin-bottom: 8vw;
   width : -webkit-calc(100% + 14.6vw) ;
   width : calc(100% + 14.6vw) ;
	margin-left: -7.3vw;
	margin-right: -7.3vw;
	overflow: hidden;
}
.tbb_anchor_list .cell_block{
	width: 20%;
	height: 16vw;
}
.tbb_anchor_list .cellA{
	background-color: #f5f5f5;
	font-weight: bold;
    font-size: 3.25vw;
}
.tbb_anchor_list .cellB{
	background-color: #0087b6;
	color: #fff!important;
	border-right: 1px solid #fff;
	font-size: 1.2rem;
}
.tbb_anchor_list .cellB:last-child{
	border-right: 0;
}
.tbb_anchor_list .cellB .zukan_arrow{
	display: block;
	margin: 1vw auto 0
}

.zukan_list {
	margin-top: 5vw;
	margin-bottom: 10vw;
}
.zukan_list > li {
	width: 100%;
	padding: 4vw;
}
.zukan_list > li:nth-child(odd),.zukan_list > li:nth-child(even),.zukan_list > li:nth-last-child(2) {
    border:none;
}
.zukan_list > li {
    border-top: 1px solid #ccc!important;
	border-left: 1px solid #ccc!important;
    border-right: 1px solid #ccc!important;
}
.zukan_list > li:last-child {
    border-bottom: 1px solid #ccc;
}
.zukan_list > li.gry{
	background-color: none;
}
.zukan_list > li:nth-of-type(2n) {
	background-color: #fafafa;
}
.zukan_list > li h3{
	margin-bottom: 10px;
}
.zukan_list > li h3.blue{
	color: #0087b6;
}
.matchHeight_3 li a {
    color:#0087b6;
    text-decoration:underline;
}
.matchHeight_3 li a:hover {
    text-decoration:none!important;
}
.matchHeight_3 {
    background-color:#fff;
}
.zukan_container .box {
    padding:1em;
}
/*.zukan_container ol.yoko > li, .zukan_container ul.yoko > li {
    margin-right:1em;
}*/
.matchHeight_3 ol.fx_zukan {
    list-style:square;
}
.matchHeight_3 ol.fx_zukan li {
    width:100%;
}
.matchHeight_3 ol.fx_zukan li.con_none {
    margin-left:1.5em;
}
.zukan_container .ico_pdf {
    margin-right:0;
}
.matchHeight_3 li a.pdf2 {
    color:#0087b6;
    text-decoration:underline;
    position:relative;
    height:3em;
    line-height:1.5;
    overflow:hidden;
}
.matchHeight_3 li a.pdf2:after {
    content: "";
    display: inline-block;
    width: 13px;
    height: 15px;
    background-image: url(../img/page/ico_pdf.png);
    -webkit-background-size: 13px auto;
    background-size: 13px auto;
    background-repeat: no-repeat;
    background-position: 0 0;
    position: relative;
    top: auto;
    right: auto;
    margin-left: 0.3em;
}


/* お問い合わせ
------------------------------- */

.hissu {
	display: inline-block;
	text-align: center;
	padding: 1vw 1vw 0.6vw;
	background-color: #d50000;
	font-size: 1.1rem;
	line-height: 1;
	color: #fff;
	vertical-align: middle;
	margin-bottom: 0.5vw;
}
input,textarea {
    font-size:16px;
}
.submit_wrap {
	padding: 6vw 0;
	text-align: center;
}
.submit_wrap input {
	width: 90%;
	height: 14vw!important;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
	border: none;
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	background-position: 90% center!important;
	background-repeat: no-repeat!important;
	background-image: url(../img/contact/arrow.png)!important;
	background-color: #d9961a!important;
	display: block;
	margin-left: auto;
	margin-right: auto;
    transition:0.3s;
}
.submit_wrap input:hover{
	background-position: 90% center!important;
	background-repeat: no-repeat!important;
	background-image: url(../img/contact/arrow.png)!important;
	background-color: #d9961a!important;
    cursor: pointer;
	opacity:0.7;
	filter:alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

.contact_container .column-1{
	width: 100%;
}
.contact_container .column-1 .ttl_h3 + div.al_r{
	margin-bottom: 9vw;
}
.tbb_contact{
	margin: 5vw auto;
    padding-bottom:5vw;
    border-bottom:solid 1px #ccc;
}
.tbb_contact > .cell_block{
	text-align: left;
	vertical-align: top;
	width: auto;
}
.tbb_contact > .cellB {
	padding-top: 1vw;
}
.tbb_contact label{
	display: block;
	padding: 1vw 0;
}
.tbb_contact input[type="text"],
.tbb_contact input[type="email"]
{
	display: inline-block;
	width: 100%;
	height: 10vw;
	border: 1px solid #ccc;
	padding: 0 0.5em;
}
.tbb_contact .input_tel input[type="text"],
.tbb_contact .input_yubin input[type="text"]
{
	display: inline-block;
	width: 30%;
}
.tbb_contact .input_tel input[type="text"]:first-child,
.tbb_contact .input_yubin input[type="text"]:first-child {
	width: 20%;
}
.tbb_contact textarea{
	display: inline-block;
	width: 100%;
	border: 1px solid #ccc;
	padding: 0 0.5em;
}

.tbb_contact_child .cell_block{
	text-align: left;
	width: auto;
}
.tbb_contact_child .cellA{
	width: 12vw;
}
.tbb_contact .oder_table input[type="text"]
{
	display: inline-block;
	width: 4em;
	margin-right: 0.5em;
}
.tbb_contact select{
	display: inline-block;
	height: 10vw;
	border: 1px solid #ccc;
	padding: 0 0.5em;
}
.tbb_contact .cellB span {
    color:#d50000;
}

@media all and (-ms-high-contrast: none){
.tbb_contact select{
	padding-right: 0;
}
}
.oder_table th,
.oder_table td{
	padding-top: 5px;
	padding-bottom: 5px;
	vertical-align: middle;
	border-bottom: 1px solid #ccc;
}
.oder_table th{
	vertical-align: top;
	font-weight: bold;
}
.oder_table > tbody > tr > th:last-child{
	width: 30vw!important
}
dl.table_list > span dt {
    width:45%;
}
dl.table_list > span dd {
    width:52%;
}

.btn_fx, .btn_color,.btn_color_product {
    flex-direction: column;
    justify-content: center;
}

.btn_fx a, .btn_color a,.btn_color_product a,.btn_color_product a.blue {
    width:100%;
}

.btn_fx a:first-child,.btn_color a:first-child,.btn_color_product a:first-child {
    margin-bottom:1em;
}
.btn_color_product a li {
    padding:0 8px;
}
.adr_fx {
    flex-direction: column;
    justify-content: center;
}
.adr_fx li {
    display:block;
    width:100%;
}
.adr_fx .adr_left {
    width:100%;
    margin-bottom:1em;
}

a.btn_right {
    width:100%;
}

.one-col img {
    width:100%;
}
.one-col figure {
    margin:0 auto;
}
.note {
    font-size:0.875em;
    color:red;
}
.mission {
    align-items:;
}
.mission li.Service_circle,.mission li.Product_circle,.mission li.Rd_circle{
    width:120px;
    height:120px;
}
.mission div {
    margin-bottom:20px;
    display:flex;
    align-items:center;
}
.mission div > li {
}
.mission div > li:nth-child(2) {
    width:calc(100% - 140px);
}
.mission li.under{
    width:100%;
    margin-left:0;
    margin-top:0;
}

.mission h2 {
    font-size:2.2rem;
    padding:0;
    margin:0;
    line-height:1.4em;
}
.mission span {
    font-size:1.5rem;
}
.Service_circle,.Product_circle,.Rd_circle {
    width: 140px;
    height: 140px;
}
.Service_circle span,.Product_circle span,.Rd_circle span {
    font-size:  24px;
    width :120px;
}

ol.list_col2 {
    flex-direction:column;
}
ol.list_col2 > li {
    width:100%;
}

.triangle3{
    width: 0;
    height: 0;
    margin:0 auto;
    border-left: 100px solid transparent;
    border-right: 100px solid transparent;
    border-top: 30px solid #0087b6;
}

.cell_block ol.list_disc {
    margin-left:1.5em;
}

/* サイトマップ
------------------------------- */

.site_flex div {
    width:100%;
}

.site_flex > div {
    margin-bottom:3em;
}
.site_flex > div a {
    color:#0087b6;
}
.site_flex > div a:hover {
    text-decoration:underline;
}
.site_flex ol {
    padding-left:2.5em;
}
.site_flex li {
    list-style: square;
}