@charset "UTF-8";
/* CSS Document */

/* common class */
.view-1200{ display: none; }
.view-1200-960{ display: none; }
.view-1200-550{ display: inherit; }
.view-960-550{ display: inherit; }
.view-960-0{ display: inherit; }
.view-550-0{ display: none; }

.flex.vp960-0{ flex-direction: row; }
.flex.vp550-0{ flex-direction: row; }

.center{ text-align: center; }
.center.vp960-0{ text-align: left; }
.center.vp550-0{ text-align: center; }
.pc{
    display: none;
}
.wrap-white.full{
	padding-top: 80px;
}
.jp-title{
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, Meiryo, sans-serif;
    font-weight: normal;
    font-size: 27px;
}
.header{
	padding-top: 70px;
}
.contents{
	padding: 0 6%;
	margin: 0;
}
.headline{
    margin-bottom: 40px;
}
.headline .jp-title{
    margin-bottom: 30px;
}
.headline p:has( + .jp-title){
    text-align: left;
    font-size: 15px;
}
.headline p:has( + .jp-title) span{
    font-size: 15px;
	font-weight: bold;
}
#mainvis picture img{
}
.pc-center{
    text-align: left;
}

.lead .underline{
    padding-left: 0;
    padding-right: 0;
}
.cnt2.contents{
	width: inherit;
	padding: 0 6%;
	margin: 0;
}
.cnt2 .flex{
    margin-bottom: 80px;
}
.cnt2 .caption{
    padding: 30px 5%;
}
.cnt2 .caption h4{
	font-size: 16px;
}
.cnt3 .caption h3{
    font-size: 27px;
    margin-bottom: 30px;
	font-weight: bold;
}
.cnt2 .caption h3 .date{
	font-size: 19px;
	font-weight: bold;
}
.cnt2 .caption h4 + p{
}
.cnt3 .caption{
	padding: 0;
}
.cnt3 .caption h3{
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, Meiryo, sans-serif;
    font-weight: normal;
}
.cnt3 .caption .lead{
    margin-bottom: 30px;
}
.cnt3 .caption .linkicon{
    margin-bottom: 30px;
}
.cnt3 .caption ul.checks{
    padding: 30px 5%;
}
.cnt3 .flex{
    flex-direction: column;
    margin-bottom: 80px;
}
.cnt3 .flex .caption,
.cnt3 .flex .figures{
    width: inherit;
}
.cnt3 .flex .figures img{
}

.cnt4 h2.jp-title{
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, Meiryo, sans-serif;
    font-weight: normal;
    margin-bottom: 30px;
}
.cnt4 .swatchesBlock,
.cnt4 .photos.contents{
    margin-bottom: 80px;
}
.cnt4 .photos.contents{
	width: inherit;
	padding: 0;
}
.cnt5,
.cnt6{
    padding: 80px 0;
}
.cnt5 h2.jp-title,
.cnt6 h2.jp-title,
.cnt5 h2.jp-title + p{
    margin-bottom: 30px;
}
.cnt5 .tableheader,
.cnt5 table{
    width: 100%;
	max-width: 100%;
}
.cnt5 table th,
.cnt5 table td{
    display: block;
}
.cnt5 table th{
    border: none;
    padding: 20px 20px 10px 20px;
    display: flex;
}
.cnt5 table th::before{
    content: "";
    display: inline-block;
    width: 5px;
    background-color: #3C3C3C;
    margin-right: 10px;
    align-items: center;
}
.cnt5 .tableheader{
	height: 40px;
	justify-content: flex-start;
	padding-left: 20px;
}
.cnt5 table td{
    padding: 0 20px 20px 20px;
}
.cnt5 table td p:first-child{
    margin-bottom: 10px;
}
.cnt6 {
    padding-bottom: 60px;
}
.cnt6 h2.jp-title + p{
	margin-bottom: 0;
}
.cnt6 .box1{
	background-color: #fff;
    background-image: none;
	padding: 40px 20px 40px 20px;
    max-width: inherit;
	box-sizing: border-box;
    margin: 0 auto;
    position: relative;
    margin-bottom:39px;
    top:39px;
}
.cnt6 .box1::before{
    content: "";
	background: url("../img/cnt6_fig01.png") no-repeat 0 0 /100% 100%;
    position: absolute;
    top:-26px;
    left: 20px;
	width: 52px;
	height: 52px;
}
.cnt6 .box1 .linkicon.type1{
	margin-bottom: 10px;
}

/* 2025.6.24 maroon画像追加 */
.contents.cnt2 .flex {
        display: grid; /* FlexboxからGridへ切り替え */
        grid-template-columns: 1fr;
		background-color: #F7F7F7;
		padding: 50px 5%;
}
.contents.cnt2 .flex .box1 { grid-area: boxA; }
.contents.cnt2 .flex .caption { grid-area: captionArea; }
.contents.cnt2 .flex .caption .box2 { grid-area: boxB; }
.contents.cnt2 .flex .caption .box3 { grid-area: boxC; }
.contents.cnt2 .flex .caption .box4 { grid-area: boxD; }
.contents.cnt2 .flex .caption {
	display: contents;
	gap: 0;
}
.contents.cnt2 .flex {
	grid-template-areas:
		"boxB"        /* box2が一番上 */
		"boxA"        /* 次にbox1 (A) */
		"boxC"        /* 次にbox3 (C) */
		"boxD";       /* 最後にbox4 (D) */
}
.contents.cnt2 .flex .box1,
.contents.cnt2 .flex .caption .box2,
.contents.cnt2 .flex .caption .box3,
.contents.cnt2 .flex .caption .box4 {
	width: 100%;
	box-sizing: border-box;
}
.cnt2 .caption h3 .date{
	font-size: 26px;
	font-weight: 400;
	font-family: Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, Meiryo, sans-serif;
}
.contents.cnt2 .flex .caption .box2{ padding-bottom:30px;}
.contents.cnt2 .flex .caption .box3 {
    position: relative;
    width: 100%;
    overflow: hidden;
	aspect-ratio:418 / 168;
	margin-top:10px;
}
.contents.cnt2 .flex .caption .box4 .linkicon {margin-top:20px;}
