@charset "UTF-8";
/* =============================================

common.css

==============================================*/
/* CSSリセット
----------------------------------------------*/
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
border: 0;
font-size: 100%;
font-style: normal;
font-weight: 400;
margin: 0;
padding: 0;
vertical-align: baseline
}
blockquote:after, blockquote:before, q:after, q:before {
content: '';
content: none
}
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
a img {
transition: opacity .5s ease-out;
}
a:hover img {
filter: alpha(opacity=80);
opacity: .8
}
a:focus {
outline: 0
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block
}
html {
overflow-y: scroll
}
blockquote, q {
quotes: none
}
input, textarea {
margin: 0;
padding: 0
}
ol, ul {
list-style: none
}
table {
border-collapse: collapse;
border-spacing: 0
}
caption, th {
text-align: left
}
area {
border: 0 0;
outline: 0
}
.cf {
min-height: 1px
}
.cf:after {
content: "";
clear: both;
display: block
}
small {
font-size: small;
}
.text-center {
text-align: center;
}
ul.disc {
padding:0 0 0.2em 1em;
}
ul.disc li {
padding-left: 16px;
position: relative;
}
ul.disc li:before {
content: '・';
position: absolute;
left: 0;
}
ol.alpha {
padding:0 0 0 1em;
}
ol.alpha li {
list-style-type: lower-alpha;
font-weight: bold;
}

/* HTML要素 
----------------------------------------------*/

strong, em {
font-style: normal;
}
strong {
font-weight: bold;
}
a {
vertical-align: baseline;
zoom: 1;
color: inherit;
}
a:hover {
text-decoration: none;
}
img {
height: auto;
max-width: 100%;
vertical-align: middle;
}
input {
font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
html {
font-size: 62.5%;
}
body {
-webkit-text-size-adjust: none;
background-color: #fff;
background-position: top center;
background-repeat: no-repeat;
background-size: contain;
color: #333;
font-family: "メイリオ", "Meiryo", sans-serif;
line-height: 1.6;
font-size: 1.4rem;
}
button {
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
appearance: none;
}

.blue {
	color: rgba(79,129,189);
}

/* 調整クラス 
----------------------------------------------*/
.l_mgb20 {
margin-bottom: 20px;
}

/* 仕様
----------------------------------------------
幅 1000px
ブレークポイント 640px
グレー　a0a0a0;
紫　543c80
文字色　#333333
----------------------------------------------*/
.l_inner {
width: 100%;
max-width: 1000px;
margin: 0 auto;
}
.s_pc_hidden {
display: none;
}
.s_sp_hidden {
display: block;
}
.s_sp_hidden_02 {
display: inline-block;
}
.l_txt_02 {
font-size: 1.7rem;
}
.l_txt_03 {
font-size: 1.2rem;
}
.l_txt_indent {
text-indent: 10px;
}
/* header要素 
----------------------------------------------*/
.m_sp_gnav {
display: none;
}
header {
border-bottom: 4px solid #ee3226;
}
header .l_inner {
position: relative;
}
/*#e_logo {
max-width:280px; 
float: left;
padding: 30px 0 26px;
}*/
#e_logo {
/*max-width:360px; */ /*2021.10 edit*/
max-width:345px;
float: left;
padding: 18px 0 18px;
}
.m_btn_menu {
display: none;
}
.drawer-menu {
transform: none !important;
}
.m_menu .e_gnav {
float: right;
/*margin-right: 10px;*/
box-sizing: border-box;
}
.m_menu .e_list li {
display: inline-block;
}
/*.m_menu .e_gnav > .e_list > .e_li {
padding: 38px 0 41px;
}
.m_menu .e_list > .e_li:first-child{
margin-right: 12px;
}*/
.m_menu .e_gnav > .e_list > .e_li {
	padding: 20px 0 15px;
}
.m_menu .e_list > .e_li:nth-child(n+2){
	margin-left: 12px;
}

/*
.m_menu .e_list > .e_li:nth-child(2) {
margin-right: 10px;
}
*/
.m_menu .e_list > li > a {
position: relative;
font-size: 1.6rem;
margin-right: 16px;
}
.m_menu .e_list > li > a.current,
.m_menu .e_list > li > a:hover {
color: #ee3226;
}
.m_menu .e_list > li.e_contact > a.current,
.m_menu .e_list > li.e_contact > a:hover {
color: #333;
}
.m_menu .e_list > li.e_contact > a:hover {
background: #fafafa;
}
.m_menu .e_list > li > a:before {
content: url(../imgs/common/arrow_down01.jpg);
position: absolute;
right: -16px;
bottom: 1px;
}
/*
.m_menu .e_list > li:nth-child(2) > a:before {
content: none;
}
*/
.m_menu .e_list > li > a.s_slideDown:before {
content: url(../imgs/common/arrow_up02.png);
}
/*
.m_menu .e_list > li:nth-child(2) > a.s_slideDown:before {
content: none;
}
*/
.m_menu .s_list_hidden {
display: none;
text-align: center;
position: absolute;
width: 100%;
max-width: 1000px;
left: 0;
top: 80px;
padding: 33px 30px;
background: #eee;
z-index: 10000;
box-sizing: border-box;
}
.m_menu .s_list_hidden:before {
content: "";
position: absolute;
top: -23px;
left: 44%;
border: 12px solid transparent;
border-bottom: 12px solid #eee;
z-index: 10000;
}
.m_menu .e_list > .e_li:nth-child(2) .s_list_hidden:before {
	left: 67%;
}
.m_menu .e_list > .e_li#gmenu04 .s_list_hidden:before {
	left: auto;
	right: 5%;
}
.m_menu .e_list > .e_li#gmenu03 .s_list_hidden:before {
	left: auto;
	right: 26%;
}
.m_menu .e_list > .e_li#gmenu02 .s_list_hidden:before {
	left: auto;
	right: 35%;
}
.m_menu .e_list > .e_li#gmenu01 .s_list_hidden:before {
	left: auto;
	right: 54%;
	/*right: 35%;*/
}
.m_menu .s_list_hidden > li {
margin: 0 15px;
}
.m_menu .s_list_hidden > li:first-child {
margin-left: 0;
}
.m_menu .s_list_hidden > li:last-child {
margin-right: 0;
}
.m_menu .s_list_hidden .e_li > a:hover {
color: #ee3226;
}
/*.m_menu .e_list > li.e_contact {
margin-left: 6px;
}*/
.m_menu .e_list > li.e_contact {
	margin-left: 12px;
}
.m_menu .e_list > li.e_contact > a {
padding: 6px 10px 6px 40px;
position: relative;
border: 1px solid #dcdcdc;
margin-right: 0;
font-size: 1.3rem;
}
.m_menu .e_list > li.e_contact > a:before {
content: none;
}
.m_menu .e_list > li.e_contact > a:before {
content:url(../imgs/common/ico_contact.jpg);
position: absolute;
left: 10px;
top: 50%;
margin-top: -7px;
}

.m_menu .e_list > li.e_cart {
	margin-left: 12px;
	position: relative;
	z-index: 10;
}
.m_menu .e_list > li.e_cart .headcart_redow {
	padding: 6px 40px 6px 10px;
	position: relative;
	background-color: #eef1f2;
	margin-right: 0;
	font-size: 1.3rem;
	cursor: default;
}
.m_menu .e_list > li.e_cart .headcart_redow:before {
    content: url(../imgs/common/icon_cart.png);
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 21px;
    height: 18px;
}
.m_menu .e_list > li.e_cart .link_list {
	position: absolute;
	width: 100%;
	padding-top: 8px;
	display: none;
}
.m_menu .e_list > li.e_cart .link_list li {
	width: 100%;
}
.m_menu .e_list > li.e_cart .link_list li:not(:first-child) {
	padding-top: 1px;
}
.m_menu .e_list > li.e_cart .link_list li a {
	background-color: #eef1f2;
    padding: 6px 10px 6px 40px;
    position: relative;
    width: 100%;
    display: inline-block;
    box-sizing: border-box;
}
.m_menu .e_list > li.e_cart .link_list li a:hover {
	background-color: #dcdcdc;
}
.m_menu .e_list > li.e_cart .link_list li a::before {
	content: url(../imgs/common/arrow_right04.png);
    position: absolute;
    left: 10px;
    top: auto;
    transform: none;
    width: 5px;
    height: 7px;
}

/* 追加：言語切替ボタン */
.m_menu .e_list.btn {
    display: flex;
    justify-content: flex-end;
    margin-top: 25px;
}
/*.m_menu .e_list > li.e_lang {
margin-left: 12px;
}*/
.m_menu .e_list > li.e_lang > a {
padding: 6px 10px 6px 20px;
position: relative;
background-color: #eeeeee;
margin-right: 0;
font-size: 1.3rem;
}
.m_menu .e_list > li.e_lang > a:before {
content: none;
}
.m_menu .e_list > li.e_lang > a:before {
content:url(../imgs/common/arrow_right01.png);
position: absolute;
left: 10px;
top: 50%;
margin-top: -9px;
}

.m_menu .e_list > li.e_lang > a.current,
.m_menu .e_list > li.e_lang > a:hover {
color: #333;
}
.m_menu .e_list > li.e_lang > a:hover {
background: #dcdcdc;
}

/*  段崩れ対応
------------------------*/
@media screen and (max-width: 979px) {
/*.m_menu .e_gnav > .e_list > .e_li {
padding-top: 0;
padding-bottom: 20px;
}*/
}
@media screen and (max-width: 750px) {
/*.m_menu .e_list > li.e_contact {
margin-bottom: 20px;
}*/
}

/* footer要素
----------------------------------------------*/
footer {
position: relative;
}
.m_column2_txtright + footer {
margin-top: 70px;
}
.m_footer_nav {
border-top: 1px solid #b2b2b2;
text-align: center;
padding: 27px 0 29px;
}
.m_footer_nav .e_li {
display: inline-block;
}
.m_footer_nav .e_li a {
padding: 0 21px;
border-right: 1px solid #777;
font-size: .85em;
}
.m_footer_nav .e_li:last-child a {
border-right: none;
}
.m_footer_nav .e_li a:hover {
text-decoration: underline;
}
address {
background-color: #ee3226;
color: #fff;
text-align: center;
font-size: 1.1rem;
padding: 12px 0;
}
.m_page_top {
position: fixed;
bottom: 76px;
right: 76px;
padding: 13px 10px 15px;
opacity: .8;
}
/* #contents要素
----------------------------------------------*/

/* 共通要素
----------------------------------------------*/

/* ローカルナビゲーション */
.m_subnav {
width: 100%;
background-color: #f5f5f5;
}
.m_subnav .e_ttl {
display: none;
}
.e_list_subnav {
padding: 10px 0;
overflow: hidden;
}
.e_li_subnav {
float: left;
font-size: 1.3rem;
}
.e_li_subnav.current a {
font-weight: bold;
color: #e02f24;
}
.e_li_subnav {
border-right: 1px solid #dddddd;
}
.e_li_subnav a {
padding: 0 20px;
}
.m_subnav_ir .e_li_subnav a {
padding: 0 14px;
}
.e_list_subnav > .e_li_subnav:first-child a {
padding-left: 0;
font-weight: bold;
}
.e_list_subnav > .e_li_subnav:last-child {
border-right: none;
}
/* 区切り線 */

/* パンくず */
.e_bredcrumbs {
padding: 10px;
}
.e_li_breadcrumbs {
display: inline-block;
margin-right: 13px;
position: relative;
font-size: 1.2rem;
padding-left: 17px;
background:url(../imgs/common/arrow_right01.png) no-repeat left 4px;
}
.e_li_breadcrumbs:first-child {
background:none;
padding-left: 0;
}

/* タイトル */

/*lv2*/
.e_ttl_lv2{
margin-bottom: 55px;
}
.e_ttl_lv2 img,
.e_ttl_sub{
display: block;
margin: 0 auto;
text-align: center;
}
.e_ttl_lv2 img {
margin-bottom: 15px;
}
.m_ttl_lv2_02 {
text-align: center;
}
.e_ttl_lv2_02 {
font-size: 2.6rem;
font-weight: bold;
display: inline-block;
text-align: center;
padding: 0 35px;
/*margin-bottom: 70px;*/
margin-bottom: 55px;
/*border-bottom: 1px solid #acacac;*/
}
.m_ttl_lv2_03 {
font-size: 2.2rem;
font-weight: bold;
display: block;
text-align: center;
margin-bottom: 35px;
}
.m_ttl_lv2_04 {
color: #ee3226;
font-size: 3.5rem;
font-weight: bold;
margin-bottom: 60px;
}
/*lv3*/
.m_ttl_lv3_01 {
font-size: 2rem;
border-left: 8px solid #919191;
padding-left: 10px;
margin-bottom: 30px;
text-align: left;
}
.m_ttl_lv3_02 {
text-align: center;
font-weight: bold;
font-size: 2.1rem;
margin-bottom: 15px;
}
.m_ttl_lv3_03 {
font-size: 2.2rem;
font-weight: bold;
margin-bottom: .6em;
}
.m_ttl_lv3_04 {
	font-size: 2rem;
	font-weight: 600;
	text-align: left;
	color: #ee3226;
    border-left: 8px solid #ee3226;
    padding-left: 10px;
	margin-bottom: 15px;
    margin-top: 30px;
}
.e_ttl_lv3_05 {
font-size: 1.7rem;
font-weight: bold;
margin-top: 20px;
margin-bottom: 8px;
}
/*lv4*/
.m_ttl_lv4_01 {
border-bottom: 1px solid #eee;
padding-bottom: 3px;
}
.m_ttl_lv4_02 {
font-size: 2rem;
font-weight: bold;
margin-bottom: .5em;
text-align: center;
}
.m_ttl_lv4_03 {
font-size: 2rem;
text-align: center;
margin-bottom: 30px;
}
/*lv5*/
.m_ttl_lv5_01 {
border-left: 10px solid #d4d4d4;
font-weight: bold;
padding: 1px 0 1px 7px;
font-size: 1.5rem;
margin-bottom: 15px;
margin-top: 30px;
}
.m_ttl_lv2_02 + .m_ttl_lv5_01 {
margin-top: 0;
}

/* message 
----------*/
.e_ttl_lv2_02.sp_message_ttl {
margin-bottom: 45px;
}


/* philosophy 
----------*/
.e_ttl_lv2_02.sp_philosophy_ttl {
margin-bottom: 45px;
}

/* officer 
----------*/
.e_ttl_lv2_02.sp_officer_ttl {
margin-bottom: 40px;
}


/* セクション */
.l_box {
padding-top: 60px;
}
.m_ttl_lv2_02 + .l_box {
padding-top: 0px;
}
.l_box_02 {
padding-top: 70px;
padding-bottom: 70px;
}
.l_box_03 {
padding-top: 0;
padding-bottom: 40px;
}
.l_box_04 {
padding-top: 0;
padding-bottom: 40px;
}
.l_box_05 {
padding-top: 0;
padding-bottom: 70px;
}
.l_box_06 {
padding-top: 70px;
padding-bottom: 70px;
}
.l_box_02 {
padding-top: 55px;
padding-bottom: 40px;
}
.l_box_06 {
padding-top: 40px;
padding-bottom: 40px;
}
.l_box_center {
text-align: center;
}
/* 背景色 */
.l_box_color2 {
background-color: #eeeeee;
}
.l_box_color3 {
background-color: #b2b2b2;
color: #fff;
text-align: center;
}
.l_box_color4 {
background-color: #f5f5f5;
}
.l_tal {
text-align: left;
}

.l_box_left {
float: left;
}
.l_box_right {
float: right;
}


/* メインビジュアル */
.main_img {
width: 100%;
height: auto;
}
.main_img img {
width: 100%;
height: auto;
}
/* リスト */
/*e_list_column3*/
.m_column3 .e_list {
overflow: hidden;
padding-bottom: 5px;
}
.m_column3 .e_li {
float: left;
width: 31%;
height: auto;
margin-right: 3.5%;
margin-bottom: 50px;
min-height: 250px;
}
.m_column3 .e_list .e_li:nth-child(3n) {
margin-right: 0;
}

/* 表組み */

/* 段落*/

/*m_table01*/
.m_table01 {
margin: 0 auto;
width: 80%;
}
.m_table01 th,
.m_table01 td {
border: 1px solid #b2b2b2;
padding: 5px 8px;
}
.m_table01 th {
background-color: #eee;
width: 22%;
}
.m_table01 td {
text-align: left;
}
.m_table01 td a:hover {
text-decoration: underline;
}
/*m_table02*/
.m_table02 {
margin: 0 auto;
width: 95%;
}
.m_table02 th,
.m_table02 td {
border: 1px solid #b2b2b2;
padding: 5px 8px;
}
.m_table02 th {
background-color: #eee;
width: 20%;
text-align: center;
}
.m_table02 tr td:nth-child(2) {
text-align: left;
}

/* ボタン */

/* リード */
/*e_lead01*/
.e_lead01 {
color: #ee3226;
font-size: 1.6rem;
padding-left: 18px;
margin-top: 10px;
margin-bottom: 20px;
position: relative;
}
.e_lead01:before {
content: url(../imgs/common/arrow_right03.jpg);
position: absolute;
left: 4px;
}
.e_lead01.nolink {
color: #333;
}
.e_lead01.nolink:before {
content: url(../imgs/common/dot_right01.png);
}
#eirDownloadBtn {
background: #888!important;
border: 1px solid #888!important;
margin-bottom: 8px; /*2021.10 Add*/
}

.e_lead02 {
border: 2px solid #eee;
margin-bottom: 40px;
text-align: center;
}
.e_lead02 a {
display: block;
font-size: 2rem;
padding: 15px 10px;
}
.e_lead02 a:hover {
text-decoration: underline;
}
.e_lead03 {
color: #ee3226;
font-size: 2.2rem;
font-weight: bold;
margin-bottom: 20px;
}

/* ==================================
  スマホ用
================================== */

@media screen and (max-width: 1040px) {
	.l_inner {
	width: calc(100% - 20px);
	margin: 0 auto;
	}
}

@media screen and (max-width: 641px) {
	.s_pc_hidden {
	display: block;
	}
	.m_sp_gnav {
	display: block;
	}
	.m_menu {
	display: none;
	}
 	header {
	padding: 15px 0;
	}
	.s_sp_hidden {
	display: none !important;
	}
	.s_sp_hidden_02 {
	display: none;
	}
	.s_pc_hidden {
	display: block;
	}
	.m_btn_menu {
	display: block;
	float: right;
	margin-right: 18px;
	margin-top: 17px;
	height: auto;
	width: 25px;
	height: 4px;
	background: #535353;
	position: relative;
	}
	.m_btn_menu:before {
	content: '';
	position: absolute;
	left: 0;
	top: -9px;
	width: 25px;
	height: 4px;
	background: #535353;
	}
	.m_btn_menu:after {
	content: '';
	position: absolute;
	left: 0;
	top: 9px;
	width: 25px;
	height: 4px;
	background: #535353;
	}
	.l_inner {
	width: calc(100% - 20px);
	margin: 0 auto;
	}

	/* header
----------------------------------------------*/
	header .l_inner {
	width: 100%;
	position: relative;
	}
	#e_logo {
	margin-left: 10px;
	max-width: 60%;
	padding: 0;
	margin-top: -10px;
	margin-bottom: -10px;
	}
	.drawer--right.drawer-open .drawer-hamburger {
	right: 90%;
	}
	.drawer--right .drawer-nav {
	right: -90%;
	}
	.m_menu {
	display: none;
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	z-index: 5000;
	background: #fff;
	opacity: 1;
	}
	.m_menu .e_gnav {
	float: none;
	margin-left: 0;
	padding-top: 0;
	}
	.m_menu .e_gnav > .e_list > .e_li {
	display: block;
	padding: 10px 0;
	border-bottom: 1px solid #d4d4d4;
	}
	.m_menu .e_gnav > .e_list > .e_li:last-child {
	margin-bottom: 0;
	border-bottom: none;
	}
	.m_menu .e_gnav > .e_list > .e_li:first-child,
	.m_menu .e_gnav > .e_list > .e_li:nth-child(2) {
	margin-right: 0;
	}
	.m_menu .e_gnav > .e_list > .e_li.e_contact {
	margin: 20px auto 0;
	text-align: center;
	}
	.m_menu .e_gnav > .e_list > .e_li > a {
	display: block;
	}
	.m_menu .e_gnav > .e_list > .e_li > a:before {
	content: url(../imgs/common/arrow_down01.jpg);
	}
	.m_menu .e_gnav >.e_list > .e_li:nth-child(2) > a:before {
	content: none;
	}
	.m_menu .e_gnav > .e_list > .e_li > a.s_slideDown:before {
	content: url(../imgs/common/arrow_up02.png);
	}
	.m_menu .e_gnav > .e_list > .e_li.e_contact > a:before {
	left: -39%;
	}
	.m_menu .s_page_item_has_children {
	pointer-events: none;
	}
	.m_menu .s_list_hidden {
	position: relative;
	top: 10px;
	left: 0;
	padding: 15px;
	margin-bottom: 20px;
	box-sizing: border-box;
	pointer-events: none;
	}
	.m_menu .s_list_hidden.s_list_hidden_2nd {
	top: 0;
	padding-top: 0;
	}
	.m_menu .s_list_hidden:before {
	content: none;
	}
	.m_menu .e_list .s_list_hidden > li {
	display: block;
	margin: 0;
	margin-bottom: 7px;
	text-align: left;
	border-bottom: 1px solid #d4d4d4;
	}
	.m_menu .s_list_hidden > li a {
	padding: 10px 0;
	display: block;
	}
	.m_menu .e_list .s_list_hidden > li > .s_pc_hidden > .e_li {
	display: block;
	padding-left: 15px;
	border-bottom: 1px solid #d4d4d4;

	}
	.m_menu .e_list > li.e_contact{
	float: none;
	margin-top: 20px;
	margin-left: 0;
	}

/* ==================================
  スマホグロナビ2
================================== */
	.m_sp_gnav {
	display: none;
	width: 100%;
	background: #fff;
	position: absolute;
	z-index: 10000;
	}
	.m_sp_gnav .e_li{
	padding: 15px 5px;
	border-bottom: 1px solid #d4d4d4;
	}
	.m_sp_gnav .e_li > a {
	display: block;
	}
	.m_sp_gnav .s_slideDown {
	cursor: pointer;
	}
	.m_sp_gnav .s_slideDown span {
	position: relative;
	display: block;
	}
	.m_sp_gnav .s_slideDown span:after {
	content: url(../imgs/common/arrow_down01.png);
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -10px;
	}
	.m_sp_gnav .s_slideDown.s_open > span {
	border-bottom: 1px solid #d4d4d4;
	padding-bottom: 15px;
	}
	.m_sp_gnav .s_slideDown.s_open > span:after {
	content: url(../imgs/common/arrow_up02.png);
	margin-top: -20px;
	}
	.m_sp_gnav .s_list_hidden {
	display: none;
	}
	.m_sp_gnav .s_slideelem {
	background: #eee;
	margin: 10px 5px;
	}
	.s_list_hidden_2nd.s_slideelem {
	background: #fff;
	}
	.m_sp_gnav .s_slideelem > .e_li a {
	display: block;
	}
	.m_sp_gnav .e_sp_contact {
	position: relative;
	}
	.m_sp_gnav .e_sp_contact:before {
	content: ;
	position: absolute;
	}
	
	/* 追加：言語切替ボタン */
	.m_sp_gnav .e_sp_lang {
	position: relative;
	padding: 10px 5px;
	background-color: #eeeeee;
	font-size: 0.9em;
	}
	.m_sp_gnav .e_sp_lang a {color: #666;}
	.m_sp_gnav .e_sp_lang:before {
	content: ;
	position: absolute;
	}
	
	/* subnav
	--------------*/
	.m_subnav {
	background-color: #fff;
	}
	.m_subnav .l_inner {
	width: 100%;
	}
	.m_subnav .s_pc_hidden {
	display: inline;
	font-weight: bold;
	}
	.m_subnav .e_ttl {
	display: block;
	background-color: #eee;
	}
	.m_subnav .e_ttl a {
	display: block;
	text-align: center;
	padding: 10px 0;
	position: relative;
	}
	.m_subnav .e_ttl a:before {
    position: absolute;
    content: "";
    height: 2px;
    width: 16px;
    background: #808080;
    right: 10px;
    top: 50%;
    margin: -1px;
    transition: all 0.3s;
	}
	.m_subnav .e_ttl.current a:after {
    position: absolute;
    content: "";
    height: 16px;
    width: 2px;
    background: #808080;
    right: 24px;
    top: 50%;
    margin: -8px;
    transition: all 0.3s;
	}
	.m_subnav .e_list_subnav {
	display: none;
	border-top: 1px solid #808080;
	}
	.m_subnav .e_list_subnav {
	padding: 0;
	}
	.m_subnav .e_li_subnav {
	border-right: none;
	float: none;
	border-bottom: 1px solid #808080;
	}
	.m_subnav .e_li_subnav.current {
	background-color: #eee;
	font-weight: normal;
	}
	.m_subnav .e_li_subnav a {
	display: block;
	padding: 10px 0;
	text-align: center;	
	}

	/* footer
----------------------------------------------*/

	/*access*/
	.e_sec_access a {
	padding: 18px 0;
	position: relative;
	display: block;
	}
	.e_sec_access img {
	margin-right: 5px;
	}

	/*footer-nav*/
	.e_li_sp_footer {
    width: 50%;
    float: left;
    box-sizing: border-box;
    border-bottom: 1px solid #b2b2b2;
	}
	.e_list_sp_footer { /*2021.10 add*/
		display: flex;
		flex-wrap: wrap;
	}
	.e_list_sp_footer .e_li_sp_footer:nth-last-child(2),
	.e_list_sp_footer .e_li_sp_footer:last-child {
	border-bottom: none;
	}
	.e_list_sp_footer .e_li_sp_footer:nth-child(odd){
	border-right: 1px solid #d0cfc9;
	}
	.e_li_sp_footer a {
	display: block;
	padding: 18px 5px 18px 18px;
	position: relative;
	font-size: 1.3rem;
	}
	.e_li_sp_footer a:before {
	content: url(../imgs/common/arrow_right01.png);
	position: absolute;
	left: 5px;
	}
	.arrow_up {
	cursor: pointer;
	}
	.arrow_up button {
	margin: 0 auto;
	}
	.m_page_top {
	position: relative;
	top: 0;
	right: 0;
	padding: 0;
	padding: 19px 0;
	}
	/*
	.m_list_footer02 .e_li {
	display: inline-block;
	text-align: center;
	width: calc(50% - 3px);
	}
	*/
	.m_list_footer02 {
		display: flex;
	}
	.m_list_footer02 .e_li {
		text-align: center;
		width: 50%;
	}

	/*
	.m_list_footer02 .e_li:nth-child(2) a{
	border-left: 1px solid #d0cfc9;
	}
	*/
	.m_list_footer02 .e_li:nth-child(1) a{
	border-right: 1px solid #d0cfc9;
	}
	.m_list_footer02 .e_li a {
	padding: 17px 0;
	display: block;
	font-size: 1.15rem;
	}
	address {
	padding: 8px 0;
	}
	/* 
	 colum -----*/
	.l_box {
	padding-top: 30px;
	}
	.l_box_left {
	float: none;
	}
	.l_box_right {
	float: none;
	}
	
	.l_box_02.m_irtop {
	padding-top: 25px;
	}

	/* header 
	----------*/
	.e_ttl_lv2 {
	margin-bottom: 20px;
	}
	.e_ttl_lv2 > img {
	margin-bottom: 5px;
	height: 30px;
	}
	.e_ttl_lv2 .e_ttl_sub {
	font-size: 1.2rem;
	}
	.m_ttl_lv2_02 {
	font-size: 2.4rem;
	}
	.m_ttl_lv2_04 {
	font-size: 2.5rem;
	margin-bottom: 40px;
	}
	/* lead 
	----------*/
	.e_lead01 {
	font-size: 1.4rem;
	margin-bottom: 5px;
	}
	/*3column*/
	.m_column3 .e_list {
	margin-bottom: 15px;
	}
	.m_column3 .e_list .e_li {
	width: 49%;
	margin-right: 2%;
	margin-bottom: 20px;
	}
	.m_column3 .e_list .e_li:nth-child(3n) {
	margin-right: 2%;
	}
	.m_column3 .e_list .e_li:nth-child(2n) {
	margin-right: 0;
	}
	.m_column3 .e_lead01 + p {
	padding: 0 5px;
	}
	/* table 
	----------*/
	.m_table01 {
	width: 95%;
	}
	.m_table01 th {
	width: 25%;
	}
	.m_table02 th {
	width: 40%;
	}

	/* philosophy 
	----------*/
	.e_ttl_lv2_02.sp_philosophy_ttl {
	margin-bottom: 64px;
	}
	.m_ttl_lv2_03.sp_philosophy_ttl {
	margin-bottom: 35px;
	}
	/* office 
	----------*/
	.e_ttl_lv2_02.sp_office_ttl {
	margin-bottom: 64px;
	}
}

/*-- mmenu --*/
.e_cart_sp {
	display: none;
}
.mmenu_btn {
display: none;
}
@media (max-width: 640px) {
	.e_cart_sp {
		float: right;
		/*display: block;*/
		margin-right: 3%;
    	position: relative;
		width: 25px;
		z-index: 10;
		margin-top: calc(3.5% - 11px)
	}
	.e_cart_sp .headcart_redow:before {
		content: '';
		background-image: url(../imgs/common/icon_cart_sp.png);
		position: absolute;
		right: 0;
		top: 3px;
		width: 25px;
		height: 21px;
		background-size: contain;
	}
	.e_cart_sp .link_list {
		white-space: nowrap;
		display: none;
		position: absolute;
		top: 36px;
		right: 50%;
		transform: translateX(50%)
	}
	.e_cart_sp  .link_list li:not(:first-child) {
		padding-top: 1px;
	}
	.e_cart_sp  .link_list li a {
		background-color: #eef1f2;
		padding: 6px 10px 6px 25px;
		position: relative;
		width: 100%;
		display: inline-block;
		box-sizing: border-box;
	}
	.e_cart_sp  .link_list li a::before {
		content: url(../imgs/common/arrow_right04.png);
		position: absolute;
		left: 10px;
		top: 5px;
		transform: none;
		width: 5px;
		height: 7px;
	}
	#mm-mmenu {
	background: #fff;
	}
	.mm-listview>li>a, .mm-listview>li>span {
	padding: 20px 10px 20px 20px;
	}
	.mm-listview .mm-next:before {
	content: none;
	}
	.mmenu_btn {
	display: block;
	float: right;
	margin-right: 20px;
	margin-top: 3.5%;
	width: 38px;
	height: 5px;
	background: #535353;
	position: relative;
	cursor: pointer;
	}
	.mmenu_btn:before,
	.mmenu_btn:after {
	position: absolute;
	content: '';
	width: 38px;
	height: 5px;
	background: #535353;
	}
	.mmenu_btn:before {
	top: -11px;
	}
	.mmenu_btn:after {
	top: 11px;
	}
}
@media (min-width: 641px) {
   #mm-mmenu {
      display: none !important;
   }
}

@media (max-width: 376px) {
header {
}
#e_logo {
max-width: 65%;
padding: 0;
}
}