@charset "utf-8";

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

= pc

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

@media (min-width: 1367px) {

	#main_visual {
		background-size: contain !important;
		background-position: top center !important;
	}

}

@media (max-width: 979px) {

	body.list #contents .main section .visual {
		min-height: initial;
		min-height: auto;
	}

}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

= tablet

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

@media (max-width: 959px) {

	header {
		padding: 0 10px;
	}

	header .wrapper {
		display: none;
	}

	#contents {
		display: block;
	}

	#contents .main {
		display: block;
		width: 100%;
	}

	#contents .sub {
    position: static;
		width: 100%;
    background: #f0f0f0;
		text-align: center;
    border-top: 2px solid #ccc;
    border-bottom: 2px solid #ccc;
	}

	#contents .sub .banner img {
		max-width: 230px;
	}

	footer .sitemap dd {
		margin-bottom: 15px;
	}

	/* ================= HOME ================= */

	body.home #gnavi ul {
		display: block;
	}

	body.home #gnavi .list > li {
		position: relative;
		float: left;
		display: block;
		width: 25%;
		padding: 0 10px 30px;
	}
  #gnavi li .list_wrapper {
		position: absolute;
		top: 100%;
		width: 100%;
		margin-top: -30px;
		left: 0;
		z-index: 9999;
	}

	#gnavi li li a,
	#gnavi li .size_l li a {
		width: 100%;
	}

	body.home #gnavi ul li ul {
		position: static;
		display: block;
	}
	body.home #gnavi li.gnavi_01 ul,
	body.home #gnavi li.gnavi_05 ul {
		background-position: 25% 8px;
    width: 200%;
	}

	body.home #gnavi li.gnavi_02 ul,
	body.home #gnavi li.gnavi_03 ul,
	body.home #gnavi li.gnavi_06 ul,
	body.home #gnavi li.gnavi_07 ul {
		background-position: center 8px;
    width: 200%;
    -webkit-transform: translateX(-25%);
    -ms-transform: translateX(-25%);
    transform: translateX(-25%);
	}

	body.home #gnavi li.gnavi_04 ul,
	body.home #gnavi li.gnavi_08 ul {
		background-position: 75% 8px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
	}

	body.home #contents .main section {
		float: none;
		display: block;
		width: 100%;
		margin-bottom: 50px;
		padding-right: 0;
	}

	body.home #contents .main section.wwn {
		border-top: 2px solid #ccc;
		border-bottom: 2px solid #ccc;
		padding-top: 50px;
		padding-bottom: 50px;
	}

	/* ================= 一覧 ================= */
	body.list #contents .main section li {
		padding-bottom: 10px;
	}

}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

= smartphone

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

@media (max-width: 599px) {

	header h1 {
		float: none;
	}

	header h1 img {
		width: 200px;
		height: auto;
	}

	footer .navi {
		display: none;
	}

	footer .page_top {
		right: 10px;
	}

	footer .layout_wrapper {
		background-size: contain;
	}

	footer .sitemap,
	footer .line {
		display: none;
	}

	footer .copyright {
		line-height: 1.4;
	}

	/* ================= home ================= */

	body.home #gnavi ul {
		display: block;
	}

	body.home #gnavi .list > li {
		float: left;
		display: block;
		width: 33%;
		padding: 0 10px 30px;
	}

	#gnavi li .size_l li a {
	}

	body.home #gnavi li.gnavi_01 ul,
	body.home #gnavi li.gnavi_04 ul,
	body.home #gnavi li.gnavi_07 ul {
		background-position: 25% 8px;
    width: 200%;
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
	}

	body.home #gnavi li.gnavi_02 ul,
	body.home #gnavi li.gnavi_05 ul,
	body.home #gnavi li.gnavi_08 ul {
		background-position: center 8px;
    width: 200%;
    -webkit-transform: translateX(-25%);
    -ms-transform: translateX(-25%);
    transform: translateX(-25%);
	}

	body.home #gnavi li.gnavi_03 ul,
	body.home #gnavi li.gnavi_06 ul {
		background-position: 75% 8px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
	}
	body.home #contents .main section dt time {
		display: block;
		margin-bottom: 5px;
	}

	/* ================= list ================= */

	body.lower #gnavi {
		display: none;
	}

	body.lower #main_visual {
		background-size: cover;
	}

	body.lower #main_visual .image_wrapper {
		padding: 0;
	}

	body.lower #main_visual .text_wrapper {
		width: 100%;
		min-height: initial;
		min-height: auto;
	}

	body.lower #main_visual h1 {
		margin-bottom: 30px;
		font-size: 1.538em; /*20px*/
		font-weight: bold;
	}

	body.list #contents .main section {
		float: none;
		display: block;
		width: 100%;
		margin-bottom: 10px;
		padding-right: 0;
	}

	body.list #contents .sub {
		margin-top: 50px;
		padding-top: 50px;
		border-top: 2px solid #ccc;
	}

}
