body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	position: relative;
    left: 0;
    overflow-x: hidden;
	-webkit-text-size-adjust: 100%; /* iphone横向き 文字拡大防止 */
}
img {
	display: block;
	width: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
a {
	text-decoration: none;
	color: #000;
	transition: all .3s;
}
a:hover {
	filter: brightness(1.1);
}
p {
	line-height: 1.8;
}

/*==================================================================================
Header
==================================================================================*/
header {
	width: 100%;
	padding: 12px 0 20px!important;
	border-top: 6px #0064b8 solid!important;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
header.index {
	opacity: 0;
	transition: all .5s;
	transform: translateY(-100%);
}
header.index.show {
	opacity: 1;
	transform: translateY(0);
}
header .logo {
	display: block;
	width: 130px;
}
header .logo span {
	display: block;
	color: #706F70;
}
nav.gnav {
	width: calc(100% - 130px - 15px);
}
nav.gnav .menu {
	margin: 0 0 0 auto;
}
nav.gnav .menu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
}
nav.gnav .menu ul li a {
	display: block;
	color: #706F70;
	font-size: 13px;
	text-align: center;
    position: relative;
}
nav.gnav .menu ul li a.on {
	color: #0064b8;
}
nav.gnav .menu ul li a.on::after {
	content: "\025b2";
    display: block;
    font-size: 10px;
    position: absolute;
    bottom: -13px;
    left: 50%;
    transform: translateX(-50%);
}
nav.gnav .menu ul li a:hover {
	filter: none;
	opacity: 0.7;
}
nav.gnav .menu ul.sub li {
	margin-left: 15px;
}
nav.gnav .menu ul.sub li:last-child a {
	padding: 4px;
	background: #0064b8;
	color: #fff;
}
nav.gnav .menu ul.main {
	width: 100%;
	max-width: 750px;
	justify-content: space-between;
	margin: 0 0 0 auto;
}
nav.gnav .menu ul.main li a {
	line-height: 1.3;
}

/*==================================================================================
共通
==================================================================================*/
/* レイアウト */
main {
	margin-top: 102px;
	position: relative;
}
main.index {
	margin-top: 0;
}
section {
	padding: 60px 0!important;
	position: relative;
	overflow: hidden;
}
section.h100vh {
	display: flex;
	flex-wrap: wrap;
	justify-content: center
	align-content: center;
	width: 100%;
	height: 100vh;
	/*height: calc(100vh - 94px - 60px);*/
	/*min-height: calc(760px - 60px);*/
	/*padding: calc(94px + 30px) 0 30px!important;*/
	padding: 0!important;
}
section.child {
	padding: 40px 0!important;
}
.container {
	width: calc(100% - 30px);
	max-width: 1000px;
	padding: 0 15px;
	margin: auto;
}
.max1600 {
	max-width: 1600px;
	margin: auto;
}
.max1200 {
	max-width: 1200px;
	margin: auto;
}
.max960 {
	max-width: 960px;
	margin: auto;
}
.max840 {
	max-width: 840px;
	margin: auto;
}
.max700 {
	max-width: 700px;
	margin: auto;
}
.max540 {
	max-width: 540px;
	margin: auto;
}
.max460 {
	max-width: 460px;
	margin: auto;
}
.max360 {
	max-width: 360px;
	margin: auto;
}
.max300 {
	max-width: 300px;
	margin: auto;
}
.max260 {
	max-width: 260px;
	margin: auto;
}
.max200 {
	max-width: 200px;
	margin: auto;
}
.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.row.align_center {
	align-items: center;
}
.row.align_end {
	align-items: flex-end;
}
.row.just_center {
	justify-content: center;
}
.row.just_start {
	justify-content: flex-start;
}
.row.just_end {
	justify-content: flex-end;
}
.col3 {
	width: calc(100% / 3 - 30px);
}
.col3.wide {
	width: calc(100% / 3 - 15px);
}
.col3_2 {
	width: calc(100% / 3 * 2);
}
.col2 {
	width: calc(100% / 2 - 15px);
}
.col2.wide {
	width: calc(100% / 2 - 30px);
}
.w100 {
	width: 100%;
}
.col4 {
	width: calc(100% / 4 - 15px);
}

.mb_5 {
	margin-bottom: 5px;
}
.mb_10 {
	margin-bottom: 10px;
}
.mb_20 {
	margin-bottom: 20px;
}
.mb_30 {
	margin-bottom: 30px;
}
.mb_40 {
	margin-bottom: 40px;
}
.mb_60 {
	margin-bottom: 60px;
}
.mb_120 {
	margin-bottom: 120px;
}
.mr_10  {
	margin-right: 10px;
}
.mr_40 {
    margin-right: 40px;
}

.bg_gray {
	padding: 15px 20px;
	background: #eeedee;
}
.bg_blue {
	padding: 15px 20px;
	background: #d9e8f4;
}
.frame {
	padding: 15px 20px;
	border: 2px #dbdbdb solid;
}
.z2 {
	position: relative;
	z-index: 2;
}
.wrap {
	display: inline-block;
}

/* フォント */
h2 {
	color: #0064b8;
	font-size: 34px;
	font-weight: 700;
}
.white h2 {
	color: #fff;
}
h3 {
	padding: 6px 20px!important;
	background: #0064b8;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	text-align: left;
	line-height: 1.6;
}
h3.line {
	padding: 0 0 5px!important;
	background: none;
	border-bottom: 4px #b3b3b3 solid!important;
	color: #585757;
	font-size: 30px;
	position: relative;
}
h3.line::after {
	content: "";
	display: block;
	width: 50%;
	border-bottom: 4px #0064b8 solid;
	position: absolute;
	bottom: -4px;
	left: 0;
}
.h3_line {
	border-bottom: 4px #b3b3b3 solid!important;
	position: relative;
}
.h3_line::after {
	content: "";
	display: block;
	width: 50%;
	border-bottom: 4px #0064b8 solid;
	position: absolute;
	bottom: -4px;
	left: 0;
}
h3.plane {
	padding: 0!important;
	background: none;
	color: #585757;
	font-size: 30px;
	position: relative;
}
h4 {
	padding: 0 0 5px!important;
	border-bottom: 4px #b3b3b3 solid!important;
	font-size: 18px;
	line-height: 1.6;
	position: relative;
}
h4::after {
	content: "";
	display: block;
	width: 50%;
	border-bottom: 4px #0064b8 solid;
	position: absolute;
	bottom: -4px;
	left: 0;
}
h4.solid {
	padding: 15px 20px!important;
	border: none!important;
	background: #eeedee;
	color: #585757;
}
h4.plane {
	padding: 0!important;
	border: none!important;
	color: #585757;
	font-size: 24px;
}
h4.solid::after,
h4.plane::after {
    display: none;
}
h5 {
	padding: 5px 10px!important;
	background: #0064b8;
	color: #fff;
	font-size: 18px!important;
	font-weight: 700;
	line-height: 1.2;
}
.font_12 {
	font-size: 12px;
}
.font_14 {
	font-size: 14px;
}
.font_18 {
	font-size: 18px;
}
.font_20 {
	font-size: 20px;
}
.font_24 {
	font-size: 24px;
}
.font_28 {
	font-size: 28px;
}
.font_34 {
	font-size: 34px;
}
.font_46 {
	font-size: 46px;
}
.font_60 {
	font-size: 60px;
}
.txt_center {
	text-align: center;
}
.txt_right {
	text-align: right;
}
.txt_left {
	text-align: left;
}
.eng {
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}
.eng.black {
	font-weight: 900;
}
.mincho {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
}
.medium {
	font-weight: 500;
}
.bold {
	font-weight: 700;
}
.white {
	color: #fff;
}
.blue {
	color: #0064b8;
}
.gray {
	color: #888888;
}
.line1 {
	line-height: 1;
}
.line1_2 {
	line-height: 1.2;
}
.line1_4 {
	line-height: 1.4;
}
.line1_6 {
	line-height: 1.6;
}
.line2 {
	line-height: 2;
}
.indent0_8 {
	padding-left: .8em;
	text-indent: -.8em;
}
.indent {
	padding-left: 1em;
	text-indent: -1em;
}
.indent1_3 {
	padding-left: 1.3em;
	text-indent: -1.3em;
}
.indent1_8 {
	padding-left: 1.8em;
	text-indent: -1.8em;
}
.indent2 {
	padding-left: 2em;
	text-indent: -2em;
}
.indent3 {
	padding-left: 3em;
	text-indent: -3em;
}
.indent3_8 {
	padding-left: 3.8em;
	text-indent: -3.8em;
}
small {
	font-size: .6em;
	position: relative;
	top: -.4em;
}
sup {
	font-size: .8em;
	position: relative;
	top: -.2em;
}
sub {
	font-size: .7em;
	position: relative;
}

/* リスト */
ul.square li p {
	padding-left: 1.5em;
	position: relative;
}
ul.square li p::before {
	content: "\025a0";
	color: #0064b8;
	position: absolute;
	top: 0;
	left: 0;
}
ul.disc li p {
	padding-left: .8em;
	position: relative;
}
ul.disc li p::before {
	content: "\025cf";
	display: block;
	color: #0064b8;
	font-size: 10px;
	line-height: 2.8;
	position: absolute;
	top: 0;
	left: 0;
}
ol.decimal {
	padding-left: 1em;
	list-style: decimal;
}
ol.chuki {
	padding-left: 3.2em;
	position: relative;
}
ol.decimal.chuki {
	padding-left: 4.2em;
}
ol.chuki::before {
	content: "Notes:";
	display: block;
    line-height: 1.8;
	position: absolute;
	top: 0;
	left: 0;
}

/* パンくず */
ul.pan_nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
ul.pan_nav li {
	margin-right: 1.5em;
	position: relative;
}
ul.pan_nav li::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	border-top: 1px #000 solid;
	border-right: 1px #000 solid;
	transform: rotate(45deg);
	position: relative;
	top: 0;
	right: -.7em;
}
ul.pan_nav li:last-child {
	padding-right: 0;
	margin-right: 0;
}
ul.pan_nav li:last-child::after {
	display: none;
}
ul.pan_nav li a {
	display: inline-block;
	font-size: 12px;
}
ul.pan_nav li:last-child a {
	pointer-events: none;
}

/* ページリンク */
.page_nav ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	padding-right: 20px;
	color: #585757;
	font-weight: 700;
	line-height: 1.3;
	position: relative;
}
.page_nav ul li a:hover {
	color: #0064b8;
}
.page_nav ul li a::before {
	content: "";
	display: block;
	border: 6px transparent solid;
	border-right: none;
	border-left: 10px #0064b8 solid;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.page_nav ul li a.active {
	padding-right: 0;
	pointer-events: none;
}
.page_nav ul li a.active::before {
	display: none;
}
.page_nav ul li a.active span {
	display: inline-block;
	padding-bottom: 5px;
	border-bottom: 3px #0064b8 solid;
}

/* ページリンク タブ */
ul.page_tab {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul.page_tab li a {
    display: block;
	height: 100%;
    padding: 10px 10px 12px;
    background: #b3b3b3;
    color: #585757;
    font-weight: 700;
    text-align: center;
}
ul.page_tab li a.on {
    background: #0064b8;
    color: #fff;
}

/* ボタン */
.btn {
	display: inline-block;
	padding: 8px 30px 10px;
	border: 2px #fff solid;
	border-radius: 5px;
	color: #fff;
}
.btn:hover {
	background: #fff;
	color: #0064b8;
}
.btn.blue {
    border-color: #0064b8;
    color: #0064b8;
}
.btn.gray {
    border-color: #9f9f9f;
    color: #666;
}
.link {
	color: #0064b8;
	text-decoration: underline;
}
.anker {
	padding-top: 140px;
	margin-top: -140px;
}
.icon_pdf,
.icon_xsl {
	display: inline-block;
	padding-left: 25px;
	position: relative;
}
a .icon_pdf,
a.icon_pdf,
a .icon_xsl,
a.icon_xsl {
	text-decoration: underline;
}
.icon_pdf::after,
.icon_xsl::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: url("../img/icon_pdf.png") center center / contain no-repeat;
	position: absolute;
	top: -15%;
	left: 0;
}
.icon_xsl::after {
	background-image: url("../img/icon_xsl.png");
}
.btn_arrow {
	position: relative;
}
.btn_arrow::after {
	content: "";
	display: block;
	border: 15px transparent solid;
	border-right-color: #0064b8;
	border-bottom-color: #0064b8;
	position: absolute;
	right: 15px;
	bottom: 15px;
    transition: all .3s;
}
a.btn_arrow:hover::after {
    border-width: 20px;
    right: 5px;
    bottom: 5px;
}

/* アニメーション */
.animated.fadeinup {
	animation: fadeinup 1s;
}
@keyframes fadeinup {
	0% {opacity: 0; transform: translateY(30px);}
	50% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinup.second {
	animation: fadeinup_2nd 1.2s;
}
@keyframes fadeinup_2nd {
	0% {opacity: 0; transform: translateY(30px);}
	58.33% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinup.third {
	animation: fadeinup_3rd 1.4s;
}
@keyframes fadeinup_3rd {
	0% {opacity: 0; transform: translateY(30px);}
	64.28% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinup.fourth {
	animation: fadeinup_4th 1.6s;
}
@keyframes fadeinup_4th {
	0% {opacity: 0; transform: translateY(30px);}
	68.75% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinup.five {
	animation: fadeinup_5th 1.8s;
}
@keyframes fadeinup_5th {
	0% {opacity: 0; transform: translateY(30px);}
	72.22% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinleft {
	animation: fadeinleft 1s;
}
@keyframes fadeinleft {
	0% {opacity: 0; transform: translateX(-30px);}
	50% {opacity: 0; transform: translateX(-30px);}
	100% {opacity: 1; transform: translateX(0);}
}
.animated.fadeinleft.second {
	animation: fadeinleft 1.2s;
}
@keyframes fadeinleft {
	0% {opacity: 0; transform: translateX(-30px);}
	58.33% {opacity: 0; transform: translateX(-30px);}
	100% {opacity: 1; transform: translateX(0);}
}

/*==================================================================================
INDEX
==================================================================================*/
section#main {
	height: 100vh;
	padding: 0!important;
	position: relative;
}
#cursor_area {
	width: 100%;
	height: 100%;
	background: #0064b8;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	overflow: hidden;
}
/* ローディング */
#cursor_area .loading {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
}
#cursor_area .loading.done {
	display: none;
}
#cursor_area .loading .logo {
	width: 100%;
	margin-bottom: 40px;
}
#cursor_area .loading .logo img {
	max-width: 360px;
	margin: auto;
}
#cursor_area .bubble {
	width: 15px;
	height: 15px;
	border-radius: 50%;
	margin: 0 10px;
	background: #1acaff;
}
#cursor_area .bubble01 {
	animation: loading .4s ease 0s infinite alternate;
}
#cursor_area .bubble02 {
	animation: loading .4s ease .2s infinite alternate;
}
#cursor_area .bubble03 {
	animation: loading .4s ease .4s infinite alternate;
}
@keyframes loading {
  0% {opacity: 1; transform: scale(1);}
  100% {opacity: .25; transform: scale(.75);}
}
/* 背景動画 */
#cursor_area .bg_mov {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
#cursor_area .bg_mov iframe {
	height: 100%;
}
/* 音声ボタン */
#cursor_area button#soundToggle {
	padding: 5px 20px;
	border: 2px #0064b8 solid;
	border-radius: 40px;
	background: #fff;
	color: #0064b8;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	bottom: 20px;
	right: 20px;
	z-index: 10;
}
/* 字幕付き動画ボタン */
#cursor_area .btn_mov {
	display: inline-block;
    padding-right: 1.2em;
    background: url("../img/icon_arrow02.png") right bottom / .8em no-repeat;
    font-size: 14px;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	bottom: 28px;
	right: 130px;
	z-index: 10;
}
/* safari対応 */
#videoPlay.safari_wait {
  cursor: pointer;
}
#videoPlay.safari_wait::after {
  content: '▶ Click to play';
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  background: rgba(0,0,0,0.6);
  padding: 0.5em 1em;
  border-radius: 4px;
  font-size: 1rem;
}
#videoPlay.started::after {
  display: none;
}
/* scroll */
.icon_scroll {
	padding-bottom: 25px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 99;
	cursor: pointer;
}
.yay.on .icon_scroll {
	animation: icon_scroll_on 1.4s;
}
@keyframes icon_scroll_on {
	0% {opacity: 0;}
	80% {opacity: 0;}
	100% {opacity: 1;}
}
.icon_scroll::after {
	content: "";
	display: block;
	height: 25px;
	border-right: 1px #0064b8 solid;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	animation: icon_scroll 1s infinite;
}
@keyframes icon_scroll {
	0% {height: 25px;}
	80% {height: 0;}
	100% {height: 0;}
}
.icon_scroll span {
	display: inline-block;
	padding-bottom: 30px;
	color: #0064b8;
    font-size: 14px;
	position: relative;
}
.icon_scroll span::before {
	content: "";
	display: block;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #0064b8;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.icon_scroll span::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-right: 3px #fff solid;
	border-bottom: 3px #fff solid;
	position: absolute;
	left: 46%;
	bottom: 4px;
    transform-origin: center;
	transform: rotate(45deg) translateX(-50%);
}
.icon_scroll.white::after {
	border-color: #fff;
}
.icon_scroll.white span {
	color: #fff;
}
.icon_scroll.white span::before {
	background: #fff;
}
.icon_scroll.white span::after {
	border-color: #0064b8;
}

/* 10分で読めるHOYA統合報告書2025 ----------------------------------------------------*/
section#intro {
	justify-content: flex-end;
	align-content: flex-start;
	height: 100vh;
	padding: 0!important;
    background: #fff;
}
section#intro .read10min {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: calc(50% + 104px);
    background: url("../img/10min_bg.jpg") center center / cover no-repeat;
	position: relative;
	overflow: hidden;
}
section#intro.yay.on .read10min {
	animation: read10min 1.4s;
}
@keyframes read10min {
	0% {height: 100%; opacity: 0;}
	28.5714% {height: 100%; opacity: 1;}
	42.8571% {height: 100%; opacity: 1;}
	100% {height: calc(50% + 104px); opacity: 1;}
}
/*section#intro .read10min img {
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: all .6s;
}
section#intro .read10min:hover img {
	transform: translate(-50%,-50%) scale(1.05);
}*/
section#intro .read10min span {
    display: inline-block;
	position: relative;
	z-index: 2;
}
section#intro .read10min span::after {
	content: "";
	display: block;
	width: 60px;
	height: 70px;
	background: url("../img/icon_book.png") center center / contain no-repeat;
	position: absolute;
	left: 50%;
	bottom: -90px;
	transform: translateX(-50%);
}
section#intro .bg {
	display: flex;
	justify-content: center;
	align-items: center;
    width: 100%;
    height: calc(50% - 100px);
	box-sizing: border-box;
    background: radial-gradient(#0064b8,#004885);
    position: absolute;
	left: 0;
	bottom: 0;
    z-index: 2;
    overflow: hidden;
    transform-origin: center bottom;
}
section#intro.yay.on .bg {
    animation: intro_bg 1.4s;
}
@keyframes intro_bg {
	0% {height: 0;}
	42.8571% {height: 0;}
	100% {height: calc(50% - 100px);}
}
section#intro .bg img {
    width: auto;
    height: 10vh;
    margin: 0 auto;
	position: relative;
}
section#intro .bg .icon_scroll {
    display: inline-block;
    position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}

/* 投資対象としてのHOYAの実力 ---------------------------------------------------------*/
section#top_capability {
	justify-content: flex-end;
	height: 100vh;
	padding: 0!important;
    background: #fff;
}
section#top_capability .img {
	width: 50%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
section#top_capability.yay.on .img {
	animation: top_capa_img 1.4s;
}
@keyframes top_capa_img {
	0% {width: 100%; opacity: 0;}
	28.5714% {width: 100%; opacity: 1;}
	42.8571% {width: 100%; opacity: 1;}
	100% {width: 50%; opacity: 1;}
}
section#top_capability .img img {
	height: 100%;
	object-fit: cover;
}
section#top_capability a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	height: 100%;
	box-sizing: border-box;
	padding-top: 100px;
    background: radial-gradient(#0064b8,#004885);
	color: #fff;
    overflow: hidden;
    position: relative;
    z-index: 2;
}
section#top_capability.yay.on a {
	animation: top_capa_a 1.4s;
}
@keyframes top_capa_a {
	0% {width: 0;}
	42.8571% {width: 0;}
	100% {width: 50%;}
}
.icon_arrow {
	position: relative;
}
.icon_arrow::after {
	content: "";
	display: block;
	width: 35px;
    height: 35px;
    background: url("../img/icon_arrow.png") center center / contain no-repeat;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
	z-index: 3;
}
section#top_capability a span.icon_arrow {
	display: inline-block;
	white-space: nowrap;
	padding-bottom: 2em;
}

/* 2024年度財務ハイライト ------------------------------------------------------------*/
section#top_highlight {
	background: #fff;
}
section#top_highlight a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100% / 4 - 2px);
	height: 20vw;
    max-height: 360px;
	box-sizing: border-box;
	padding-bottom: 3%;
    background: radial-gradient(#0064b8,#004885);
    color: #fff;
}
section#top_highlight a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/highlight_icon01.png") center top 40% / 45% no-repeat;
    position: absolute;
    top: 0;
    left: 0;
}
section#top_highlight a:nth-child(2)::before {
	background-image: url("../img/highlight_icon02.png");
}
section#top_highlight a:nth-child(3)::before {
	background-image: url("../img/highlight_icon03.png");
}
section#top_highlight a:nth-child(4)::before {
	background-image: url("../img/highlight_icon04.png");
}
section#top_highlight a.icon_arrow::after {
	bottom: 8%;
}
section#top_highlight a p {
	position: relative;
    z-index: 2;
}

/* マネジメントメッセージ ------------------------------------------------------------*/
section#top_interview {
    background: radial-gradient(#0064b8,#004885);
}
section#top_interview a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	height: 46vh;
    max-height: 400px;
	color: #fff;
	position: relative;
	overflow: hidden;
}
section#top_interview a.icon_arrow::after {
	bottom: 8%;
}
section#top_interview a img {
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: all .6s;
}
section#top_interview a:hover img {
	transform: translate(-50%,-50%) scale(1.05);
}
section#top_interview a span {
	position: relative;
	z-index: 2;
}

/* HOYAの価値創造 ------------------------------------------------------------------*/
section#top_value {
	justify-content: flex-start;
	height: 100vh;
	padding: 0!important;
    background: #fff;
}
section#top_value .img {
	width: 50%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
}
section#top_value.yay.on .img {
	animation: top_capa_img 1.2s;
}
section#top_value .img img {
	height: 100%;
	object-fit: cover;
}
section#top_value a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	height: 100%;
	box-sizing: border-box;
	padding-top: 100px;
    background: radial-gradient(#0064b8,#004885);
	color: #fff;
    overflow: hidden;
    position: relative;
    z-index: 2;
}
section#top_value.yay.on a {
	animation: top_capa_a 1.2s;
}
section#top_value a span.icon_arrow {
	display: inline-block;
	white-space: nowrap;
	padding-bottom: 2em;
}

/* ESG報告 -----------------------------------------------------------------------*/
section#top_esg {
	background: #fff;
}
section#top_esg .box {
    display: block;
    width: calc(100% / 5 - 3px);
	/*height: 24vw;
    max-height: 360px;
    min-height: 320px;*/
	box-sizing: border-box;
	background: rgba(49,56,70,0.60);
    color: #fff;
}
section#top_esg .box a.parents {
	display: flex;
	align-items: flex-end;
	height: 14vh;
	padding: 15px;
	color: #fff;
	font-size: min(1.8vw,26px);
	font-weight: 700;
	line-height: 1.3;
	position: relative;
	overflow: hidden;
}
section#top_esg .box a.parents img {
    height: 100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: all .3s;
}
section#top_esg .box a.parents:hover img {
	transform: scale(1.05) translate(-50%,-50%);
}
section#top_esg .box a.parents span {
	position: relative;
	z-index: 2;
}
section#top_esg .box ul {
	padding: 10px 15px;
}
section#top_esg .box ul li {
    margin-bottom: 0.2em;
	padding-left: 10px;
	position: relative;
}
section#top_esg .box ul li::before {
	content: "";
	display: block;
	width: 4px;
	height: 4px;
	border-top: 2px #fff solid;
	border-right: 2px #fff solid;
	position: absolute;
	top: 6px;
	left: 0;
	transform: rotate(45deg);
}
section#top_esg .box ul li a {
	display: block;
	background: none;
	color: #fff;
	font-size: min(0.9vw,14px);
	line-height: 1.3;
}

/* ライブラリー -------------------------------------------------------------------*/
section#top_library {
	justify-content: flex-end;
	height: 100vh;
	padding: 0!important;
    background: #fff;
}
section#top_library .img {
	width: 50%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
section#top_library.yay.on .img {
	animation: top_capa_img 1.2s;
}
section#top_library .img img {
	height: 100%;
	object-fit: cover;
}
section#top_library a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	height: 100%;
	box-sizing: border-box;
	padding-top: 100px;
    background: radial-gradient(#0064b8,#004885);
	color: #fff;
    overflow: hidden;
    position: relative;
    z-index: 2;
}
section#top_library.yay.on a {
	animation: top_capa_a 1.2s;
}
section#top_library a span.icon_arrow {
	display: inline-block;
	white-space: nowrap;
	padding-bottom: 2em;
}

/*==================================================================================
投資対象としてのHOYAの実力
==================================================================================*/
.capability_ttl {
	width: 100%;
    height: 30vw;
    max-height: 460px;
    min-height: 300px;
	margin: 0 auto 30px;
	position: relative;
}
.capability_ttl img {
	height: 100%;
	object-fit: cover;
}
.capability_ttl h3 {
	width: 100%;
	background: none;
	color: #fff;
	font-size: 28px;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 2;
}
.capability_ttl h3 span {
	position: relative;
	z-index: 2;
}
/* 重点成長領域 --------------------------------------------------------------------*/
section#capability05 table {
	width: 100%;
}
section#capability05 table tr {
	border-bottom: 4px #fff solid;
}
section#capability05 table tr:last-child {
	border-bottom: none;
}
section#capability05 table thead p {
	line-height: 1.2;
}
section#capability05 table thead tr:first-child th .row {
	padding: 5px 10px;
	background: linear-gradient(to right, #0064b8 0%, #11a2e1 100%);
	color: #fff;
}
section#capability05 table thead tr:nth-child(2) th {
	padding: 5px 10px;
	color: #fff;
}
section#capability05 table thead tr:nth-child(2) th:nth-child(2) {
	width: 30%;
	border-right: 4px #fff solid;
	background: #0064b8;
}
section#capability05 table thead tr:nth-child(2) th:nth-child(3) {
	width: 30%;
	border-right: 4px #fff solid;
	background: #0082cc;
}
section#capability05 table thead tr:nth-child(2) th:nth-child(4) {
	width: 30%;
	background: #11a2e1;
}
section#capability05 table tbody p {
	line-height: 1.4;
}
section#capability05 table tbody tr {
	border-bottom: 10px #fff solid;
	position: relative;
}
section#capability05 table tbody tr::after {
	content: "";
	display: block;
	width: 100%;
	border-bottom: 1px #b3b3b3 solid;
	position: absolute;
	bottom: -11px;
	left: 0;
}
section#capability05 table tbody tr:last-child::after {
	display: none;
}
section#capability05 table tbody th {
	padding: 10px;
	background: #eeedee;
	vertical-align: middle;
	text-align: left;
	white-space: nowrap;
}
section#capability05 table tbody td {
	padding: 10px;
	vertical-align: middle;
}
/* 新規事業の種まき -----------------------------------------------------------------*/
section#capability06 .img {
	width: 120px;
}
section#capability06 .txt {
	width: calc(100% - 120px - 10px);
}

/*==================================================================================
マネジメントメッセージ
==================================================================================*/
section#interview_main ul.page_tab li {
    width: 50%;
}
section#interview_main .main_img {
    height: 40vw;
    max-height: 600px;
    min-height: 460px;
    color: #3d3a39;
    position: relative;
    overflow: hidden;
}
section#interview_main .main_img img {
    height: 100%;
    object-fit: cover;
}
section#interview_main .main_img .container {
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
section#interview_main .main_img .txt {
    position: absolute;
}
section#interview_main .main_img.ceo .txt {
    left: 30%;
    bottom: 5%;
}
/* 社外取締役座談会 ------------------------------------------------------------------*/
section#interview_main .main_img.other {
    height: auto;
    min-height: 0;
    color: #fff;
}
section#interview_main .main_img.other .txt {
    top: 5%;
    left: 20px;
}
section#other_int01 {
    margin-top: -40px;
    background: #f6f6f6;
}
section#other_int01 .img {
    width: calc(30% - 15px);
}
section#other_int01 .txt {
    width: 70%;
}

/*==================================================================================
事業概況
==================================================================================*/
main.index section#review {
	height: calc(100vh - 102px);
    padding-top: 102px!important;
    background: #fff;
}
section#review .ttl {
    width: 100%;
	padding: 15px 0!important;
	background: linear-gradient(to right, #004885, #0064b8, #004885);
	color: #fff;
	font-weight: 500;
}
section#review .ttl h2 {
	color: #fff;
	font-weight: 500;
}
main.index section#review .row {
	width: 100%;
	height: calc(100% - 64px);
}
section#review .service {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	width: 50%;
	height: 60vh;
	min-height: 360px;
    box-sizing: border-box;
	padding-bottom: 10vh;
}
main.index section#review .service {
	height: 100%;
}
section#review .service.lifecare {
	background: url("../img/lifecare_main.jpg") center center / cover no-repeat;
}
section#review .service.it {
	background: url("../img/it_main.jpg") center center / cover no-repeat;
}
section#review .service .s_ttl {
	width: 100%;
}
section#review .service .list {
	width: calc(100% - 40px);
	max-width: 520px;
	border-radius: 10px;
	overflow: hidden;
}
section#review .service .list .l_head {
    height: auto;
	margin-bottom: 2px;
}
section#review .service .list .l_head p {
	box-sizing: border-box;
	padding: 10px;
	background: rgba(7,68,120,0.75);
}
section#review .service.lifecare .list .l_head p:nth-child(1) {
	width: calc(100% / 5 * 3 - 1px);
}
section#review .service.lifecare .list .l_head p:nth-child(2) {
	width: calc(100% / 5 * 2 - 1px);
}
section#review .service .list .l_cont a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 95px;
	box-sizing: border-box;
	padding: 10px 5px 45px;
	background: rgba(0,100,184,0.75);
	position: relative;
}
section#review .service.lifecare .list .l_cont a {
	width: calc(100% / 5 - 2px);
}
section#review .service.it .list .l_cont a {
	width: calc(100% / 4 - 2px);
}
section#review .service .list .l_cont a::before {
	content: "";
	display: block;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: rgba(0,0,0,0.5);
	position: absolute;
	left: 50%;
	bottom: 10px;
	transform: translateX(-50%);
}
section#review .service .list .l_cont a::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: 3px #fff solid;
	border-right: 3px #fff solid;
	position: absolute;
	left: 48%;
	bottom: 17px;
	transform: translateX(-50%) rotate(45deg);
}
/* ライフケア事業 ------------------------------------------------------------------*/
table.review {
	width: 100%;
}
table.review th {
	width: 240px;
	box-sizing: border-box;
	padding: 8px;
	background: #0064b8;
	color: #fff;
	font-weight: 500;
    vertical-align: middle;
}
table.review tr:nth-child(even) th {
	background: #3383c6;
}
table.review td {
	padding: 8px 15px;
	background: #e6e5e6;
}
table.review tr:nth-child(even) td {
	background: #f2f1f2;
}
h5.w240 {
	padding: 0!important;
	border-bottom: 3px #0064b8 solid;
	background: none;
}
h5.w240 span {
	display: inline-block;
	width: 240px;
	box-sizing: border-box;
	padding: 5px 10px!important;
	background: #0064b8;
	text-align: center;
}
.ttl_arrow span {
	display: inline-block;
	padding-left: 1.1em;
	position: relative;
}
.ttl_arrow span::before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: 4px #0064b8 solid;
	border-right: 4px #0064b8 solid;
	position: absolute;
	top: .6em;
	left: 0;
	transform: rotate(45deg);
}
section#lifecare05 table.review thead th {
    padding: 0;
	border-right: 3px #fff solid;
    border-bottom: 15px #fff solid;
    background: none!important;
}
section#lifecare05 table.review th {
	width: auto;
    white-space: nowrap;
}
section#lifecare05 table.review td {
	border-right: 3px #fff solid;
    text-align: center;
    vertical-align: middle;
}

/*==================================================================================
2024年度財務ハイライト
==================================================================================*/
section#highlight01 h3,
section#highlight02 h3,
section#highlight03 h3,
section#highlight04 h3 {
	padding: 2.5em 0 1.5em!important;
	background: none;
	color: #0064b8;
	font-size: 30px;
	text-align: center;
	line-height: 1.4;
    position: relative;
}
section#highlight01 h3::before,
section#highlight02 h3::before,
section#highlight03 h3::before,
section#highlight04 h3::before {
	content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/highlight01_h3.jpg") center bottom / contain no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
section#highlight02 h3::before {
	background-image: url("../img/highlight02_h3.jpg");
}
section#highlight03 h3::before {
	background-image: url("../img/highlight03_h3.jpg");
}
section#highlight04 h3::before {
	background-image: url("../img/highlight04_h3.jpg");
}
/* FY24の業績ハイライト */
section#highlight02 table {
    width: 100%;
}
section#highlight02 table tr {
    border-bottom: 2px #000 solid;
}
section#highlight02 table tr:nth-child(even) {
    background: #eeedee;
}
section#highlight02 table th {
    padding: 5px;
    text-align: left;
    font-weight: 400;
}
section#highlight02 table tr:first-child th {
    text-align: center;
}
section#highlight02 table td {
    text-align: center;
}
section#highlight02 table td p {
    width: 110px;
    box-sizing: border-box;
    padding: 5px 10px;
    text-align: right;
}
section#highlight02 table td p[class^="no"] {
    background: #0064b8;
    color: #fff;
    font-weight: 700;
    position: relative;
}
section#highlight02 table td p[class^="no"] span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    color: #0064b8;
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 6px;
    transform: translateY(-50%);
}
section#highlight02 .fukidashi {
    display: flex;
    align-items: center;
    width: calc(100% / 3 - 20px);
    box-sizing: border-box;
    padding: 10px;
    border: 3px #0064b8 solid;
    position: relative;
}
section#highlight02 .fukidashi::after {
    content: "";
    display: block;
    width: 40px;
    height: 16px;
    border-bottom: 3px #0064b8 solid;
    background: #fff;
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform-origin: left bottom;
    transform: translateX(-50%) rotate(45deg);
}
section#highlight02 .fukidashi p {
    padding-left: 30px;
    position: relative;
}
section#highlight02 .fukidashi p span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #0064b8;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

/*==================================================================================
本書のコンセプトと用語集
==================================================================================*/
section#concept01 .arrow::before {
    content: "";
    display: inline-block;
    border: 24px transparent solid;
    border-top: 24px #80b1db solid;
    border-bottom: none;
    position: relative;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
/* 用語集 -------------------------------------------------------------------------*/
section#concept02 table {
    width: 100%;
}
section#concept02 table th {
    padding: 5px;
    border-right: 3px #fff solid;
    background: #0064b8;
    color: #fff;
    font-weight: 400;
}
section#concept02 table th:last-child {
    border-right: none;
}
section#concept02 table td {
    padding: 8px;
    border-right: 3px #fff solid;
    background: #eeedee;
}
section#concept02 table td:last-child {
    border-right: none;
}
section#concept02 table tr:nth-child(odd) td {
    background: #dbdbdb;
}
section#concept02 table.t02 th:nth-child(1) {
    width: 180px;
}
section#concept02 table.t02 th:nth-child(2) {
    width: 160px;
}

/*==================================================================================
ESG報告
==================================================================================*/
section#top_esg .esg_ttl {
	width: 100%;
    height: 20vh;
    max-height: 300px;
	position: relative;
}
section#top_esg .esg_ttl img {
	height: 100%;
	object-fit: cover;
}
section#top_esg .esg_ttl h3 {
	width: calc(100% - 30px);
	max-width: 1600px;
	padding: 0 15px;
	background: none;
	color: #fff;
	font-size: 28px;
	position: absolute;
	bottom: 10%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}
/* HOYAのESG ---------------------------------------------------------------------*/
section#materiality03 .img {
    width: 220px;
}
section#materiality03 .txt {
    width: calc(100% - 220px - 40px);
}
table.table01 {
	width: 100%;
	border-top: 1px #000 solid;
}
table.table01 p {
	font-weight: 400;
	line-height: 1.4;
}
table.table01 p.bold {
	font-weight: 700;
}
table.table01 tr {
	border-bottom: 1px #000 solid;
}
table.table01.mutual tr:nth-child(odd) {
	background: #e5eff8;
}
table.table01 th {
	padding: 15px 10px;
	background: #b2d0ea;
	font-weight: 700;
	text-align: center;
}
table.table01 td {
	padding: 10px;
	vertical-align: top;
}
table.table01.data03 td {
	width: calc(100% / 3);
}
section#materiality03 table.table01 td:nth-child(1){
	width: 24%;
}
table.table01 td ul.disc li p::before {
	line-height: 2.4;
}
section#materiality03 table.table01.data04 td:nth-child(1){
	width: 22%;
}
section#materiality03 table.table01.data04 td.sdgs {
	width: 25%;
}
.icon_sdgs {
	display: inline-block;
	width: 90px;
}
/* 開示の拡充・外部評価 -------------------------------------------------------------*/
section#disclosure .logo_ftse {
    max-width: 200px;
}
section#disclosure .logo_msci {
    max-width: 332px;
}
section#disclosure .logo_morning {
    max-width: 210px;
}
section#disclosure .logo_sp_jpx {
    max-width: 75px;
}
section#disclosure .logo_kenko {
    max-width: 310px;
	margin-top: -40px;
}
/* コーポレートガバナンス ------------------------------------------------------------*/
/* 基本的な考え方 */
.page_nav.other ul li {
	width: calc(100% / 3)!important;
    text-align: left!important;
}
.page_nav.other ul li:nth-child(2) {
    text-align: center!important;
}
.page_nav.other ul li:nth-child(3) {
    text-align: right!important;
}
.page_nav.other ul li a {
	display: inline-flex;
    width: auto;
}
.page_nav.other ul li a.right {
	text-align: right;
}
.page_nav.other ul li a.active {
	padding-left: 20px!important;
    pointer-events: visible!important;
}
.page_nav.other ul li a.active::before {
	display: block!important;
    border-left: 6px transparent solid;
    border-right: 6px transparent solid;
    border-bottom: 10px #0064b8 solid;
    top: 49%;
	right: auto;
	left: 0;
}
.page_nav ul.list li {
	width: 100%!important;
}
.page_nav ul.list.row li {
	width: calc(100% / 3 - 7px)!important;
}
.page_nav ul.list li a {
	display: block;
    height: auto;
	padding-left: 20px!important;
	color: #585757;
	font-weight: 500;
	text-align: left;
	line-height: 1.4!important;
	position: relative;
}
.page_nav ul.list li a:hover {
	filter: brightness(1.1);
	background: none;
}
.page_nav ul.list li a::before {
	content: "";
	display: block;
	width: 10px!important;
	height: 10px!important;
    border: none!important;
	border-top: 1px #585757 solid!important;
	border-right: 1px #585757 solid!important;
	position: absolute;
	top: 7px!important;
	left: 0!important;
	transform: rotate(45deg)!important;
}
.page_nav ul.list li a::after {
	display: none;
}
/* 取締役会 */
.profile {
	background: #eeedee;
    position: relative;
}
.profile .img {
	width: 160px;
    height: 200px;
    overflow: hidden;
}
.profile .img img {
    height: 100%;
    object-fit: cover;
}
.profile .basic {
	width: calc(100% - 160px - 60px);
	padding: 15px 30px 0 30px;
}
.profile ul {
	width: calc(100% - 160px - 60px);
	margin-left: 160px;
	padding: 0 30px;
}
.profile ul li {
	width: calc(100% / 3 - 10px);
}
.profile ul li p.ttl {
	padding: 5px;
	background: #585757;
	color: #fff;
	line-height: 1;
}
.profile .data {
	width: calc(100% - 80px);
	padding: 30px 40px;
	clear: both;
}
.profile .data table {
	width: 100%;
}
.profile .data table th {
	width: 100px;
	padding-bottom: 10px;
	text-align: left;
	font-weight: 400;
}
.profile .data table td {
	width: calc(100% - 100px);
	padding-bottom: 10px;
}
/* 社外取締役のスキル・マトリックス */
.table {
	width: 100%;
}
.table p {
	line-height: 1.4;
}
.table p.line1_2 {
	line-height: 1.2;
}
.table tr {
	border-bottom: 1px #fff solid;
	vertical-align: middle;
}
.table th {
	padding: 6px;
	border-right: 1px #fff solid;
	background: #dbdbdb;
	vertical-align: middle;
	font-weight: 500;
}
.table thead th {
	background: #585757;
	color: #fff;
}
.table td {
	padding: 8px 10px;
	border-right: 1px #fff solid;
	background: #eeedee;
}
.table th:last-child,
.table td:last-child {
	border-right: none;
}
.table td.middle {
	vertical-align: middle;
}
section#skill table {
	width: 100%;
}
section#skill table tr {
	border-bottom: 1px #fff solid;
}
section#skill table thead th {
	vertical-align: middle;
    white-space: nowrap;
}
section#skill table thead th:nth-child(n+4) {
	width: 50px;
	box-sizing: border-box;
}
section#skill table tbody th {
	padding: 10px 15px;
	text-align: left;
    white-space: nowrap;
}
section#skill table tbody td {
	color: #585757;
}
section#skill table tbody td:nth-child(n+4) {
    text-align: center;
    vertical-align: middle;
}
/* 執行役 */
section#officer .officer {
	background: #eeedee;
}
section#officer .officer .img {
	width: 200px;
}
section#officer .officer .txt {
	width: calc(100% - 200px - 60px);
	padding: 15px 30px;
}
/* 委員会 */
section#committee table thead th {
    white-space: nowrap;
}
section#committee table tbody th {
	padding: 10px 15px;
	text-align: left;
    white-space: nowrap;
}
section#committee table tbody td {
	vertical-align: middle;
}
section#committee table tbody td:nth-child(3),
section#committee table tbody td:nth-child(4) {
    white-space: nowrap;
}
section#committee table tbody td:nth-child(5) {
    text-align: center;
}
ul.ul_indent3 {
	padding-left: 3em;
}
section#committee .arrow,
section#compensation .arrow {
	text-align: center;
}
section#committee .arrow span,
section#compensation .arrow span {
	display: inline-block;
	width: 30px;
	height: 30px;
	border-right: 10px #c6c8c8 solid;
	border-bottom: 10px #c6c8c8 solid;
	transform: rotate(45deg);
}
/* 役員報酬 */
section#compensation .graf {
	margin: 0 30px;
}
section#compensation .graf.g02 {
	margin: 0;
}
section#compensation .graf.g02:first-child {
	margin: 0 -40px 0 0;
}
section#compensation .graf .max260 {
	margin-right: 55px;
}
section#compensation table {
	width: 100%;
}
section#compensation table tr {
	border-bottom: 1px #000 solid;
}
section#compensation table th {
	padding: 6px;
	background: #d9e8f4;
	text-align: center;
	font-weight: 500;
	vertical-align: middle;
	white-space: nowrap;
}
section#compensation table td {
	padding: 6px 20px;
	vertical-align: middle;
}
section#compensation table .w15 {
	width: 15%;
}
section#compensation table .w14 {
	width: 14%;
	text-align: center;
}
section#compensation table .w40 {
	width: 40%;
	padding-left: 8px;
}
section#compensation table p {
	line-height: 1.4;
}
section#compensation table p.line1_2 {
	line-height: 1.2;
}
section#compensation table p.line1_4 {
	line-height: 1.4;
}
section#compensation table p span {
	display: inline-block;
}
section#compensation table .vertical {
	writing-mode: tb-rl;
	text-align: center;
}
section#compensation table .vertical p {
	line-height: 1.1;
}
section#compensation table .vertical sup {
	writing-mode: lr;
}
section#compensation table td:last-child {
	padding-right: 10px!important;
}
section#compensation table .nowrap {
	white-space: nowrap;
}
/*---------*/
section#compensation table.table01 {
	border-top: none;
}
section#compensation table.table01 td:nth-child(1) {
	text-align: center;
	white-space: nowrap;
}
/*---------*/
section#compensation .table02 {
	width: 240px;
}
section#compensation .table02 table {
	width: 100%;
}
section#compensation .table02 table th {
	height: 40px;
	background: #c6c8c8;
	font-weight: 700;
}
section#compensation .table02 table td {
	padding: 8px 6px;
}
section#compensation .table02 table td:nth-child(2) {
	text-align: center;
}
section#compensation .cross {
	width: 40px;
	position: relative;
}
section#compensation .cross::before,
section#compensation .cross::after {
	content: "";
	display: block;
	width: 60px;
	border-bottom: 1px #999 solid;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(45deg);
}
section#compensation .cross::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
section#compensation .table03 {
	width: 500px;
}
section#compensation .table03 table th {
	height: 40px;
	background: #d9e8f4;
	font-weight: 700;
}
section#compensation .table03 table td {
	padding: 8px 0;
}
section#compensation .table03 table tr:nth-child(2) td:first-child {
	padding: 8px 15px 8px 0;
}
/*---------*/
section#compensation table.table04 tr:nth-child(2) td:first-child {
	padding: 6px 15px 6px 0;
	font-weight: 500;
}
/*---------*/
section#compensation table.table05 td {
	padding: 6px 15px;
}

/* 社会 --------------------------------------------------------------------------*/
/* 人権尊重 */
.society_ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 110px;
	box-sizing: border-box;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}
.society_ttl.t01 {
	background-image: url("../img/labor_main.jpg");
}
.society_ttl.t02 {
	background-image: url("../img/product-safety_main.jpg");
}
.society_ttl.t03 {
	background-image: url("../img/supplier_main.jpg");
}
.society_ttl.t04 {
	background-image: url("../img/market_main.jpg");
}
section#labor .table th {
	padding: 5px;
}
section#labor .table td {
	padding: 4px 6px;
}
section#labor .table tr:nth-child(2) th {
	width: 100px;
}
section#labor .table .vertical {
	width: 30px;
	vertical-align: middle;
	text-align: center;
}
section#labor .table .vertical p {
	line-height: 1.1;
}
section#labor .table tr:nth-child(n+12) td:first-child {
	padding-left: 15px;
}
/* 人材戦略 */
section#hrd .bg01,
section#hrd .bg02 {
	width: 50%;
	box-sizing: border-box;
	padding: 15px 20px;
	background: #cce0f1;
}
section#hrd .bg02 {
	background: #a6c9e6;
}
/* サプライチェーン・マネジメント */
section#supplier .scroll table.table.t02 {
	max-width: max-content;
}
/* 社会貢献活動 */
section#market .logo {
    width: 170px;
}

/* 環境 --------------------------------------------------------------------------*/
/* 環境理念および基本方針 */
.env_ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 110px;
	box-sizing: border-box;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}
.env_ttl.t01 {
	background-image: url("../img/philosophy_main.jpg");
}
.env_ttl.t02 {
	background-image: url("../img/environment_main.jpg");
}
.env_ttl.t03 {
	background-image: url("../img/water_main.jpg");
}
.env_ttl.t04 {
	background-image: url("../img/waste_main.jpg");
}
/* 水 */
section#water .water_reduction {
    display: flex;
    flex-wrap: wrap;
    color: #fff;
}
section#water .water_reduction .ttl {
    width: 260px;
    box-sizing: border-box;
    padding: 10px 20px;
    background: #0064b8;
}
section#water .water_reduction .cont {
    width: calc(100% - 260px);
    box-sizing: border-box;
    padding: 10px 20px;
    background: #3383c6;
}

/* CSOコメント */
.cmnt_cso {
	position: relative;
}
.cmnt_cso p.txt {
	width: calc(100% - 120px);
	box-sizing: border-box;
	padding: 12px 25px 12px 15px;
	border: 2px #0064b8 solid;
	border-radius: 10px;
}
.cmnt_cso .img {
	width: 135px;
	position: absolute;
	right: 0;
	bottom: 45px;
	z-index: 2;
}

/*==================================================================================
ライブラリー
==================================================================================*/
.library_ttl {
	width: 100%;
	height: 20vw;
    max-height: 340px;
	min-height: 200px;
	margin: 0 auto 60px;
	position: relative;
}
.library_ttl img {
	height: 100%;
	object-fit: cover;
}
.library_ttl h3 {
	width: 100%;
    padding: 0!important;
    background: none;
    color: #fff;
    font-size: 28px;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 2;
}
.library_ttl h3 span {
    position: relative;
    z-index: 2;
}
section#library .btn {
    box-sizing: border-box;
    padding: 20px;
}
section#library .btn .icon_pdf,
section#library .btn .icon_xsl {
    text-decoration: none;
}
section#library .btn .icon_pdf::after,
section#library .btn .icon_xsl::after {
    top: 3px;
}

/*==================================================================================
Footer
==================================================================================*/
footer {
	padding: 0 0 60px!important;
    background: #fff;
	position: relative;
}
footer.index {
	padding: 60px 0!important;
}
footer #pagetop {
	width: 100%;
	position: fixed;
	left: 0;
	bottom: 30px; 
	transform: translateY(60px);
	z-index: 100;
}
footer #pagetop.is-scrolling {
	transform: translateY(0);
}
footer #pagetop.is-stop {
	position: absolute;
	bottom: 98px;
	transform: translateY(0);
}
footer.index #pagetop {
	position: absolute;
}
footer.index #pagetop.is-stop {
	bottom: 95px;
}
footer #pagetop a {
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #c4c6c6;
	margin: auto;
	position: relative;
}
footer #pagetop a::after {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border-top: 2px #fff solid;
	border-left: 2px #fff solid;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
}
/* サイトマップ -----------------------------------*/
footer .foot_nav {
	padding: 30px 0;
	background: #eeedee;
}
footer .foot_nav ul {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-content: space-between;
	justify-content: flex-start;
	width: 100%;
	height: 500px;
}
footer .foot_nav ul li {
	width: calc(100% / 3 - 20px);
}
footer .foot_nav ul li a {
	display: block;
	color: #585757;
}
footer .foot_nav ul li a.parents {
	padding-bottom: 5px;
	border-bottom: 2px #585757 solid;
	font-weight: 700;
}
footer .foot_nav ul li ul {
	display: block;
	height: auto;
}
footer .foot_nav ul li ul li {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 6px;
	padding-left: .6em;
	position: relative;
}
footer .foot_nav ul li ul li::before {
	content: "";
	display: block;
	width: 3px;
	height: 3px;
	border-top: 1px #000 solid;
	border-right: 1px #000 solid;
	transform: rotate(45deg);
	position: absolute;
	top: 8px;
	left: 0;
}

.tb {display: none;}
.pc {display: inline;}
.sp {display: none;}


@media screen and (max-width : 1024px) {
	.pc {display: none;}
	.tb {display: inline;}
	p {font-size: 14px;}
	/*==================================================================================
	Header
	==================================================================================*/
	header {
		display: flex!important;
		align-items: center;
		height: 60px;
		padding: 0!important;
		border-top: none!important;
	}
	header .logo {
		display: block;
		width: 110px;
	}
	header .logo img {
		margin-bottom: 5px;
	}
	/* スマホ版 メニュー -----------------------*/
	nav.gnav {
	    z-index: 2;
	    width: 100%;
		height: calc(100vh - 60px);
		background: #0064b8;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s;
	    position: fixed;
	    top: 60px;
	    left: 0;
	}
	nav.gnav.active {
	    opacity: 1;
		visibility: visible;
	}
	nav.gnav .menu {
		display: flex;
		flex-wrap: wrap;
		width: calc(100% - 30px);
		max-width: 360px;
		margin: 0 auto;
		padding: 50px 15px 0;
		transform: translateY(40px);
		transition: all .6s;
	}
	nav.gnav.active .menu {
		transform: translateY(0);
	}
	nav.gnav .menu ul {
		opacity: 0;
	}
	nav.gnav.active .menu ul {
		opacity: 1;
	}
	nav.gnav .menu ul li a,
	nav.gnav .menu ul li a.active {
		color: #fff;
		font-size: 16px;
	}
	nav.gnav .menu ul li a:hover {
		opacity: 1;
		color: #333;
	}
	nav.gnav .menu ul.sub {
		justify-content: center;
		order: 2;
	}
	nav.gnav .menu ul.sub li {
		margin: 0 0 20px;
		text-align: center;
	}
	nav.gnav .menu ul.sub li:first-child {
		margin: 0 15px 20px 0;
		padding-right: 15px;
		border-right: 1px #fff solid;
	}
	nav.gnav .menu ul.sub li:last-child {
		width: 100%;
	}
	nav.gnav .menu ul.sub li:last-child a {
		display: inline-block;
		padding: 4px 6px;
		background: #fff;
		color: #0064b8;
	}
	nav.gnav .menu ul.sub li a .blue {
		color: #fff;
	}
	nav.gnav .menu ul.sub li a:hover .blue {
		color: #333;
	}
	nav.gnav .menu ul.main {
		display: block;
		margin-bottom: 20px;
		border-bottom: 1px #fff solid;
	}
	nav.gnav .menu ul.main li {
		margin: 0 0 20px;
	}
	nav.gnav .menu ul.main li a {
		line-height: 1;
	}
	nav.gnav .menu ul li a.on {
		color: #fff;
	}
	nav.gnav .menu ul li a.on::after {
		display: none;
	}
	.gnavToggle {
	    z-index: 9999;
	    display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	    width: 40px;
	    height: 40px;
	    background: #0064b8;
	    text-align: center;
	    cursor: pointer;
	    position: fixed;
	    right: 20px;
	    top: 10px;
	}
	.gnavToggle span {
	    display: block;
	    width: 24px;
		margin-bottom: 7px;
	    border-bottom: 1px #FFF solid;
	    transition: .35s ease-in-out;
	}
	.gnavToggle span:last-child {
		margin-bottom: 0;
	}
	.gnavToggle span:nth-child(4) {
		width: 100%;
		margin-bottom: 0;
	    border: none;
	    color: #FFF;
	    font-size: 10px;
	    font-weight: bold;
		text-align: center;
	}
	.gnavToggle.active span:nth-child(1) {
	    transform: translateY(8px) rotate(-45deg);
	}
	.gnavToggle.active span:nth-child(2) {
		opacity: 0;
	}
	.gnavToggle.active span:nth-child(3) {
	    transform: translateY(-8px) rotate(45deg);
	}
	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
	main {
		margin-top: 60px;
	}
	section {
		padding: 40px 0!important;
	}
	/*section.h100vh {
		height: calc(100vh - 60px - 40px);
        min-height: calc(760px - 40px);
		padding: calc(60px + 20px) 0 20px!important;
	}*/
	section.child {
		padding: 20px 0!important;
	}
	.max960 {
		max-width: 680px;
		margin: auto;
	}
	.max840 {
		max-width: 680px;
		margin: auto;
	}
	.max700 {
		max-width: 540px;
		margin: auto;
	}
    .max300 {
        max-width: 240px;
    }
    .max260 {
        max-width: 200px;
    }
    .max200 {
        max-width: 160px;
    }
	.col3 {
		width: calc(100% / 3 - 5px);
	}
	.col3_2 {
		width: calc(100% / 3 * 2 - 10px);
	}
	.col3.wide {
		width: calc(100% / 3 - 10px);
	}
	.col2.wide {
		width: calc(100% / 2 - 20px);
	}
    .tb100 {
        width: 100%;
        margin: 0 auto 30px;
    }
    img.tb100 {
        width: auto;
        max-width: 100%;
        margin: 0 auto 10px;
    }
    img.max200.tb100 {
        max-width: 160px;
    }
    .max200.tb100 img {
        max-width: 160px;
    }
	.mb_10 {
		margin-bottom: 8px;
	}
	.mb_20 {
		margin-bottom: 15px;
	}
	.mb_30 {
		margin-bottom: 20px;
	}
	.mb_40 {
		margin-bottom: 25px;
	}
	.mb_60 {
		margin-bottom: 40px;
	}
	.mb_120 {
		margin-bottom: 80px;
	}
	.mr_10 {
		margin-right: 8px;
	}
	.bg_gray,
	.bg_blue,
	.frame {
		padding: 10px 15px;
	}
	/* フォント */
	h2 {
		font-size: 24px;
	}
	h3 {
		font-size: 24px;
		line-height: 1.4;
	}
	h3.line {
		padding: 0 0 3px!important;
		border-bottom: 3px #b3b3b3 solid!important;
		font-size: 24px;
	}
	h3.line::after {
		border-bottom: 3px #0064b8 solid;
		bottom: -3px;
	}
	.h3_line {
		border-bottom: 3px #b3b3b3 solid!important;
	}
	.h3_line::after {
		border-bottom: 3px #0064b8 solid;
		bottom: -3px;
	}
	h3.plane {
		font-size: 24px;
	}
	h4 {
		padding-bottom: 3px!important;
		border-width: 3px!important;
		font-size: 16px;
		line-height: 1.4;
	}
	h4::after {
		border-width: 3px;
		bottom: -3px;
	}
	h4.solid {
		padding: 6px 15px!important;
		font-size: 18px;
	}
	h4.plane {
		font-size: 20px;
	}
	h5 {
		padding-bottom: 6px!important;
		font-size: 16px!important;
	}
	.font_12 {
		font-size: 10px;
	}
	.font_14 {
		font-size: 12px;
	}
	.font_18 {
		font-size: 16px;
	}
	.font_20 {
		font-size: 18px;
	}
	.font_24 {
		font-size: 20px;
	}
	.font_28 {
		font-size: 22px;
	}
	.font_34 {
		font-size: 24px;
	}
	.font_46 {
		font-size: 30px;
	}
	.font_60 {
		font-size: 40px;
	}
	.indent1_8 {
		padding-left: 1.2em;
		text-indent: -1.2em;
	}
	small {
		top: -4px;
	}
	/* リスト */
	ul.square li p {
		padding-left: 1.2em;
	}
	ul.disc li p {
		padding-left: .7em;
	}
	ul.disc li p::before {
		content: "";
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: #0064b8;
		top: 10px;
	}
	ol.chuki {
		padding-left: 3.4em;
	}
	ol.decimal li::marker {
		font-size: 14px;
	}
	ol.decimal.font_12 li::marker {
		font-size: 10px;
	}
	ol.decimal.font_14 li::marker {
		font-size: 12px;
	}
	/* パンくず */
	ul.pan_nav li {
		margin-right: 1em;
	}
	ul.pan_nav li::after {
		width: 4px;
		height: 4px;
		right: -.5em;
	}
	ul.pan_nav li a {
		font-size: 10px;
	}
	/* ページリンク */
	.page_nav ul li {
		width: 100%;
        margin-bottom: 10px;
        text-align: right;
	}
	.page_nav ul li a {
        justify-content: flex-end;
	}
	.page_nav ul li a::before {
		border: 5px transparent solid;
		border-left: 8px #0064b8 solid;
	}
	.page_nav ul li a.active span {
		padding-bottom: 2px;
		border-bottom: 2px #0064b8 solid;
	}
    /* ページリンク タブ */
    ul.page_tab li a {
        padding: 7px 5px;
        font-size: 14px;
    }
	/* ボタン */
	.btn {
		padding: 8px 30px;
	}
	.anker {
		padding-top: 100px;
		margin-top: -100px;
	}
	.btn_arrow::after {
		border-width: 10px;
	}
	a.btn_arrow:hover::after {
		border-width: 12px;
	}
	/* スクロール */
	.scroll {
		display: block;
	  	overflow-x: scroll;
	  	-webkit-overflow-scrolling: touch;
		padding: 0 0 10px;
		margin-bottom: 20px;
	}
	.scroll::-webkit-scrollbar {
	  height: 6px;
	}
	.scroll::-webkit-scrollbar-track {
	  margin: 0 2px;
	  background: #f1f1f1;
	  border-radius: 5px;
	}
	.scroll::-webkit-scrollbar-thumb {
	  border-radius: 5px;
	  background: #c1c1c1;
	}
	.scroll table {
		min-width: 680px;
	}
    /*==================================================================================
    INDEX
    ==================================================================================*/
    /* ローディング */
    #cursor_area .loading .logo {
    	margin-bottom: 20px;
    }
    #cursor_area .loading .logo img {
        width: 70%;
    	max-width: 240px;
    }
    #cursor_area .bubble {
    	width: 10px;
    	height: 10px;
    	margin: 0 5px;
    }
	/* 音声ボタン */
	#cursor_area button#soundToggle {
		bottom: 100px;
	}
    /* 字幕付き動画ボタン */
    #cursor_area .btn_mov {
		font-size: 12px;
    	bottom: 108px;
    }
    /* scroll */
    .icon_scroll {
    	padding-bottom: 20px;
    }
    .icon_scroll::after {
    	height: 20px;
    }
    @keyframes icon_scroll {
    	0% {height: 20px;}
    	80% {height: 0;}
    	100% {height: 0;}
    }
    .icon_scroll span {
    	padding-bottom: 25px;
    }
    .icon_scroll span::before {
    	width: 20px;
    	height: 20px;
    }
    .icon_scroll span::after {
    	width: 6px;
    	height: 6px;
    	border-right: 2px #fff solid;
    	border-bottom: 2px #fff solid;
    	left: 46%;
    	bottom: 4px;
    	transform: rotate(45deg) translateX(-50%);
    }
    /* 10分で読めるHOYA統合報告書2025 ----------------------------------------------------*/
	section#intro .read10min {
	    height: 50%;
	}
	@keyframes read10min {
		0% {height: 100%; opacity: 0;}
		28.5714% {height: 100%; opacity: 1;}
		42.8571% {height: 100%; opacity: 1;}
		100% {height: 50%; opacity: 1;}
	}
	section#intro .read10min span::after {
		width: 50px;
		height: 50px;
		bottom: -65px;
	}
	section#intro .bg {
    	height: 50%;
	}
	@keyframes intro_bg {
		0% {height: 0;}
		42.8571% {height: 0;}
		100% {height: 50%;}
	}
    section#intro .bg img {
        width: 80%;
        max-width: 540px;
        height: auto;
        margin: 0 auto 2vh;
    }
    /* 投資対象としてのHOYAの実力 ---------------------------------------------------------*/
    section#top_capability .img {
    	width: 100%;
    	height: 50%;
		position: relative;
    }
    @keyframes top_capa_img {
    	0% {height: 100%; opacity: 0;}
    	28.5714% {height: 100%; opacity: 1;}
    	100% {height: 50%; opacity: 1;}
    }
    section#top_capability a {
    	width: 100%;
    	height: 50%;
		padding-top: 0;
    }
    @keyframes top_capa_a {
    	0% {height: 0;}
    	28.5714% {height: 0;}
    	100% {height: 50%;}
    }
    .icon_arrow::after {
    	width: 25px;
        height: 25px;
    }
    section#top_capability a span.icon_arrow {
    	padding-bottom: 1.6em;
    }
    /* 2024年度財務ハイライト ------------------------------------------------------------*/
    section#top_highlight a {
        width: calc(100% / 2 - 2px);
    	height: 45vw;
    	margin-bottom: 2px;
    }
    section#top_highlight a::before {
        background-size: 45%;
    }
    /* HOYAの価値創造 ------------------------------------------------------------------*/
    section#top_value .img {
    	width: 100%;
    	height: 50%;
		position: relative;
    }
    section#top_value a {
    	width: 100%;
    	height: 50%;
		padding-top: 0;
    }
    section#top_value a span.icon_arrow {
    	padding-bottom: 1.6em;
    }
    /* ESG報告 -----------------------------------------------------------------------*/
	section#top_esg .row {
		position: relative;
	}
	section#top_esg .row::after {
		content: "";
		display: block;
        width: calc(100% / 3 - 2px);
		position: relative;
		right: 0;
		border: 0;
	}
    section#top_esg .box {
        width: calc(100% / 3 - 2px);
    	/*height: 45vw;
        min-height: 0;*/
    	margin-bottom: 2px;
    }
	section#top_esg .box a.parents {
		height: 14vh;
		padding: 15px;
		font-size: min(3vw,24px);
	}
    section#top_esg .box ul {
    	padding: 15px;
    }
    section#top_esg .box ul li {
        margin-bottom: 5px;
    }
    section#top_esg .box ul li::before {
    	width: 3px;
    	height: 3px;
    	border-top: 1px #fff solid;
    	border-right: 1px #fff solid;
    	top: 7px;
    }
    section#top_esg .box ul li a {
    	font-size: 12px;
    }
    /* ライブラリー -------------------------------------------------------------------*/
    section#top_library .img {
    	width: 100%;
    	height: 50%;
		position: relative;
    }
    section#top_library a {
    	width: 100%;
    	height: 50%;
		padding-top: 0;
    }
    section#top_library a span.icon_arrow {
    	padding-bottom: 1.6em;
    }
	/*==================================================================================
	投資対象としてのHOYAの実力
	==================================================================================*/
	.capability_ttl {
		height: 260px;
		min-height: 0;
		margin: 0 auto 20px;
	}
	.capability_ttl h3 {
		font-size: 20px;
	}
	/* 重点成長領域 --------------------------------------------------------------------*/
	section#capability05 table tr {
		border-bottom: 2px #fff solid;
	}
	section#capability05 table thead tr:nth-child(2) th {
		padding: 5px;
		border-right: 2px #fff solid;
	}
	section#capability05 table thead tr:nth-child(2) th:nth-child(2),
	section#capability05 table thead tr:nth-child(2) th:nth-child(3),
	section#capability05 table thead tr:nth-child(2) th:nth-child(4) {
		white-space: nowrap;
	}
	section#capability05 table tbody th {
		padding: 5px 10px;
	}
	section#capability05 table tbody td {
		padding: 5px 10px;
	}
	/* 新規事業の種まき -----------------------------------------------------------------*/
	section#capability06 .img {
		width: 80px;
	}
	section#capability06 .txt {
		width: calc(100% - 80px - 10px);
	}
    /*==================================================================================
    マネジメントメッセージ
    ==================================================================================*/
    section#interview_main .main_img {
        height: 46vw;
        min-height: 380px;
    }
    section#interview_main .main_img.ceo .txt {
        left: 30%;
    }
    /* 社外取締役座談会 ------------------------------------------------------------------*/
    section#interview_main .main_img.other {
        display: flex;
        align-items: center;
        max-height: 360px;
        background: #6e6e6e;
    }
    section#other_int01 {
        margin-top: -20px;
    }
    section#other_int01 .img {
        width: 100px;
    }
    section#other_int01 .txt {
        width: calc(100% - 100px - 15px);
    }
	/*==================================================================================
	事業概況
	==================================================================================*/
    main.index section#review {
    	height: calc(100vh - 60px);
        padding-top: 60px!important;
    }
	section#review .ttl {
		padding: 6px 0!important;
	}
    main.index section#review .row {
    	height: calc(100% - 36px);
    }
	section#review .service {
		width: 100%;
		height: 25vh;
		min-height: 240px;
		padding-bottom: 10vw;
	}
    main.index section#review .service {
    	height: 50%;
		padding-bottom: 5vw;
    }
	section#review .service .list {
		width: calc(100% - 20px);
		border-radius: 5px;
	}
	section#review .service .list .l_cont a {
		height: 85px;
		padding: 10px 3px 40px;
		font-size: min(3vw, 14px);
	}
	section#review .service .list .l_cont a::before {
		width: 20px;
		height: 20px;
	}
	section#review .service .list .l_cont a::after {
		width: 6px;
		height: 6px;
		border-top: 2px #fff solid;
		border-right: 2px #fff solid;
		left: 49%;
		bottom: 16px;
	}
	/* ライフケア事業 ------------------------------------------------------------------*/
	table.review th {
		width: 200px;
		padding: 6px 5px;
	}
	table.review td {
		padding: 6px 10px;
	}
	h5.w240 {
		border-bottom: 2px #0064b8 solid;
	}
	h5.w240 span {
		width: 200px;
	}
	.ttl_arrow span {
		padding-left: 1em;
	}
	.ttl_arrow span::before {
		width: 5px;
		height: 5px;
		border-top: 3px #0063b8 solid;
		border-right: 3px #0064b8 solid;
		top: .6em;
	}
    section#lifecare05 table.review thead th {
    	border-right: 2px #fff solid;
        border-bottom: 10px #fff solid;
    }
    section#lifecare05 table.review td {
    	border-right: 2px #fff solid;
    }
	/* 情報・通信領域 -------------------------------------------------------------------*/
    section#it01 table.review th,
    section#it02 table.review th,
    section#it03 table.review th,
    section#it04 table.review th {
        width: auto;
        white-space: nowrap;
    }
    /*==================================================================================
    2024年度財務ハイライト
    ==================================================================================*/
    section#highlight01 h3,
    section#highlight02 h3,
    section#highlight03 h3,
    section#highlight04 h3 {
    	font-size: 20px;
    }
    /* FY24の業績ハイライト */
    section#highlight02 .scroll table {
        min-width: 540px;
    }
    section#highlight02 table td p {
        width: 90px;
    }
    section#highlight02 table td p[class^="no"] span {
        width: 16px;
        height: 16px;
        font-size: 12px;
    }
    section#highlight02 .fukidashi {
        width: 100%;
        margin-bottom: 15px;
        padding: 6px;
        border: 2px #0064b8 solid;
    }
    section#highlight02 .fukidashi::after {
        width: 15px;
        height: 10px;
        border-bottom: 2px #0064b8 solid;
    }
    section#highlight02 .fukidashi p {
        padding-left: 25px;
    }
    section#highlight02 .fukidashi p span {
        width: 18px;
        height: 18px;
        font-size: 12px;
    }
    /*==================================================================================
    本書のコンセプトと用語集
    ==================================================================================*/
    section#concept01 .arrow::before {
        border: 16px transparent solid;
        border-top: 16px #80b1db solid;
        border-bottom: none;
    }
    /* 用語集 -------------------------------------------------------------------------*/
    section#concept02 table th {
        padding: 3px;
        border-right: 2px #fff solid;
    }
    section#concept02 table td {
        padding: 6px;
        border-right: 2px #fff solid;
    }
    section#concept02 table.t02 th:nth-child(1) {
        width: 140px;
    }
    section#concept02 table.t02 th:nth-child(2) {
        width: 140px;
    }
	/*==================================================================================
	ESG報告
	==================================================================================*/
	section#top_esg .esg_ttl {
	    height: 140px;
	}
	section#top_esg .esg_ttl h3 {
		font-size: 20px;
		bottom: 10px;
	}
	/* HOYAのESG ----------------------------------------------------------------------*/
	section#materiality03 .img {
	    width: 180px;
	}
	section#materiality03 .txt {
	    width: calc(100% - 180px - 20px);
	}
	table.table01 th {
		padding: 10px;
	}
	section#materiality03 table.table01 td:nth-child(1) {
		width: 22%;
	}
	table.table01 td ul.disc li p::before {
		top: 7px;
	}
	section#materiality03 table.table01.data04 td:nth-child(1) {
		width: 24%;
	}
	section#materiality03 table.table01.data04 td.sdgs {
		width: 150px;
	}
	.icon_sdgs {
		width: 70px;
	}
	/* 開示の拡充・外部評価 -------------------------------------------------------------*/
	section#disclosure .logo_kenko {
		margin-top: 0;
	}
	/* コーポレートガバナンス ------------------------------------------------------------*/
	.page_nav.other ul li.tb_non {
		display: none;
	}
	.page_nav.other ul li {
		width: calc(50% - 4px)!important;
	}
	.page_nav.other ul li a {
		font-size: 14px;
	}
	.page_nav ul.list li {
		width: 100%!important;
		white-space: nowrap;
	}
	.page_nav ul.list.row li {
		width: calc(100% / 3 - 7px)!important;
	}
	.page_nav ul.list li a {
		padding-left: 18px!important;
        text-align: left!important;
	}
	.page_nav ul.list li a::before {
		width: 8px!important;
		height: 8px!important;
	}
	/* 取締役会 */
	.profile .img {
		width: 140px;
        height: 190px;
	}
	.profile .basic {
		width: calc(100% - 140px - 40px);
		padding: 15px 20px 0 20px;
	}
	.profile ul {
		width: calc(100% - 40px);
		margin-left: 0;
		padding: 20px;
	}
	.profile ul li {
		width: calc(100% / 3 - 5px);
	}
	.profile ul li p.ttl {
		font-size: 12px;
	}
	.profile .data {
		width: calc(100% - 40px);
		padding: 20px;
	}
	.profile .data table th {
		width: 80px;
		padding-bottom: 8px;
	}
	.profile .data table td {
		width: calc(100% - 80px);
		padding-bottom: 8px;
	}
	/* 社外取締役のスキル・マトリックス */
	section#skill table thead th:nth-child(n+4) {
		width: 40px;
	}
	section#skill table tbody th {
		padding: 6px 8px;
	}
	.table td {
		padding: 6px 8px;
	}
	/* 執行役 */
	section#officer .officer .img {
		width: 160px;
	}
	section#officer .officer .txt {
		width: calc(100% - 160px - 40px);
		padding: 15px 20px;
	}
	/* 委員会 */
	section#committee table tbody th {
		padding: 6px 8px;
	}
	ul.ul_indent3 {
		padding-left: 1em;
	}
	section#committee .arrow span,
	section#compensation .arrow span {
		width: 20px;
		height: 20px;
		border-right: 8px #c6c8c8 solid;
		border-bottom: 8px #c6c8c8 solid;
	}
	/* 役員報酬 */
	section#compensation .graf {
		margin: 0 auto 30px;
	}
	section#compensation .graf:last-child {
		margin: 0 auto;
	}
	section#compensation .graf.g02,
	section#compensation .graf.g02:first-child {
		margin: 0 auto;
	}
	section#compensation .graf .max260 {
		max-width: 220px;
	}
	section#compensation .scroll table {
		min-width: 460px;
	}
	section#compensation table td {
		padding: 6px 8px;
	}
	section#compensation table td:last-child {
		padding-right: 8px!important;
	}
	section#compensation table .w15,
	section#compensation table .w14,
	section#compensation table .w40 {
		width: auto
	}
	/*---------*/
	section#compensation .table02 {
		width: 100%;
		max-width: 360px;
		margin: 0 auto 20px;
	}
	section#compensation .table02 table th {
		height: 30px;
	}
	section#compensation .table02 table td {
		text-align: center;
	}
	section#compensation .cross {
		width: 100%;
		max-width: 360px;
		height: 40px;
		margin: 0 auto 20px;
	}
	section#compensation .cross::before,
	section#compensation .cross::after {
		width: 50px;
	}
	section#compensation .cross::after {
		transform: translate(-50%,-50%) rotate(-45deg);
	}
	section#compensation .table03 {
		width: 100%;
	}
	section#compensation .table03 table th {
		height: 30px;
	}
	section#compensation .table03 table td {
		padding: 8px;
	}
	section#compensation .table03 table td .font_14,
	section#compensation .table03 table td .font_12 {
		font-size: 14px;
	}
	/*---------*/
	section#compensation .scroll table.table04 {
		min-width: 600px;
	}
	/*---------*/
	section#compensation .scroll table.table05 {
		min-width: 760px;
	}
	section#compensation table.table05 td {
		padding: 6px 8px;
	}
	/* 社会 --------------------------------------------------------------------------*/
	/* 人権尊重 */
	section#labor .table tr:nth-child(2) th {
		width: 75px;
	}
	section#labor .table .vertical {
	    width: 20px;
	}
	.society_ttl {
		height: 70px;
		padding: 10px 15px;
	}
	/* 人材戦略 */
	section#hrd .bg01,
	section#hrd .bg02 {
		padding: 10px 15px;
	}
	/* サプライチェーン・マネジメント */
	section#supplier .scroll table.table {
		min-width: 530px;
	}
	section#supplier .scroll table.table.t02 {
        min-width: 0;
	}
    /* 社会貢献活動 */
    section#market .logo {
        width: 140px;
    }
	/* 環境 --------------------------------------------------------------------------*/
	/* 環境理念および基本方針 */
	.env_ttl {
		height: 70px;
		padding: 10px 15px;
	}
	/* 気候変動 */
	section#environment .scroll table {
		min-width: 500px;
	}
	/* 水 */
	section#water .water_reduction .ttl {
        width: 210px;
        padding: 5px 10px;
	}
	section#water .water_reduction .cont {
        width: calc(100% - 210px);
        padding: 5px 10px;
	}
	/* CSOコメント */
	.cmnt_cso p.txt {
		width: calc(100% - 100px);
	}
	.cmnt_cso .img {
		width: 120px;
		bottom: 35px;
	}
    /*==================================================================================
    ライブラリー
    ==================================================================================*/
    .library_ttl {
		height: 160px;
		min-height: 0;
		margin: 0 auto 40px;
    }
    .library_ttl h3 {
		font-size: 20px;
    }
	/*==================================================================================
	Footer
	==================================================================================*/
	footer {
		padding: 0 0 40px!important;
	}
	footer.index {
		padding: 40px 0!important;
	}
	footer #pagetop {
		bottom: 15px; 
	}
	footer #pagetop.is-stop {
		bottom: 65px;
	}
    footer.index #pagetop.is-stop {
    	bottom: 65px;
    }
	footer #pagetop a {
		width: 26px;
		height: 26px;
	}
	footer #pagetop a::after {
		width: 10px;
		height: 10px;
	}
	/* サイトマップ -----------------------------------*/
	footer .foot_nav {
		margin-bottom: 60px;
		padding: 20px 0;
	}
	footer .foot_nav ul {
		height: 680px;
	}
	footer .foot_nav ul li {
		width: calc(100% / 2 - 10px);
	}
	footer .foot_nav ul li a.parents {
		border-bottom: 1px #585757 solid;
		font-size: 14px;
	}
	footer .foot_nav ul li ul li::before {
		top: 6px;
	}
}


@media screen and (max-width : 680px) {
	.col3 {
		width: 100%;
		margin: 0 auto 20px;
	}
	.col3.tb_max360 {
		max-width: 360px;
		margin: 0 auto 20px;
	}
	.col3_2 {
		width: 100%;
		margin-bottom: 15px;
	}
	.col2,
	.col2.wide {
		width: 100%;
		margin-bottom: 15px;
	}
	.col2.tb_max460 {
		max-width: 460px;
		margin: 0 auto 15px;
	}
	.col2.sp_100 {
		width: calc(50% - 7px);
	}
	.col2.wide.sp_100 {
		width: calc(100% / 2 - 20px);
	}
	.tb_order2 {
		order: 2;
	}
	.col4 {
		width: calc(100% / 2 - 10px);
	}
    /*==================================================================================
    INDEX
    ==================================================================================*/
    /* マネジメントメッセージ ------------------------------------------------------------*/
    section#top_interview a {
    	width: 100%;
    	height: 60vw;
        max-height: 360px;
    }
    /* ESG報告 -----------------------------------------------------------------------*/
    section#top_esg .box {
		width: calc(100% / 2 - 1px);
    }
	section#top_esg .box a.parents {
		height: 10vh;
		padding: 10px;
		font-size: min(3.4vw,24px);
	}
    section#top_esg .box ul {
    	padding: 10px;
    }
    section#top_esg .box ul li {
        margin-bottom: .1em;
    }
    /*==================================================================================
    2024年度財務ハイライト
    ==================================================================================*/
    section#highlight03 .col2.wide {
        width: calc(50% - 10px);
    }
	/*==================================================================================
	ESG報告
	==================================================================================*/
	/* HOYAのESG ----------------------------------------------------------------------*/
	section#materiality03 .img {
        width: 100%;
        margin-bottom: 20px;
	}
    section#materiality03 .img img {
        max-width: 200px;
        margin: auto;
    }
	section#materiality03 .txt {
	    width: 100%;
	}
	table.table01 th {
		padding: 10px;
	}
	/* コーポレートガバナンス -----------------------------------------------------------*/
	.page_nav ul.list li {
		white-space: normal;
	}
	.page_nav ul.list li a {
		font-size: 12px;
		padding-left: 14px!important;
	}
	.page_nav ul.list li a::before {
		width: 6px!important;
		height: 6px!important;
		top: 5px!important;
	}
	/* 社会 ---------------------------------------------------------------------------*/
	/* 人権尊重 */
	section#labor .scroll table.table {
		min-width: 640px;
	}
    /* 社会貢献活動 */
    section#market .col3 {
        width: calc(100% / 3 - 10px);
    }
	/*==================================================================================
	Footer
	==================================================================================*/
	/* サイトマップ -----------------------------------*/
	footer .foot_nav ul {
		height: 790px;
	}
}



@media screen and (max-width : 460px) {
	.tb {display: none;}
	.sp {display: inline;}
	p {font-size: 12px; line-height: 1.6;}

	header.index {
		transform: translateY(0);
	}
	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
	section.h100vh {
        display: block;
        align-content: flex-start;
		height: calc(100vh - 60px - 80px - 40px);
		min-height: 460px;
		padding: calc(60px + 40px) 0 80px!important;
	}
	.col3.sp_100,
	.col3.wide.sp_100,
	.col2.sp_100,
	.col2.wide.sp_100 {
		width: 100%;
		margin-bottom: 20px;
	}
	.col3.sp_100:last-child,
	.col3.wide.sp_100:last-child,
	.col2.sp_100:last-child,
	.col2.wide.sp_100:last-child {
		margin-bottom: 0;
	}
	.col4 {
		width: calc(100% / 2 - 5px);
	}
	.col4.sp_100 {
		width: 100%;
	}
	/* フォント */
	h2 {
		font-size: 22px;
	}
	h3 {
		font-size: 22px;
	}
	h3.line,
	h3.plane {
		font-size: 22px;
	}
	h4 {
		font-size: 14px;
	}
	h4.solid {
		font-size: 16px;
	}
	h4.plane {
		font-size: 18px;
	}
	h5 {
		font-size: 14px!important;
	}
	.font_18 {
		font-size: 14px;
	}
	.font_20 {
		font-size: 16px;
	}
	.font_24 {
		font-size: 18px;
	}
	.font_28 {
		font-size: 20px;
	}
	.font_34 {
		font-size: 22px;
	}
	.font_46 {
		font-size: 28px;
	}
	.indent1_8 {
		padding-left: 1.8em;
		text-indent: -1.8em;
	}
    /* ページリンク タブ */
    ul.page_tab li a {
        font-size: 12px;
    }
	/* ボタン */
	.icon_pdf,
	.icon_xsl {
		line-height: 1.2;
	}
	.icon_pdf::after,
	.icon_xsl::after {
		top: 0;
	}

	/*==================================================================================
	INDEX
	==================================================================================*/
    section#main {
		height: calc(100vh - 80px);
		min-height: 460px;
		padding: 0 0 80px!important;
    }
    /* 字幕付き動画ボタン */
    #cursor_area .btn_mov {
        right: auto;
        left: 20px;
    }
    /* scroll */
    .icon_scroll {
        bottom: 80px;
    }
    .icon_scroll span {
    	padding-bottom: 20px;
        font-size: 12px;
    }
    .icon_scroll span::before {
    	width: 16px;
    	height: 16px;
    }
    .icon_scroll span::after {
    	width: 4px;
    	height: 4px;
    	left: 47%;
    }
    /* 10分で読めるHOYA統合報告書2025 ----------------------------------------------------*/
	section#intro {
		/*height: calc(100vh - 60px);*/
		min-height: 460px;
		/*padding: 60px 0 0!important;*/
	}
    section#intro .read10min .font_46 {
        font-size: 24px;
    }
    section#intro .bg img {
        width: 90%;
		margin: 0 auto 30%;
    }
	section#intro .bg .icon_scroll {
		bottom: 80px;
	}
    /* 投資対象としてのHOYAの実力 ---------------------------------------------------------*/
    section#top_capability {
		/*height: calc(100vh - 60px);*/
		min-height: 460px;
		/*padding: 60px 0 0!important;*/
    }
    section#top_capability a {
		padding-bottom: 30%;
    }
    .icon_arrow::after {
    	width: 20px;
        height: 20px;
    }
    /* マネジメントメッセージ ------------------------------------------------------------*/
    section#top_interview a {
    	height: 50vw;
    }
    /* HOYAの価値創造 ------------------------------------------------------------------*/
    section#top_value {
		/*height: calc(100vh - 60px);*/
		min-height: 460px;
		/*padding: 60px 0 0!important;*/
    }
    section#top_value a {
		padding-bottom: 30%;
    }
    /* ESG報告 -----------------------------------------------------------------------*/
	section#top_esg {
		height: calc(100vh - 60px - 20px);
		padding: calc(60px + 20px) 0 0!important;
	}
	main.second section#top_esg {
		height: auto;
		padding: 20px 0!important;
	}
	section#top_esg .box a.parents {
		height: 6vh;
		font-size: min(4vw,24px);
		line-height: 1;
	}
    section#top_esg .box ul {
    	display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-content: flex-start;
		padding: 5px 10px;
    }
    section#top_esg .box ul li {
        margin: 0 .3em .15em 0;
		padding-left: 6px;
    }
    section#top_esg .box ul li::before {
        top: 5px;
    }
    section#top_esg .box ul li a {
    	font-size: 10px;
		line-height: 1.2;
    }
    /* 事業概況 -----------------------------------------------------------------------*/
    main.index section#review {
		min-height: 460px;
		padding: 60px 0 0!important;
    }
    main.index section#review .service.lifecare {
    	height: 43%;
		padding-bottom: 3vw;
    }
    main.index section#review .service.it {
    	height: 57%;
		padding-bottom: 30%;
    }
	main.index section#review .icon_scroll {
		bottom: 80px;
	}
    /* ライブラリー -------------------------------------------------------------------*/
    section#top_library {
		height: calc(100vh - 80px);
		min-height: 460px;
		padding: 0 0 80px!important;
    }
	/*==================================================================================
	投資対象としてのHOYAの実力
	==================================================================================*/
	.capability_ttl {
		height: 160px;
	}
    /*==================================================================================
    マネジメントメッセージ
    ==================================================================================*/
    section#interview_main .main_img {
		display: flex;
		flex-wrap: wrap;
		align-content: space-between;
        height: auto;
        min-height: 0;
		padding-top: 15px;
		background: #dcdddd;
    }
    section#interview_main .main_img.ceo .container {
		height: auto;
		margin-bottom: 15px;
        position: relative;
		top: 0;
		left: 0;
		transform: none;
		order: -1;
    }
    section#interview_main .main_img.ceo .txt {
		position: relative;
        left: 0;
        bottom: auto;
    }
    /* 社外取締役座談会 ------------------------------------------------------------------*/
    section#interview_main .main_img.other .txt {
        top: 15px;
    }
    section#interview_main .main_img.other .txt p.font_20 {
        font-size: 3.6vw;
    }
    section#interview_main .main_img.other .txt p.font_34 {
        font-size: 5.4vw;
    }
    section#other_int01 .img {
        width: 80px;
    }
    section#other_int01 .txt {
        width: calc(100% - 80px - 15px);
    }
	/*==================================================================================
	事業概況
	==================================================================================*/
	/* ライフケア事業 ------------------------------------------------------------------*/
	table.review th {
		width: 170px;
	}
	h5.w240 span {
		width: 170px;
	}
	.ttl_arrow span::before {
		width: 4px;
		height: 4px;
		border-top: 2px #0063b8 solid;
		border-right: 2px #0064b8 solid;
	}
    /*==================================================================================
    2024年度財務ハイライト
    ==================================================================================*/
    section#highlight01 h3,
    section#highlight02 h3,
    section#highlight03 h3,
    section#highlight04 h3 {
    	font-size: 18px;
    }
    section#highlight02 .scroll table {
        min-width: 460px;
    }
    section#highlight02 table td p {
        width: 80px;
    }
    section#highlight03 .col2.wide {
        width: 100%;
    }
    /*==================================================================================
    本書のコンセプトと用語集
    ==================================================================================*/
    section#concept01 .arrow::before {
        border: 12px transparent solid;
        border-top: 12px #80b1db solid;
        border-bottom: none;
    }
    /* 用語集 -------------------------------------------------------------------------*/
    section#concept02 table.t02 th:nth-child(1) {
        width: 120px;
    }
    section#concept02 table.t02 th:nth-child(2) {
        width: 120px;
    }
	/*==================================================================================
	ESG報告
	==================================================================================*/
	section#top_esg .esg_ttl {
	    height: 100px;
	}
	/* コーポレートガバナンス ------------------------------------------------------------*/
	.page_nav.other ul li {
		width: auto!important;
	}
	.page_nav.other ul li a.sp_font_12 {
		padding-left: 16px;
		font-size: 12px;
	}
	.page_nav.other ul li a.right.sp_font_12 {
        padding-left: 0;
		padding-right: 16px;
	}
	.page_nav .row ul.list {
		width: 100%;
	}
	.page_nav ul.list.row li {
		width: 100%!important;
	}
	/* 取締役会 */
	.profile .basic {
		width: calc(100% - 40px);
		margin-left: 0;
		padding: 15px 20px 0 20px;
		clear: both;
	}
	.profile ul li {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		margin-bottom: 8px;
	}
	.profile ul li p.ttl {
		width: 160px;
		margin-right: 10px;
	}
	/* 執行役 */
	section#officer .officer .img {
		width: 120px;
	}
	section#officer .officer .txt {
		width: calc(100% - 120px - 30px);
		padding: 10px 15px;
	}
	/* 委員会 */
	section#committee .table02 .scroll table {
		min-width: 440px;
	}
	/* 役員報酬 */
	section#compensation .table03 table td .font_14,
	section#compensation .table03 table td .font_12 {
		font-size: 12px;
	}
	/* 社会 ---------------------------------------------------------------------------*/
	/* 人権尊重 */
	section#labor .scroll table.table {
		min-width: 640px;
	}
	/* 人材戦略 */
	section#hrd .bg01,
	section#hrd .bg02 {
		width: 100%;
	}
	/* 安全衛生 */
	section#safety-health .scroll table.table {
		min-width: 530px;
	}
	/* 製品安全品質管理指針・体制 */
	section#product-safety .scroll table.table {
		min-width: 360px;
	}
	/* サプライチェーン・マネジメント */
	section#supplier .scroll table.table {
		min-width: 500px;
	}
	section#supplier .scroll table.table.t02 {
		max-width: 100%;
	}
    /* 社会貢献活動 */
    section#market .col3 {
        width: calc(50% - 10px);
        margin: 0 0 30px;
    }
	/* 環境 ---------------------------------------------------------------------------*/
	/* 水 */
	section#water .water_reduction .ttl {
        width: 100%;
	}
	section#water .water_reduction .cont {
		width: 100%;
	}
	/* CSOコメント */
	.cmnt_cso p.txt {
		width: 100%;
		padding: 8px 12px 20px;
	}
	.cmnt_cso .img {
		width: 80px;
		position: relative;
		bottom: auto;
		margin: -30px 0 10px auto;
	}
    /*==================================================================================
    ライブラリー
    ==================================================================================*/
    .library_ttl {
		height: 120px;
    }
    section#library .col2.sp_100 {
        margin-bottom: 10px;
    }
    section#library .btn {
        padding: 10px;
    }
    section#library .btn .icon_pdf::after,
    section#library .btn .icon_xsl::after {
        width: 18px;
        height: 18px;
        top: 0;
    }
    /*==================================================================================
	Footer
	==================================================================================*/
	footer.index {
		padding: 0 0 20px!important;
	}
    footer.index #pagetop,
    footer.index #pagetop.is-stop {
    	bottom: 60px;
    }
	/* サイトマップ -----------------------------------*/
	footer .foot_nav ul {
		display: block;
		height: auto;
	}
	footer .foot_nav ul li {
		width: 100%;
	}
}


