@charset "utf-8";

@media screen and (max-width: 768px){
	.slogan{
		width: 100%;
		padding: 0;
		position: relative;
		text-align: left;
	}
	.slogan .breadcrumb{
        width: 100%;
        padding: 1vw 3vw 1vw 3vw;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 30;
	}
	.slogan .breadcrumb .inner{
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
	}
	.slogan .breadcrumb .inner ul{
		width: 100%;
		font-size: 0;
		list-style: none;
	}
	.slogan .breadcrumb .inner ul li{
		display: inline-block;
		font-size: 3vw;
		font-weight: 500;
		line-height: 1.4em;
		padding: 0 3vw 0 0;
		margin: 0 1vw 0 0;
		position: relative;
	}
	.slogan .breadcrumb .inner ul li:first-of-type{
		padding-left: 0;
	}
	.slogan .breadcrumb .inner ul li::after{
		display: block;
		content: "";
		background: #000;
		width: 1.4vw;
		height: calc(tan(60deg) * 2vw / 2);
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
	.slogan .breadcrumb .inner ul li:last-of-type::after{
		display: none;
	}
	.slogan .breadcrumb .inner ul li a{
		font-size: 3vw;
	}
	.slogan .inner-content{
		width: 100%;
		text-align: center;
		position: relative;
	}
	.slogan .inner-content h2{
		width: 100%;
		position: relative;
	}
	.slogan .inner-content img{
		width: 100%;
		vertical-align: bottom;
	}
	.slogan .inner-content #mv_x5F_mask_x5F_sp{
		width: 100%;
		position: absolute;
        bottom: -44.5vw;
		left: 0;
		z-index: 20;
	}
	.slogan .inner-content .slide-wrap{
		width: 100%;
		overflow: hidden;
		position: relative;
		z-index: 10;
	}
	.slogan .inner-content .slide-wrap ul{
		width: 100%;
	}
	.slogan .inner-content .slide-wrap ul li{
		width: 100%;
		vertical-align: top;
	}
	.slogan .inner-content .slide-wrap ul li img{
		width: 100%;
	}
	.slogan .inner-content .slide-wrap ul li img.only-pc{
		display: none!important;
	}
	.slogan .inner-content .slide-wrap ul li img.only-sp{
		display: block!important;
	}
	.wrap-history{
		width: 100%;
        margin: 20vw 0 0 0;
		position: relative;
		z-index: 40;
	}
	.wrap-history .inner-content{
		width: 100%;
		display: block;
		position: relative;
		z-index: 40;
	}
	.wrap-history .inner-content p {
        width: 100%;
        font-size: 3.8vw;
        line-height: 1.9em;
        text-align: left;
		padding: 0 7vw 0 7vw;
    }
	.wrap-history .timeline-wrap {
		width: 100%;
		margin: 8vw 0 0 0;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner {
		width: 100%;
		position: relative;
		padding: 0 0 36vw 0;
		z-index: 40;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail {
		width: 100%;
        padding: 38vw 0 0 0;
        position: relative;
        z-index: 40;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .block {
		display: flex;
		width: 100%;
		border-top: dotted 1px #000;
		font-size: 0;
		margin: 12vw 0 0 0;
		flex-wrap: nowrap;
		flex-direction: column;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .block:nth-of-type(1){
		margin-top: 0;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .content-left{
        display: inline-block;
        width: 90%;
        border: solid 3px #1e2380;
        margin: 3vw auto 0 auto;
        padding: 4vw 4vw 5.4vw 4vw;
        vertical-align: top;
		background-color: #fff;
        order: 2;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .content-center{
        display: inline-block;
        width: 90%;
        text-align: center;
        font-size: 9.4vw;
        margin: 0 auto;
        vertical-align: top;
        order: 1;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .content-right{
        display: inline-block;
        width: 90%;
        border: solid 3px #04893f;
        margin: 7vw auto 0 auto;
        padding: 4vw 4vw 5.4vw 4vw;
        vertical-align: top;
		background-color: #fff;
        order: 3;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .paragraph{
		width: 100%;
		margin: 4vw 0 0 0;
		text-align: center;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .paragraph:nth-of-type(1){
		width: 100%;
		margin-top: 0;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .paragraph h3{
		font-size: 5.6vw;
        line-height: 1.0em;
        text-align: left;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .paragraph p{
        font-size: 3.4vw;
        line-height: 1.6em;
        padding: 0;
        margin: 2vw auto 0 auto;
        text-align: left;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .paragraph img{
        width: 66vw;
        margin: 3vw auto 0 auto;
	}
	.wrap-history .timeline-wrap .bg-bottom-triangle {
        display: block;
        content: '';
        width: 43vw;
        height: 20vw;
        position: absolute;
        bottom: -0.9vw;
        left: 50%;
        transform: translateX(-50%);
        background-color: #fff;
        z-index: 10;
	}
	.wrap-history .timeline-wrap .bg-bottom-triangle span {
        display: block;
        content: '';
        width: 29.4vw;
        height: 29.4vw;
        border-left: 3px solid #1e2380;
        border-bottom: 3px solid #04893f;
        transform: rotate(-45deg) translateX(-50%);
        transform-origin: 0vw 15vw;
        position: absolute;
        bottom: 5.3vw;
        left: calc(50% - -0.2vw);
        margin: auto;
        background-color: #fff;
        z-index: 10;
	}
	.wrap-history .timeline-wrap .bg-center-line {
        width: 42vw;
        height: calc(100% - 3.7vw);
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background-color: #fff;
        border-left: solid 3px #1e2380;
        border-right: solid 3px #04893f;
        z-index: 5;
	}
	.wrap-history .timeline-wrap .bg-center-line span.left {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32vw;
        height: 32vw;
        color: #fff;
        font-size: 5vw;
        line-height: 1.4em;
        text-align: center;
        background-color: #1e2380;
        border-radius: 50%;
        position: absolute;
        top: 0;
        left: -16vw;
	}
	.wrap-history .timeline-wrap .bg-center-line span.right {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32vw;
        height: 32vw;
        color: #fff;
        font-size: 5vw;
		line-height: 1.4em;
        text-align: center;
		background-color: #04893f;
        border-radius: 50%;
        position: absolute;
        top: 0;
        right: -16vw;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom{
		width: 100%;
		position: relative;
		padding: 0 0 10vw 0;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .detail{
		width: 100%;
        padding: 12vw 0 4vw 0;
		text-align: center;
		position: relative;
		z-index: 40;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .detail .block {
		display: block;
        width: 100%;
        border-top: dotted 1px #000;
        font-size: 0;
		margin: 4vw 0 0 0;
        position: relative;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .detail .block .paragraph{
		width: 100%;
		margin: 6vw 0 0 0;
		text-align: center;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .detail .block .paragraph h3{
		display: block;
		text-align: center;
		margin: 0 auto;
        font-size: 5vw;
		padding: 2vw 0 2vw 0;
		background-color: #fff;
		line-height: 1.4em;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .detail .block .paragraph img{
        width: 80vw;
        margin: 7vw auto 0 auto;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .bg-center {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .bg-center {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .bg-center::before {
		display: block;
		content: "";
		width: 6vw;
		aspect-ratio: 1 / cos(30deg);
		clip-path: polygon(50% 100%, 100% 0, 0 0);
		background: linear-gradient(45deg, #000, #000);
		position: absolute;
		bottom: -8px;
		left: calc(50% - 0.05vw);
		transform: translateX(-50%);
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .bg-center::after {
        display: block;
        content: "";
        width: 3px;
        height: 100%;
        background-color: #000;
        position: absolute;
        top: 0;
        left: calc(50% - -0.02vw);
        transform: translateX(-50%);
        z-index: 5;
	}
}

@media screen and (min-width: 769px){
	.slogan{
		width: 100%;
		padding: 0;
		position: relative;
		text-align: center;
		z-index: 30
	}
	.slogan .breadcrumb{
		width: 100%;
		padding: 1vw 3vw 1vw 3vw;
		text-align: left;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 40
	}
	.slogan .breadcrumb .inner{
		width: 100%;
	}
	.slogan .breadcrumb .inner ul{
		width: 100%;
		font-size: 0;
		list-style: none;
	}
	.slogan .breadcrumb .inner ul li{
		display: inline-block;
		font-size: max(1.0vw, 12px);
		font-weight: 500;
		line-height: 1.4em;
		padding: 0 max(1.2vw, 20px) 0 0;
		margin: 0 max(0.4vw, 10px) 0 0;
		position: relative;
	}
	.slogan .breadcrumb .inner ul li:first-of-type{
		padding-left: 0;
	}
	.slogan .breadcrumb .inner ul li::after{
		display: block;
		content: "";
		background: #000;
		width: 0.6vw;
    	height: calc(tan(60deg) * 0.8vw / 2);
		min-width: 6px;
		min-height: calc(tan(60deg) * 10px / 2);
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-54%);
	}
	.slogan .breadcrumb .inner ul li:last-of-type::after{
		display: none;
	}
	.slogan .breadcrumb .inner ul li a{
		font-size: max(1.0vw, 12px);
	}
	.slogan .inner-content{
		width: 100%;
		text-align: center;
		position: relative;
	}
	.slogan .inner-content h2{
		width: 100%;
		position: relative;
	}
	.slogan .inner-content h2 img{
		width: 100%;
		vertical-align: bottom;
	}
	.slogan .inner-content #mv_x5F_mask{
		width: 100%;
		position: absolute;
        bottom: -36.5vw;
		left: 0;
		z-index: 20;
	}
	.slogan .inner-content .slide-wrap{
		width: 100%;
		position: relative;
		z-index: 10;
	}
	.slogan .inner-content .slide-wrap ul{
		width: 100%;
	}
	.slogan .inner-content .slide-wrap ul li{
		width: 100%;
	}
	.slogan .inner-content .slide-wrap ul li img{
		width: 100%;
	}
	.slogan .inner-content .slide-wrap ul li img.only-pc{
		display: block!important;
	}
	.slogan .inner-content .slide-wrap ul li img.only-sp{
		display: none!important;
	}
	.wrap-history{
		width: 100%;
		padding: 0 10vw 0 10vw;
        margin: 7vw 0 0 0;
		position: relative;
		z-index: 40;
	}
	.wrap-history .inner-content{
		width: 100%;
	}
	.wrap-history .inner-content p {
        width: 100%;
        font-size: max(1vw, 14px);
        line-height: 1.9em;
        text-align: left;
    }
	.wrap-history .timeline-wrap{
		display: block;
		width: 76vw;
		margin: 7vw auto 0 auto;
		position: relative;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner {
		width: 100%;
		position: relative;
		padding: 0 0 8vw 0;
		z-index: 40;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail {
		width: 100%;
        padding: 10vw 0 0 0;
        position: relative;
        z-index: 40;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .block {
		display: block;
        width: 100%;
        border-top: dotted 1px #000;
        font-size: 0;
		margin: 4vw 0 0 0;
        position: relative;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .block:nth-of-type(1){
		margin-top: 0;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .content-left{
		display: inline-block;
        width: calc(33.3vw);
        border-top: solid 3px #1e2380;
        border-left: solid 3px #1e2380;
        border-bottom: solid 3px #1e2380;
        margin: 6vw 0 0 0;
        padding: 2vw 2vw 2.4vw 2vw;
        vertical-align: top;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .content-center{
		display: inline-block;
        width: 100%;
        text-align: center;
        font-size: 2.6vw;
        vertical-align: top;
        position: absolute;
        top: 0;
        left: 0;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .content-right{
        display: inline-block;
        width: calc(33.3vw);
        border-top: solid 3px #04893f;
        border-right: solid 3px #04893f;
        border-bottom: solid 3px #04893f;
        margin: 6vw 0 0 9.4vw;
        padding: 2vw 2vw 2.4vw 2vw;
        vertical-align: top;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .paragraph{
		width: 100%;
		margin: 2vw 0 0 0;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .paragraph:nth-of-type(1){
		width: 100%;
		margin-top: 0;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .paragraph h3{
		font-size: max(2vw, 18px);
		line-height: 1.2em;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .paragraph p{
		font-size: max(1vw, 12px);
		line-height: 1.6em;
		padding: 0;
        margin: .8vw 0 0 0;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner .detail .paragraph img{
		width: 19vw;
        margin: 1vw 0 0 0;
	}
	.wrap-history .timeline-wrap .bg-bottom-triangle {
		display: block;
        content: '';
        width: 9.6vw;
        height: 4.4vw;
        position: absolute;
        bottom: -0.9vw;
        left: 50%;
        transform: translateX(-50%);
        background-color: #fff;
        z-index: 10;
	}
	.wrap-history .timeline-wrap .bg-bottom-triangle span {
		display: block;
        content: '';
        width: 6.78vw;
        height: 6.8vw;
        border-left: 3px solid #1e2380;
        border-bottom: 3px solid #04893f;
        transform: rotate(-45deg) translateX(-50%);
        transform-origin: -0.3vw 3.3vw;
        position: absolute;
        bottom: 0.92vw;
        left: calc(50% - -0.03vw);
        margin: auto;
        z-index: 10;
	}
	.wrap-history .timeline-wrap .bg-center-line {
        width: 9.6vw;
        height: calc(100% - 3.7vw);
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background-color: #fff;
        border-left: solid 3px #1e2380;
        border-right: solid 3px #04893f;
        z-index: 5;
	}
	.wrap-history .timeline-wrap .bg-center-line span.left {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 7.8vw;
        height: 7.8vw;
        color: #fff;
        font-size: 0.96vw;
		line-height: 1.4em;
        text-align: center;
        background-color: #1e2380;
        border-radius: 50%;
        position: absolute;
        top: 0;
        left: -3.9vw;
	}
	.wrap-history .timeline-wrap .bg-center-line span.right {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 7.8vw;
        height: 7.8vw;
        color: #fff;
        font-size: 0.96vw;
		line-height: 1.4em;
        text-align: center;
		background-color: #04893f;
        border-radius: 50%;
        position: absolute;
        top: 0;
        right: -3.9vw;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom{
		width: 100%;
		position: relative;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .detail{
		width: 100%;
        padding: 0.1vw 0 4vw 0;
		text-align: center;
		position: relative;
		z-index: 40;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .detail .block {
		display: block;
        width: 100%;
        border-top: dotted 1px #000;
        font-size: 0;
		margin: 4vw 0 0 0;
        position: relative;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .detail .block .paragraph{
		width: 100%;
		margin: 2vw 0 0 0;
		text-align: center;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .detail .block .paragraph h3{
		display: block;
		text-align: center;
		margin: 0 auto;
        font-size: max(1.4vw, 14px);
		padding: 0.2vw 0 0.2vw 0;
		background-color: #fff;
		line-height: 1.4em;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .detail .block .paragraph img{
		width: 25vw;
        margin: 1vw auto 0 auto;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .bg-center {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .bg-center::before {
		display: block;
		content: "";
		width: 1.2vw;
		aspect-ratio: 1 / cos(30deg);
		clip-path: polygon(50% 100%, 100% 0, 0 0);
		background: linear-gradient(45deg, #000, #000);
		position: absolute;
		bottom: -8px;
		left: calc(50% - 0.05vw);
		transform: translateX(-50%);
	}
	.wrap-history .timeline-wrap .timeline-wrap-inner-bottom .bg-center::after {
        display: block;
        content: "";
        width: 3px;
        height: 100%;
        background-color: #000;
        position: absolute;
        top: 0;
        left: calc(50% - -0.02vw);
        transform: translateX(-50%);
        z-index: 5;
	}
}
