﻿@media screen and (min-device-width: 641px), print {
	.home #main p {
		margin-top: 2.4rem;
		margin-bottom: 1rem;
		font-size: 2rem;
		line-height: 1.7em
	}
	.home #main ul, .home #main ol {
		margin-top: 1.8rem;
		border-top: 1px solid transparent;
		margin-left: 23px
	}
	.home #main ul li, .home #main ol li {
		margin-top: 0.5rem;
		font-size: 2rem;
		line-height: 1.7em
	}
	.home #main h2 {
		margin: 50px 0 0;
		padding: 13px 10px 11px;
		border-radius: 5px;
		background: #1e56a3;
		font-size: 2.5rem;
		line-height: 1.3em;
		font-weight: bold;
		color: #fff;
		text-align: center
	}
	.home #main h3 {
		margin-top: 7rem;
		padding: 0;
		font-size: 2.8rem;
		line-height: 1.7em;
		font-weight: bold;
		text-align: center
	}
	.home #main h4 {
		margin-top: 6rem;
		padding: 0;
		font-size: 2.4rem;
		line-height: 1.7em;
		font-weight: bold;
		text-align: center
	}
	.home #main .main-visual {
		margin-top: -1px;
		padding-bottom: 20px
	}
	.home #main .main-visual .slides ul.viewport {
		overflow: hidden;
		margin: 0;
		padding: 0
	}
	.home #main .main-visual .slides ul.viewport li {
		list-style: none;
		margin: 0;
		padding: 0
	}
	.home #main .main-visual .slides ul.viewport li a {
		padding: 0;
		background: none
	}
	.home #main .main-visual .slides ul.viewport li a img {
		vertical-align: top;
		max-width: 100%;
		height: auto;
		margin: 0;
		transition: opacity 0.4s
	}
	.home #main .main-visual .slides ul.viewport li a:hover img {
		opacity: 0.8
	}
	.home #main .main-visual .slides ul.thumbnail {
		display: flex;
		justify-content: center;
		margin: 10px 0 0;
		padding: 0
	}
	.home #main .main-visual .slides ul.thumbnail li {
		list-style: none;
		width: 154px;
		margin: 0 0 0 10px;
		padding: 0
	}
	.home #main .main-visual .slides ul.thumbnail li:first-child {
		margin-left: 0
	}
	.home #main .main-visual .slides ul.thumbnail li a {
		padding: 0;
		background: none
	}
	.home #main .main-visual .slides ul.thumbnail li a img {
		vertical-align: top;
		width: 154px;
		height: auto;
		margin: 0;
		transition: opacity 0.4s
	}
	.home #main .main-visual .slides ul.thumbnail li a.active img, .home #main .main-visual .slides ul.thumbnail li a:hover img {
		opacity: 0.7
	}
	.home #main .main-visual .bx-viewport {
		overflow: visible !important
	}
	.home #main .nav-news {
		position: relative;
		padding: 0 0 22px
	}
	.home #main .nav-news::after {
		content: "";
		display: block;
		width: calc(200vw + 100%);
		height: 100%;
		position: absolute;
		left: calc(0px - 100vw);
		top: 0;
		z-index: -1;
		box-sizing: border-box;
		background: #d8e9ff
	}
	.home #main .nav-news h2{
		margin-top: 30px;
	}
	.home #main .nav-news .special-information h2 {
		/*margin-top: 0;*/
		border-radius: 5px 5px 0 0
	}
	/* 移転のお知らせ */
	.home #main .nav-news .relocation{
		margin:0 auto;
		width:550px;
		text-align:center;
	}
	.home #main .nav-news .relocation p{
		font-weight:bold; 
	}
	.home #main .nav-news .relocation p a[href*=".pdf"] {
		background-position: 53px calc(((1.7em - 15px) / 2) - -1px);
		color:#ff3300;
	}
	.home #main .nav-news .relocation p a{
		color:#ff3300;
	}
	.home #main .nav-news .special-information .detail {
		padding: 19px 40px 25px;
		border: 1px solid #1e56a3;
		border-radius: 0 0 5px 5px;
		background: #fff
	}
	.home #main .nav-news .special-information .detail p {
		font-size: 1.5rem;
		line-height: 1.5em;
		font-weight: bold;
		text-align: center
	}
	.home #main .nav-news .special-information .detail p:first-child {
		margin-top: 0
	}
	.home #main .nav-news .special-information .detail > ul {
		display: flex;
		flex-wrap: wrap;
		margin: -10px 0 0 -10px;
		padding: 14px 0 0
	}
	.home #main .nav-news .special-information .detail > ul > li {
		list-style: none;
		margin: 10px 0 0 10px;
		padding: 0
	}
	.home #main .nav-news .special-information .detail > ul > li a {
		display: block;
		padding: 7px 12px 6px;
		border: 1px solid #1e56a3;
		background: #fff;
		font-size: 1.5rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #1e56a3;
		text-decoration: none;
		transition: background-color 0.4s
	}
	.home #main .nav-news .special-information .detail > ul > li a:hover {
		background-color: #ebf1fc
	}
	.home #main .nav-news .special-information .detail > ul > li.special a {
		border-color: #a31e1e;
		color: #ef041a
	}
	.home #main .nav-news .special-information .detail > ul > li.special a:hover {
		background-color: #fbeae7
	}
	.home #main .nav-news .special-information .detail .links-button {
		display: flex;
		justify-content: center;
		margin-top: 25px
	}
	.home #main .nav-news .special-information .detail .links-button .basic-button {
		margin: 0 0 0 10px
	}
	.home #main .nav-news .special-information .detail .links-button .basic-button:first-child {
		margin-left: 0
	}
	.home #main .nav-news .special-information .detail .links-button .basic-button a {
		min-width: 385px
	}
	.home #main .nav-news .news > section {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between
	}
	.home #main .nav-news .news > section h2 {
		width: 100%
	}
	.home #main .nav-news .news > section .detail {
		width: calc((100% - 20px) / 2);
		margin-top: 27px;
		padding: 14px 10px;
		border: 1px solid #1e56a3;
		border-radius: 5px;
		background: #fff;
		box-sizing: border-box
	}
	.home #main .nav-news .news > section .detail h3 {
		margin-top: 0;
		font-size: 1.5rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #1e56a3;
		text-align: center
	}
	.home #main .nav-news .news > section .detail ol {
		margin: 25px 0 0;
		padding: 0
	}
	.home #main .nav-news .news > section .detail ol li {
		list-style: none;
		margin: 14px 0 0;
		padding: 17px 0 0;
		border-top: 1px dotted #a2a2a2;
		line-height: 0
	}
	.home #main .nav-news .news > section .detail ol li:first-child {
		margin-top: 0;
		padding-top: 0;
		border: none
	}
	.home #main .nav-news .news > section .detail ol li time {
		display: inline-block;
		padding: 3px 5px;
		background: #b1c8e7;
		font-size: 1.4rem;
		line-height: 1;
		white-space: nowrap;
		word-spacing: 0.281em
	}
	.home #main .nav-news .news > section .detail ol li .title {
		margin-top: 3px
	}
	.home #main .nav-news .news > section .detail ol li .title a {
		padding: 0;
		background: none;
		font-size: 1.4rem;
		line-height: 1.7em;
		color: #000;
		text-decoration: underline
	}
	.home #main .nav-news .news > section .detail ol li .title a:hover {
		text-decoration: none
	}
	.home #main .nav-news .news > section .basic-button {
		width: 100%
	}
	.home #main .nav-news .news > section .basic-button a {
		min-width: 274px
	}
	.home #main .nav-event .pic-up-event {
		margin-top: 30px
	}
	.home #main .nav-event .pic-up-event ul {
		display: flex;
		flex-wrap: wrap;
		margin: -20px 0 0 -20px;
		padding: 0
	}
	.home #main .nav-event .pic-up-event ul li {
		list-style: none;
		width: calc((100% - 20px - 20px) / 2);
		margin: 20px 0 0 20px;
		padding: 0
	}
	.home #main .nav-event .pic-up-event ul li h3 {
		margin-top: 15px;
		font-size: 2rem;
		line-height: 1.3em;
		font-weight: normal;
		color: #1e56a3;
		text-align: center
	}
	.home #main .nav-event .pic-up-event ul li:first-child h3{
		margin-top: 0;
	}
	.home #main .nav-event .pic-up-event ul li:nth-child(2) h3{
		margin-top: 0;
	}
	.home #main .nav-event .pic-up-event ul li .pic {
		margin-top: 10px;
		text-align: center
	}
	.home #main .nav-event .pic-up-event ul li .pic img {
		vertical-align: top;
		max-width: 100%;
		height: auto;
		border: 1px solid #a2a2a2
	}
	.home #main .nav-event .pic-up-event ul li p {
		margin-top: 5px;
		font-size: 1.4rem;
		line-height: 1.5em;
		font-weight: bold
	}
	.home #main .nav-event .pic-up-event ul li .title {
		margin-top: 15px;
		font-size: 1.8rem;
		line-height: 1.5em;
		font-weight: bold
	}
	.home #main .nav-event .pic-up-event ul li .title + p {
		margin-top: 10px
	}
	.home #main .nav-event .events {
		margin-top: 35px
	}
	.home #main .nav-event .events ul {
		display: flex;
		flex-wrap: wrap;
		margin: -20px 0 0 -20px;
		padding: 0
	}
	.home #main .nav-event .events ul li {
		list-style: none;
		margin: 20px 0 0 20px;
		width: 225px
	}
	.home #main .nav-event .events ul li .pic {
		margin-top: 0;
		text-align: center
	}
	.home #main .nav-event .events ul li .pic img {
		vertical-align: top;
		max-width: 100%;
		height: auto;
		border: 1px solid #a2a2a2
	}
	.home #main .nav-event .events ul li p {
		margin-top: 5px;
		font-size: 1.3rem;
		line-height: 1.5em
	}
	.home #main .nav-event .events ul li .title {
		margin-top: 10px;
		font-weight: bold
	}
	.home #main .nav-event .links-button {
		display: flex;
		justify-content: center;
		margin-top: 12px
	}
	.home #main .nav-event .links-button p {
		margin: 0 0 0 12px
	}
	.home #main .nav-event .links-button p:first-child {
		margin-left: 0
	}
	.home #main .nav-event .links-button .button-detail a {
		padding: 7px 15px 6px;
		border: 2px solid #1e56a3;
		border-radius: 5px;
		background-position: 8px center;
		background-size: 3px 5px;
		font-size: 1.4rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #1e56a3;
		text-decoration: none;
		transition: background-color 0.4s;
		min-width:84px;
	}
	.home #main .nav-event .links-button .button-detail a:hover {
		background-color: #ebf1fc
	}
	.home #main .nav-event .links-button .button-movie a {
		position: relative;
		padding: 7px 24px 6px 25px;
		border: 2px solid #000;
		border-radius: 5px;
		background: none;
		font-size: 1.4rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #000;
		text-decoration: none;
		transition: background-color 0.4s
	}
	.home #main .nav-event .links-button .button-movie a::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 5px;
		width: 17px;
		height: 17px;
		margin: auto 0;
		border: 2px solid #000;
		border-radius: 50%;
		background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%223%22%20height%3D%224%22%3E%3Cpolygon%20points%3D%220%200%203%202%200%204%22%20%2F%3E%3C%2Fsvg%3E) 4px 3px no-repeat;
		background-size: 6px 7px;
		box-sizing: border-box;
		content: ""
	}
	.home #main .nav-event .links-button .button-movie a:hover {
		background-color: #eee
	}
	.home #main .nav-challenges-policy {
		margin-top: 30px
	}
	.home #main .nav-challenges-policy ul {
		display: flex;
		flex-wrap: wrap;
		margin: -20px 0 0 -20px;
		padding: 0
	}
	.home #main .nav-challenges-policy ul li {
		list-style: none;
		width: 300px;
		margin: 20px 0 0 25px;
		padding: 0;
	}
	.home #main .nav-challenges-policy ul li a {
		padding: 0;
		background: none
	}
	.home #main .nav-challenges-policy ul li a img {
		vertical-align: top;
		margin: 0;
		transition: opacity 0.4s
	}
	.home #main .nav-challenges-policy ul li a:hover img {
		opacity: 0.7
	}
	.home #main .nav-challenges-policy .link-past-projects {
		text-align: center
	}
	.home #main .nav-committee {
		margin-top: 30px
	}
	.home #main .nav-committee > ul {
		display: flex;
		flex-wrap: wrap;
		margin: -20px 0 0 -20px;
		padding: 0
	}
	.home #main .nav-committee > ul > li {
		list-style: none;
		width: 470px;
		margin: 20px 0 0 20px;
		padding: 0;
		border: 1px solid #1e56a3;
		box-sizing: border-box
	}
	.home #main .nav-committee > ul > li .committee-title {
		padding: 25px 13px 23px;
		background: #ededed;
		text-align: center
	}
	.home #main .nav-committee > ul > li .committee-title p {
		margin-top: 0;
		font-size: 1.5rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #1e56a3
	}
	.home #main .nav-committee > ul > li .detail {
		display: flex;
		flex-wrap: wrap;
		padding: 19px 13px 40px;
		border-top: 2px solid #1e56a3
	}
	.home #main .nav-committee > ul > li .detail .pic {
		margin-top: 0;
		width: 142px;
		text-align: center
	}
	.home #main .nav-committee > ul > li .detail .pic img {
		vertical-align: top;
		max-width: 100%;
		height: auto
	}
	.home #main .nav-committee > ul > li .detail .committee-information {
		width: calc(100% - 15px - 142px);
		margin-left: 15px
	}
	.home #main .nav-committee > ul > li .detail .committee-information p {
		margin-top: 3px;
		font-size: 1.4rem;
		line-height: 1.5em;
		font-weight: bold
	}
	.home #main .nav-committee > ul > li .detail .committee-information p:first-child {
		margin-top: 0
	}
	.home #main .nav-committee > ul > li .detail .committee-information .title {
		margin-top: 7px;
		font-size: 1.8rem;
		line-height: 1.3em;
		font-weight: bold
	}
	.home #main .nav-committee > ul > li .detail .text {
		width: 100%;
		margin-top: 15px
	}
	.home #main .nav-committee > ul > li .detail .text p {
		font-size: 1.4rem;
		line-height: 1.5em;
	}
	.home #main .nav-committee > ul > li .detail .text p:first-child {
		margin-top: 0
	}
	.home #main .nav-retail-shop {
		display: flex;
		justify-content: space-between;
		margin-top: 28px
	}
	.home #main .nav-retail-shop .text {
		width: 470px
	}
	.home #main .nav-retail-shop .text p {
		margin-top: 8px;
		font-size: 1.5rem;
		line-height: 1.5em;
		font-weight: bold
	}
	.home #main .nav-retail-shop .text p:first-child {
		margin-top: 0
	}
	.home #main .nav-retail-shop .text .message {
		font-size: 1.8rem;
		line-height: 1.3em;
		font-weight: bold
	}
	.home #main .nav-retail-shop .text .basic-button {
		margin-top: 15px;
		text-align: left
	}
	.home #main .nav-retail-shop .text .basic-button a {
		min-width: 306px;
		text-align: center
	}
	.home #main .nav-retail-shop .text .basic-button + .basic-button {
		margin-top: 9px
	}
	.home #main .nav-retail-shop .pic {
		width: 470px;
		margin-top: 0;
		text-align: center
	}
	.home #main .nav-retail-shop .pic img {
		vertical-align: top;
		max-width: 100%;
		height: auto
	}
	.home #main .nav-trends {
		display: flex;
		justify-content: space-between;
		margin-top: 28px
	}
	.home #main .nav-trends .detail {
		width: 470px;
		padding: 15px 10px 30px;
		border-radius: 5px;
		border: 1px solid #1e56a3;
		box-sizing: border-box
	}
	.home #main .nav-trends .detail h3 {
		margin-top: 0;
		font-size: 2rem;
		line-height: 1.3em;
		font-weight: bold;
		text-align: center
	}
	.home #main .nav-trends .detail ul {
		display: flex;
		flex-wrap: wrap;
		margin: -10px 0 0 -10px;
		padding: 28px 0 0
	}
	.home #main .nav-trends .detail ul li {
		list-style: none;
		margin: 10px 0 0 10px;
		padding: 0
	}
	.home #main .nav-trends .detail ul li a {
		position: relative;
		padding: 12px 16px 10px 38px;
		border: 1px solid #1e56a3;
		background: #fff;
		font-size: 1.4rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #1e56a3;
		text-decoration: none;
		box-sizing: border-box;
		transition: background-color 0.4s
	}
	.home #main .nav-trends .detail ul li a::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 15px;
		width: 17px;
		height: 17px;
		margin: auto 0;
		border-radius: 50%;
		background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%223%22%20height%3D%224%22%3E%3Cpolygon%20points%3D%220%200%203%202%200%204%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E) center center no-repeat #1e56a3;
		background-size: 4px 7px;
		content: ""
	}
	.home #main .nav-trends .detail ul li a:hover {
		background-color: #ebf1fc
	}
	.home #main .nav-trends .detail.japan {
		background: url(../../img/trend-japan-bg.png) right bottom no-repeat
	}
	.home #main .nav-trends .detail.japan ul {
		display: block
	}
	.home #main .nav-trends .detail.japan ul li a {
		min-width: 215px
	}
	.home #main .nav-trends .detail.world {
		background: url(../../img/trend-world-bg.png) right bottom no-repeat
	}
	.home #main .nav-trends .detail.world ul {
		padding-right: 10px
	}
	.home #main p strong {
		font-size: 2.2rem;
		line-height: 1.7em;
		font-weight: bold
	}
	.home #main p.lead {
		font-size: 2rem;
		line-height: 1.7em
	}
	.home #main table[class^="parts-table-"] {
		width: 100%;
		margin: 2.5rem 0 0 0;
		border-top: solid 1px #a2a2a2;
		border-left: solid 1px #a2a2a2
	}
	.home #main table[class^="parts-table-"] th, .home #main table[class^="parts-table-"] td {
		padding: 6px 13px;
		border-right: 1px solid #a2a2a2;
		border-bottom: 1px solid #a2a2a2;
		text-align: left;
		vertical-align: top;
		font-size: 1.6rem;
		line-height: 1.7em
	}
	.home #main table[class^="parts-table-"] th {
		width: 1%;
		white-space: nowrap
	}
	.home #main table[class^="parts-table-"] p, .home #main table[class^="parts-table-"] ul, .home #main table[class^="parts-table-"] ol, .home #main table[class^="parts-table-"] li {
		margin-top: 0;
		font-size: 1.6rem;
		line-height: 1.7em
	}
	.home #main table[class^="parts-table-"] th.valign-middle, .home #main table[class^="parts-table-"] td.valign-middle {
		vertical-align: middle
	}
	.home #main table[class^="parts-table-"].parts-table-normal tr:first-child th {
		background-color: #e8e8e8
	}
	.home #main table[class^="parts-table-"].parts-table-normal th:first-child {
		white-space: nowrap
	}
	.home #main table[class^="parts-table-"].parts-table-normal th {
		background-color: #f3f3f3;
		font-weight: bold
	}
	.home #main table[class^="parts-table-"].parts-table-oneline th {
		background-color: #f3f3f3;
		font-weight: bold
	}
	.home #main table[class^="parts-table-"].parts-table-customize {
		table-layout: fixed
	}
	.home #main table[class^="parts-table-"].parts-table-customize tr:first-child th {
		background-color: #e8e8e8
	}
	.home #main table[class^="parts-table-"].parts-table-customize th {
		width: auto;
		white-space: normal;
		background-color: #f3f3f3;
		font-weight: bold
	}
	.home #main div[class^="parts-box-"] {
		margin: 2.5rem 0 0 0;
		padding: 2.8rem 3rem
	}
	.home #main div[class^="parts-box-"] :first-child {
		margin-top: 0
	}
	.home #main div[class^="parts-box-"].parts-box-normal {
		border: 1px solid #a2a2a2
	}
	.home #main table[class^="parts-cols-"] {
		border-collapse: separate;
		width: 100%
	}
	.home #main table[class^="parts-cols-"].parts-cols-1 td {
		width: 710px
	}
	.home #main table[class^="parts-cols-"].parts-cols-2 td {
		width: 470px
	}
	.home #main table[class^="parts-cols-"].parts-cols-2 td:not(:first-child) {
		padding-left: 20px
	}
	.home #main table[class^="parts-cols-"].parts-cols-3 td {
		width: 306px
	}
	.home #main table[class^="parts-cols-"].parts-cols-3 td:not(:first-child) {
		padding-left: 20px
	}
	.home #main table[class^="parts-cols-"].parts-cols-4 td {
		width: 225px
	}
	.home #main table[class^="parts-cols-"].parts-cols-4 td:not(:first-child) {
		padding-left: 20px
	}
	.home #main table[class^="parts-cols-"] img {
		box-sizing: border-box;
		width: 100%;
		height: auto;
		margin-top: 0.5rem;
		border: 1px solid #a2a2a2
	}
	.home #main table[class^="parts-cols-"] p.caption {
		margin: 0.3rem 0 0 0;
		font-size: 1.4rem;
		line-height: 1.7em
	}
	.home #main table[class^="parts-cols-"].parts-cols-1 p {
		text-align: center
	}
	.home #main table[class^="parts-cols-"].parts-cols-1 img {
		width: inherit;
		max-width: 100%
	}
	.home #main table[class^="parts-cols-"].parts-cols-right-img td:last-child {
		width: 1%;
		padding-left: 15px
	}
	.home #main table[class^="parts-cols-"].parts-cols-right-img td:last-child img {
		width: inherit
	}
	.home #main table[class^="parts-cols-"].parts-cols-left-img td:first-child {
		width: 1%;
		padding-right: 15px
	}
	.home #main table[class^="parts-cols-"].parts-cols-left-img td:first-child img {
		width: inherit
	}
	.home #main ul[class^="parts-mark-"] {
		margin-left: 0
	}
	.home #main ul[class^="parts-mark-"] li {
		list-style: none;
		position: relative;
		padding-left: 30px;
		font-size: 2rem;
		line-height: 1.7em;
		font-weight: bold
	}
	.home #main ul[class^="parts-mark-check"] li::before {
		display: block;
		content: "";
		position: absolute;
		top: calc(((2rem * 1.7) / 2) - 8px);
		left: 0.5rem;
		width: 13px;
		height: 6px;
		border-left: 3px solid #888;
		border-bottom: 3px solid #888;
		transform: rotate(-45deg)
	}
	.home #main ul.parts-mark-check-color li::before {
		border-left: 3px solid #1e56a3;
		border-bottom: 3px solid #1e56a3
	}
	.home #main ul.parts-mark-counter {
		counter-reset: i
	}
	.home #main ul.parts-mark-counter li::before {
		display: block;
		box-sizing: border-box;
		width: 2.4rem;
		height: 2.4rem;
		background: #1e56a3;
		border-radius: 50%;
		padding-top: 0.5rem;
		counter-increment: i;
		content: counter(i);
		font-size: 1.6rem;
		line-height: 1em;
		font-weight: bold;
		color: #fff;
		text-align: center;
		position: absolute;
		top: calc(((2rem * 1.7) / 2) - (1.6rem / 2) - 0.5rem);
		left: 0
	}
	.home #main ul.box-point {
		margin: 2rem 0 0 -20px;
		border-top: 1px solid transparent;
		display: flex;
		flex-wrap: wrap;
		counter-reset: i
	}
	.home #main ul.box-point li {
		width: 470px;
		margin: 3rem 0 0 20px;
		padding: 0;
		list-style: none
	}
	.home #main ul.box-point li:first-of-type:nth-last-child(1) {
		width: 960px
	}
	.home #main ul.box-point li:first-of-type:nth-last-child(2), .home #main ul.box-point li:first-of-type:nth-last-child(2) ~ li, .home #main ul.box-point li:first-of-type:nth-last-child(4), .home #main ul.box-point li:first-of-type:nth-last-child(4) ~ li {
		width: 470px
	}
	.home #main ul.box-point li:first-of-type:nth-last-child(3), .home #main ul.box-point li:first-of-type:nth-last-child(3) ~ li, .home #main ul.box-point li:first-of-type:nth-last-child(5), .home #main ul.box-point li:first-of-type:nth-last-child(5) ~ li, .home #main ul.box-point li:first-of-type:nth-last-child(6), .home #main ul.box-point li:first-of-type:nth-last-child(6) ~ li, .home #main ul.box-point li:first-of-type:nth-last-child(9), .home #main ul.box-point li:first-of-type:nth-last-child(9) ~ li {
		width: 306px
	}
	.home #main ul.box-point li:first-of-type:nth-last-child(7), .home #main ul.box-point li:first-of-type:nth-last-child(7) ~ li, .home #main ul.box-point li:first-of-type:nth-last-child(8), .home #main ul.box-point li:first-of-type:nth-last-child(8) ~ li {
		width: 225px
	}
	.home #main ul.box-point li p {
		margin-top: 0.3rem
	}
	.home #main ul.box-point li p.title {
		position: relative;
		padding-left: 30px;
		font-size: 2.2rem;
		line-height: 1.7em;
		font-weight: bold
	}
	.home #main ul.box-point li p.title::before {
		display: block;
		box-sizing: border-box;
		width: 2.4rem;
		height: 2.4rem;
		background: #1e56a3;
		border-radius: 50%;
		padding-top: 0.5rem;
		counter-increment: i;
		content: counter(i);
		font-size: 1.6rem;
		line-height: 1em;
		font-weight: bold;
		color: #fff;
		text-align: center;
		position: absolute;
		top: calc(((2.2rem * 1.7) / 2) - (1.6rem / 2) - 0.5rem);
		left: 0
	}
	.home #main ul.box-point li p img {
		box-sizing: border-box;
		width: 100%;
		height: auto;
		margin-top: 0.5rem;
		border: 1px solid #a2a2a2
	}
	.home #main ul.box-point li p.caption {
		margin: 0.5rem 0 0 0;
		font-size: 1.6rem;
		line-height: 1.7em
	}
	.home #main ol.flow-each {
		display: flex;
		margin: 2.5rem 0 0 0;
		padding: 0;
		overflow: hidden;
		counter-reset: i
	}
	.home #main ol.flow-each li {
		flex: 1;
		margin: 0;
		padding: 0;
		list-style: none
	}
	.home #main ol.flow-each li:not(:first-child) {
		margin-left: 20px
	}
	.home #main ol.flow-each li p {
		margin-top: 0.3rem
	}
	.home #main ol.flow-each li p.title {
		position: relative;
		padding-left: 30px;
		font-size: 2.2rem;
		line-height: 1.7em;
		font-weight: bold
	}
	.home #main ol.flow-each li p.title::before {
		display: block;
		box-sizing: border-box;
		width: 2.4rem;
		height: 2.4rem;
		background: #1e56a3;
		border-radius: 50%;
		padding-top: 0.5rem;
		counter-increment: i;
		content: counter(i);
		font-size: 1.6rem;
		line-height: 1em;
		font-weight: bold;
		color: #fff;
		text-align: center;
		position: absolute;
		top: calc(((2.2rem * 1.7) / 2) - (1.6rem / 2) - 0.5rem);
		left: 0
	}
	.home #main ol.flow-each li p.pic {
		position: relative
	}
	.home #main ol.flow-each li p.pic img {
		box-sizing: border-box;
		width: 100%;
		height: auto;
		margin-top: 0.5rem;
		border: 1px solid #a2a2a2
	}
	.home #main ol.flow-each li p.pic::before {
		content: "";
		display: block;
		width: 12px;
		height: 3px;
		background: #a2a2a2;
		position: absolute;
		left: -17px;
		top: calc(50% - 1px)
	}
	.home #main ol.flow-each li p.pic::after {
		content: "";
		display: block;
		box-sizing: border-box;
		width: 11px;
		height: 11px;
		border-right: 3px solid #a2a2a2;
		border-bottom: 3px solid #a2a2a2;
		transform: rotate(-45deg);
		position: absolute;
		left: -15px;
		top: calc(50% - 5px)
	}
	.home #main ol.flow-each li p.caption {
		margin: 0.5rem 0 0 0;
		font-size: 1.6rem;
		line-height: 1.7em
	}
	.home #main .contacts {
		margin: 7rem 0 -7rem;
		padding: 4rem 0;
		border-top: 1px solid transparent;
		position: relative
	}
	.home #main .contacts::after {
		content: "";
		display: block;
		width: calc(200vw + 100%);
		height: 100%;
		position: absolute;
		left: calc(0px - 100vw);
		top: 0;
		z-index: -1;
		background: #f7f9fc;
		border-top: 1px solid #a1b7dd;
		border-bottom: 1px solid #a1b7dd
	}
	.home #main .contacts p, .home #main .contacts ul, .home #main .contacts li {
		margin: 0;
		padding: 0;
		list-style: none
	}
	.home #main .contacts > p.title {
		font-size: 2.6rem;
		line-height: 1.7em;
		font-weight: bold;
		text-align: center
	}
	.home #main .contacts .contacts-conversion {
		display: flex;
		box-sizing: border-box;
		width: 100%;
		margin: 3rem 0 0 0;
		padding: 0 0 0 0
	}
	.home #main .contacts .contacts-conversion .conversion-title {
		display: none
	}
	.home #main .contacts .contacts-conversion .conversion-web {
		flex: 1;
		padding: 0 0 0 0
	}
	.home #main .contacts .contacts-conversion .conversion-web .conversion-web-button {
		margin-right: 30px;
		margin-left: 30px
	}
	.home #main .contacts .contacts-conversion .conversion-web .conversion-web-button a {
		display: block;
		padding: 16px 20px 15px 40px;
		position: relative;
		z-index: 1;
		border: 1px solid #2f4d83;
		background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2238%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M0%2C12v26h48V12L24%2C23L0%2C12z%22%2F%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M48%2C9.1V2H0v7.1L24%2C20L48%2C9.1z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M48%2C7.1V0H0v7.1L24%2C18L48%2C7.1z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M0%2C10v26h48V10L24%2C21L0%2C10z%22%2F%3E%3C%2Fsvg%3E) 15px 50%/24px auto no-repeat, linear-gradient(to bottom, #365996 0%, #2f4d83 100%) left top;
		box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
		text-align: center;
		transition: transform 250ms, box-shadow 250ms;
		font-size: 2.4rem;
		line-height: 1.7em;
		font-weight: bold;
		color: #fff
	}
	.home #main .contacts .contacts-conversion .conversion-web .conversion-web-button a::before {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2238%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M0%2C12v26h48V12L24%2C23L0%2C12z%22%2F%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M48%2C9.1V2H0v7.1L24%2C20L48%2C9.1z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M48%2C7.1V0H0v7.1L24%2C18L48%2C7.1z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M0%2C10v26h48V10L24%2C21L0%2C10z%22%2F%3E%3C%2Fsvg%3E) 15px 50%/24px auto no-repeat, linear-gradient(to bottom, #27406d 0%, #2b4778 100%);
		content: "";
		opacity: 0;
		transition: opacity 250ms
	}
	.home #main .contacts .contacts-conversion .conversion-web .conversion-web-button a:hover:not(:disabled)::before {
		opacity: 1
	}
	.home #main .contacts .contacts-conversion .conversion-web .conversion-web-button a:active:not(:disabled) {
		box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
		transform: scale(0.98)
	}
	.home #main .contacts .contacts-conversion .conversion-tel {
		flex: 1;
		padding: 0 0 0 0;
		text-align: center
	}
	.home #main .contacts .contacts-conversion .conversion-tel .conversion-tel-button {
		display: inline-block;
		position: relative;
		vertical-align: bottom;
		font-size: 3.8rem;
		line-height: 1.1em;
		font-weight: bold
	}
	.home #main .contacts .contacts-conversion .conversion-tel .conversion-tel-button .number {
		display: inline-block;
		position: relative;
		padding-left: 39px;
		background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2266%22%20height%3D%2262%22%3E%3Cpath%20fill%3D%22%23333333%22%20d%3D%22M0%2C62h18V0H0V62z%22%2F%3E%3Cpath%20fill%3D%22%23333333%22%20d%3D%22M22%2C0v62h44V0H22z%20M36%2C56h-8v-8h8V56z%20M36%2C44h-8v-8h8V44z%20M36%2C32h-8v-8h8V32z%20M48%2C56h-8%20v-8h8V56z%20M48%2C44h-8v-8h8V44z%20M48%2C32h-8v-8h8V32z%20M60%2C56h-8v-8h8V56z%20M60%2C44h-8v-8h8V44z%20M60%2C32h-8v-8h8V32z%20M60%2C19H28V7h32V19z%22%2F%3E%3C%2Fsvg%3E) left calc(50% - 2px)/33px 31px no-repeat
	}
	.home #main .contacts .contacts-conversion .conversion-tel .conversion-tel-button .tel-free {
		display: inline-block;
		vertical-align: 1px;
		font-size: 1.4rem;
		line-height: 1.1em;
		font-weight: normal
	}
	.home #main .contacts .contacts-conversion .conversion-tel ul.notice {
		display: inline-block;
		text-align: left
	}
	.home #main .contacts .contacts-conversion .conversion-tel ul.notice li {
		font-size: 1.2rem;
		line-height: 1.7em
	}
}
@media screen and (max-device-width: 640px) {
	.home #main p {
		margin-top: 1.6rem;
		font-size: 1.6rem;
		line-height: 1.7em
	}
	.home #main ul, .home #main ol {
		margin-top: 1rem;
		border-top: 1px solid transparent;
		margin-left: 23px
	}
	.home #main ul li, .home #main ol li {
		margin-top: 0.5rem;
		font-size: 1.8rem;
		line-height: 1.7em
	}
	.home #main h1 {
		position: relative;
		box-sizing: border-box;
		width: 100vw;
		margin: 0 -10px
	}
	.home #main h2 {
		margin: 16px 0 0;
		padding: 7px 10px;
		border-radius: 5px;
		background: #1e56a3;
		font-size: 1.8rem;
		line-height: 1.3em;
		font-weight: bold;
		color: #fff;
		text-align: center
	}
	.home #main h3 {
		margin-top: 5rem;
		padding: 0;
		font-size: 2rem;
		line-height: 1.7em;
		font-weight: bold;
		text-align: center
	}
	.home #main h4 {
		margin-top: 4rem;
		padding: 0;
		font-size: 1.8rem;
		line-height: 1.7em;
		font-weight: bold;
		text-align: center
	}
	.home #main .main-visual {
		margin: -1px -10px 0;
		padding-bottom: 13px
	}
	.home #main .main-visual .slides ul.viewport {
		overflow: hidden;
		margin: 0;
		padding: 0
	}
	.home #main .main-visual .slides ul.viewport li {
		list-style: none;
		margin: 0;
		padding: 0
	}
	.home #main .main-visual .slides ul.viewport li a {
		padding: 0;
		background: none
	}
	.home #main .main-visual .slides ul.viewport li a img {
		vertical-align: top;
		max-width: 100%;
		height: auto;
		margin: 0
	}
	.home #main .main-visual .slides ul.thumbnail {
		display: none
	}
	.home #main .main-visual .bx-viewport {
		overflow: visible !important
	}
	.home #main .main-visual .bx-pager {
		clear: both;
		display: flex;
		justify-content: center;
		margin-top: 13px
	}
	.home #main .main-visual .bx-pager .bx-pager-item {
		margin-left: 10px
	}
	.home #main .main-visual .bx-pager .bx-pager-item:first-child {
		margin-left: 0
	}
	.home #main .main-visual .bx-pager .bx-pager-item a {
		display: block;
		padding: 0;
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background-image: none;
		background-color: #999;
		font-size: 0;
		transition: background-color 0.4s
	}
	.home #main .main-visual .bx-pager .bx-pager-item a.active {
		background-color: #1e56a3
	}
	.home #main .nav-news {
		position: relative;
		margin: 0 -10px;
		padding: 10px;
		background: #d8e9ff
	}
	.home #main .nav-news h2{
		margin-top: 10px;
	}
	.home #main .nav-news .special-information h2 {
		margin-top: 20px;
		border-radius: 5px 5px 0 0
	}
	/* 移転のお知らせ */
	.home #main .nav-news .relocation{
		margin:0 auto;
		width:80%;
		text-align:center;
	}
	.home #main .nav-news .relocation p{
		font-weight:bold;
		font-size: 1.4rem;
		line-height: 1.6em;
	}
	.home #main .nav-news .relocation p a[href*=".pdf"] {
		background-position: 1px calc(((1.7em - 15px) / 2) - -1px);
		color:#ff3300;
	}
	.home #main .nav-news .relocation p a{
		color:#ff3300;
	}
	.home #main .nav-news .special-information .detail {
		padding: 8px 8px 10px;
		border: 1px solid #1e56a3;
		border-radius: 0 0 5px 5px;
		background: #fff
	}
	.home #main .nav-news .special-information .detail p {
		font-size: 1.4rem;
		line-height: 1.5em;
		font-weight: bold
	}
	.home #main .nav-news .special-information .detail p:first-child {
		margin-top: 0
	}
	.home #main .nav-news .special-information .detail > ul {
		display: flex;
		flex-wrap: wrap;
		margin: -8px 0 0 -8px;
		padding: 10px 0 0
	}
	.home #main .nav-news .special-information .detail > ul > li {
		list-style: none;
		margin: 8px 0 0 8px;
		padding: 0
	}
	.home #main .nav-news .special-information .detail > ul > li a {
		display: block;
		padding: 4px 6px;
		border: 1px solid #1e56a3;
		background: #fff;
		font-size: 1.2rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #1e56a3;
		text-decoration: none
	}
	.home #main .nav-news .special-information .detail > ul > li a::before {
		display: none
	}
	.home #main .nav-news .special-information .detail > ul > li.special a {
		border-color: #a31e1e;
		color: #ef041a
	}
	.home #main .nav-news .special-information .detail .links-button {
		margin-top: 15px
	}
	.home #main .nav-news .special-information .detail .links-button .basic-button {
		margin: 10px 0 0
	}
	.home #main .nav-news .special-information .detail .links-button .basic-button:first-child {
		margin-top: 0
	}
	.home #main .nav-news .special-information .detail .links-button .basic-button a {
		width: 100%
	}
	.home #main .nav-news .news .detail {
		margin-top: 0;
		padding: 0 10px 14px;
		border: 1px solid #1e56a3;
		border-top: none;
		border-radius: 0 0 5px 5px;
		background: #fff;
		box-sizing: border-box
	}
	.home #main .nav-news .news .detail h3 {
		margin-top: 0;
		padding-top: 14px;
		border-top: 1px dotted #a2a2a2;
		font-size: 1.5rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #1e56a3;
		text-align: center
	}
	.home #main .nav-news .news .detail:first-of-type {
		margin-top: 10px;
		border-radius: 5px 5px 0 0;
		border: 1px solid #1e56a3;
		border-bottom: none
	}
	.home #main .nav-news .news .detail:first-of-type h3 {
		border-top: none
	}
	.home #main .nav-news .news .detail ol {
		margin: 12px 0 0;
		padding: 0
	}
	.home #main .nav-news .news .detail ol li {
		list-style: none;
		display: none;
		margin: 14px 0 0;
		padding: 17px 0 0;
		border-top: 1px dotted #a2a2a2;
		line-height: 0
	}
	.home #main .nav-news .news .detail ol li:first-child {
		display: block;
		margin-top: 0;
		padding-top: 0;
		border: none
	}
	.home #main .nav-news .news .detail ol li time {
		display: inline-block;
		padding: 3px 5px;
		background: #b1c8e7;
		font-size: 1.4rem;
		line-height: 1;
		white-space: nowrap;
		word-spacing: 0.281em
	}
	.home #main .nav-news .news .detail ol li .title {
		margin-top: 3px
	}
	.home #main .nav-news .news .detail ol li .title a {
		padding: 0;
		background: none;
		font-size: 1.4rem;
		line-height: 1.7em;
		color: #000;
		text-decoration: underline
	}
	.home #main .nav-news .news .detail ol li .title a:hover {
		text-decoration: none
	}
	.home #main .nav-news .news .basic-button {
		margin-top: 10px
	}
	.home #main .nav-event {
		padding: 0 32px
	}
	.home #main .nav-event .pic-up-event ul {
		margin: 0;
		padding: 0
	}
	.home #main .nav-event .pic-up-event ul li {
		list-style: none;
		margin: 15px 0 0;
		padding: 0
	}
	.home #main .nav-event .pic-up-event ul li h3 {
		margin-top: 0;
		font-size: 1.6rem;
		line-height: 1.3em;
		font-weight: normal;
		color: #1e56a3;
		text-align: center
	}
	.home #main .nav-event .pic-up-event ul li .pic {
		margin-top: 7px;
		text-align: center
	}
	.home #main .nav-event .pic-up-event ul li .pic img {
		vertical-align: top;
		max-width: 100%;
		height: auto;
		border: 1px solid #a2a2a2;
		box-sizing: border-box
	}
	.home #main .nav-event .pic-up-event ul li p {
		margin-top: 3px;
		font-size: 1.2rem;
		line-height: 1.5em;
		font-weight: bold
	}
	.home #main .nav-event .pic-up-event ul li .title {
		margin-top: 8px;
		font-size: 1.4rem;
		line-height: 1.5em;
		font-weight: bold
	}
	.home #main .nav-event .events {
		margin-top: 35px
	}
	.home #main .nav-event .events ul {
		display: flex;
		flex-wrap: wrap;
		margin: -10px 0 0 -10px;
		padding: 0
	}
	.home #main .nav-event .events ul li {
		list-style: none;
		margin: 10px 0 0 10px;
		width: calc((100% - 10px - 10px) / 2)
	}
	.home #main .nav-event .events ul li .pic {
		margin-top: 0;
		text-align: center
	}
	.home #main .nav-event .events ul li .pic img {
		vertical-align: top;
		max-width: 100%;
		height: auto;
		border: 1px solid #a2a2a2;
		box-sizing: border-box
	}
	.home #main .nav-event .events ul li p {
		margin-top: 3px;
		font-size: 1.2rem;
		line-height: 1.5em
	}
	.home #main .nav-event .events ul li .title {
		margin-top: 8px;
		font-weight: bold
	}
	.home #main .nav-event .links-button {
		display: flex;
		justify-content: center;
		margin-top: 5px
	}
	.home #main .nav-event .links-button p {
		margin: 0 0 0 6px
	}
	.home #main .nav-event .links-button p:first-child {
		margin-left: 0
	}
	.home #main .nav-event .links-button .button-detail a {
		padding: 5px 15px;
		border: 2px solid #1e56a3;
		border-radius: 5px;
		background-position: 8px center;
		background-size: 3px 5px;
		font-size: 1.2rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #1e56a3;
		text-decoration: none;
		min-width:72px;
	}
	.home #main .nav-event .links-button .button-movie a {
		position: relative;
		padding: 5px 24px;
		border: 2px solid #000;
		border-radius: 5px;
		background: none;
		font-size: 1.2rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #000;
		text-decoration: none
	}
	.home #main .nav-event .links-button .button-movie a::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 5px;
		width: 17px;
		height: 17px;
		margin: auto 0;
		border: 2px solid #000;
		border-radius: 50%;
		background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%223%22%20height%3D%224%22%3E%3Cpolygon%20points%3D%220%200%203%202%200%204%22%20%2F%3E%3C%2Fsvg%3E) 4px 3px no-repeat;
		background-size: 6px 7px;
		box-sizing: border-box;
		content: ""
	}
	.home #main .nav-challenges-policy {
		margin-top: 10px;
		padding: 0
	}
	.home #main .nav-challenges-policy ul {
		margin: 0;
		padding: 0
	}
	.home #main .nav-challenges-policy ul li {
		list-style: none;
		width:300px;
		margin: 9px auto 0;
		padding: 0;
		text-align:center;
	}
	.home #main .nav-challenges-policy ul li:first-child {
		margin-top: 0
	}
	.home #main .nav-challenges-policy ul li a {
		padding: 0;
		background: none
	}
	.home #main .nav-challenges-policy ul li a img {
		margin: 0;
		vertical-align: top
	}
	.home #main .nav-challenges-policy .link-past-projects {
		font-size: 1.2rem;
		line-height: 1.5em;
		text-align: center
	}
	.home #main .nav-committee {
		margin-top: 10px
	}
	.home #main .nav-committee > ul {
		margin: 0;
		padding: 0
	}
	.home #main .nav-committee > ul > li {
		list-style: none;
		margin: 10px 0 0;
		padding: 0 0 10px 0;
		border: 1px solid #1e56a3;
		box-sizing: border-box
	}
	.home #main .nav-committee > ul > li:first-child {
		margin-top: 0
	}
	.home #main .nav-committee > ul > li .committee-title {
		padding: 13px 10px 11px;
		background: #ededed;
		text-align: center
	}
	.home #main .nav-committee > ul > li .committee-title p {
		margin-top: 0;
		font-size: 1.4rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #1e56a3
	}
	.home #main .nav-committee > ul > li .detail {
		display: flex;
		flex-wrap: wrap;
		padding: 10px 7px 15px;
		border-top: 2px solid #1e56a3
	}
	.home #main .nav-committee > ul > li .detail .pic {
		margin-top: 0;
		width: 71px;
		text-align: center
	}
	.home #main .nav-committee > ul > li .detail .pic img {
		vertical-align: top;
		max-width: 100%;
		height: auto
	}
	.home #main .nav-committee > ul > li .detail .committee-information {
		width: calc(100% - 7px - 71px);
		margin-left: 7px
	}
	.home #main .nav-committee > ul > li .detail .committee-information p {
		margin-top: 3px;
		font-size: 1.2rem;
		line-height: 1.5em;
		font-weight: bold
	}
	.home #main .nav-committee > ul > li .detail .committee-information p:first-child {
		margin-top: 0
	}
	.home #main .nav-committee > ul > li .detail .committee-information .title {
		margin-top: 5px;
		font-size: 1.4rem;
		line-height: 1.3em;
		font-weight: bold
	}
	.home #main .nav-committee > ul > li .detail .text {
		width: 100%;
		margin-top: 8px
	}
	.home #main .nav-committee > ul > li .detail .text p {
		font-size: 1.2rem;
		line-height: 1.5em;
		font-weight: bold
	}
	.home #main .nav-committee > ul > li .detail .text p:first-child {
		margin-top: 0
	}
	.home #main .nav-retail-shop {
		display: flex;
		flex-direction: column;
		margin-top: 10px
	}
	.home #main .nav-retail-shop .pic {
		order: 1;
		margin-top: 0;
		padding: 0 50px;
		text-align: center
	}
	.home #main .nav-retail-shop .pic img {
		vertical-align: top;
		max-width: 100%;
		height: auto
	}
	.home #main .nav-retail-shop .text {
		order: 2;
		margin-top: 10px
	}
	.home #main .nav-retail-shop .text p {
		margin-top: 4px;
		font-size: 1.2rem;
		line-height: 1.5em;
		font-weight: bold
	}
	.home #main .nav-retail-shop .text p:first-child {
		margin-top: 0
	}
	.home #main .nav-retail-shop .text .message {
		font-size: 1.4rem;
		line-height: 1.3em;
		font-weight: bold
	}
	.home #main .nav-retail-shop .text .basic-button {
		margin-top: 10px
	}
	.home #main .nav-retail-shop .text .basic-button a {
		min-width: 306px;
		text-align: center
	}
	.home #main .nav-retail-shop .text .basic-button + .basic-button {
		margin-top: 5px
	}
	.home #main .nav-trends {
		padding: 0 30px
	}
	.home #main .nav-trends .detail {
		margin-top: 14px;
		padding: 7px 5px 15px;
		border-radius: 5px;
		border: 1px solid #1e56a3;
		box-sizing: border-box
	}
	.home #main .nav-trends .detail h3 {
		margin-top: 0;
		font-size: 1.6rem;
		line-height: 1.3em;
		font-weight: bold;
		text-align: center
	}
	.home #main .nav-trends .detail ul {
		display: flex;
		flex-wrap: wrap;
		margin: -5px 0 0 -5px;
		padding: 10px 0 0
	}
	.home #main .nav-trends .detail ul li {
		list-style: none;
		margin: 5px 0 0 5px;
		padding: 0
	}
	.home #main .nav-trends .detail ul li a {
		position: relative;
		padding: 6px 8px 5px 27px;
		border: 1px solid #1e56a3;
		background: #fff;
		font-size: 1.2rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #1e56a3;
		text-decoration: none;
		box-sizing: border-box
	}
	.home #main .nav-trends .detail ul li a::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 8px;
		width: 14px;
		height: 14px;
		margin: auto 0;
		border-radius: 50%;
		background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%223%22%20height%3D%224%22%3E%3Cpolygon%20points%3D%220%200%203%202%200%204%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E) center center no-repeat #1e56a3;
		background-size: 4px 7px;
		content: ""
	}
	.home #main .nav-trends .detail.japan {
		background: url(../../img/trend-japan-bg.png) right bottom no-repeat;
		background-size: 110px auto
	}
	.home #main .nav-trends .detail.japan ul {
		display: block
	}
	.home #main .nav-trends .detail.japan ul li a {
		min-width: 145px
	}
	.home #main .nav-trends .detail.world {
		background: url(../../img/trend-world-bg.png) right bottom no-repeat;
		background-size: 180px auto
	}
	.home #main p strong {
		font-size: 1.8rem;
		line-height: 1.7em;
		font-weight: bold
	}
	.home #main table[class^="parts-table-"] {
		width: 100%;
		margin: 2.5rem 0 0 0;
		border-top: solid 1px #a2a2a2;
		border-left: solid 1px #a2a2a2
	}
	.home #main table[class^="parts-table-"] th, .home #main table[class^="parts-table-"] td {
		padding: 6px 13px;
		border-right: 1px solid #a2a2a2;
		border-bottom: 1px solid #a2a2a2;
		text-align: left;
		vertical-align: top;
		font-size: 1.4rem;
		line-height: 1.7em
	}
	.home #main table[class^="parts-table-"] th {
		width: 1%;
		white-space: nowrap
	}
	.home #main table[class^="parts-table-"] p, .home #main table[class^="parts-table-"] ul, .home #main table[class^="parts-table-"] ol, .home #main table[class^="parts-table-"] li {
		margin-top: 0;
		font-size: 1.4rem;
		line-height: 1.7em
	}
	.home #main table[class^="parts-table-"] th.valign-middle, .home #main table[class^="parts-table-"] td.valign-middle {
		vertical-align: middle
	}
	.home #main table[class^="parts-table-"].parts-table-normal {
		display: block;
		width: 100vw;
		margin-right: -10px;
		margin-left: -10px;
		border: none;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		position: relative
	}
	.home #main table[class^="parts-table-"].parts-table-normal tbody {
		display: block;
		width: 710px;
		padding: 0 10px
	}
	.home #main table[class^="parts-table-"].parts-table-normal tr:first-child th {
		background-color: #e8e8e8;
		white-space: nowrap;
		border-top: solid 1px #a2a2a2
	}
	.home #main table[class^="parts-table-"].parts-table-normal th {
		background-color: #f3f3f3;
		border-left: solid 1px #a2a2a2;
		font-weight: bold
	}
	.home #main table[class^="parts-table-"].parts-table-oneline tbody {
		display: block
	}
	.home #main table[class^="parts-table-"].parts-table-oneline tbody tr {
		display: block
	}
	.home #main table[class^="parts-table-"].parts-table-oneline tbody tr th {
		display: block;
		background-color: #f3f3f3;
		font-weight: bold
	}
	.home #main table[class^="parts-table-"].parts-table-oneline tbody tr td {
		display: block
	}
	.home #main table[class^="parts-table-"].parts-table-customize {
		width: 680px;
		border: none;
		position: relative;
		table-layout: fixed
	}
	.home #main table[class^="parts-table-"].parts-table-customize tr td:first-child {
		border-left: 1px solid #a2a2a2
	}
	.home #main table[class^="parts-table-"].parts-table-customize tr:first-child th {
		background-color: #e8e8e8;
		border-top: solid 1px #a2a2a2
	}
	.home #main table[class^="parts-table-"].parts-table-customize th {
		width: auto;
		white-space: normal;
		background-color: #f3f3f3;
		border-left: solid 1px #a2a2a2;
		font-weight: bold
	}
	#main .parts-table-outer {
		position: relative;
		width: 100vw;
		margin: 0 0 0 -10px;
		padding: 0 0 0 10px;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch
	}
	#main .parts-table-outer::before {
		opacity: 0;
		display: block;
		content: "スワイプして表を見る";
		box-sizing: border-box;
		width: 100vw;
		height: 100%;
		padding: 10vw 0 0 calc(20px);
		background: url(../img/gesture-swipe.gif) calc(77vw - 20px) 4vw/23vw auto no-repeat, rgba(0, 0, 0, 0.3) left top/100% 100%;
		position: absolute;
		left: 0;
		top: 2.5rem;
		z-index: 1;
		font-size: 6vw;
		line-height: 1.7em;
		font-weight: bold;
		color: #fff;
		pointer-events: none;
		opacity: 0;
		transition: opacity 250ms
	}
	#main .parts-table-outer[data-table-scroll=""]::before {
		opacity: 1
	}
	.home #main div[class^="parts-box-"] {
		margin: 2.5rem 0 0 0;
		padding: 1.3rem 10px 1.6rem 13px
	}
	.home #main div[class^="parts-box-"] :first-child {
		margin-top: 0
	}
	.home #main div[class^="parts-box-"].parts-box-normal {
		border: 1px solid #a2a2a2
	}
	.home #main table[class^="parts-cols-"] {
		display: block;
		width: 100%
	}
	.home #main table[class^="parts-cols-"] tbody, .home #main table[class^="parts-cols-"] tr, .home #main table[class^="parts-cols-"] td {
		display: block;
		width: 100%
	}
	.home #main table[class^="parts-cols-"].parts-cols-4 tr {
		display: flex;
		flex-wrap: wrap;
		justify-content: center
	}
	.home #main table[class^="parts-cols-"].parts-cols-4 tr td {
		width: auto;
		padding: 0 10px
	}
	.home #main table[class^="parts-cols-"] img {
		display: block;
		box-sizing: border-box;
		margin: 0 auto;
		border: 1px solid #a2a2a2
	}
	.home #main table[class^="parts-cols-"] p.caption {
		margin: 0.3rem 0 0 0;
		font-size: 1.2rem;
		line-height: 1.7em;
		text-align: center
	}
	.home #main ul[class^="parts-mark-"] {
		margin-left: 0
	}
	.home #main ul[class^="parts-mark-"] li {
		list-style: none;
		position: relative;
		padding-left: 30px;
		font-size: 1.6rem;
		line-height: 1.7em;
		font-weight: bold
	}
	.home #main ul[class^="parts-mark-check"] li::before {
		display: block;
		content: "";
		position: absolute;
		top: calc(((1.6rem * 1.7) / 2) - 8px);
		left: 0.5rem;
		width: 13px;
		height: 6px;
		border-left: 3px solid #888;
		border-bottom: 3px solid #888;
		transform: rotate(-45deg)
	}
	.home #main ul.parts-mark-check-color li::before {
		border-left: 3px solid #1e56a3;
		border-bottom: 3px solid #1e56a3
	}
	.home #main ul.parts-mark-counter {
		counter-reset: i
	}
	.home #main ul.parts-mark-counter li::before {
		display: block;
		box-sizing: border-box;
		width: 2.4rem;
		height: 2.4rem;
		background: #1e56a3;
		border-radius: 50%;
		padding-top: 0.5rem;
		counter-increment: i;
		content: counter(i);
		font-size: 1.4rem;
		line-height: 1em;
		font-weight: bold;
		color: #fff;
		text-align: center;
		position: absolute;
		top: calc(((1.6rem * 1.7) / 2) - (1.4rem / 2) - 0.6rem);
		left: 0
	}
	.home #main ul.box-point {
		margin: 3rem 0 0 0;
		border-top: 1px solid transparent;
		display: flex;
		flex-wrap: wrap;
		counter-reset: i
	}
	.home #main ul.box-point li {
		margin: 3rem 0 0 0;
		padding: 0;
		list-style: none
	}
	.home #main ul.box-point li p {
		margin-top: 0.3rem
	}
	.home #main ul.box-point li p.title {
		position: relative;
		padding-left: 30px;
		font-size: 1.8rem;
		line-height: 1.7em;
		font-weight: bold
	}
	.home #main ul.box-point li p.title::before {
		display: block;
		box-sizing: border-box;
		width: 2.4rem;
		height: 2.4rem;
		background: #1e56a3;
		border-radius: 50%;
		padding-top: 0.5rem;
		counter-increment: i;
		content: counter(i);
		font-size: 1.4rem;
		line-height: 1em;
		font-weight: bold;
		color: #fff;
		text-align: center;
		position: absolute;
		top: calc(((1.8rem * 1.7) / 2) - (1.4rem / 2) - 0.5rem);
		left: 0
	}
	.home #main ul.box-point li p img {
		box-sizing: border-box;
		width: 100%;
		height: auto;
		margin-top: 0.5rem;
		border: 1px solid #a2a2a2
	}
	.home #main ul.box-point li p.caption {
		margin: 0.5rem 0 0 0;
		font-size: 1.4rem;
		line-height: 1.7em
	}
	.home #main ol.flow-each {
		margin: 0;
		border-top: 1px solid transparent;
		padding: 0;
		counter-reset: i
	}
	.home #main ol.flow-each li {
		position: relative;
		margin: 4rem 0 0 0;
		padding: 0;
		list-style: none
	}
	.home #main ol.flow-each li:not(:first-child)::before {
		content: "";
		display: block;
		width: 16px;
		height: 21px;
		background: #a2a2a2;
		position: absolute;
		left: calc(50% - 8px);
		top: -3.4rem
	}
	.home #main ol.flow-each li:not(:first-child)::after {
		content: "";
		display: block;
		box-sizing: border-box;
		width: 24px;
		height: 24px;
		border-right: 6px solid #a2a2a2;
		border-bottom: 6px solid #a2a2a2;
		transform: rotate(45deg);
		position: absolute;
		left: calc(50% - 12px);
		top: calc(0px - 3.4rem)
	}
	.home #main ol.flow-each li p {
		margin-top: 0.3rem
	}
	.home #main ol.flow-each li p.title {
		position: relative;
		padding-left: 30px;
		font-size: 1.8rem;
		line-height: 1.7em;
		font-weight: bold
	}
	.home #main ol.flow-each li p.title::before {
		display: block;
		box-sizing: border-box;
		width: 2.4rem;
		height: 2.4rem;
		background: #1e56a3;
		border-radius: 50%;
		padding-top: 0.5rem;
		counter-increment: i;
		content: counter(i);
		font-size: 1.4rem;
		line-height: 1em;
		font-weight: bold;
		color: #fff;
		text-align: center;
		position: absolute;
		top: calc(((1.8rem * 1.7) / 2) - (1.4rem / 2) - 0.5rem);
		left: 0
	}
	.home #main ol.flow-each li p.pic img {
		box-sizing: border-box;
		width: 100%;
		height: auto;
		margin-top: 0.5rem;
		border: 1px solid #a2a2a2
	}
	.home #main ol.flow-each li p.caption {
		margin: 0.5rem 0 0 0;
		font-size: 1.6rem;
		line-height: 1.7em
	}
	.home #main .contacts {
		margin: 5rem -10px 0;
		padding: 2rem 0;
		background: #f7f9fc;
		border-top: 1px solid #a1b7dd;
		border-bottom: 1px solid #a1b7dd
	}
	.home #main .contacts p, .home #main .contacts ul, .home #main .contacts li {
		margin: 0;
		padding: 0;
		list-style: none
	}
	.home #main .contacts > p.title {
		font-size: 2.2rem;
		line-height: 1.7em;
		font-weight: bold;
		text-align: center
	}
	.home #main .contacts .contacts-conversion {
		box-sizing: border-box;
		width: 100%;
		margin: 0;
		padding: 0
	}
	.home #main .contacts .contacts-conversion .conversion-web {
		margin: 2rem 10px 0;
		padding: 0
	}
	.home #main .contacts .contacts-conversion .conversion-web .conversion-web-button a {
		display: block;
		box-sizing: border-box;
		max-width: 400px;
		margin: 0 auto;
		padding: 6px 20px 5px 30px;
		position: relative;
		z-index: 1;
		border: 1px solid #2f4d83;
		background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2238%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M0%2C12v26h48V12L24%2C23L0%2C12z%22%2F%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M48%2C9.1V2H0v7.1L24%2C20L48%2C9.1z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M48%2C7.1V0H0v7.1L24%2C18L48%2C7.1z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M0%2C10v26h48V10L24%2C21L0%2C10z%22%2F%3E%3C%2Fsvg%3E) 15px 50%/24px auto no-repeat, linear-gradient(to bottom, #365996 0%, #2f4d83 100%) left top;
		box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
		text-align: center;
		transition: transform 250ms, box-shadow 250ms;
		font-size: 1.8rem;
		line-height: 1.7em;
		font-weight: bold;
		color: #fff
	}
	.home #main .contacts .contacts-conversion .conversion-tel {
		margin: 2rem 10px 0;
		padding: 0 0 0 0;
		text-align: center
	}
	.home #main .contacts .contacts-conversion .conversion-tel .conversion-tel-button {
		position: relative;
		vertical-align: bottom;
		word-break: break-all;
		font-size: 2.2rem;
		line-height: 1.1em;
		font-weight: bold
	}
	.home #main .contacts .contacts-conversion .conversion-tel .conversion-tel-button a {
		display: block;
		box-sizing: border-box;
		max-width: 400px;
		margin: 0 auto;
		padding: 12px 0 11px 25px;
		position: relative;
		z-index: 1;
		border: 1px solid #a2a2a2;
		background: linear-gradient(to bottom, #fff, #f3f3f3);
		box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px #fff;
		cursor: pointer;
		text-align: center;
		transition: transform 250ms, box-shadow 250ms
	}
	.home #main .contacts .contacts-conversion .conversion-tel .conversion-tel-button a::before {
		display: block;
		content: "";
		width: 18px;
		height: 18px;
		position: absolute;
		left: 10px;
		top: calc(50% + -9px);
		background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2266%22%20height%3D%2262%22%3E%3Cpath%20fill%3D%22%23333333%22%20d%3D%22M0%2C62h18V0H0V62z%22%2F%3E%3Cpath%20fill%3D%22%23333333%22%20d%3D%22M22%2C0v62h44V0H22z%20M36%2C56h-8v-8h8V56z%20M36%2C44h-8v-8h8V44z%20M36%2C32h-8v-8h8V32z%20M48%2C56h-8%20v-8h8V56z%20M48%2C44h-8v-8h8V44z%20M48%2C32h-8v-8h8V32z%20M60%2C56h-8v-8h8V56z%20M60%2C44h-8v-8h8V44z%20M60%2C32h-8v-8h8V32z%20M60%2C19H28V7h32V19z%22%2F%3E%3C%2Fsvg%3E) no-repeat 0 0/18px auto
	}
	.home #main .contacts .contacts-conversion .conversion-tel .conversion-tel-button .tel-free {
		display: inline-block;
		vertical-align: middle;
		font-size: 1.2rem;
		line-height: 1.1em
	}
	.home #main .contacts .contacts-conversion .conversion-tel ul.notice {
		margin-top: 0.8rem;
		text-align: left
	}
	.home #main .contacts .contacts-conversion .conversion-tel ul.notice li {
		margin-top: 0.2rem;
		font-size: 1.2rem;
		line-height: 1.7em
	}
	.home #main .contacts .contacts-conversion .conversion-tel ul.notice li a {
		background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2266%22%20height%3D%2262%22%3E%3Cpath%20fill%3D%22%23333333%22%20d%3D%22M0%2C62h18V0H0V62z%22%2F%3E%3Cpath%20fill%3D%22%23333333%22%20d%3D%22M22%2C0v62h44V0H22z%20M36%2C56h-8v-8h8V56z%20M36%2C44h-8v-8h8V44z%20M36%2C32h-8v-8h8V32z%20M48%2C56h-8%20v-8h8V56z%20M48%2C44h-8v-8h8V44z%20M48%2C32h-8v-8h8V32z%20M60%2C56h-8v-8h8V56z%20M60%2C44h-8v-8h8V44z%20M60%2C32h-8v-8h8V32z%20M60%2C19H28V7h32V19z%22%2F%3E%3C%2Fsvg%3E) 1px calc(50% + 0px)/12px auto no-repeat
	}
}