@charset "utf-8";

@media screen and (max-width: 768px){
	.breadcrumb{
		width: 100%;
		padding: 1vw 3vw 1vw 3vw;
	}
	.breadcrumb .inner-content{
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
	}
	.breadcrumb .inner-content ul{
		width: 100%;
		font-size: 0;
		list-style: none;
	}
	.breadcrumb .inner-content 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;
	}
	.breadcrumb .inner-content ul li:first-of-type{
		padding-left: 0;
	}
	.breadcrumb .inner-content 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%);
	}
	.breadcrumb .inner-content ul li:last-of-type::after{
		display: none;
	}
	.breadcrumb .inner-content ul li a{
		font-size: 3vw;
	}
	.wrap-message{
		width: 100%;
		padding: 0 7vw 0 7vw;
        margin: 16vw 0 0 0;
		position: relative;
		z-index: 40;
	}
	.wrap-message h2{
		font-size: 10vw;
		line-height: 1.4em;
		margin: 0 0 6vw 0;
		text-align: left;
	}
	.wrap-message .inner-content{
		width: 100%;
		display: block;
		position: relative;
		z-index: 40;
	}
	.wrap-message .inner-content .left{
		width: 100%;
	}
	.wrap-message .inner-content .right{
		width: 100%;
		margin: 14vw 0 0 0;
	}
	.wrap-message .inner-content a{
		width: 100%;
	}
	.wrap-message .inner-content a .image{
		width: 100%;
		position: relative;
		padding: 0 32vw 0 0;
	}
	.wrap-message .inner-content a .image img{
		width: 100%;
		border-radius: 50%;
		border: solid 1px #000;
		position: relative;
		z-index: 20;
	}
	.wrap-message .inner-content a .image .readmore{
        justify-content: center;
        width: 20vw;
        height: 20vw;
        display: flex;
		font-size: 3.8vw;
        border-radius: 50%;
        background-color: #000;
        position: absolute;
        top: 40vw;
        left: 40vw;
        z-index: 30;
        color: #fff;
        border: solid 1px #000;
        align-items: center;
        flex-direction: column;
		line-height: 1.3em;
        transition: background-color 0.2s;
	}
	.wrap-message .inner-content a .image .readmore > span{
		color: #fff;
        line-height: 1.3em;
		margin: 0.6vw 0 0 0;
        transition: color 0.2s;
	}
	.wrap-message .inner-content a .image .readmore::after{
		content: " ";
		display: inline-block;
		width: 3vw;
        height: 3.4vw;
		transform-origin: 50% 50%;
		background: url(/common/img/ar_w.png) no-repeat center center;
		background-size: 100% auto;
		position: relative;
        margin: 0;
	}
	.notouch .wrap-message .inner-content a:hover .image .readmore{
        background-color: #fff;
	}
	.notouch .wrap-message .inner-content a:hover .image .readmore > span{
        color: #000;
	}
	.notouch .wrap-message .inner-content a:hover .image .readmore::after{
		background: url(/common/img/ar.png) no-repeat center center;
		background-size: 100% auto;
	}
	.wrap-message .inner-content a .info{
		width: 100%;
		padding: 13vw 0 0 0;
	}
	.wrap-message .inner-content a .info h3{
		width: 100%;
	}
	.wrap-message .inner-content a .info h3 span:nth-of-type(1){
		display: inline-block;
        font-size: 15vw;
        padding: 0 4vw 0 0;
        line-height: 0.7em;
        position: relative;
	}
	.wrap-message .inner-content a .info h3 span:nth-of-type(1)::after{
		display: block;
		content: "";
		width: 1px;
		height: 100%;
		position: absolute;
		top: 1px;
		right: 0;
		background-color: #000;
	}
	.wrap-message .inner-content a .info h3 span:nth-of-type(2){
        display: inline;
        font-size: 6vw;
        padding: 0 0 0 3vw;
        position: relative;
        top: -2px;
	}
	.wrap-message .inner-content a .info h4{
        width: 100%;
        font-size: 7.6vw;
        line-height: 1.4em;
        margin: 1vw 0 7vw 0;
	}
	.wrap-message .inner-content a .info h5{
		font-size: 6.2vw;
		line-height: 1.2em;
	}
	.wrap-message .inner-content a .info h5 > span{
		display: block;
		font-size: 4.4vw;
	}
	.wrap-message .inner-content a .info > span{
		font-size: 7.2vw;
	}
}

@media screen and (min-width: 769px){
	.breadcrumb{
		width: 100%;
		padding: 1vw 3vw 1vw 3vw;
	}
	.breadcrumb .inner-content{
		width: 100%;
	}
	.breadcrumb .inner-content ul{
		width: 100%;
		font-size: 0;
		list-style: none;
	}
	.breadcrumb .inner-content 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;
	}
	.breadcrumb .inner-content ul li:first-of-type{
		padding-left: 0;
	}
	.breadcrumb .inner-content 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%);
	}
	.breadcrumb .inner-content ul li:last-of-type::after{
		display: none;
	}
	.breadcrumb .inner-content ul li a{
		font-size: max(1.0vw, 12px);
	}
	.wrap-message{
		width: 100%;
        margin: 6vw 0 0 0;
		position: relative;
	}
	.wrap-message h2{
		width: 100%;
		font-size: 4vw;
		line-height: 1.4em;
		padding: 0 10vw 0 10vw;
	}
	.wrap-message .inner-content{
		width: 100%;
		display: flex;
		position: relative;
		padding: 0 8vw 0 8vw;
		margin: 3vw 0 0 0;
		z-index: 40;
	}
	.wrap-message .inner-content .left{
		width: 48%;
	}
	.wrap-message .inner-content .right{
		width: 48%;
		margin: 0 0 0 4vw;
	}
	.wrap-message .inner-content a{
		width: 100%;
		display: flex;
	}
	.wrap-message .inner-content a .image{
		width: 44%;
		position: relative;
	}
	.wrap-message .inner-content a .image img{
		width: 100%;
		border-radius: 50%;
		border: solid 1px #000;
		position: relative;
		z-index: 20;
	}
	.wrap-message .inner-content a .image .readmore{
        justify-content: center;
        width: 6.4vw;
        height: 6.4vw;
        display: flex;
        font-size: 1vw;
        border-radius: 50%;
        background-color: #000;
        position: absolute;
        top: 13vw;
        left: 0;
        z-index: 30;
        color: #fff;
        border: solid 1px #000;
        align-items: center;
        flex-direction: column;
        transition: background-color 0.2s;
	}
	.wrap-message .inner-content a .image .readmore > span{
		color: #fff;
        line-height: 1.3em;
		margin: 0.6vw 0 0 0;
        transition: color 0.2s;
	}
	.wrap-message .inner-content a .image .readmore::after{
		content: " ";
		display: inline-block;
		width: 1vw;
		height: 1.4vw;
		transform-origin: 50% 50%;
		background: url(/common/img/ar_w.png) no-repeat center center;
		background-size: 100% auto;
		position: relative;
        margin: 0;
	}
	.notouch .wrap-message .inner-content a:hover .image .readmore{
        background-color: #fff;
	}
	.notouch .wrap-message .inner-content a:hover .image .readmore > span{
        color: #000;
	}
	.notouch .wrap-message .inner-content a:hover .image .readmore::after{
		background: url(/common/img/ar.png) no-repeat center center;
		background-size: 100% auto;
	}
	.wrap-message .inner-content a .info{
        width: 56%;
        padding: 2.6vw 0 0 3%;
	}
	.wrap-message .inner-content a .info h3{
		width: 100%;
	}
	.wrap-message .inner-content a .info h3 span:nth-of-type(1){
		display: inline-block;
		font-size: max(4vw, 30px);
		padding: 0 1vw 0 0;
		line-height: 0.7em;
		position: relative;
	}
	.wrap-message .inner-content a .info h3 span:nth-of-type(1)::after{
		display: block;
		content: "";
		width: 1px;
		height: 100%;
		position: absolute;
		top: 1px;
		right: 0;
		background-color: #000;
	}
	.wrap-message .inner-content a .info h3 span:nth-of-type(2){
		display: inline;
		font-size: max(1.4vw, 14px);
		padding: 0 0 0 0.6vw;
		position: relative;
        top: -1px;
	}
	.wrap-message .inner-content a .info h4{
		width: 100%;
        font-size: max(2.2vw, 18px);
        line-height: 1.4em;
        margin: 1vw 0 2.2vw 0;
	}
	.wrap-message .inner-content a .info h5{
		font-size: max(2vw, 16px);
		line-height: 1.2em;
	}
	.wrap-message .inner-content a .info h5 > span{
		display: block;
		font-size: max(1.1vw, 10px);
	}
	.wrap-message .inner-content a .info > span{
		font-size: max(2vw, 16px);
	}
}
