@charset "utf-8";
/* ===================================================================
 CSS Document
 file name  : common.css
 style info : 既存スタイル相殺・共通スタイル
=================================================================== */

@media all and (max-width: 767px) {
	main {
		width: 100%;
		min-width: 320px;
		overflow: hidden;
		color: #333;
		word-break: normal !important;
	}

	/*-----------------------------
	相殺
	------------------------------*/
	* {
		box-sizing: border-box;
	}
	a {
		text-decoration: none;
	}
	.header_nav_menu_li:first-child {
		display: none;
	}
	.header_nav_menu_li:nth-child(odd) {
	    border-left: 1px solid #dcdcdc;
	    border-right: none;
	}
	.header_nav_menu_li a:after {
		right: 8px;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}


	/*-----------------------------
	sub-nav
	------------------------------*/
	.sub-nav {
		background: #dcdcdc;
	}
	.sub-nav h3 {
		font-size: 15px;
		font-weight: normal;
		color: #FFF;
		border-bottom: #dcdcdc 1px solid;
	}
	.sub-nav h3 a {
		color: #E90000;
	}
	.sub-nav h3 a,
	.sub-nav li a {
	    font-size: 12px;
	    position: relative;
	    display: block;
	    padding: 14px 30px 14px 20px;
	    background: #f0f0f0;
	    text-decoration: none;
	}
	.sub-nav h3 a:after,
	.sub-nav li a:after {
	    content: "";
	    position: absolute;
	    top: 0;
	    right: 8px;
	    bottom: 0;
	    display: block;
	    width: 11px;
	    height: 16px;
	    margin: auto;
	    background: url(../svg/icon_arrow_right_01-2.svg) 0 0/11px 16px no-repeat;
	}
	.sub-nav li {
		border-bottom: #dcdcdc 1px solid;
	}
	.sub-nav li:last-child {
		border-bottom: #dcdcdc 3px solid;
	}


	/*-----------------------------
	fnav
	------------------------------*/
	.fnav{
	}
	.fnav .ul01 {
		display: table;
		width: 100%;
		height: 60px;
	}
	.fnav .ul01 li {
		display: table-cell;
		vertical-align: middle;
		width: 25%;
		border-left: #999 1px solid;
	}
	.fnav .ul01 li:first-child {
		border-left: none;
	}
	.fnav .ul01 a {
		display: block;
		width: 100%;
		padding: 10px 0 0 0;
		font-size: 10px;
		color: #fff;
		height: 72px;
		line-height: 1.4;
		text-align: center;
		text-decoration: none;
		background: #403d33;
	}
	.fnav .ul01 a:hover {
		background: #000;
		opacity: 1;
	}
	.fnav .ul01 img {
		position: relative;
		height: 20px;
		width: 100%;
		margin: 0 0 5px;
	}
	.fnav .ul01 li:last-child img {
		margin-bottom: 12px;
	}
	.fnav .box {
		width: 100%;
		letter-spacing: -.4em;
		padding: 30px 1.9% 0;
		margin: 0 auto 50px;
	}
	.fnav .box h3 {
		margin: 0 2% 20px;
	}
	.fnav .box h3 img {
		height: 18px;
	}
	.fnav [class^="list0"] {
		letter-spacing: normal;
		overflow: hidden;
		margin: 0 0 19px;
		padding: 0 2%;
		display: inline-block;
		vertical-align: top;
		width: 49%;
	}
	.fnav .list05 {
		margin: 0;
	}
	.fnav .list05 ul {
		float: left;
	}
	.fnav .box h4 {
		font-size: 12px;
		position: relative;
		padding: 0 0 8px 10px;
	}
	.fnav .box h4:before {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-top: transparent 4px solid;
		border-left: #999 5px solid;
		border-bottom: transparent 4px solid;
		position: absolute;
		top: 8px;
		left: 0;
	}
	.fnav .box li {
		margin: 0 0 2px;
		padding: 0 0 0 22px;
		position: relative;
	}
	.fnav .box li:before {
		content: '-';
		color: #E6000D;
		position: absolute;
		top: 1px;
		left: 12px;
	}
	.fnav .box li a {
		font-size: 11px;
		text-decoration: none;
	}
}



@media all and (min-width: 768px) {
	main {
		width: 100%;
		min-width: 980px;
		overflow: hidden;
		font-size: 16px;
		color: #333;
		word-break: normal !important;
	}


	/*-----------------------------
	相殺
	------------------------------*/
	img {
		max-width: none;
	}
	* {
		box-sizing: border-box;
	}
	a {
		transition: opacity .6s ease;
	}
	a:hover {
		opacity: .8;
	}
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}

	.l-header {
		width: 100%;
		height: 66px;
		min-width: 980px;
	}
	.header {
		height: 66px;
		border-bottom: #D9D9D9 1px solid;
	}
	.header_utility_menu_li > a,
	.header_utility_menu_li > span {
		height: 66px;
		padding-top: 37px;
	}
	.header_utility_menu_li > a i.is-global,
	.header_utility_menu_li > span i.is-global {
		top: 12px;
	}
	.header_utility_menu_li > a i.is-search,
	.header_utility_menu_li > span i.is-search {
		top: 13px;
	}
	.header_utility_menu_li > a i.is-close,
	.header_utility_menu_li > span i.is-close {
		top: 18px;
	}
	.header_search {
		top: 66px;
		z-index: 11;
	}
	.header_title {
		margin: 25px 25px 0 30px;
	}
	.header_title_logo img {
		width: 104px;
	}
	.header_nav_menu_li a {
		height: 66px;
		line-height: 66px;
		position: relative;
	}
	.header_nav_menu_li.cr a {
		color: #E90000;
	}
	.header_nav_menu_li.cr a:after {
		content: '';
		display: block;
		width: 18px;
		height: 4px;
		background: #E90000;
		position: absolute;
		bottom: 1px;
		left: 50%;
		margin-left: -9px;
	}


	/*-----------------------------
	sub-nav
	------------------------------*/
	.sub-nav {
		width: 100%;
		min-width: 980px;
		position: absolute;
		top: 66px;
		left: 0;
		z-index: 10;
		background: #403D32;
		padding: 0 0 0 40px;
		transform: translate3d(0,0,0);
	}
	.sub-nav h3,
	.sub-nav ul {
		display: inline-block;
		vertical-align: middle;
	}
	.sub-nav h3 {
		font-size: 20px;
		font-weight: normal;
		color: #FFF;
		margin: 1px 46px 0 0;
	}
	.sub-nav h3 a {
		color: #FFF;
		text-decoration: none;
	}
	.sub-nav li {
		display: inline-block;
		vertical-align: middle;
		margin: 0 25px 0 0;
	}
	.sub-nav li a {
		font-size: 15px;
		color: #FFF;
		text-decoration: none;
		display: block;
		padding: 12px 14px;
		position: relative;
	}
	.sub-nav li a:after {
		content: '';
		display: block;
		width: 5px;
		height: 5px;
		border-top: #fff 1px solid;
		border-left: #fff 1px solid;
		transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
		-ms-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		position: absolute;
		top: 50%;
		right: 0;
		margin-top: -4px;
	}


	/*-----------------------------
	Section Common
	------------------------------*/
	.sec {
		min-width: 980px;
		overflow: hidden;
	}


	/*-----------------------------
	fnav
	------------------------------*/
	.fnav{
		width: 100%;
		min-width: 980px;
		margin: 0 auto;
	}
	.fnav .ul01 {
		display: table;
		width: 100%;
	}
	.fnav .ul01 li {
		display: table-cell;
		vertical-align: middle;
		width: 25%;
		border-left: #999 1px solid;
	}
	.fnav .ul01 li:first-child {
		border-left: none;
	}
	.fnav .ul01 a {
		display: block;
		width: 100%;
		padding: 16px 0 17px 0;
		color: #fff;
		text-align: center;
		text-decoration: none;
		background: #403d33;
		transition: background .6s ease;
	}
	.fnav .ul01 a:hover {
		background: #000;
		opacity: 1;
	}
	.fnav .ul01 img {
		margin-right: 7px;
		position: relative;
		top: -2px;
		height: 24px;
	}
	.fnav .ul01 li:first-child img {
		height: 22px;
		margin: 0 7px 2px 0;
	}
	.fnav .box {
		width: 100%;
		max-width: 1290px;
		letter-spacing: -.4em;
		padding: 30px 1.9% 0;
		margin: 0 auto 50px;
	}
	.fnav .box h3 {
		margin: 0 0 26px;
	}
	.fnav [class^="list0"] {
		display: inline-block;
		vertical-align: top;
		letter-spacing: normal;
		margin-right: 60px;
		overflow: hidden;
	}
	.fnav .list05 {
		margin: 0;
	}
	.fnav .list05 ul {
		float: left;
	}
	.fnav .list05 ul:first-of-type {
		margin-right: 10px;
	}
	.fnav .box h4 {
		font-size: 13px;
		position: relative;
		padding: 0 0 11px 12px;
	}
	.fnav .box h4:before {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-top: transparent 4px solid;
		border-left: #999 5px solid;
		border-bottom: transparent 4px solid;
		position: absolute;
		top: 6px;
		left: 0;
	}
	.fnav .box li {
		margin: 0 0 8px;
		padding: 0 0 0 25px;
		position: relative;
	}
	.fnav .box li:before {
		content: '-';
		color: #E6000D;
		position: absolute;
		top: 1px;
		left: 12px;
	}
	.fnav .box a {
		font-size: 12px;
		text-decoration: none;
	}
}


@media all and (min-width: 768px) and (max-width: 1220px) {
	/* 相殺 */
	.header_nav {
		margin-left: 12px;
	}
	.fnav [class^="list0"] {
		margin-right: 4.7%;
	}
	.fnav .list05 {
		margin: 0;
	}
	.fnav .list05 ul {
		float: none;
	}
}

	/*-----------------------------
	Choose your region site 修正
	------------------------------*/

.header_utility_menu_li.is-global > a,
.header_utility_menu_li.is-global > span {
  padding-top: 40px !important;
  line-height: 11px !important;
}
