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



/* main-img-top */

.main-img-top {
	width: 100%;
	position: relative;
	-webkit-clip-path: polygon(0 0, 100% 0%, 100% 60%, 0% 100%);
	clip-path: polygon(0 0, 100% 0%, 100% 60%, 0% 100%);
}


/*slider*/

div.slider-wrap {
	clear: both;
	width: 100%;
	height: auto;
}

.slider {
	width: 100%;
	height: auto;
	overflow:visible;
}

.slider .box {
	list-style-type: none;
	margin: 0px;
	height: auto;
	width: 100%;
}

.slider .box > img {
	height: auto;
	width: 100%;
	object-fit: cover;
}

/* title-top */

.title-top {
	position: absolute;
left: 0px;
top: 0px;
	width: 100%;
	height: 90%;
	display: flex;
  justify-content: flex-start;
	align-items: center;
}

.title-top .box-in {
	width: 92%;
}

.title-top .box-wrap {
	display: inline-block;
	padding: 45px 50px;
	background-color: rgba(0,0,0,0.7);
	border-radius: 0px 60px 60px 0px;
}

.title-top .box-box {
	display: flex;
  justify-content: space-between;
	padding-top: 20px;
}

.title-top h3 img {
	height: 205px;
	width: auto;
}

.title-top h4, .title-top p {
color: #FFF;
letter-spacing: 0.05em;
font-weight: normal;
}

.title-top h4 {
	font-family: 'Noto Serif JP', serif;
	flex: 1;
	font-size: 26px;
	line-height: 1.4;
	padding-right: 20px;
}

.title-top p {
	width: 360px;
	font-size: 14px;
	line-height: 1.8;
}



/* contents-top */


.contents-top {
	width: 100%;
	overflow: hidden;
}

.contents-backimg {
	width: 100%;
	background-image: url("top/images/back01.jpg");
background-position: center center;
background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}


.contents01 .btn01 a {
	color: #ff0000;
}

.contents01 .btn01 a::after {
	background-image: url("common/images/link-arrow01.svg");
}

.contents02 .btn01 a, .contents03 .btn01 span {
	color: #FFF;
}

.contents02 .btn01 a::after, .contents03 .btn01 span::after {
	background-image: url("common/images/link-arrow02.svg");
}

.contents04 .btn01 a {
	padding-right: 70px;
	padding-bottom: 5px;
	font-size: 14px;
}

.contents04 .btn01 a::after {
	bottom: 0px;
	width: 102px;
}

.contents03 .btn01 {
	text-align: right;
}

.contents03 .btn01 span {
	padding: 6px 20px;
	padding-right: 80px;
	background-color: #ff0000;
	font-size: 15px;
}

.contents03 .btn01 span::after {
	bottom: 12px;
	right: 20px;
	width: 50px;
}

/* contents01 */

.contents01 {
	width: 100%;
	height: 350px;
	display: flex;
  justify-content: flex-end;
	align-items: center;
}

.contents01 .box-in, .contents02 .box-in {
	width: 95%;
	display: flex;
  justify-content: flex-end;
	text-align: right;
}

.contents01 .box-in {
	position: relative;
	top: -300px;
}

.contents01 .box-box, .contents02 .box-box {
	width: 750px;
}

.contents01 h3, .contents02 h3 {
	font-family: 'Poppins', sans-serif;
	font-size: 88px;
color: #FFF;
line-height: 1.2;
font-weight: 300;
	text-shadow: 0px 0px 7px #000;
	background-image: url("top/images/text-back01.svg");
background-position: right bottom;
background-repeat: no-repeat;
	padding-right: 30px;
	padding-bottom: 0px;
	margin-bottom: 30px;
	width: 100%;
}

.contents01 h3:first-letter, .contents02 h3:first-letter {
	font-size: 98px;
}

.contents01 h4, .contents02 h4 {
	font-family: 'Noto Serif JP', serif;
	font-size: 17px;
color: #231815;
line-height: 2;
letter-spacing: 0.1em;
font-weight: 500;
	margin-bottom: 30px;
}

/* contents02 */

.contents02 {
	width: 100%;
	height: 1037px;
	background-image: url("top/images/back02.jpg");
background-position: center center;
background-repeat: no-repeat;
	background-size: cover;
	-webkit-clip-path: polygon(0 40%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0 40%, 100% 0%, 100% 100%, 0% 100%);
	position: relative;
}

.contents02 .box-in {
	padding-top: 220px;
	position: relative;
}

.contents02 h4 {
color: #FFF;
text-shadow: 0px 0px 7px #000;
}

.contents02 .fukidashi-box {
	position: absolute;
left: 0px;
bottom: 80px;
	width: 100%;
}

.contents02 .fukidashi-box .f-box {
	width: 1036px;
	text-align: right;
}



/* contents03 */

.contents03 {
	width: 100%;
	text-align: center;
	background-image: url("top/images/text-back03.png");
background-position: center top;
background-repeat: no-repeat;
	top: -48px;
	position: relative;
}

.contents03 .midashi-box {
	padding: 30px 0px 40px;
}

.contents03 .box-wrap {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
}

.contents03 .box {
	width: 49.6%;
	margin-bottom: 10px;
	height: 400px;
background-repeat: no-repeat;
background-size: cover;
	-webkit-clip-path: polygon(5% 0, 95% 0, 100% 8%, 100% 92%, 95% 100%, 5% 100%, 0 92%, 0 8%);
	clip-path: polygon(5% 0, 95% 0, 100% 8%, 100% 92%, 95% 100%, 5% 100%, 0 92%, 0 8%);
}

.contents03 .box a {
	width: 100%;
	height: 100%;
	display: block;
	display: flex;
  justify-content: center;
	align-items: center;
}

.contents03 .box:nth-child(1), .contents03 .box:nth-child(4), .contents03 .box:nth-child(5) {
-webkit-clip-path: polygon(5% 0, 95% 0, 100% 0, 100% 92%, 95% 100%, 5% 100%, 0 100%, 0 8%);
	clip-path: polygon(5% 0, 95% 0, 100% 0, 100% 92%, 95% 100%, 5% 100%, 0 100%, 0 8%);
}

.contents03 .box:nth-child(2), .contents03 .box:nth-child(3), .contents03 .box:nth-child(6) {
-webkit-clip-path: polygon(5% 0, 95% 0, 100% 8%, 100% 100%, 95% 100%, 5% 100%, 0 92%, 0 0);
	clip-path: polygon(5% 0, 95% 0, 100% 8%, 100% 100%, 95% 100%, 5% 100%, 0 92%, 0 0);
}

.contents03 .box:nth-child(1) {
	background-image: url("top/images/img01.jpg");
}

.contents03 .box:nth-child(2) {
	background-image: url("top/images/img02.jpg");
}

.contents03 .box:nth-child(3) {
	background-image: url("top/images/img03.jpg");
}

.contents03 .box:nth-child(4) {
	background-image: url("top/images/img04.jpg");
}

.contents03 .box:nth-child(5) {
	background-image: url("top/images/img05.jpg");
}

.contents03 .box:nth-child(6) {
	background-image: url("top/images/img06.jpg");
}

.contents03 .box-box {
	width: 490px;
}

.contents03 .box h3, .contents03 .box h4, .contents03 p {
color: #FFF;
font-weight: normal;
	line-height: 1.2;
	text-shadow: 0px 0px 7px #000;
}

.contents03 .box h3 {
	font-family: 'Poppins', sans-serif;
	font-size: 42px;
font-weight: 300;
}

.contents03 .box h3:first-letter {
	font-size: 52px;
}

.contents03 .box h4 {
	font-family: 'Noto Serif JP', serif;
	font-size: 22px;
letter-spacing: 0.15em;
	margin-bottom: 25px;
}

.contents03 p {
	line-height: 1.8;
	font-size: 14px;
	padding: 20px 25px;
	background-color: rgba(0,0,0,0.7);
	text-align: left;
}

.contents03 .box a:hover {
	opacity: 1;
	background-color:rgba(0,0,0,0.5);
background-blend-mode:lighten;
}

.contents03 .btn01 span:hover::after {
	right: 20px;
}

.contents03 .box a:hover .btn01 span::after {
	right: 10px;
}




/* contents04 */

.contents04 {
	width: 100%;
	padding: 10px 60px 50px;
	text-align: center;
	background-color: #FFF;
}

.contents03 .midashi-box h3, .contents03 .midashi-box h4, .contents04 .midashi-box h3, .contents04 .midashi-box h4 {
font-weight: normal;
	line-height: 1.2;
}

.contents03 .midashi-box h3, .contents04 .midashi-box h3 {
	font-family: 'Poppins', sans-serif;
	font-size: 40px;
font-weight: 300;
	color: #000;
}

.contents03 .midashi-box h3:first-letter, .contents04 .midashi-box h3:first-letter {
	font-size: 50px;
}

.contents03 .midashi-box h4, .contents04 .midashi-box h4 {
	font-family: 'Noto Serif JP', serif;
	font-size: 16px;
	color: #FFF;
	letter-spacing: 0.3em;
	background-image: url("top/images/text-back02.svg");
background-position: center top;
background-repeat: no-repeat;
	height: 31px;
	display: flex;
  justify-content: center;
	align-items: center;
	margin-bottom: 40px;
}

.contents03 .midashi-box h4 {
	margin-bottom: 0px;
}


.contents04 .box-in {
	display: flex;
  justify-content: center;
flex-wrap: wrap;
}

.contents04 .box {
	width: 280px;
	margin: 0px 10px;
	text-align: left;
}

.contents04 .box h3 {
	overflow: hidden;
	position: relative;/* この行を追加 */
	z-index: 1; /* この行を追加 */
}

.contents04 .box h3 a:hover {
	opacity: 1;
}

.contents04 .box:hover img {
  transform:scale(1.2,1.2);
  transition:.5s all;
}

.contents04 .box img {
	width: 100%;
height: auto;
	transition:.5s all;
}

.contents04 .box-in h4, .contents04 .box-in h5 {
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	letter-spacing: 0.1em;
	font-size: 14px;
}

.contents04 .box-in h4 {
color: #ff0000;
line-height: 1.2;
	padding: 20px 0px 8px;
}

.contents04 .box-in h5 {
color: #000;
line-height: 1.4;
	margin-bottom: 30px;
}

.contents04 .btn01 {
text-align: right;
}

.contents04 .btn01 a:hover::after {
	right: 10px;
}

.contents04 .box:hover .btn01 a::after {
	right: 0px;
}


    .sp-view {
        display: none;
    }