@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..900&family=Playfair+Display&display=swap');

:root {
	--blue: #1d50a2;
	--maxW: 1000px;
	--pdf-icon: url("data:image/svg+xml;base64,PHN2ZyBpZD0iX3gzMl8iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+ICA8ZGVmcz4gPHN0eWxlPiAuc3QwIHsgZmlsbDogIzFkNTBhMjsgfSA8L3N0eWxlPiA8L2RlZnM+IDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zNzguNDEsMGgtMTgzLjNsLTkuMzEsOS4zMUw1Ny4wMiwxMzguMWwtOS4zMSw5LjMxdjI3OC42OWMwLDQ3LjM2LDM4LjUzLDg1Ljg5LDg1LjksODUuODloMjQ0LjgxYzQ3LjM1LDAsODUuODgtMzguNTMsODUuODgtODUuODlWODUuOUM0NjQuMywzOC41Myw0MjUuNzcsMCwzNzguNDIsMGgwWk00MzIuNSw0MjYuMWMwLDI5Ljg4LTI0LjIxLDU0LjA5LTU0LjA4LDU0LjA5aC0yNDQuODFjLTI5Ljg4LDAtNTQuMS0yNC4yMS01NC4xLTU0LjA5VjE2MC41OWg4My43MmMyNC44OCwwLDQ1LjA4LTIwLjE4LDQ1LjA4LTQ1LjA3VjMxLjhoMTcwLjEyYzI5Ljg3LDAsNTQuMDgsMjQuMjEsNTQuMDgsNTQuMDl2MzQwLjIxaC0uMDFaTTE3MS45NSwyNTIuNzhoLTI4LjUzYy01LjQzLDAtOC42OSwzLjUzLTguNjksOC44MnY3My43NWMwLDYuMzksNC4yLDEwLjYsMTAuMDQsMTAuNnM5LjkxLTQuMjEsOS45MS0xMC42di0yMi40MWMwLS41NS4yOC0uODIuODItLjgyaDE2LjQ0YzIwLjA5LDAsMzIuMTktMTIuMjMsMzIuMTktMjkuNjFzLTExLjk1LTI5Ljc0LTMyLjE5LTI5Ljc0aDBaTTE3MC43MiwyOTQuODloLTE1LjIxYy0uNTQsMC0uODItLjI3LS44Mi0uODF2LTIzLjIzYzAtLjU1LjI4LS44Mi44Mi0uODJoMTUuMjFjOC40MiwwLDEzLjQ1LDUuMDMsMTMuNDUsMTIuNXMtNS4wMywxMi4zNi0xMy40NSwxMi4zNmgwWk0yNTAuMTksMjUyLjc4aC0yMS44N2MtNS40MywwLTguNjksMy41My04LjY5LDguODJ2NzQuODRjMCw1LjMsMy4yNSw4LjY5LDguNjksOC42OWgyMS44N2MxOS42OSwwLDMxLjkyLTYuMjUsMzYuODEtMjEuMzIsMS43Ni01LjMsMi43Mi0xMS42OCwyLjcyLTI0Ljg2cy0uOTYtMTkuNTYtMi43Mi0yNC44NmMtNC44OS0xNS4wNy0xNy4xMi0yMS4zMi0zNi44MS0yMS4zMmgwWk0yNjcuODYsMzE2LjljLTIuMzIsNy4zMy04Ljk2LDEwLjQ2LTE4LjIxLDEwLjQ2aC05LjIzYy0uNTQsMC0uODItLjI3LS44Mi0uODJ2LTU1LjE1YzAtLjU1LjI4LS44Mi44Mi0uODJoOS4yM2M5LjI0LDAsMTUuODksMy4xMywxOC4yMSwxMC40Ni45NSwzLjEzLDEuNjIsOC41NiwxLjYyLDE3Ljkzcy0uNjcsMTQuOC0xLjYyLDE3LjkzaDBaTTM2MS4xNywyNTIuNzhoLTQ0LjgxYy01LjQzLDAtOC43LDMuNTMtOC43LDguODJ2NzMuNzVjMCw2LjM5LDQuMjIsMTAuNiwxMC4wNSwxMC42czkuOTEtNC4yMSw5LjkxLTEwLjZ2LTI2LjM1YzAtLjU0LjI3LS44MS44MS0uODFoMjYuMDljNS44NCwwLDkuMjMtMy41Myw5LjIzLTguNTZzLTMuMzktOC41NS05LjIzLTguNTVoLTI2LjA5Yy0uNTUsMC0uODEtLjI3LS44MS0uODJ2LTE5LjQyYzAtLjU1LjI3LS44Mi44MS0uODJoMzIuNzNjNS41NywwLDkuMjQtMy42Nyw5LjI0LTguNTVzLTMuNjctOC42OS05LjI0LTguNjloLjAxWiIvPjwvc3ZnPg==");
}

html {
 min-width: 100%;
 min-height: 100%;
font-size: 1px;
}

body {
 font-family: "Noto Sans JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
 -webkit-text-size-adjust: 100%;
 -ms-text-size-adjust: 100%;
 -moz-text-size-adjust: 100%;
 text-size-adjust: 100%;
 font-size: 16rem;
 font-weight: 400;
 line-height: 1.8;
 color: #333;
 background-color: #fff;
 position: relative;
 /*font-feature-settings: "palt" 1;*/
}

a {
	text-decoration: none;
	color: var(--blue);
  opacity: 1;
  transition: all 0.3s;
  word-break: break-all;
}
a:hover {
 opacity: 0.6;
 transition: all 0.3s;
}

img{
 max-width: 100%;
 margin: 0 auto;
}

div.sec-title-en {
	position: relative;
	z-index: 0;
	font-family: "Playfair Display", serif;
	font-weight: 400;
	color: rgba(0,160,81,0.2);
}
div.sec-title-en p {
	font-size: 128rem;
	line-height: 1;
  text-box-edge: text alphabetic;
}

.contents h2 {
	position: relative;
	margin: 0 auto 80px;
	padding: 0 0 30px;
	font-size: 52rem;
	font-weight: 700;
	color: #333;
	text-align: center;
}
.contents h2::before {
	content: "";
	display: block;
	width: 160px;
	height: 6px;
	background-color: #333;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.sec_content {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.sec_content h3 {
	font-size: 32rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--blue);
	margin-bottom: 20px;
}
.sec_content h3 + p {
	flex-grow: 1;
	margin-bottom: 30px;
}
.sec_content-inner,
.other-content {
	width: 78%;
	max-width: var(--maxW);
	margin: 0 auto 50px;
}
.flex-contents {
  display: flex;
  align-items: end;
  justify-content: space-between;
	margin-bottom: 90px;
	position: relative;
	z-index: 2;
}
.flex-contents figure {
	flex: 0 0 60%;
}
.flex-contents figure img {
	display: block;
	width: 100%;
	box-shadow: 0 0 16px 0 rgba(0,0,0,0.16);
}
.flex-contents .txt-content {
	flex: 0 0 36%;
}

.other-content {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	margin-bottom: 0;
}
.pdf-page-link {
	display: flex;
	flex-direction: column;
	flex: 0 0 45%;
	z-index: 1;
}

@media only screen and (max-width: 930px){
	.contents h2 {
		font-size: 5.2vw;
  }
	div.sec-title-en p {
   font-size: 11.5vw;
 }
 .sec_content-inner,
 .other-content {
   width: 90%;
 }
 .pdf-page-link {
   flex: 0 0 48%;
 }
 .sec_content h3 {
	font-size: 2.8vw;
 }
}

/* btn style
-------------------------------------*/
.btn {
  width: 280px;
	height: 80px;
  margin: 0;
  padding: 0;
	line-height: 1.3;
}
.btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0;
  width: 100%;
	height: 100%;
	text-align: center;
	border-radius: 16px;
	border: 2px solid;
	position: relative;
	background-color: #fff;
}
.btn a:hover {
	opacity: 1;
	color: #fff;
}
.btn a.pdf-link {
	border-color: var(--blue);
}
.btn a::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
}
.btn a.pdf-link::after {
	content: var(--pdf-icon);
	right: 23px;
	width: 28px;
}
.btn a.pdf-link:hover {
	background-color:  var(--blue);
}
.btn a.pdf-link:hover::after {
	content: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJfeDMyXyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4gIDxkZWZzPiA8c3R5bGU+IC5zdDAgeyBmaWxsOiAjZmZmOyB9IDwvc3R5bGU+IDwvZGVmcz4gPHBhdGggY2xhc3M9InN0MCIgZD0iTTM3OC40MSwwaC0xODMuM2wtOS4zMSw5LjMxTDU3LjAyLDEzOC4xbC05LjMxLDkuMzF2Mjc4LjY5YzAsNDcuMzYsMzguNTMsODUuODksODUuOSw4NS44OWgyNDQuODFjNDcuMzUsMCw4NS44OC0zOC41Myw4NS44OC04NS44OVY4NS45QzQ2NC4zLDM4LjUzLDQyNS43NywwLDM3OC40MiwwaC0uMDFaTTQzMi41LDQyNi4xYzAsMjkuODgtMjQuMjEsNTQuMDktNTQuMDgsNTQuMDloLTI0NC44MWMtMjkuODgsMC01NC4xLTI0LjIxLTU0LjEtNTQuMDlWMTYwLjU5aDgzLjcyYzI0Ljg4LDAsNDUuMDgtMjAuMTgsNDUuMDgtNDUuMDdWMzEuOGgxNzAuMTJjMjkuODcsMCw1NC4wOCwyNC4yMSw1NC4wOCw1NC4wOXYzNDAuMjFoLS4wMVpNMTcxLjk1LDI1Mi43OGgtMjguNTNjLTUuNDMsMC04LjY5LDMuNTMtOC42OSw4LjgydjczLjc1YzAsNi4zOSw0LjIsMTAuNiwxMC4wNCwxMC42czkuOTEtNC4yMSw5LjkxLTEwLjZ2LTIyLjQxYzAtLjU1LjI4LS44Mi44Mi0uODJoMTYuNDRjMjAuMDksMCwzMi4xOS0xMi4yMywzMi4xOS0yOS42MXMtMTEuOTUtMjkuNzQtMzIuMTktMjkuNzRoMFpNMTcwLjcyLDI5NC44OWgtMTUuMjFjLS41NCwwLS44Mi0uMjctLjgyLS44MXYtMjMuMjNjMC0uNTUuMjgtLjgyLjgyLS44MmgxNS4yMWM4LjQyLDAsMTMuNDUsNS4wMywxMy40NSwxMi41cy01LjAzLDEyLjM2LTEzLjQ1LDEyLjM2aDBaTTI1MC4xOSwyNTIuNzhoLTIxLjg3Yy01LjQzLDAtOC42OSwzLjUzLTguNjksOC44MnY3NC44NGMwLDUuMywzLjI1LDguNjksOC42OSw4LjY5aDIxLjg3YzE5LjY5LDAsMzEuOTItNi4yNSwzNi44MS0yMS4zMiwxLjc2LTUuMywyLjcyLTExLjY4LDIuNzItMjQuODZzLS45Ni0xOS41Ni0yLjcyLTI0Ljg2Yy00Ljg5LTE1LjA3LTE3LjEyLTIxLjMyLTM2LjgxLTIxLjMyaDBaTTI2Ny44NiwzMTYuOWMtMi4zMiw3LjMzLTguOTYsMTAuNDYtMTguMjEsMTAuNDZoLTkuMjNjLS41NCwwLS44Mi0uMjctLjgyLS44MnYtNTUuMTVjMC0uNTUuMjgtLjgyLjgyLS44Mmg5LjIzYzkuMjQsMCwxNS44OSwzLjEzLDE4LjIxLDEwLjQ2Ljk1LDMuMTMsMS42Miw4LjU2LDEuNjIsMTcuOTNzLS42NywxNC44LTEuNjIsMTcuOTNoMFpNMzYxLjE3LDI1Mi43OGgtNDQuODFjLTUuNDMsMC04LjcsMy41My04LjcsOC44MnY3My43NWMwLDYuMzksNC4yMiwxMC42LDEwLjA1LDEwLjZzOS45MS00LjIxLDkuOTEtMTAuNnYtMjYuMzVjMC0uNTQuMjctLjgxLjgxLS44MWgyNi4wOWM1Ljg0LDAsOS4yMy0zLjUzLDkuMjMtOC41NnMtMy4zOS04LjU1LTkuMjMtOC41NWgtMjYuMDljLS41NSwwLS44MS0uMjctLjgxLS44MnYtMTkuNDJjMC0uNTUuMjctLjgyLjgxLS44MmgzMi43M2M1LjU3LDAsOS4yNC0zLjY3LDkuMjQtOC41NXMtMy42Ny04LjY5LTkuMjQtOC42OWguMDFaIi8+PC9zdmc+");
}

.page_top {
	position: fixed;
	right: 5%;
	bottom: 5%;
	z-index: 10;
	width: 70px;
	height: 70px;
  border-radius: 50px;
  background-color: #fff;
}
.page_top a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  color: var(--blue);
  font-weight: 500;
  line-height: 1.1;
  border-radius: 50px;
  background-color: #fff;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.16);
}
.page_top a::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border: 2px solid var(--blue);
	border-right: none;
	border-bottom: none;
  transform: rotate(45deg);
  margin: 0 auto;
}
@media only screen and (max-width: 930px){
  .btn {
    max-width: 280px;
    width: 100%;
    margin: 0 auto;
  }
}


/* Header & Main Visual
-----------------------------------------------------*/
header {
	position: absolute;
	top: 24px;
	left: 40px;
	width: 35.8%;
	max-width: 280px;
	z-index: 1;
}

main {
	width: 100%;
	overflow: hidden;
}

#main-visual {
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	position: relative;
}
.mv-bgimage {
	height: 96%;
	margin-right: calc(50% - 50vw);
	margin-left: 40%;
	border-radius: 0 0 0 24px;
	background: url("../img/mv_pc.jpg") no-repeat bottom center;
	background-size: cover;
	z-index: 0;
}
.mv-contents {
  position: absolute;
  top: 0;
  left: 11.5%;
  display: flex;
  flex-direction: column;
  height: 100vh;
}
h2.page-title {
  font-size: 64rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
	margin: 22.5vh 0 19vh;
}
h2.page-title span {
  display: block;
	width: fit-content;
  padding: 15px 20px;
  background-color: var(--blue);
}
@media only screen and (min-width: 1281px){
	.mv-contents {
		left: 17.5%;
	}
	h2.page-title {
		font-size: 4vw;
	}
}

#main-visual .btn:nth-of-type(1) {
	margin-bottom: 24px;
}
#main-visual .btn a.icon-arrow {
	color: #00a051;
	border-color: #00a051;
}
.btn a.icon-arrow::after {
	content: url("data:image/svg+xml;base64,PHN2ZyBpZD0iQXJyb3ctLS1Eb3duLTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMjggMTYiPiAgPGRlZnM+IDxzdHlsZT4gLnN0MCB7IGZpbGw6ICMwMGEwNTE7IH0gPC9zdHlsZT4gPC9kZWZzPiA8cGF0aCBpZD0iU3Ryb2tlLTEiIGNsYXNzPSJzdDAiIGQ9Ik0uNC40Qy44Ny0uMDgsMS42Mi0uMTMsMi4xNi4yN2wuMTUuMTMsMTEuNjksMTEuNjlMMjUuNjkuNGMuNDctLjQ3LDEuMjItLjUzLDEuNzYtLjEzbC4xNS4xM2MuNDcuNDcuNTMsMS4yMi4xMywxLjc2bC0uMTMuMTUtMTIuNjQsMTIuNjVjLS40Ny40Ny0xLjIyLjUzLTEuNzYuMTNsLS4xNS0uMTNMLjQsMi4zMUMtLjEzLDEuNzgtLjEzLjkzLjQuNFoiLz48L3N2Zz4=");
	width: 28px;
	right: 23px;
}
#main-visual .btn a.icon-arrow:hover {
	color: #fff;
	background-color: #00a051;
}
.btn a.icon-arrow:hover::after {
	content: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJBcnJvdy0tLURvd24tMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyOCAxNiI+ICA8ZGVmcz4gPHN0eWxlPiAuc3QwIHsgZmlsbDogI2ZmZjsgfSA8L3N0eWxlPiA8L2RlZnM+IDxwYXRoIGlkPSJTdHJva2UtMSIgY2xhc3M9InN0MCIgZD0iTS40LjRDLjg3LS4wOCwxLjYyLS4xMywyLjE2LjI3bC4xNS4xMywxMS42OSwxMS42OUwyNS42OS40Yy40Ny0uNDcsMS4yMi0uNTMsMS43Ni0uMTNsLjE1LjEzYy40Ny40Ny41MywxLjIyLjEzLDEuNzZsLS4xMy4xNS0xMi42NCwxMi42NWMtLjQ3LjQ3LTEuMjIuNTMtMS43Ni4xM2wtLjE1LS4xM0wuNCwyLjMxQy0uMTMsMS43OC0uMTMuOTMuNC40WiIvPjwvc3ZnPg==");
	width: 28px;
	right: 23px;
}


.scroll {
  position: absolute;
  bottom: 0;
  left: 45px;
}
.scroll-arrow-anime {
	position: relative;
  writing-mode: sideways-lr;
	padding-bottom: 90px;
	text-align: center;
	line-height: 1;
}
.scroll-arrow-anime::after {
	content: "";
	display: block;
	width: 1px;
	height: 80px;
	background-color: #333;
	margin: 0 auto;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	animation: scrollAnime 2.0s ease-in-out infinite;
}
@keyframes scrollAnime {
  0% {
    height: 0;
    bottom: 80px;
  }
  30% {
    height: 80px;
    bottom: 0;
  }
  100% {
    bottom: 0;
		height: 0;
  }
}


/* Message
-----------------------------------------------------*/
#message {
	margin-top: 100px;
	margin-bottom: 100px;
}
#message .sec_content::before,
#message .sec_content::after {
	content: "";
	display: block;
	width: 81.25%;
	height: 1170px;
	position: absolute;
	top: 35px;
	right: 0;
	z-index: 0;
}
#message .sec_content::before {
	background-image: linear-gradient(45deg, #1d50a2, #2667d1);
}
#message .sec_content::after {
  background-image: linear-gradient(130deg, transparent 50%, #8080801a 50%);
}
#message .sec-title-en {
	text-align: right;
	color: rgba(255,255,255,0.33);
}
#message .sec-title-en p {
	font-size: 160rem;
	margin-right: -90px;
	margin-bottom: -20px;
}
#message .top-massage {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  position: relative;
  z-index: 2;
	margin-bottom: 120px;
}
#message .top-massage figure {
	width: 68%;
  height: 520px;
  border-radius: 0 24px 24px 0;
  overflow: hidden;
  margin-left: calc(50% - 50vw);
}
@media only screen and (max-width: 930px){
	#message .top-massage figure {
   width: 60%;
	}
}
#message .top-massage figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: left top;
}


@media only screen and (min-width: 1281px){
	
  #message .sec_content::before,
	#message .sec_content::after {
	width: 65%;
	}
	#message .top-massage figure {
    margin-right: 40px;
    width: 64vw;
    max-width: 760px;
    min-width: 680px;
    margin-left: calc(50% - 760px);
    border-radius: 24px;
	}
	#message .top-massage figure img {
    object-position: center top;
	}
}


@media only screen and (max-width: 960px){
 #message .top-massage figure img {
  width: auto;
  height: 100%;
  object-position: center top;
 }
}
#message .message_txt {
  flex: 0 0 42%;
}
#message .message_txt h3 {
	width: fit-content;
	font-size: 24px;
	padding: 5px;
  color: #fff;
	border-bottom: 1px solid;
}
#message .message_txt p.message,
#message .message_txt p.name {
	font-size: 32rem;
	font-weight: 700;
	line-height: 1.4;
  color: #fff;
}
#message .message_txt p.message {
	margin-bottom: 40px;
}
#message .message_txt p.name {
	font-weight: 500;
	margin-bottom: 20px;
}
#message .message_txt p.name span {
	display: block;
	font-size: 16rem;
	font-weight: 400;
	margin-bottom: 20px;
}
#message .message_txt p.btn a {
	color: #fff;
	border-color: #fff;
	background-color: transparent;
}
#message .message_txt p.btn a::after {
 content: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJfeDMyXyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4gIDxkZWZzPiA8c3R5bGU+IC5zdDAgeyBmaWxsOiAjZmZmOyB9IDwvc3R5bGU+IDwvZGVmcz4gPHBhdGggY2xhc3M9InN0MCIgZD0iTTM3OC40MSwwaC0xODMuM2wtOS4zMSw5LjMxTDU3LjAyLDEzOC4xbC05LjMxLDkuMzF2Mjc4LjY5YzAsNDcuMzYsMzguNTMsODUuODksODUuOSw4NS44OWgyNDQuODFjNDcuMzUsMCw4NS44OC0zOC41Myw4NS44OC04NS44OVY4NS45QzQ2NC4zLDM4LjUzLDQyNS43NywwLDM3OC40MiwwaC0uMDFaTTQzMi41LDQyNi4xYzAsMjkuODgtMjQuMjEsNTQuMDktNTQuMDgsNTQuMDloLTI0NC44MWMtMjkuODgsMC01NC4xLTI0LjIxLTU0LjEtNTQuMDlWMTYwLjU5aDgzLjcyYzI0Ljg4LDAsNDUuMDgtMjAuMTgsNDUuMDgtNDUuMDdWMzEuOGgxNzAuMTJjMjkuODcsMCw1NC4wOCwyNC4yMSw1NC4wOCw1NC4wOXYzNDAuMjFoLS4wMVpNMTcxLjk1LDI1Mi43OGgtMjguNTNjLTUuNDMsMC04LjY5LDMuNTMtOC42OSw4LjgydjczLjc1YzAsNi4zOSw0LjIsMTAuNiwxMC4wNCwxMC42czkuOTEtNC4yMSw5LjkxLTEwLjZ2LTIyLjQxYzAtLjU1LjI4LS44Mi44Mi0uODJoMTYuNDRjMjAuMDksMCwzMi4xOS0xMi4yMywzMi4xOS0yOS42MXMtMTEuOTUtMjkuNzQtMzIuMTktMjkuNzRoMFpNMTcwLjcyLDI5NC44OWgtMTUuMjFjLS41NCwwLS44Mi0uMjctLjgyLS44MXYtMjMuMjNjMC0uNTUuMjgtLjgyLjgyLS44MmgxNS4yMWM4LjQyLDAsMTMuNDUsNS4wMywxMy40NSwxMi41cy01LjAzLDEyLjM2LTEzLjQ1LDEyLjM2aDBaTTI1MC4xOSwyNTIuNzhoLTIxLjg3Yy01LjQzLDAtOC42OSwzLjUzLTguNjksOC44MnY3NC44NGMwLDUuMywzLjI1LDguNjksOC42OSw4LjY5aDIxLjg3YzE5LjY5LDAsMzEuOTItNi4yNSwzNi44MS0yMS4zMiwxLjc2LTUuMywyLjcyLTExLjY4LDIuNzItMjQuODZzLS45Ni0xOS41Ni0yLjcyLTI0Ljg2Yy00Ljg5LTE1LjA3LTE3LjEyLTIxLjMyLTM2LjgxLTIxLjMyaDBaTTI2Ny44NiwzMTYuOWMtMi4zMiw3LjMzLTguOTYsMTAuNDYtMTguMjEsMTAuNDZoLTkuMjNjLS41NCwwLS44Mi0uMjctLjgyLS44MnYtNTUuMTVjMC0uNTUuMjgtLjgyLjgyLS44Mmg5LjIzYzkuMjQsMCwxNS44OSwzLjEzLDE4LjIxLDEwLjQ2Ljk1LDMuMTMsMS42Miw4LjU2LDEuNjIsMTcuOTNzLS42NywxNC44LTEuNjIsMTcuOTNoMFpNMzYxLjE3LDI1Mi43OGgtNDQuODFjLTUuNDMsMC04LjcsMy41My04LjcsOC44MnY3My43NWMwLDYuMzksNC4yMiwxMC42LDEwLjA1LDEwLjZzOS45MS00LjIxLDkuOTEtMTAuNnYtMjYuMzVjMC0uNTQuMjctLjgxLjgxLS44MWgyNi4wOWM1Ljg0LDAsOS4yMy0zLjUzLDkuMjMtOC41NnMtMy4zOS04LjU1LTkuMjMtOC41NWgtMjYuMDljLS41NSwwLS44MS0uMjctLjgxLS44MnYtMTkuNDJjMC0uNTUuMjctLjgyLjgxLS44MmgzMi43M2M1LjU3LDAsOS4yNC0zLjY3LDkuMjQtOC41NXMtMy42Ny04LjY5LTkuMjQtOC42OWguMDFaIi8+PC9zdmc+");	
}
#message .message_txt p.btn a:hover {
	color: var(--blue);
	background-color: #fff;
}
#message .message_txt p.btn a:hover::after {
	content: var(--pdf-icon);
}

#message .other-content {
	padding: 20px 0;
	position: relative;
	z-index: 2;
}
#message .pdf-page-link {
  border-radius: 24px;
  overflow: hidden;
	background-color: #fff;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.16);
}
#message .pdf-page-link figure {
	margin-bottom: 30px;
}
#message .pdf-page-link h3,
#message .pdf-page-link p {
	margin-left: 40px;
	margin-right: 40px;
}
#message .pdf-page-link h3 {
	font-size: 28rem;
	margin-bottom: 15px;
}
#message .pdf-page-link p.btn {
	margin: 0 auto 50px;
}
@media only screen and (max-width: 930px){
  #message .sec-title-en p {
    font-size: 13vw;
    margin-right: -45px;
  }
	#message .pdf-page-link h3 {
		font-size: 2.5vw;
	}
  #message .pdf-page-link p.btn {
		width: 90%;
  }
}

/* Value Creation
-----------------------------------------------------*/
#value_creation {
	padding: 80px 0;
	margin-bottom: 40px;
}
#value_creation.contents h2 {
	margin-bottom: 0;
}
#value_creation .sec-title-en p {
	margin-left: -110px;
	margin-bottom: -150px;
}
#value_creation .sec-title-en p span {
	display: block;
}
#value_creation .sec-title-en p span + span {
  margin-top: -20px;
  margin-left: 0.3em;
}
#value_creation .sec_content::before,
#strategy .sec_content::before {
	content: "";
	display: block;
	width: 100%;
	min-height: 460px;
	background-image: linear-gradient(89deg, #ccecdc 5%, transparent);
	position: absolute;
  top: 11.8%;
	z-index: 0;
}

@media only screen and (max-width: 1200px){
  #value_creation .sec_content::before,
	#strategy .sec_content::before {
    min-height: auto;
    height: calc(155vw / 3.6);
  }
}
@media only screen and (max-width: 930px){
	#value_creation .sec_content {
    margin-top: 30px;
    padding-top: 50px;
  }
  #value_creation .sec-title-en p {
    margin-left: -5%;
    transform: translateY(-40px);
  }
}


/* Strategy
-----------------------------------------------------*/
#strategy {
	padding: 80px 0;
	margin-bottom: 40px;
}
#strategy.contents h2 {
	margin-bottom: 0;
}
#strategy .sec-title-en p {
	text-align: right;
	margin-right: -50px;
	margin-bottom: -40px;
}
#strategy .sec_content::before {
	background-image: linear-gradient(89deg, transparent 5%, #ccecdc);
  top: 12.5%;
}


/* Intecrated Report
-----------------------------------------------------*/
#intecrated_report {
	position: relative;
	padding: 80px 0 210px 0;
	border-radius: 80px 80px 0 0;
	background: #dfe0e4;
}
#intecrated_report::after {
	content: "";
	display: block;
	width: 100%;
	height: 400px;
	background: url("../img/intecrated_report_bg.jpg") no-repeat 50% 100%;
	background-size: 100% auto;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0;
}
#intecrated_report .report-list {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 78%;
	max-width: var(--maxW);
	padding: 60px 40px;
	margin: 0 auto;
	background-color: #fff;
	box-shadow: 0 0 16px 0 rgba(0,0,0,0.16);
}
#intecrated_report .report-list figure {
	flex: 0 0 35%;
	width: 35%;
}
#intecrated_report .report-list figure img {
	display: block;
	width: 100%;
	border: 1px solid #333;
}
#intecrated_report .pdf_link-list {
  flex: 0 0 61.5%;
}
#intecrated_report .pdf_link-list h3 {
	font-size: 24rem;
	line-height: 1.2;
	border-bottom: 1px solid #333;
	margin-bottom: 24px;
	padding-bottom: 10px;
}
#intecrated_report ul.pdf_list {
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
}
#intecrated_report ul.pdf_list li {
	padding: 0 0 0 30px;
	margin: 0 0 15px;
	line-height: 1.5;
	color: #666;
}
#intecrated_report ul.pdf_list li a {
  display: flex;
  align-items: center;
	font-size: 20rem;
	font-weight: 500;
	line-height: 1.1;
	margin-bottom: 5px;
}
#intecrated_report ul.pdf_list li a::before {
	content: var(--pdf-icon);
	width: 24px;
	margin: 0 5px 0 -30px;
}

#intecrated_report div.sec-title-en {
	position: absolute;
	bottom: -11px;
	left: 0;
	right: 0;
	z-index: 1;
	margin: 0 auto;
}
#intecrated_report div.sec-title-en p {
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: 112px;
	color: #fff;
	opacity: 0.25;
}
@media only screen and (max-width: 1165px){
	#intecrated_report div.sec-title-en p {
    font-size: 8.4vw;
  }
}


/* Back Number
-----------------------------------------------------*/
#backnumber {
	padding: 80px 0;
}
ul.bn-list {
	max-width: var(--maxW);
	margin: 0 auto;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	column-gap: 80px;
}
ul.bn-list li {
	margin-bottom: 40px;
}

@media only screen and (max-width: 1100px){
	ul.bn-list {
		width: 90%;
		max-width: 100%;
		column-gap: 40px;
	}
	ul.bn-list .btn {
		width: 30%;
	}
}
@media only screen and (max-width: 930px){
	ul.bn-list .btn {
		width: 47%;
		max-width: 100%;
	}
}

/* Footer
-----------------------------------------------------*/
footer {
	padding: 80px 0 160px;
	text-align: center;
	color: #fff;
	background-image: linear-gradient(250deg, #1d50a2, #173f80);
}
footer a {
	color: #fff;
}

footer p.library-top {
	width: 50%;
	max-width: 640px;
	min-width: fit-content;
	margin: 0 auto 80px;
}
footer p.library-top a {
	display: inline-block;
	width: 100%;
	padding: 20px;
	font-size: 32rem;
	font-weight: 700;
	line-height: 1;
	border-radius: 24px;
	border: 2px solid #fff;
	background-color: rgba(255,255,255,0);
}
footer p.library-top a:hover {
	opacity: 1;
	color: var(--blue);
	background-color: rgba(255,255,255,1);
}
footer nav.foot-nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
footer nav.foot-nav li {
	border-left: 1px solid #fff;
}
footer nav.foot-nav li:nth-of-type(1) {
	border-left: none;
}
footer nav.foot-nav a {
	display: inline-block;
	padding: 0 10px;
}
footer .copyright {
	font-size: 12rem;
	color: #fff;
	opacity: 0.5;
	text-align: center;
	margin: 20px auto 0;
}

@media only screen and (max-width: 930px){
}

@media only screen and (max-width: 768px){
  header {
    background: #fff;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
		max-width: 100vw;
    height: auto;
    padding: 20px;
  }
	header #logo {
		width: 40%;
		max-width: 100vw;
	}
	.mv-bgimage {
		position: absolute;
		top: 0;
		left: 0;
		width: 100vw;
		height: auto;
    aspect-ratio: 9 / 10;
		margin: 0;
		border-radius: 0;
	}
	#main-visual {
		height: auto;
	}
	.mv-contents {
    display: block;
    position: relative;
    top: 0;
    left: 0;
    height: auto;
    width: 100%;
	}
	h2.page-title {
   font-size: 28rem;
   margin: 30px 20px 84vw;
  }
	.pdf-link {
    display: block;
    width: 90%;
		margin: 0 auto;
    text-align: center;
  }
	.btn {
		max-width: 100%;
    width: 100%;
		height: 70px;
    margin: 0 auto;
	}
	.btn a {
    padding: 10px 0;
	}
	#main-visual .btn:nth-of-type(1) {
    margin-bottom: 14px;
  }
	.scroll {
		display: none;
	}
	.contents h2 {
		font-size: 7.2vw;
		padding-bottom: 15px;
		margin-bottom: 40px;
	}
	.contents h2::before {
		width: 22.2222%;
		height: 4px;
	}
	.sec_content h3 {
    font-size: 5.1vw;
  }
	.sec_content h3 br {
		display: none;
	}
	.sec_content h3 + p {
    font-size: 4.0vw;
    margin-bottom: 15px;
  }
	.sec_content-inner,
	.other-content {
		width: 90%;
	}
	.other-content {
		display: block;
	}
	.flex-contents {
		flex-direction: column;
    justify-content: center;
    align-items: center;
	}
	.flex-contents figure {
    flex: 0 0 90%;
    order: 1;
    width: 90%;
    margin-bottom: 30px;
	}
	.flex-contents .txt-content {
		order: 2;
		width: 100%;
	}
	.pdf-page-link {
		margin-bottom: 55px;
	}
	#message {
    margin-top: 50px;
    margin-bottom: 50px;
	}
	#message .sec_content {
    overflow: visible;
	}
	#message .sec-title-en {
    text-align: right;
    color: rgba(255, 255, 255, 0.33);
    margin-bottom: 30px;
    transform: translateY(-18%);
  }
	#message .sec-title-en p {
    font-size: 17vw;
    margin-right: 0;
    margin-bottom: 0;
  }
	#message .top-massage {
		display: block;
		margin-bottom: 60px;
	}
	#message .top-massage figure {
		width: 105%;
		height: auto;
		aspect-ratio: 17 / 10;
    margin-bottom: 2em;
	}
  #message .top-massage figure img {
   width: 100%;
   height: auto;
   object-position: center top;
  }
	#message .message_txt h3 {
    font-size: 3.8vw;
  }
	#message .message_txt p.message,
	#message .message_txt p.name {
    font-size: 6.4vw;
		margin-bottom: 1em;
  }
	#message .message_txt p.name span {
    margin-bottom: 10px;
    font-size: 3.6vw;
  }
	#message .sec_content::before {
    top: 0;
    width: 100%;
    height: calc(1180vw / 3.6);
	}
	#message .sec_content::after {
		content: none;
	}
	#message .message_txt p.name {
    font-size: 6.2vw;
  }
	#message .other-content {
		display: block;
	}
	#message .pdf-page-link {
		margin-bottom: 40px;
	}
	#message .pdf-page-link figure {
		margin-bottom: 20px;
	}
	#message .pdf-page-link h3,
	#message .pdf-page-link p {
    margin-left: 14px;
    margin-right: 14px;
  }
	#message .pdf-page-link h3 {
   font-size: 6.2vw;
   margin-bottom: 10px;
  }
	#message .sec_content h3 + p {
    flex-grow: 1;
    margin-bottom: 30px;
  }
	#message .pdf-page-link p {
   	font-size: 3.8vw;
		margin-bottom: 15px;
	}
	#message .pdf-page-link p.btn {
		width: 90%;
		margin: 0 auto 20px;
	}
	#message .pdf-page-link p.btn a {
		font-size: 16rem;
	}
	
	#value_creation {
    padding: 0;
    margin-bottom: 0;
  }
	
  #value_creation .sec_content-inner,
  #strategy .sec_content-inner {
    position: relative;
    overflow: visible;
    width: 100%;
    padding: 40px 5%;
    margin: 60px auto 30px;
    background-image: linear-gradient(89deg, #ccecdc 5%, transparent);
  }
	#strategy .sec_content-inner {
    background-image: linear-gradient(89deg, transparent 5%, #ccecdc);
	}
	#value_creation .sec_content {
		margin-top: 0;
		padding-top: 0;
	}
	#value_creation .sec_content::before,
	#strategy .sec_content::before {
    content: none;
  }
	#value_creation .sec-title-en,
	#strategy .sec-title-en{
    position: absolute;
    top: -10%;
  }
	#value_creation.contents h2 {
		margin-bottom: 0;
	}
	#value_creation .sec-title-en,
	#strategy .sec-title-en {
		margin-bottom: 20px;
	}
	#value_creation .sec-title-en p,
	#strategy .sec-title-en p{
		text-align: left;
		font-size: 13vw;
    margin-left: -5%;
    margin-bottom: 0;
    margin-top: 20px;
		transform: none;
  }
	#value_creation .sec-title-en p span {
    display: inline-block;
    width: fit-content;
  }
	#value_creation .sec-title-en p span + span {
    margin-top: 0;
    margin-left: 0;
  }
	#value_creation .flex-contents,
	#strategy .flex-contents {
		margin-bottom: 0;
	}
	
	#strategy {
		padding: 50px 0 80px;
	}
	
	
	#intecrated_report {
    border-radius: 24px 24px 0 0;
    padding: 40px 0 70px 0;
  }
	#intecrated_report::after {
    height: 200px;
		background: url(../img/intecrated_report_sp_bg.jpg) no-repeat 50% 100%;
    background-size: cover;
  }
	#intecrated_report .report-list {
    width: 90%;
    display: block;
    padding: 50px 20px 10px;
	}
	#intecrated_report .report-list figure {
    width: 50%;
    margin: 0 auto 40px;
  }
	#intecrated_report .pdf_link-list h3 {
    font-size: 5.2vw;
		margin-bottom: 20px;
  }
	#intecrated_report ul.pdf_list {
    margin: 0 0 40px;
  }
	#intecrated_report ul.pdf_list li {
		margin-bottom: 30px;
    font-size: 3.6vw;
	}
	#intecrated_report ul.pdf_list li a {
    font-size: 4.6vw;
    margin-bottom: 10px;
		align-items: flex-start;
  }
	
  #intecrated_report ul.pdf_list li a::before {
    flex: 0 0 5.2vw;
    width: 5.2vw;
  }
	#intecrated_report div.sec-title-en {
		bottom: -5px;
	}
	#intecrated_report div.sec-title-en p{
    font-size: 8vw;
	}
	
	#backnumber {
    padding: 40px 0 20px;
  }
	#backnumber .content-inner .bn-list {
		width: 90%;
		margin: 0 auto;
	}
	#backnumber .bn-list li {
		width: 100%;
		margin-bottom: 20px;
	}
	
	footer {
    padding: 40px 0 80px;
  }
	footer p.library-top {
    width: 100%;
		margin-bottom: 40px;
  }
	footer p.library-top a {
    width: 90%;
    font-size: 5.1vw;
  }
	footer nav.foot-nav ul {
		display: block;
		width: 100%;
		text-align: center;
		margin: 0;
		padding: 0;
	}
	footer nav.foot-nav li {
    border: none !important;
    margin: 0 auto 10px;
  }
}

@media only screen and (max-width: 480px){
 #message .sec_content::before {
   height: calc(1380vw / 3.6);
 }
 #message .pdf-page-link p {
   font-size: 3.8vw;
   margin-bottom: 15px;
 }
}