@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');

/*ヘッダー＆フッター＆サイド＆パンくず＆見出し＆スクリプト対策*/
:root {
	--font_color: rgb(33, 33, 33);
	--main_color: rgb(0, 91, 148);
	--main_color2: rgb(64, 141, 176);
	--base_color: rgb(244, 243, 248);
	--base_color2: rgb(233, 235, 242);
	--base_color3: rgb(249, 249, 251);
	--base_color4: rgb(247, 247, 250);
	--accent_color: rgb(199, 169, 86);
	--icon_color: rgb(49, 49, 49);
	--border_color: rgb(199, 199, 199);
	--att_color: rgb(205, 51, 51);
	--white: rgb(255, 255, 255);
	--base_font_family: "Oswald", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif !important;
	--t: 250ms;
}

body,
html {
	font-family: "Oswald", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight: 400;
	min-height: 100%;
	margin: 0;
	padding: 0;
	color: var(--font_color);
	width: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Oswald";
	line-height: 1.3;
}

p,
li,
a,
dt,
dl,
th,
td {
	font-size: 1.6rem;
}

a {
	-webkit-transition: .2s;
	transition: .2s;
	color: var(--font_color);
}

a img {
	-webkit-transition: .2s;
	transition: .2s;
}

a img:hover {
	opacity: .8;
}

p {
	line-height: 1.6;
	font-weight: 300;
}

::selection {
	background-color: rgba(0, 91, 148, 0.7);
	color: var(--white);
}

.pc {
	display: block;
}

.sp {
	display: none;
}

#container {
	position: relative;
	overflow: hidden;

}

/*インナー系*/
.inner_1240 {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
}

.inner_1140 {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
}

.inner_1040 {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
}

.inner_960 {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

.inner_800 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

.inner {
	width: 100%;
}

/*テキスト系*/
.text_100 {
	font-weight: 100;
}

.text_200 {
	font-weight: 200;
}

.text_300 {
	font-weight: 300;
}

.text_400 {
	font-weight: 400;
}

.text_500 {
	font-weight: 500;
}

.text_600 {
	font-weight: 600;
}

.text_bold,
.bold {
	font-weight: bold;
}


.text_red {
	color: var(--att_color) !important;
}

.text_black {
	color: var(--font_color) !important;
}

.text_white {
	color: var(--white) !important;
}

.text_gold {
	color: var(--accent_color) !important;
}

.text_center {
	text-align: center !important;
}

.text_left {
	text-align: left !important;
}

.text_right {
	text-align: right !important;
}

.text_mincyou {
	font-family: 'EB Garamond', serif;
}

.read_12 {
	font-size: 1.2rem;
}

.read_14 {
	font-size: 1.4rem;
}

.read_16 {
	font-size: 1.6rem;
}

.read_18 {
	font-size: 1.8rem;
}

.read_20 {
	font-size: 2.0rem;
}

.read_22 {
	font-size: 2.2rem;
}

.read_24 {
	font-size: 2.4rem;
}

.read_26 {
	font-size: 2.6rem;
}

/*マージン系*/
.mb_8 {
	margin-bottom: 12px;
}

.mb_16 {
	margin-bottom: 12px;
}

.mb_20 {
	margin-bottom: 20px;
}

.mb_24 {
	margin-bottom: 24px;
}

.mb_32 {
	margin-bottom: 32px;
}

.mb_48 {
	margin-bottom: 48px;
}

.mb_80 {
	margin-bottom: 80px;
}

.mb_120 {
	margin-bottom: 120px;
}

.mb_180 {
	margin-bottom: 180px;
}

.att {
	color: var(--att_color);
	font-size: 1.2rem;
}

/*▼▼▼装飾系▼▼▼*/
.shadow {
	box-shadow: 0px 0px 12px rgba(20, 20, 20, 0.2);
}

.grd {
	background: rgb(244, 243, 248);
	background: -moz-linear-gradient(top, rgba(244, 243, 248, 1) 0%, rgba(255, 255, 255, 1) 100%);
	background: -webkit-linear-gradient(top, rgba(244, 243, 248, 1) 0%, rgba(255, 255, 255, 1) 100%);
	background: linear-gradient(to bottom, rgba(244, 243, 248, 1) 0%, rgba(255, 255, 255, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#408dc5', endColorstr='#ffffff', GradientType=0);
}

/*------------------------------*/
/*▼▼▼header共通▼▼▼*/
#header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 999;
}

#header .header_sub {
	height: 40px;
	background-color: var(--font_color);
}

#header .header_sub nav ul {
	height: 100%;
	flex: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

#header .header_sub nav ul li a {
	color: #FFFFFF;
	font-size: 1.6rem;
	line-height: 16px;
	padding: 12px 20px;
	display: block;
	font-weight: 500;
	letter-spacing: 0.04rem;
	text-align: center;
}

#header .header_sub .new_window_w,
#header .header_sub .h_contact {
	/*お問い合わせ*/
	-webkit-transform: skewX(-24deg) translateX(8%);
	transform: skewX(-24deg) translateX(8%);
	background-color: var(--accent_color);
	overflow: hidden;
	transform-origin: right bottom;
	width: 140px;
}

#header .header_sub .h_contact {
	text-align: center;
}

#header .header_sub .new_window_w {
	transform: skewX(-24deg) translateX(8%);
	background-color: #D2BA78;
}

#header .header_sub .new_window_w a,
#header .header_sub .h_contact a {
	display: block;
	-webkit-transform: skewX(24deg);
	transform: skewX(24deg);
	position: relative;

}

#header .header_sub .new_window_w a {
	/*アイコン用*/
	background-size: 16px 16px;
	background-image: url(../image/new_global_w.svg);
	background-position: 10% 50%;
	background-repeat: no-repeat;
	padding-left: 36px;
}

#header .header_sub .new_window_w a:after,
#header .header_sub .h_contact a:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: 100ms;
	z-index: 2;
	transform: skewX(-24deg) translateX(-100%);
	background: rgba(255, 255, 255, 0.3);
}

#header .header_sub .new_window_w a:hover:after,
#header .header_sub .h_contact a:hover:after {
	transform: skewX(-24deg) translateX(0%);
}

#header .header_sub .h_search {
	/*サーチ*/
	background-color: var(--font_color);
	height: 40px;
	display: flex;
}

#header .header_sub .h_search input[type="text"] {
	height: 100%;
	width: 220px;
	background-color: var(--base_color);
	border: none;
	padding: 0 0 0 13%;
	outline: 0;
}

#header .header_sub .h_search input[type="text"]:focus {
	outline: 0;
}

#header .header_sub .h_search input[type="submit"] {
	border: none;
	outline: 0;
	padding: 0;
	width: 40px;
	height: 40px;
	background: url("../image/icon_search_w.svg") no-repeat center center;
	background-size: 20px;
	cursor: pointer;
}

/*▼▼▼ヘッダーメイン▼▼▼*/
#header .header_main {
	width: 100%;
	position: relative;
	background-color: rgba(255, 255, 255, .9);
	backdrop-filter: blur(20px) saturate(5);
	box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.2);
}

#header .header_main h1 a {
	display: block;
	width: 220px;
	height: 80px;
	background: url(../image/logo.svg) center center no-repeat;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
}

#header .header_main .header_main_inner {
	display: flex;
	justify-content: space-between;
	margin: 0 5vw;
}

#gnav {
	height: 80px;
}

#gnav .gnav_list {
	height: 100%;
	display: flex;
	justify-content: flex-end;
}

#gnav .gnav_list>li {
	height: 100%;
	width: 125px;
}

#gnav .gnav_list>li>a {
	position: relative;
	width: 100%;
	height: 100%;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.55rem;
	font-weight: 600;
	color: var(--font_color);
	text-align: center;
}

#gnav .gnav_list>li:hover>a:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	bottom: 10%;
	left: calc(50% - 5px);
	border-style: solid;
	border-width: 8px 5px 0 5px;
	border-color: var(--main_color) transparent transparent transparent;
}

#gnav .gnav_list>li>a>span {
	/*斜線用*/
	position: relative;
	width: 100%;
}

#gnav .gnav_list>li>a>span:after {
	/*斜線用*/
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 100%;
	background: var(--font_color);
	transform: rotate(24deg);
	transform-origin: center center;
}

#gnav li>.down {
	width: 100%;
	height: 0;
	transition: 0.2s;
	background: var(--font_color);
	position: absolute;
	left: 0;
	top: 80px;
	z-index: 10;
	overflow: hidden;
	box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.2);
}

#gnav li:hover>.down {
	height: 210px;
}

#gnav li>.down a {
	color: #FFFFFF;
}

/*▼▼▼gnav内レイアウト▼▼▼*/
#gnav li .gnav_cover {
	display: flex;
	align-items: center;
	margin: 0 auto;
	max-width: 1240px;
	width: 100%;
	height: 100%;
}

#gnav li .gnav_cover .gnav_ttl {
	width: 36%;
	margin-right: 6%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	align-self: stretch;
	/*以下見出し用*/
	align-items: center;
	display: flex;
	justify-content: center;
}

#gnav li.gnav_prod .gnav_cover .gnav_ttl {
	background-image: url(../image/gnav_prod_bk.webp);
}

#gnav li.gnav_cata .gnav_cover .gnav_ttl {
	background-image: url(../image/gnav_catalog_bk.jpg);
}

#gnav li.gnav_corp .gnav_cover .gnav_ttl {
	background-image: url(../image/gnav_corp_bk.jpg);
}

#gnav li.gnav_csr .gnav_cover .gnav_ttl {
	background-image: url(../image/gnav_csr_bk.jpg);
}

#gnav li.gnav_ir .gnav_cover .gnav_ttl {
	background-image: url(../image/gnav_ir_bk.jpg);
}

#gnav li.gnav_rec .gnav_cover .gnav_ttl {
	background-image: url(../image/gnav_rec_bk.jpg);
}

#gnav li .gnav_cover .gnav_ttl h3 {
	color: #FFFFFF;
	font-size: 1.8rem;
	letter-spacing: 0.2rem;
	font-weight: 500;
}

#gnav li .gnav_cover .gnav_box {
	width: 58%;

	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 24px 0;
}

#gnav li .gnav_cover .gnav_box li {
	width: 33%;
	margin-right: 0;
	position: relative;
}

#gnav li .gnav_cover .gnav_box li:after {
	/*三角*/
	content: "";
	position: absolute;
	left: 4%;
	top: calc(50% - 4px);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 8px;
	border-color: transparent transparent transparent var(--main_color);
}

#gnav li .gnav_cover .gnav_box li a {
	display: block;
	padding: 12px 0px 12px 24px;
	color: #FFFFFF;
	letter-spacing: 0.04rem;

}

#gnav li .gnav_cover .gnav_box li a:hover {
	background: #FFFFFF;
	color: var(--main_color);
}

/*▼to_top共通▼*/
.to_top {
	width: 100%;
	background: var(--accent_color);
	color: #FFF;
	position: relative;
}

.to_top_arrow {
	display: block;
	padding: 16px 0;
}

.to_top_arrow::before {
	content: '';
	width: 16px;
	height: 16px;
	border: 0px;
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
	-webkit-transform: rotate(-45deg) translate(-50%, -50%);
	transform: rotate(-45deg) translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transition: top 0.3s;
	transition: top 0.3s;
}

.to_top_arrow:hover::before {
	top: 42%;
}

/*▼footer共通▼*/
#footer {
	background: var(--font_color);
	width: 100%;
	font-family: "Oswald";
}

#footer .inner_1240 {
	padding: 60px 0;
}

#footer .f_nav .grid_box a {
	color: #FFFFFF;
	position: relative;
	display: inline-block;
	vertical-align: top;
}

#footer .f_nav.grid_cover {
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#footer .f_nav .grid_box_logo {
	width: 180px;
	margin-right: 4em;
	margin-bottom: 1em;
}

#footer .f_nav .grid_box_logo p {
	margin-bottom: 2rem;
}

#footer .f_nav .grid_box_logo ul li {
	font-size: 1.3rem;
	line-height: 1.8;
	color: #FFFFFF;
}

#footer .f_nav .f_list>li a {
	font-weight: 600;
	font-size: 1.8rem;
	margin-bottom: 1em;
}

#footer .f_nav .f_list>li a:after {
	background: #FFFFFF;
}

#footer .f_nav .f_child_list {
	margin-left: 4px;
}

#footer .f_nav .f_child_list li a {
	font-size: 1.6rem;
	font-weight: 300;
	margin-bottom: 0.8em;
}

#footer .f_nav .grid_box:nth-child(1) {
	display: block;
	width: 200px;
	height: 80px;
	background: url(../image/logo_w.svg) center center no-repeat;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
}

/***エンドカバー***/
#footer .end_cover {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	max-width: 1240px;
	margin: 0 auto 16px;
}

/***legal***/
#footer .legal_cover {
	width: 66.66%;
}

#footer .legal_cover ul li {
	color: #FFFFFF;
	line-height: 1.5;
	font-size: 1.3rem;
	padding-right: 1rem;
	opacity: 0.8;
}

#footer .legal_cover ul li:nth-child(1) {
	opacity: 1;
	font-weight: bold;
	margin-bottom: 0.5em;
}

/***legal***/
/*SNS*/
#footer .sns_cover {
	width: 33.33%;
	margin-top: auto;
}

#footer .sns_cover ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
}

#footer .sns_cover ul li {
	margin: 0 8px;
}

#footer .sns_cover ul li a {
	color: #ffffff;
	display: block;
	width: 100%;
	height: 100%;
	font-size: 1.8rem;
}

#footer .sns_cover .f_b {
	padding-left: 26px;
	background-size: 18px 18px;
	background-image: url(../image/white_fb.svg);
	background-position: 0% 0%;
	background-repeat: no-repeat;
	line-height: 1;
}

#footer .sns_cover .g_s {
	padding-left: 26px;
	background-size: 18px 18px;
	background-image: url(../image/new_global_w.svg);
	background-position: 0% 0%;
	background-repeat: no-repeat;
	line-height: 1;
}

#footer .sns_cover .y_t {
	min-width: 90px;
	height: 26px;
	background: url(../image/logo_youtube.svg) center center no-repeat;
}

#footer .sns_cover ul li a:hover {
	opacity: 0.8;
}



/*▼▼▼フッターエンド▼▼▼*/
#footer .footer_end {
	width: 100%;
	background: #FFFFFF;
	padding: 40px 0 40px;
}

#footer .footer_end .inner_1240 {
	display: flex;
	align-items: center;
	margin: auto;
	justify-content: space-between;
	padding: 0;
}

#footer .footer_end ul {
	display: flex;
	align-items: center;
}

#footer .footer_end ul li {
	list-style: none;
	margin-right: 64px;
}

#footer .footer_end li a {
	color: var(--font_color);
	font-size: 1.6rem;
}

#footer .footer_end div {
	line-height: 1.5;
}

#footer .footer_end small {
	font-size: 1.4rem;
}

#footer .footer_end address {
	font-weight: lighter;
	font-style: normal;
	font-size: 1.4rem;
	margin-top: 2%;
}

/*リンクホバーアクション共通*/
.common_hover a {
	display: inline-block;
	position: relative;
	vertical-align: top;
}

.common_hover a:after {
	content: "";
	position: absolute;
	bottom: -0.2em;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--font_color);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transition: -webkit-transform .3s;
	transition: -webkit-transform .3s;
	transition: transform .3s;
	transition: transform .3s, -webkit-transform .3s;
}

.common_hover a:hover:after {
	-webkit-transform-origin: left bottom;
	transform-origin: left bottom;
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
}

/*▼▼▼コンテンツ▼▼▼*/
#content {
	padding-top: 120px;

}

#c_content {
	padding-top: 120px;
	margin-bottom: 180px;
}

#c_main {
	font-family: var(--base_font_family);
	/* font-family: "open sans", sans-serif; */
}

/*▼▼▼サイドナビ付きページ▼▼▼*/
#c_page2 {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin: 0 auto;
	max-width: 1240px;
}

#c_page2 #c_main {
	width: calc(100% - 250px);
	max-width: 990px;
}

/*▼▼▼サイドナビ▼▼▼*/
#c_side_wrapper {
	width: 220px;
	margin-right: 60px;
	font-family: "Oswald";
}

#c_side_wrapper h3 {
	position: relative;
	padding: 15px 12px 14px 32px;
	font-size: 2.0rem;
	font-weight: 500;
	border-bottom: 2px solid var(--font_color);
	letter-spacing: 0.04rem;
}

#c_side_wrapper h3::before {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	background: url(../image/icon_cate.svg) no-repeat center center / contain;
}

#c_side_wrapper h3.icon_time::before {
	background: url(../image/icon_time.svg) no-repeat center center / contain;
}

#c_side_wrapper h3.icon_cool::before {
	background: url(../image/icon_season.svg) no-repeat center center / contain;
}

#c_side_wrapper .side_box {
	margin-bottom: 24px;
}

#c_side_wrapper .side_box ul li a {
	width: 100%;
	position: relative;
	border-bottom: 1px solid var(--border_color);
	height: 100%;
	font-size: 1.6rem;
	text-decoration: none;
	display: block;
	padding: 14px 4px 14px 18px;
}

/*1階層目カレントはphpチェック*/

#c_side_wrapper .side_box_ul ul {
	padding-left: 4px;
	background: #f7f7f7;
	display: none;
}

#c_side_wrapper.news_side .side_box_ul ul {
	/*newsは全表示*/
	display: block;
}

#c_side_wrapper .side_box_ul .current-cat ul,
#c_side_wrapper .side_box_ul .current-cat-parent ul {
	display: block;
}

/*2階層目*/

/*3階層目*/
#c_side_wrapper .side_box .current-cat>a:after {
	transform: translateY(-50%) rotate(90deg);
	border-color: transparent transparent transparent var(--main_color);
}

#c_side_wrapper .side_box .current-cat-parent>a:after {
	transform: translateY(-50%) rotate(90deg);
	border-color: transparent transparent transparent var(--main_color);
}

#c_side_wrapper .side_box ul li a:after {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent var(--border_color);
	transition: transform 0.2s;
}

#c_side_wrapper .side_box ul li a:hover:after {
	transform: translateY(-50%) translateX(3px);
	border-color: transparent transparent transparent var(--main_color);
}

#c_side_wrapper .banner_box ul li {
	text-align: center;
	margin-bottom: 24px;
}


/*パンくず*/
.breadcrumb {
	padding: 8px 0;
	font-size: 1.4rem;
	color: #FFFFFF;
	position: relative;
	font-family: "Oswald";
	z-index: 2;
}

.breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
}

.breadcrumb a {
	font-size: 1.4rem;
	padding: 0 2px;
	color: #FFFFFF !important;
}

.breadcrumb li {
	font-size: 1.4rem;
	padding: 0 2px;
}

.breadcrumb li+li:before {
	content: ">";
	margin: .5rem;
	color: #333;
}

.c_main_visual .breadcrumb li+li:before {
	color: #FFF;
	/*視認性から色だけ変える*/
}

/*▼▼▼タイトル共通▼▼▼*/

.ttl_box {
	position: relative;
}

.ttl_box h2 {
	font-size: 3.4rem;
	font-weight: 600;
	color: var(--main_color);
	margin-bottom: 32px;
	letter-spacing: 0.02em;
}

.ttl_box span {
	display: block;
	font-size: 1.6rem;
	margin-top: 12px;
	font-weight: 400;
	letter-spacing: 0.04rem;
	color: var(--main-color2);
}

.ttl_box .ttl_read {
	font-size: 1.6rem;
	margin-bottom: 48px;
}

/*カテゴリータイトルデザイン*/
.common_ttl_box {
	position: relative;
	margin-bottom: 48px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border_color);
}

.common_ttl_box:before {
	content: "";
	position: absolute;
	left: 0px;
	bottom: -1px;
	z-index: 1;
	width: 64px;
	height: 2px;
	background-color: var(--font_color);
}

.common_ttl_box h2 {
	color: var(--font_color);
	font-weight: 600;
	font-size: 3.0rem;
	margin-bottom: 4px;
	letter-spacing: 0.06rem;
}

.common_ttl_box h2 span {
	font-size: 1.6rem;
	margin-left: 16px;
}

.common_ttl_box h2 span strong {
	font-size: 2.8rem;
	color: var(--main_color);
}

/*バック大文字*/

.common_ttl_box2 {
	position: relative;
}

.common_ttl_box2 h2 {
	font-size: 3.8rem;
	padding-bottom: 1.4em;
	color: var(--main_color);
}

.common_ttl_box2 h2 span {
	font-size: 1.4rem;
	display: block;
	font-weight: normal;
	text-indent: 1em;
	color: var(--main-color2);
	margin-top: 8px;
}

.common_ttl_box2 p {
	position: absolute;
	left: 54px;
	top: 24px;
	font-size: 7.6rem;
	color: var(--base_color);
	z-index: -1;
	font-family: 'EB Garamond', serif;
	font-feature-settings: "palt";
	font-weight: 600;
	line-height: 1;
	display: inline-block;
	padding-right: 240px;
}

.common_ttl_box2 p:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 11px;
	width: 100%;
	height: 1px;
	z-index: -1;
	background: rgb(244, 243, 248);
	background: linear-gradient(to right, rgba(244, 243, 248, 1) 75%, rgba(255, 255, 255, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f3f8', endColorstr='#ffffff', GradientType=1);
}

h3.common_ttl {
	font-size: 2.0rem;
	color: var(--main_color);
}

/*共通ボタンデザイン*/
.common_btn {
	position: relative;
	z-index: 1;
	display: inline-block;
	transition: transform 0.2s;
	background: #ffffff;
	min-width: 140px;
	text-align: center;
	font-family: "Oswald";
}

.common_btn::after {
	content: "";
	position: absolute;
	left: calc(100% - 16px);
	top: calc(50% - 1px);
	width: 32px;
	height: 1px;
	background: var(--font_color);
	transition: transform 0.2s;
}

.common_btn::before {
	content: "";
	position: absolute;
	left: calc(100% + 16px);
	top: calc(50% - 2px);
	width: 12px;
	height: 1px;
	transform: rotate(-156deg);
	transform-origin: left bottom;
	background-color: var(--font_color);
	transition: transform 0.2s;
}

.common_btn:hover::after {
	transform: translateX(10px);
}

.common_btn:hover::before {
	transform: translateX(10px) rotate(-156deg);
}

.common_btn a {
	letter-spacing: 0.04rem;
	font-size: 1.6rem;
	overflow: hidden;
	position: relative;
	display: block;
	padding: 12px 24px;
	color: var(--font_color);
	border: 1px solid var(--border_color);
	font-weight: 500;
}

.common_btn a:hover {
	color: #FFFFFF;
	border: 1px solid var(--main_color);
}

.common_btn a:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	width: 120%;
	height: 100%;
	background: var(--main_color);
	transform-origin: right top;
	transform: skewX(-24deg) scale(0, 1);
	transition: transform .3s;
}

.common_btn a:hover:after {
	-webkit-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: skewX(-24deg) scale(1, 1);
	transform: skewX(-24deg) scale(1, 1);
}


/*共通パーツお問い合わせ*/
#common_contact {
	width: 100%;
	padding: 62px 0;
	background: url('../image/common_contact.jpg') no-repeat right top;
	background-size: cover;
	border-top: 1px solid var(--base_color);
	line-height: 1;
	position: relative;
	z-index: 4;
	font-family: "Oswald", Oswald;
}

#common_contact .grid_cover {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

#common_contact .grid_cover .grid_box {
	max-width: 580px;
	width: 48%;
	background: #ffffff;
}

#common_contact .grid_cover .grid_box .cover_link {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 260px;
	padding: 32px 32px 48px 32px;
}

#common_contact .grid_cover .grid_box .cover_link>div {
	position: relative;
}

#common_contact .grid_cover .grid_box .ttl_sub {
	font-size: 1.8rem;
	color: var(--accent_color);
	line-height: 1;
	letter-spacing: 0.04em;
	font-weight: 400;
}

#common_contact .grid_cover .grid_box .ttl_en {
	font-size: 3.6rem;
	font-weight: 600;
	margin: 16px 0 24px 0;
	line-height: 1;
}

#common_contact .grid_cover .grid_box .body_copy {
	font-size: 1.7rem;
	padding-right: 120px;
	font-weight: 300;
}

#common_contact .tel_cover li {
	width: 100%;
	display: flex;
	line-height: 1;
	font-size: 2.4rem;
}

#common_contact .tel_cover li span:nth-child(1) {
	margin-right: 8%
}

/*ページ下部コンタクトパーツ*/
#common_contact .c_btn {
	position: absolute;
	left: 50%;
	bottom: -10%;
	width: 10%;
	height: 1px;
	background: var(--font_color);
	-webkit-transition: 0.2s;
	transition: 0.2s;
	opacity: 0;
}

#common_contact .grid_cover .grid_box a.cover_link:hover .c_btn {
	-webkit-transform: translateX(400%);
	transform: translateX(400%);
	opacity: 1;
}

#common_contact .grid_cover .grid_box a.cover_link .c_btn:after {
	content: "";
	position: absolute;
	left: calc(100%);
	top: calc(50% - 2px);
	width: 18px;
	height: 1px;
	-webkit-transform: rotate(-156deg);
	transform: rotate(-156deg);
	-webkit-transform-origin: left bottom;
	transform-origin: left bottom;
	background: var(--font_color);
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

#common_contact .grid_cover .grid_box:nth-child(1).shadow {
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

#common_contact .grid_cover .grid_box:nth-child(1).shadow:hover {
	-webkit-box-shadow: 0px 0px 24px rgba(0, 0, 20, 0.2);
	box-shadow: 0px 0px 24px rgba(0, 0, 20, 0.2);
}

/*製品ページ＆Rohsのサーチ*/
.common_form_cover {
	border-radius: 4px;
	max-width: 1240px;
	padding: 8px;
	margin: 0 auto;
	background-color: var(--base_color);
	margin-bottom: 48px;
}

.common_form_cover .type_select {
	width: 18%;
	height: 34px;
	padding: 4px;
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 2;
	font-size: 1.4rem;
}

.common_form_cover .inner {
	width: 100%;
	height: 34px;
	position: relative;
}

.common_form_cover input[type="text"] {
	width: calc(64% + 4px);
	margin-left: calc(18% - 2px);
	padding: 0 16px;
	height: 34px;
}

.common_form_cover input[type="submit"] {
	width: 18%;
	padding: 0;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 2;
	height: 34px;
	font-family: "Oswald", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight: 500;
}

.common_form_cover select {
	font-size: 1.4rem;
	line-height: 1.5;
	font-family: "Oswald", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.common_form_cover option {
	font-size: 1.4rem;
	line-height: 1.5;
	font-family: "Oswald", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}


/*▼以下セレクト追加▼*/
.rohs #c_content .common_form_cover input[type="text"] {
	width: calc(82% + 2px);
	margin-left: 0;
}


/*▼カテゴリーニュース&IRニュースリザルト共通▼*/
.common_posts .taxonomy-category a {
	/*リンク拒否*/
	pointer-events: none;
}

.common_posts {
	font-family: Oswald, "Oswald";
}

.common_posts ul {
	padding: 0;
	margin-bottom: 24px;
}

.common_posts ul li {
	display: flex;
	align-items: flex-start;
	border-bottom: 1px solid var(--border_color);
	padding: 12px 0;
	/*48-8-8*/
}

.common_posts ul li * {
	font-size: 1.6rem;
	font-weight: 400;
}

.common_posts li div:nth-child(1) time {
	margin-right: 8px;
	width: 8rem;
	line-height: 26px;
	display: inline-block;
}

.common_posts li div:nth-child(2) a {
	/*icon*/
	color: #FFFFFF;
	font-size: 1.4rem;
	margin-right: 8px;
	border-radius: 3px;
	line-height: 26px;
	text-align: center;
	font-weight: 500;
	background-color: var(--font_color);
	width: 11rem;
	display: inline-table;
}

.common_posts li h2 a {
	line-height: 26px;
	font-size: 1.6rem;
	position: relative;
	font-weight: 400;
}

.common_posts li h2 a:after {
	content: "";
	position: absolute;
	bottom: -0.2em;
	left: 0;
	width: 100%;
	height: 1px;
	background: #666666;
	transform-origin: right bottom;
	transform: scale(0, 1);
	transition: transform .3s;
}

.common_posts li h2 a:hover:after {
	transform-origin: left bottom;
	transform: scale(1, 1);
}

.common_posts ul li .icon_blank {
	background: url(../image/icon_other_window.png) center right no-repeat;
	background-size: 20px;
}

.common_posts ul li .icon_pdf {
	background: url(../image/icon_pdf.png) center right no-repeat;
	background-size: 20px;
}

/*ページャー*/
.common_pager,
.common_pager>div {
	padding: 12px 0;
	display: flex;
	justify-content: center;
}

.common_pager span,
.common_pager a {
	height: 30px;
	width: 30px;
	line-height: 28px;
	border: 1px solid var(--border_color);
	display: block;
	text-align: center;
	margin: 0 8px;
	font-size: 1.8rem;
}

.common_pager a {
	color: #ffffff;
	background-color: var(--border_color);
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.common_pager a:hover {
	background: #FFFFFF;
	color: var(--font_color);
}


/*プログレスバー*/
.form_progress_bar {
	width: 100%;
}

.form_progress_bar ul {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 48px;
}

.form_progress_bar ul li {
	width: calc(100% / 3);
	position: relative;
}

.form_progress_bar ul li:after,
.form_progress_bar ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(50% - 10px);
	width: 50%;
	height: 1px;
	background-color: #dddddd;
	z-index: -2;
}

.form_progress_bar ul li::before {
	left: 0;
}

.form_progress_bar ul li::after {
	left: 50%;
}

/*最後のを消します*/
.form_progress_bar ul li:last-child::after {
	left: 50%;
	background-color: #ffffff;
	z-index: -1;
}

.form_progress_bar ul li.current::before {
	left: 0%;
	background-color: var(--main_color);
}

.form_progress_bar ul li.past::before,
.form_progress_bar ul li.past::after {
	background-color: var(--main_color);
}


.form_progress_bar ul li p {
	text-align: center;
	font-size: 1.2rem;
	color: var(--main_color);
}


.form_progress_bar ul li div {
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 50%;
	font-size: 1.3rem;
	background-color: #dddddd;
	text-align: center;
	color: var(--font_color);
	margin: 0 auto;
}

.form_progress_bar ul li.current div {
	background-color: #ffffff;
	color: var(--main_color);
	border: 1px solid var(--main_color);
	box-shadow: 0px 0px 15px 0px rgba(0, 103, 178, 0.6);
}

.form_progress_bar ul li.past div {
	background-color: var(--main_color);
	color: #ffffff;
}

/*ムービーレスポンシブ*/
.movie {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.movie iframe {
	width: 100%;
	height: 100%;
	vertical-align: bottom;
}

/*カテゴリーニュース&IRニュースリザルト共通*/
.common_result_box {
	margin-bottom: 24px;
	padding: 0 20px;
}

.common_result_box li {
	display: flex;
	align-items: flex-start;
	border-bottom: 1px solid var(--border_color);
	padding: 12px 0;
	/*48-8-8*/
}

.common_result_box li time {
	margin-right: 8px;
	width: 8rem;
	line-height: 26px;
	white-space: nowrap;
	font-family: oswald;
}

.common_result_box li span {
	color: #FFF;
	font-size: 1.3rem;
	margin-right: 8px;
	border-radius: 3px;
	line-height: 26px;
	text-align: center;
	font-weight: 500;
	background-color: var(--icon_color);
	width: 13rem;
	display: inline-table;
}

.common_result_box li p {
	line-height: 26px;
	padding-right: 28px;
	flex: 1;
}

.common_result_box li .icon_blank {
	background: url(../image/icon_other_window.png) center right no-repeat;
	background-size: 20px;
}

.common_result_box li p.icon_pdf {
	background:
		url(../image/icon_pdf.png) center right no-repeat;
	background-size: 20px;
}

.common_result_box li p a {
	position: relative;
	display: inline-block;
	font-weight: 400;
}

.common_result_box li p a:after {
	content: "";
	position: absolute;
	bottom: -0.2em;
	left: 0;
	width: 100%;
	height: 1px;
	background: #666666;
	transform-origin: right bottom;
	transform: scale(0, 1);
	transition: transform .3s;
}

.common_result_box li p a:hover:after {
	transform-origin: left bottom;
	transform: scale(1, 1);
}

.common_result_box li small {
	margin: 0 4px;
	background: #999999;
	color: #FFFFFF;
	padding: 0px 2px;
	font-size: 1.2rem;
	border-radius: 4px;
	display: inline-block;
	line-height: 1.5;
}

.common_pager {
	padding: 12px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.common_pager span {
	margin: 0 8px;
	font-size: 1.8rem;
	text-align: center;
	height: 30px;
	width: 30px;
	line-height: 28px;
	border: 1px solid #c7c7c7;
	display: inline-block;
	margin-bottom: 2%;
}

.common_pager span a {
	color: #ffffff;
	display: block;
	height: 100%;
	width: 100%;
	background: #c7c7c7;
	transition: 0.2s;
}

.common_pager span a:hover {
	background: #FFF;
	color: #333333;
}

/*プログレスバー*/
.form_progress_bar {
	width: 100%;

}

.form_progress_bar ul {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 48px;
}

.form_progress_bar ul li {
	width: calc(100% / 3);
	position: relative;
}

.form_progress_bar ul li:after,
.form_progress_bar ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(50% - 10px);
	width: 50%;
	height: 1px;
	background-color: #dddddd;
	z-index: -2;
}

.form_progress_bar ul li::before {
	left: 0;
}

.form_progress_bar ul li::after {
	left: 50%;
}

/*最後のを消します*/
.form_progress_bar ul li:last-child::after {
	left: 50%;
	background-color: #ffffff;
	z-index: -1;
}

.form_progress_bar ul li.current::before {
	left: 0%;
	background-color: var(--main_color);
}

.form_progress_bar ul li.past::before,
.form_progress_bar ul li.past::after {
	background-color: var(--main_color);
}

.form_progress_bar ul li p {
	text-align: center;
	font-size: 1.2rem;
	color: var(--main_color);
}

.form_progress_bar ul li div {
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 50%;
	font-size: 1.3rem;
	background-color: #dddddd;
	text-align: center;
	color: #333333;
	margin: 0 auto;
}

.form_progress_bar ul li.current div {
	background-color: #ffffff;
	color: var(--main_color);
	border: 1px solid var(--main_color);
	box-shadow: 0px 0px 15px 0px rgba(0, 103, 178, 0.6);
}

.form_progress_bar ul li.past div {
	background-color: var(--main_color);
	color: #ffffff;
}

/*▼タブレットサイズ▼*/
@media only screen and (max-width: 1024px) and (min-width: 768px) {
	.inner_1240 {
		width: 100%;
		padding: 0 1%;
	}

	.inner_1140 {
		width: 100%;
		padding: 0 1%;
	}

	.inner_1040 {
		width: 100%;
		max-width: 1040px;
		padding: 0 1%;
	}

	.inner_980 {
		width: 100%;
		max-width: 980px;
		padding: 0 1%;
	}

	.inner_800 {
		width: 100%;
		max-width: 800px;
		padding: 0 1%;
	}

	.inner {
		width: 100%;
		padding: 0 1%;
	}

	/*ヘッダー*/
	#header .header_main .header_main_inner {
		margin: 0;
		padding: 0 2%;
	}

	#header .header_main_inner h1 {
		width: 20%;
	}

	#header .header_main h1 a {
		width: 140px;
	}

	/*スマートフォン・ナビ*/
	#gnav {
		width: 80%;
	}

	#gnav .gnav_list {
		width: 100%;
	}

	#gnav .gnav_list>li {
		width: calc(100% / 7);

	}

	#gnav .gnav_list>li:nth-last-child(2)>a {
		font-size: 1.3rem;
		/*サステナビリティ*/
	}

	#gnav li .gnav_cover .gnav_box li a {
		font-size: 1.3rem;
	}

	#gnav .gnav_list>li>a {
		font-size: 1.3rem;
	}

	.main_visual_text .text_01 {
		font-size: 3.8rem;
	}

	.main_visual_text .text_02 {
		font-size: 5.2rem;
	}

	.main_visual_text .text_03 {
		font-size: 1.8rem;
	}

	#footer .inner_1240 {
		padding: 4% 2% 8%;
	}

	#footer .f_nav.grid_cover {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	#footer .f_nav .grid_box_logo {
		display: none;
	}


	#footer .f_nav .grid_box_logo img {
		width: 50%;
		max-width: 200px;
	}

	.f_nav.grid_cover .grid_box {
		width: 25%;
		margin-bottom: 4%;
		padding: 0 38px;
	}

	#c_page {
		width: 100%;
		padding: 0 1%;
	}

	#c_page2 {
		width: 100%;
	}

	#c_page2 #c_main {
		/*    flex: 1;*/
		width: calc(100% - 204px);
	}

	#c_side_wrapper {
		width: 180px;
		margin-right: 24px;
	}

	#c_side_wrapper h3 {
		font-size: 1.4rem;
	}

	/*リザルト*/
	.common_result_box {
		padding: 0 12px;
	}

	.common_result_box li time {
		white-space: nowrap;
		width: 80px;
		margin-right: 4px;
	}

	.common_result_box li span {
		white-space: nowrap;
		margin-right: 4px;
	}

	.common_form_cover .inner {
		width: 100%;
		padding: 0;
	}

}

/*▼▼▼スマートフォンサイズ▼▼▼*/
@media only screen and (max-width: 767px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	p,
	li,
	a,
	dt,
	dl,
	th,
	td {
		font-size: 1.5rem;
	}

	img {
		max-width: 100%;
	}

	/*インナー系*/
	.inner_1240 {
		width: 100%;
		padding: 0 1%;
	}

	.inner_1140 {
		width: 100%;
		padding: 0 1%;
	}

	.inner_1040 {
		width: 100%;
		padding: 0 1%;
	}

	.inner_960 {
		width: 100%;
		padding: 0 1%;
	}

	.inner_800 {
		width: 100%;
		padding: 0 1%;
	}

	.inner {
		width: 100%;
		padding: 0 1%;
	}

	/*共通*/
	.read_12 {
		font-size: 1.1rem;
	}

	.read_14 {
		font-size: 1.2rem;
	}

	.read_16 {
		font-size: 1.3rem;
	}

	.read_18 {
		font-size: 1.4rem;
	}

	.read_20 {
		font-size: 1.6rem;
	}

	.read_22 {
		font-size: 1.8rem;
	}

	.read_24 {
		font-size: 2.0rem;
	}

	/*マージン系*/
	.mb_8 {
		margin-bottom: 7.4px;
	}

	.mb_12 {
		margin-bottom: 8.4px;
	}

	.mb_16 {
		margin-bottom: 11.4px;
	}

	.mb_20 {
		margin-bottom: 14.4px;
	}

	.mb_24 {
		margin-bottom: 16.8px;
	}

	.mb_32 {
		margin-bottom: 22.4px;
	}

	.mb_48 {
		margin-bottom: 33.6px;
	}

	.mb_80 {
		margin-bottom: 56px;
	}

	.mb_120 {
		margin-bottom: 84px;
	}

	.mb_180 {
		margin-bottom: 126px;
	}

	.att {
		color: #CD3333;
		font-size: 1.2rem;
	}

	#header .header_main .header_main_inner {
		margin: 0 2%;
	}

	#header .header_main h1 a {
		height: 50px;
	}

	/*ナビ下層*/

	#header {
		height: 50px;
		width: 100%;
	}

	#header .header_main {
		width: 100%;
		height: 50px;
		position: relative;
		background-color: #FFFFFF;
	}

	#header .header_main h1 a {
		display: block;
		width: 160px;
	}

	#header .header_main_inner {
		margin: 0 2vw;
	}

	/*ドロワー*/
	.menu-trigger {
		width: 30px;
		height: 22px;
		position: absolute;
		right: 2%;
		top: 14px;
	}

	.menu-trigger span {
		position: absolute;
		height: 2px;
		width: 100%;
		background: var(--font_color);
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}

	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}

	.menu-trigger span:nth-of-type(2) {
		top: calc(50% - 1px);
	}

	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}

	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translate3d(0, 8px, 0) rotate(45deg);
		transform: translate3d(0, 8px, 0) rotate(45deg);
	}

	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}

	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translate3d(0, -12px, 0) rotate(-45deg);
		transform: translate3d(0, -12px, 0) rotate(-45deg);
	}

	.sp_nav_search {
		width: 100%;
		margin-bottom: 12%;
	}

	.sp_nav_search form {
		width: 100%;
		height: 40px;
		display: flex;
	}

	.sp_nav_search form input {
		padding: 1% 4%;
	}

	.sp_nav_search form input[type="text"] {
		width: calc(100% - 40px);
		border: none;
	}

	.sp_nav_search form input[type="submit"] {
		border: none;
		outline: 0;
		padding: 1px;
		width: 40px;
		height: 40px;
		background: var(--accent_color) url(../image/icon_search_w.svg) no-repeat border-box center center;
		background-size: 20px;
		cursor: pointer;
	}

	.sp_nav {
		padding: 12%;
		position: fixed;
		top: 50px;
		left: 0%;
		width: 100%;
		height: calc(100vh - 50px);
		transform: translateX(100%);
		transition: 0.3s;
		background: #303030;
		overflow-y: scroll;
	}

	.sp_nav.active {
		transform: translateX(0%);
	}

	.sp_nav .grid_box h3 {
		line-height: 1;
		display: flex;
		justify-content: space-between;
		padding: 16px 0 16px 38px;
		border-top: 1px solid #FFFFFF;
		background-repeat: no-repeat;
		background-position: center left;
	}

	.sp_nav .grid_box.end h3 {
		border-bottom: 1px solid #FFFFFF;
		margin-bottom: 4%;
	}

	.sp_nav .grid_box h3 {
		line-height: 1;
		display: flex;
		justify-content: space-between;
		padding: 16px 0 16px 38px;
		border-top: 1px solid #FFFFFF;
		background-repeat: no-repeat;
		background-position: center left;
		background-size: 20px 20px;
	}

	.sp_nav .grid_box.end h3 {
		border-bottom: 1px solid #FFFFFF;
		margin-bottom: 4%;
	}

	.sp_nav .grid_box:nth-child(2) h3 {
		background-image: url(../image/icon_news.svg);
	}

	.sp_nav .grid_box:nth-child(3) h3 {
		background-image: url(../image/icon_prod.svg);
	}

	.sp_nav .grid_box:nth-child(4) h3 {
		background-image: url(../image/icon_catalog.svg);
	}

	.sp_nav .grid_box:nth-child(5) h3 {
		background-image: url(../image/icon_corporate.svg);
	}

	.sp_nav .grid_box:nth-child(6) h3 {
		background-image: url(../image/icon_sustainability.svg);
	}

	.sp_nav .grid_box:nth-child(7) h3 {
		background-image: url(../image/icon_recruit.svg);
	}

	.sp_nav .grid_box:nth-child(8) h3 {
		background-image: url(../image/icon_contact.svg);
	}

	.sp_nav .grid_box h3 a {
		display: inline;
		font-weight: 500;
		color: #ffffff;
		font-size: 1.6rem;
	}

	.sp_nav .grid_box h3 .btn {
		position: relative;
		width: 21px;
	}

	.sp_nav .grid_box h3 .btn:before {
		content: "";
		width: 21px;
		height: 1px;
		background: var(--border_color);
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		transition: transform 0.3s, opacity 0.3s;
	}

	.sp_nav .grid_box h3 .btn:after {
		content: "";
		width: 1px;
		height: 21px;
		background: var(--border_color);
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
		transition: transform 0.3s;
	}

	.sp_nav .grid_box h3 .btn.active:before {
		transform-origin: center center;
		transform: rotate(-90deg);
		opacity: 0;
	}

	.sp_nav .grid_box h3 .btn.active:after {
		transform-origin: center center;
		transform: translateY(-50%) rotate(-90deg);
	}

	.sp_nav .grid_box ul li {
		padding-left: 24px;
		position: relative;

	}

	.sp_nav .grid_box ul li:before {
		/*三角*/
		content: "";
		position: absolute;
		left: 8px;
		top: calc(50% - 4px);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5px 0 5px 8px;
		border-color: transparent transparent transparent #ffffff;
	}

	.sp_nav .grid_box ul li a {
		font-size: 1.4rem;
		display: inline-block;
		padding: 16px 0;
		width: 100%;
		color: #ffffff;
	}

	.grid_box.sub_box {
		display: flex;
		flex-wrap: wrap;
	}

	.sp_nav .grid_box.sub_box h3 {
		padding: 16px 0 16px 0px;
		display: block;
		text-align: center;
		width: 50%;
		border-top: none;
	}

	.sp_nav .grid_box.sub_box h3 a {
		font-size: 1.3rem;
		font-weight: 400;
	}

	/*トップページ*/


	#footer .inner_1240 {
		padding-top: 8%;
	}

	#footer .f_nav.grid_cover {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	#footer .f_nav .grid_box_logo {
		width: 100%;
		margin-right: 0;
		margin-bottom: 6%;
		padding-bottom: 3%;
	}

	#footer .f_nav .grid_box_logo a {
		display: block;
		text-align: center;
	}

	#footer .f_nav .grid_box_logo img {
		width: 50%;
		max-width: 200px;
	}


	#footer .f_nav.grid_cover .grid_box {
		width: 50%;
		padding: 0 6%;
		margin-bottom: 8%;
	}

	#footer .f_nav .f_list>li a {
		margin-bottom: 1em;
		font-size: 1.7rem;
	}

	#footer .f_nav .f_child_list li a {
		font-size: 1.4rem;
		margin-bottom: 1.2rem;
		letter-spacing: 0;
		white-space: nowrap;
	}

	#footer .legal_cover {
		width: 100%;
		margin-bottom: 2em;
		padding: 0 6%;
	}

	#footer .sns_cover {
		width: 100%;
	}

	/*SNS*/
	#footer .sns_cover ul {
		justify-content: center;
	}

	/*スマホフッターエンド*/

	#footer .footer_end .inner_1240 {
		display: flex;
		align-items: center;
		margin: auto;
		justify-content: space-between;
		padding: 0;
	}

	/*▼フッターエンド▼*/
	#footer .footer_end {
		padding: 0;

	}

	#footer .footer_end .inner_1240 {
		display: block;

	}

	#footer .footer_end ul {
		display: block;
		border-bottom: 1px solid var(--border_color);
	}


	#footer .footer_end ul li {
		width: 100%;
		list-style: none;
		margin-right: 0;
	}

	#footer .footer_end li a {
		display: block;
		width: 100%;
		font-size: 1.3rem;
		text-align: center;
		padding: 4%;
	}

	#footer .footer_end small {
		font-size: 1.0rem;
		display: block;
		text-align: center;
		padding: 4%;
	}

	/*-----------------------トップページ*/

	.ttl_box {
		position: relative;
	}

	.ttl_box h2 {
		font-size: 2.4rem;
		text-align: center;
	}

	.ttl_box span {
		display: block;
		font-size: 1.4rem;
		margin-top: 8px;
		margin-bottom: 24px;
		font-weight: normal;
		letter-spacing: 0.04rem;
	}

	.ttl_box .ttl_read {
		font-size: 1.4rem;
		margin-bottom: 48px;
	}

	/*カテゴリータイトルデザイン*/

	.common_ttl_box {
		margin-bottom: 12px;
		padding-left: 0px;
		padding-bottom: 0px;
	}

	.common_ttl_box h2 {
		font-size: 2.4rem;
		margin-bottom: 12px;
	}

	.common_ttl_box h2 span {
		font-size: 1.4rem;
		margin-left: 8px;
	}

	.common_ttl_box2 h2 {
		font-size: 2.6rem;
		text-align: center;
	}

	.common_ttl_box2 h2 span {
		font-size: 1.3rem;
		text-indent: 1em;
		margin-top: 8px;
	}

	.common_ttl_box2 p {
		left: 50%;
		top: 12px;
		font-size: 3.6rem;
		z-index: -1;
		transform: translateX(-50%) !important;
		text-align: center;
		padding-right: 0;
	}

	.common_ttl_box2 p:after {
		bottom: 5px;
		left: 0;
		text-indent: 0;
		background: #ffffff;
		background: linear-gradient(to bottom, #ffffff 1%, #f4f3f8 10%, #f4f3f8 90%, #ffffff 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ffffff', GradientType=0);
	}

	h3.common_ttl {
		font-size: 1.8rem;
	}

	/*共通ボタンデザイン*/
	.common_btn::after {
		left: calc(100% - 12px);
		top: calc(50% - 1px);
		width: 28px;
		height: 1px;
	}

	.common_btn::before {
		left: calc(100% + 17px);
		top: calc(50% - 2px);
		width: 14px;
		height: 1px;
	}

	.common_btn a {
		font-size: 1.3rem;
		padding: 12px 16px 12px 16px;
		border: 1px solid var(--font_color);
	}

	.common_btn a:after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		z-index: -2;
		width: 120%;
		/*100%*/
		height: 100%;
		background: var(--main_color);
		-webkit-transform-origin: right top;
		transform-origin: right top;
		-webkit-transform: skewX(-24deg) scale(0, 1);
		transform: skewX(-24deg) scale(0, 1);
		-webkit-transition: -webkit-transform .3s;
		transition: -webkit-transform .3s;
		transition: transform .3s;
		transition: transform .3s, -webkit-transform .3s;
	}

	.common_btn a:hover:after {
		-webkit-transform-origin: left top;
		transform-origin: left top;
		-webkit-transform: skewX(-24deg) scale(1, 1);
		transform: skewX(-24deg) scale(1, 1);
	}

	/*リザルト*/
	.common_form_cover {
		margin-bottom: 24px;
	}

	.common_form_cover .type_select {
		width: 18%;
		font-size: 1.1rem;
		height: 34px;
	}

	.common_form_cover .inner {
		width: 100%;
		padding: 0;
	}

	.common_form_cover input[type="text"] {
		font-size: 1.1rem;
	}

	.common_form_cover input[type="submit"] {
		width: 18%;
		font-size: 1.1rem;
	}

	/*▼ページフレーム▼*/
	#content,
	#c_content {
		padding-top: 50px;
	}

	/*▼▼▼サイドナビ付きページ▼▼▼*/
	#c_page2 {
		/*カラム用*/
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: flex-start;
		flex-direction: column-reverse;
		flex-wrap: wrap;
		width: 100%;
		margin: 0 auto;
	}

	#c_page2 #c_main {
		width: 100%;
		/*padding: 0 2%;*/
	}

	/*サイド共通*/
	#c_side_wrapper {
		width: 100%;
		padding: 0 2%;
		margin-bottom: 8%;
	}

	#c_side_wrapper nav {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
	}

	#c_side_wrapper h3 {
		position: relative;
		margin-bottom: 0;
		font-size: 1.4rem;
		font-weight: 500;
		color: var(--font_color);
		letter-spacing: 0.04rem;
		white-space: nowrap;
		border-bottom: 1px solid var(--border_color);
		padding: 3% 4% 3% 36px;
	}

	#c_side_wrapper h3::after {
		content: '>';
		line-height: 1;
		text-align: center;
		font-size: 1.4rem;
		background: none;
		transform-origin: center center;
		transform: translateY(-50%) rotate(90deg);
		position: absolute;
		right: 0;
		top: 50%;
		color: var(--main_color2);
		transition: transform 0.3s;
	}

	#c_side_wrapper h3.active::after {
		transform: translate(-3px, -50%) rotate(180deg);
	}

	#c_side_wrapper .side_box {
		width: 100%;
		position: relative;
	}

	#c_side_wrapper .side_box>ul {
		display: block;
		background-color: #ffffff;
		transition: opacity 0.3s;
		position: absolute;
		z-index: 10;
		top: 34px;
		left: 0;
		width: 100%;
		padding: 5% 3%;
		opacity: 0;
		visibility: hidden;
		box-shadow: 4px 4px 12px rgba(20, 20, 20, 0.2);
	}

	#c_side_wrapper .side_box ul.active {
		opacity: 1;
		visibility: visible;
	}

	#c_side_wrapper .side_box ul li {
		width: 100%;
		display: block;
		border-bottom: none;
		margin: 0;
		height: auto;
		background: none;
	}

	#c_side_wrapper .side_box ul ul {
		display: none;
	}

	#c_side_wrapper .side_box ul li:after {
		display: none;
	}

	#c_side_wrapper .side_box ul li a {
		width: 100%;
		height: 100%;
		font-size: 1.3rem;
		border-bottom: none;
	}

	#c_side_wrapper .side_box ul li a::before {
		display: none;
	}

	#c_side_wrapper .side_box ul li a:hover::before {
		transform-origin: left top;
		transform: skewX(-24deg) translateX(-0%);
	}

	#c_side_wrapper .banner_box {
		display: none;
	}

	/*共通パーツお問い合わせ*/

	#common_contact {
		width: 100%;
		padding: 12% 0;
	}

	#common_contact .grid_cover {
		width: 100%;
		display: block;
	}

	#common_contact .grid_cover .grid_box {
		width: 100%;
		max-width: 92%;
		margin: 2% 4% 10% 4%;
		background: #ffffff;
	}

	#common_contact .grid_cover .grid_box .cover_link {
		width: 100%;
		height: 100%;
		padding: 6% 6% 8% 6%;
		min-height: auto;
	}

	#common_contact .grid_cover .grid_box .cover_link>div {
		position: relative;
	}

	#common_contact .grid_cover .grid_box .ttl_sub {
		font-size: 1.4rem;
		text-align: center;
		margin-bottom: 8px;
	}

	#common_contact .grid_cover .grid_box .ttl_en {
		font-size: 2.8rem;
		margin: 0 0 16px 0;
		text-align: center;
	}

	#common_contact .grid_cover .grid_box .body_copy {
		text-align: center;
		padding-right: 0;
	}

	#common_contact .tel_cover li {
		width: 100%;
		text-align: center;
		margin-bottom: 4%;
		display: block;
	}

	#common_contact .tel_cover li span {
		font-weight: normal;
		margin-left: 0;
		display: inherit;
		width: 100%;
		font-size: 1.8rem;
	}

	#common_contact .tel_cover li span:nth-child(1) {
		font-weight: 600;
		width: auto;
		display: inherit;
		margin: 0px 0px 4% 0px;
	}

	/*カテゴリーニュース＆IR系*/
	.common_result_box {
		padding: 0 1%;
	}

	.common_result_box li {
		border-bottom: 1px solid var(--border_color);
		padding: 2% 0;
		height: auto;
		flex-wrap: wrap;
		line-height: inherit;
	}

	.common_result_box li time {
		font-size: 1.3rem;
		margin-right: 1%;
		white-space: nowrap;
		width: 5em;
	}

	.common_result_box li span {
		width: auto;
		margin-right: 2%;
		padding: 0 6px;
	}

	.common_result_box li p {
		width: 100%;
		padding-right: 28px;
		flex: auto;
	}

	.common_result_box li p a {
		font-size: 1.3rem;
		display: inline-block;
	}

	.common_result_box li small {
		padding: 1%;
		line-height: 1;
		display: inline-block;
		vertical-align: baseline;
	}



	.common_posts li {
		border-bottom: 1px solid var(--border_color);
		padding: 2% 0;
		height: auto;
		flex-wrap: wrap;
		line-height: inherit;
	}

	.common_posts li div:nth-child(1)>* {
		font-size: 1.5rem;
		margin-right: 1%;
		white-space: nowrap;
		width: 5em;
	}

	.common_posts li div:nth-child(2)>* {
		width: auto;
		margin-right: 2%;
		padding: 0 6px;
		font-size: 1.5rem;
	}

	.common_posts li h2 {
		width: 100%;
		padding-right: 28px;
		flex: auto;

	}

	.common_posts li h2 a {
		font-size: 1.5rem;
		display: inline-block;
	}

	.common_posts li .icon_blank {
		background: url(../image/icon_other_window.png) center right no-repeat;
		background-size: 20px;
	}

	.common_posts li p.icon_pdf {
		background:
			url(../image/icon_pdf.png) center right no-repeat;
		background-size: 20px;
	}

	.common_posts li a {
		position: relative;
	}

	.common_posts li a:after {
		content: "";
		position: absolute;
		bottom: -0.2em;
		left: 0;
		width: 100%;
		height: 1px;
		background: #666666;
		transform-origin: right bottom;
		transform: scale(0, 1);
		transition: transform .3s;
	}

	.common_posts li a:hover:after {
		transform-origin: left bottom;

		transform: scale(1, 1);
	}

	.common_posts li small {
		margin: 0 4px;
		background: #999999;
		color: #FFFFFF;
		padding: 3px 8px;
		font-size: 1.2rem;
		border-radius: 4px;
	}


}