@charset "UTF-8";
html { height: 100%; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; font-size: 18px; scroll-behavior: smooth; }

body { height: 100%; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; font-size: 18px; line-height: 1.4; letter-spacing: 0.05em; font-family: 'Noto Sans JP', sans-serif; font-weight: 400; color: #333; overflow-x: hidden; }

.pc_display { display: inherit; }

.sp_display { display: none; }

/* LINK */
/* -------------------------------------------------- */
a { color: #0033cc; text-decoration: none !important; }
a:hover { opacity: 0.8; cursor: pointer; }

/* IMG */
/* -------------------------------------------------- */
img { max-width: 100%; height: auto; border: 0; }

.img-60 img { width: 40%; height: auto; }
.img-full{ width: 100%; height: auto;}

/* TEXT */
/* -------------------------------------------------- */
.text-w75 { display: inline-block; transform: scale(0.75, 1); }

.font-interval2 { letter-spacing: 1.0rem; }

.selector-for-some-widget { box-sizing: content-box; }

.sub_title { font-size: 1.8rem; margin: 20px auto; text-align: center; font-weight: bold; color: #1d50a2; border-bottom: solid 2px #00b9ef; padding-bottom: 5px; }

.text_small { font-size: 0.8rem; }

.text_large { font-size: 1.2rem; font-weight: 600; }

.red { color: #ff0000; }

.blue { color: #0033cc; font-weight: 500; }

a.d-blue { color: #1d50a2; font-weight: 600; }

.imgrota { animation: 10s linear infinite rotation1; }

@keyframes rotation1 { 0% { transform: rotate(0); }
  100% { transform: rotate(360deg); } }
.emphasis { font-size: 1.4rem; color: #006cb8; font-weight: 600; }

.h_emphasis { font-size: 1.8rem; color: #006cb8; margin-bottom: 20px; font-weight: 600; }

.s_emphasis { font-size: 1.2rem; color: #0033cc; margin-bottom: 20px; font-weight: 600; }

/* CONTAINER */
/* -------------------------------------------------- */
.container { width: 1000px; height: auto; margin: 0 auto; scroll-snap-align: start; }

.bg_gray { width: 100%; height: auto; background-color: #e5e5e5; background-size: 100vw; padding: 60px 0; margin: 60px 0; }

.w-70 { width: 70%; height: auto; margin: 0 auto 40px auto; }

/* HEADER */
/* -------------------------------------------------- */
header { padding-top: 10px; }
header h1 { font-size: 0.65rem; color: #333; }
header #header_logo { width: 300px; height: auto; }
header #header_logo img { width: 100%; height: auto; }
header #header_contact { position: fixed; right: 0; top: 30px; }
header .menu-btn { position: fixed; top: 200px; right: 0; display: flex; width: 60px; height: 60px; justify-content: center; align-items: center; z-index: 90; background-color: #e1d499; border-radius: 18px 0 0 18px; cursor: pointer; }
header .menu-btn span, header .menu-btn span:before, header .menu-btn span:after { content: ''; display: block; height: 3px; width: 40px; border-radius: 3px; background-color: #ffffff; position: absolute; }
header .menu-btn span:before { bottom: 12px; }
header .menu-btn span:after { top: 12px; }
header #menu-btn-check:checked ~ .menu-btn span { background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/ }
header #menu-btn-check:checked ~ .menu-btn span::before { bottom: 0; transform: rotate(45deg); background-color: #333; }
header #menu-btn-check:checked ~ .menu-btn span::after { top: 0; transform: rotate(-45deg); background-color: #333; }
header #menu-btn-check { display: none; }
header .menu-content { width: 100%; height: 100%; position: fixed; top: 0; left: 100%; /*leftの値を変更してメニューを画面外へ*/ z-index: 80; background-color: #e1d499; transition: all 0.5s; /*アニメーション設定*/ font-size: 2.4rem; font-weight: 700; }
header .menu-content ul { padding: 10% 10% 0 60%; }
header .menu-content ul li { border-bottom: solid 1px #ffffff; list-style: none; }
header .menu-content ul li a { display: block; width: 100%; box-sizing: border-box; color: #333; text-decoration: none; padding: 9px 15px 10px 0; position: relative; }
header .menu-content ul li a::before { content: ""; width: 15px; height: 15px; border-top: solid 3px #333; border-right: solid 3px #333; transform: rotate(45deg); position: absolute; right: 11px; top: 2.4rem; }
header #menu-btn-check:checked ~ .menu-content { left: 0; /*メニューを画面内へ*/ }
header .side_nav { position: fixed; width: 60px; height: auto; padding: 30px 15px 20px 0; text-align: center; right: 0; top: 300px; background-color: #e1d499; border-radius: 18px 0 0 18px; z-index: 70; }
header .side_nav ul { display: flex; flex-direction: column; margin: 0 auto; padding: 0; }
header .side_nav ul li { align-items: center; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; list-style: none; margin-bottom: 20px; font-weight: 700; font-size: 18px; }
header .side_nav ul li a { color: #333; }
header #header_staff { position: absolute; top: 50px; right: 200px; font-size: 0.8rem; color: #1d50a2; border: solid 2px #1d50a2; padding: 5px 10px; font-weight: 700; text-align: center; }

/* INDEX_NEWS */
/* -------------------------------------------------- */
#news_box { display: flex; width: 100%; height: auto; position: relative; }
#news_box #news_title_box { width: 30%; background-image: url("../images/news_outline02.png"); background-repeat: no-repeat; background-position: bottom right; position: relative; }
#news_box #news_title_box #news_title_bg { width: 85%; height: auto; }
#news_box #news_title_box #news_title_bg img { width: 100%; height: auto; }
#news_box #news_title_box #news_title_text { position: absolute; top: 40%; left: 42%; transform: translate(-50%, -50%); font-size: 2.4rem; font-weight: 900; }
#news_box #news_title_box #news_title_text span { display: block; font-size: 0.8rem; margin-bottom: 0; }
#news_box #news_list { width: 58%; margin-top: 70px; font-size: 0.8rem; letter-spacing: 1.0; }
#news_box #news_list ul { list-style: none; overflow-x: hidden; }
#news_box #news_list ul li { list-style: none; margin-bottom: 10px; position: relative; }
#news_box #news_list ul li a { color: #1d50a2; width: 68%; display: inline-block;}
#news_box #news_list ul li.newstopics a{color:#FE0053; font-size: 1.3rem; font-weight: 700; width: 85%!important;}
#news_box #news_list ul li.newstopics .list_days{margin-top: 5px;}
#news_box #news_list ul li .list_days { display: inline-block; width: 18%; margin: auto; vertical-align: top; }
#news_box #news_list ul li .cat_title { color: #ffffff !important; padding: 3px 10px; text-align: center; font-size: 0.6em; font-weight: bold; vertical-align: middle; position: absolute; right: 0; display: inline-block;}
#news_box #news_list ul li .info { background: #191970; }
#news_box #news_list ul li .event { background: #006CB8; }
#news_box #news_list ul li .areanews { background: #8DC556; }
#news_box #news_list ul li .results { background: #F39939; }
#news_box #news_list ul li .productnews { background: #EB6EA5; }
#news_box #news_list ul li .news-news { background: #00CDD7; }
#news_box #news_list ul li .club { background: #3494FF; }
#news_box #news_list ul li .topics { background: #FE0053; padding: 3px 5px;margin-top: 5px; }
#news_box #viewmore_news { display: flex; align-items: flex-end; position: absolute; bottom: 20%; right: 0; width: 10%; }
#news_box #viewmore_news img { width: 70px; height: auto; margin: 0 auto; }

/* INDEX */
/* -------------------------------------------------- */
#index_business { width: 90%; height: auto; margin: 30px auto 200px; padding: 30px 0; border: solid 6px #00b9ef; border-radius: 30px; position: relative; }
#index_business .slider { width: 96%; height: auto; margin: 10px auto; padding: 0; position: relative; }
#index_business .slider img { width: 300px; height: auto; margin: 0 auto; }
#index_business .slider .slick-slide { transform: scale(0.9); transition: all .5s; opacity: 0.5; position: relative; }
#index_business .slider .slick-slide.slick-center { transform: scale(1); opacity: 1; }
#index_business .slick-prev, #index_business .slick-next { display: none; position: absolute; top: 50%; cursor: pointer; outline: none; border-top: 2px solid #fff; border-right: 2px solid #fff; height: 20px; width: 20px; }
#index_business .slick-prev { left: -1.5%; transform: rotate(-135deg); }
#index_business .slick-next { right: -1.5%; transform: rotate(45deg); }
#index_business .hide-area { display: none; }
#index_business .slider li h3 { text-align: center; color: #fff; font-size: 1.6rem; font-weight: 700; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#index_business h2 { background-color: #4c4c4c; color: #fff; font-size: 1.6rem; font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; padding: 7px 70px 5px; position: absolute; top: -25px; left: 50%; transform: translateX(-50%); z-index: 1; }

#index_works_bg { background-image: url("../images/index_bg_01.jpg"); background-repeat: no-repeat; background-position: center; background-size: 100%; padding: 200px 0 350px; }
#index_works_bg .container #works_contentsbox { width: 90%; height: auto; background-color: #1d50a2; padding: 30px 10px; margin: -300px 0 0 auto; position: relative; }
#index_works_bg .container #works_contentsbox h2 { background-color: #4c4c4c; color: #fff; font-size: 1.6rem; font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; padding: 7px 70px 5px; position: absolute; top: -25px; left: -15px; z-index: 1; }
#index_works_bg .container #works_contentsbox #index_works { display: flex; margin-bottom: 20px; align-items: flex-start; justify-content: flex-start; }
#index_works_bg .container #works_contentsbox #index_works .works_contents { width: 32%; height: 100%; background-color: #fff; padding: 5px; margin: auto; opacity: 0; transform: translateY(50px); /* 下から上への移動 */ transition: opacity 0.5s ease, transform 0.5s ease; }
#index_works_bg .container #works_contentsbox #index_works .works_contents img { width: 100%; height: 240px; object-fit: cover; margin-bottom: 10px; }
#index_works_bg .container #works_contentsbox #index_works .works_contents p { font-size: 0.8rem; font-weight: 600; margin: 0 auto 10px; width: 90%; height: 40px; }
#index_works_bg .container #works_contentsbox #index_works .works_contents.in-view { opacity: 1; transform: translateY(0); }
#index_works_bg .container #viewmore_works { text-align: right; margin-right: 30px; }
#index_works_bg .container #viewmore_works img { width: 120px; height: auto; }

#index_sdgs { margin-top: -150px; display: inline-block; width: auto; height: auto; background-color: #fff; padding: 30px 100px 30px 0; position: relative; background-image: url("../images/index_sdgs_bg.png"); background-position: left; background-repeat: no-repeat; }
#index_sdgs a { opacity: 1; }
#index_sdgs article { margin: 0 0 30px 200px; }
#index_sdgs h2 { background-color: #4c4c4c; color: #fff; font-size: 1.6rem; font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; padding: 7px 70px 5px; position: absolute; top: -25px; right: -15px; z-index: 1; }
#index_sdgs .index_emphasis { display: block; font-size: 2.0rem; font-weight: 900; margin: 30px 0 0 0; vertical-align: baseline; align-items: baseline; }
#index_sdgs .index_emphasis a { color: #333; }

#index_info_bg { background-image: url("../images/index_bg_02.jpg"); background-repeat: no-repeat; background-position: top; background-size: 100%; margin-top: -100px; padding: 200px 0 0; }
#index_info_bg #index_infobox { position: relative; }
#index_info_bg #index_infobox a { opacity: 1; }
#index_info_bg #index_infobox h2 { background-color: #4c4c4c; color: #fff; font-size: 1.6rem; font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; padding: 7px 70px 5px; position: absolute; top: -15px; left: 50px; z-index: 4; }
#index_info_bg #index_infobox #greeting h3 { position: absolute; top: 40px; left: 120px; z-index: 3; font-size: 1.0rem; font-weight: 700; }
#index_info_bg #index_infobox #greeting #index_greetingimg { position: relative; width: 340px; height: 540px; display: block; overflow: hidden; cursor: pointer; }
#index_info_bg #index_infobox #greeting #index_greetingimg a { z-index: 1; }
#index_info_bg #index_infobox #greeting #index_greetingimg img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: auto; display: block; transition: .3s ease-in-out; z-index: 1; margin-top: -20px; }
#index_info_bg #index_infobox #greeting #index_greetingimg:hover img:nth-of-type(2) { opacity: 0; }
#index_info_bg #index_infobox #index_info_menu { background-color: #1d50a2; width: 100%; position: absolute; bottom: 0; padding: 30px 30px 30px 0; }
#index_info_bg #index_infobox #index_info_menu ul { width: 65%; display: flex; margin: 0 0 0 auto; right: 0; }
#index_info_bg #index_infobox #index_info_menu ul li.index_info_list { list-style: none; margin: 0 auto; opacity: 0; transform: translateY(50px); /* 下から上への移動 */ transition: opacity 0.5s ease, transform 0.5s ease; }
#index_info_bg #index_infobox #index_info_menu ul li.index_info_list.in-view { opacity: 1; transform: translateY(0); }

#index_recruit_bg { background-image: url("../images/index_bg_03.jpg"); background-repeat: no-repeat; background-size: 100%; padding: 150px 50px; margin-top: 100px; }
#index_recruit_bg #index_recruitbox { display: flex; justify-content: space-around; }
#index_recruit_bg #index_recruitbox a { opacity: 1; }
#index_recruit_bg #index_recruitbox #index_recruit_l { text-align: center; }
#index_recruit_bg #index_recruitbox #index_recruit_l img { width: 60%; height: auto; }
#index_recruit_bg #index_recruitbox #index_recruit_r { display: flex; flex-direction: column; }
#index_recruit_bg #index_recruitbox #index_recruit_r img { width: 50%; margin-bottom: 30px; }

#bottom_anima { width: 100%; padding: 0; background-image: url("../images/bottom_bg.png"); background-color: none; background-repeat: repeat-x; background-position: bottom; }
#bottom_anima #animation_container img { width: 100% !important; height: auto; }

/* FOOTER */
/* -------------------------------------------------- */
#contents_bana { width: auto; margin: 10px auto 0 0; align-items: flex-end; }
#contents_bana img { width: 300px; height: 100px; margin: 0 5px 10px 0; }

footer { width: 100%; height: auto; padding: 30px 0 10px 0; background-color: #1d50a2; color: #fff; }
footer #footer_menu { width: 100%; display: flex; justify-content: space-between; }
footer a { color: #fff; }
footer #footer_logo { display: block; width: auto; height: auto; margin-bottom: 20px; font-size: 0.8rem; }
footer #footer_logo address { width: auto; }
footer #footer_logo img { width: 300px; height: auto; margin-bottom: 20px; }
footer ul { width: auto; display: inline-block; margin: 0 0 20px 0; text-align: right; font-size: 0.8rem; }
footer ul li { list-style: none; margin: 0 0 5px 0; }
footer #footer_bana img { margin-right: 10px; }

#gotop { bottom: 3%; right: 0; width: 60px; height: 60px; z-index: 2; position: fixed; }
#gotop img { width: 100%; height: auto; }

/* CONTENTS */
/* -------------------------------------------------- */
.contents_h1 { width: 100%; height: auto; background-repeat: no-repeat; background-position: left; background-size: contain; padding: 63px 0 15px 100px; font-size: 24px; font-weight: 900; border-bottom: solid 2px #000; }
.contents_h1 span { margin-left: 10px; color: #b39400; font-size: 14px; font-weight: 400; }

.machine { background-image: url("../images/contents_title_bg_01.png"); }

.earth { background-image: url("../images/contents_title_bg_02.png"); }

.geometry { background-image: url("../images/contents_title_bg_03.png"); }

.hexagon { background-image: url("../images/contents_title_bg_04.png"); }

.panlist { width: 100%; height: auto; margin-bottom: 30px; position: relative; }
.panlist a::before { content: '>'; margin: 0 10px; }

.contents_navbox { width: 100%; height: auto; margin: 0 auto 60px; align-items: center; text-align: center; }
.contents_navbox .contents_nav { width: auto; height: 60px; display: inline; }
.contents_navbox img { width: auto; height: 60px; }

.contents_navbox_s { width: 96%; height: auto; margin: 0 auto 60px 0; display: flex; justify-content: space-between; text-align: center; }
.contents_navbox_s .contents_nav { white-space: nowrap; width: auto; font-size: 20px; color: #fff; font-weight: 900; padding: 8px 6px; display: flex; vertical-align: middle; text-align: center; justify-content: center; margin-right: 5px; position: relative; z-index: 2; }

.business { position: relative; }

.row_container { width: 1000px; height: auto; margin: 0 auto; position: relative; }

h2.title_business { width: 100%; font-size: 24px; color: #fff; margin: 15px 0; font-weight: 700; }

h3.h3_business { font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; color: #fff; font-weight: bold; text-shadow: 1px 1px 5px #000; font-size: 32px; letter-spacing: 1.5; line-height: 2; }

.text_business { width: 55%; height: auto; padding: 30px; margin: 30px 0; font-size: 1.0rem; color: #fff; line-height: 2; box-shadow: 10px 10px 0 rgba(225, 225, 225, 0.5); position: relative; z-index: 4; text-shadow: 1px 1px 1px #000; }

.contents_business { background-color: #fff; padding-top: 200px; width: 100%; height: auto; position: relative; top: -140px; z-index: 2; }

.results_business { width: 80%; background-color: #e5e5e5; padding: 15px 10%; margin-left: -10%; position: relative; z-index: 3; }
.results_business h5 { letter-spacing: 2rem; font-weight: 700; }
.results_business div { width: 80%; position: relative; }
.results_business figure { width: 100%; height: auto; }
.results_business figure img { width: 96%; height: auto; margin: 0 auto; }
.results_business figure figcaption { width: 96%; font-size: 0.6rem; }

.img_business { width: 40%; height: auto; position: absolute; right: 0; top: -100px; z-index: 5; }
.img_business img { width: 100%; height: auto; margin-bottom: 30px; display: flex; flex-direction: column; }

.about_business { width: 110%; height: auto; padding: 200px 0 30px 5px; background-color: #d1ffff; position: relative; z-index: 2; margin-top: -180px; }
.about_business h5 { font-weight: 700; }

#box_denki { width: 100%; height: auto; background-image: url("../images/denki-main.jpg"); background-repeat: no-repeat; background-size: 100%; background-position: top center; position: relative; z-index: -1; padding: 15px 0; }
#box_denki h2.title_business { padding-bottom: 5px; border-bottom: solid 4px #0099ff; }
#box_denki #text_01 { background-color: rgba(0, 153, 255, 0.7); }

#box_souchi { width: 100%; height: auto; background-image: url("../images/souchi-main.jpg"); background-repeat: no-repeat; background-size: 100%; background-position: top; position: relative; z-index: -1; padding: 15px 0; }
#box_souchi h2.title_business { padding-bottom: 5px; border-bottom: solid 4px #0066cc; }
#box_souchi #text_02 { background-color: rgba(0, 102, 204, 0.7); }

#box_kiden { width: 100%; height: auto; background-image: url("../images/kiden-main.jpg"); background-repeat: no-repeat; background-size: 100%; background-position: top center; position: relative; z-index: -1; padding: 15px 0; }
#box_kiden h2.title_business { padding-bottom: 5px; border-bottom: solid 4px #0033cc; }
#box_kiden #text_03 { background-color: rgba(0, 51, 204, 0.7); }

#box_zyutaku { width: 100%; height: auto; background-image: url("../images/zyutaku-main.jpg"); background-repeat: no-repeat; background-size: 100%; background-position: top center; position: relative; z-index: -1; padding: 15px 0; }
#box_zyutaku h2.title_business { padding-bottom: 5px; border-bottom: solid 4px #003399; }
#box_zyutaku #text_04 { background-color: rgba(0, 51, 153, 0.7); }

.contents_block { display: block; }

#company_greeting { display: flex; position: relative; }
#company_greeting img { width: 38%; height: 38%; position: relative; z-index: 2; }
#company_greeting .contents_right { width: 60%; margin-left: 10px; position: relative; right: 0; top: 0; }
#company_greeting .contents_right h2 { margin-bottom: 20px; font-size: 24px; font-weight: bold; font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; }
#company_greeting .contents_right .greeting_emphasis { margin-bottom: 20px; font-size: 32px; color: #0099ff; font-weight: bold; font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; }
#company_greeting .contents_right .greeting_text { width: 600px; padding: 30px 20px; position: relative; }
#company_greeting .contents_right .greeting_text .greeting_text_bg { width: 100vw; height: 100%; background-color: #e5e5e5; position: absolute; left: -45vw; top: 0; z-index: -1; }
#company_greeting .contents_right .greeting_text h4 { width: 100%; font-size: 22px; font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; font-weight: bold; }
#company_greeting .contents_right .greeting_text p { width: 100%; }
#company_greeting .contents_right .greeting_text .greeting_sign { text-align: right; margin: 20px; }
#company_greeting .contents_right .greeting_text .greeting_sign img { width: 200px; margin-left: 5px; mix-blend-mode: multiply; }

#enkaku_title { width: 100%; height: auto; margin-top: -100px; margin-bottom: 100px; }
#enkaku_title img { width: 100%; height: auto; }

#enkaku_table { width: 100%; height: auto; background-color: #fff; margin-bottom: 40px; }
#enkaku_table th { width: 30%; font-weight: 600; padding: 15px 15px 15px 30px; white-space: nowrap; border-bottom: solid 2px #333; border-collapse: 0; text-align: justify; text-justify: inter-ideograph; }
#enkaku_table td { padding: 15px; border-bottom: solid 1px #333; border-collapse: 0; }

#profile_title { position: relative; background-image: url("../images/profile_titlebg.jpg"); background-size: 100%; background-repeat: no-repeat; }
#profile_title #profile_title_name { padding: 200px 0; }
#profile_title #profile_title_name img { width: 300px; height: auto; }

.g-map { width: 100%; height: 600px; margin-bottom: 60px; }

#profile_table { width: 100%; height: auto; margin-bottom: 40px; }
#profile_table th { width: 30%; font-weight: 600; padding: 15px 15px 15px 30px; white-space: nowrap; border-bottom: solid 2px #333; border-collapse: 0; text-align: justify; text-justify: inter-ideograph; }
#profile_table td { padding: 15px; border-bottom: solid 1px #333; border-collapse: 0; }

.blue_bar { width: 100%; height: auto; margin-bottom: 40px; background-color: #003399; padding: 40px 0; color: #fff; font-size: 1.8rem; font-weight: 600; text-align: center; }

.gray_bar { width: 100%; height: auto; margin-top: -40px; margin-bottom: 40px; background-color: #e5e5e5; padding: 40px 0; font-size: 1.0rem; text-align: center; }

#etc_list { width: 100%; height: auto; margin: 20px auto 40px auto; padding: 0; }

#etc_list li { margin: 0 0 10px 0; padding: 0; list-style-type: none; list-style-position: inside; counter-increment: cnt; }

#etc_list li:before { display: marker; content: "" counter(cnt) ") 　"; }

#etc_table { width: 100%; margin: 20px 0; border-collapse: collapse; }

#etc_table th { background-color: #cccccc; text-align: center; font-weight: normal; padding: 20px; border: solid 1px #333333; }

#etc_table td { padding: 20px; border: solid 1px #333333; }

.list_title { display: block; width: 100%; height: auto; font-size: 1.4rem; font-weight: 600; color: #0033cc; padding-bottom: 5px; border-bottom: solid 2px #333; margin: 0 auto 40px auto; }
.list_title span { color: #333; font-size: 0.8rem; margin-left: 10px; }

ul#shikaku_list { width: 100%; height: auto; margin-bottom: 40px; }
ul#shikaku_list li { margin-bottom: 20px; }

#sdgs_container { position: relative; display: flex; background-image: url("../images/sdgs_title.svg"); background-repeat: no-repeat; background-position: top; background-size: 100%; margin-bottom: 80px; }

#sdgs_img { padding-top: 200px; padding-left: 50px; width: 480px; height: 600px; }
#sdgs_img figcaption { text-align: center; font-size: 0.8rem; }

#sdgs_right { padding-top: 200px; padding-left: 40px; }

.sdgs_photo img { width: 50%; height: auto; }
.sdgs_photo figcaption { text-align: right; font-size: 0.8rem; }

#bcp_container { width: 100%; height: auto; background-image: url("../images/bcp_title.svg"); background-repeat: no-repeat; background-position: top; background-size: 100%; padding: 130px 100px 0 0; text-align: right; margin-bottom: 80px; }

#sc_container { width: 100%; height: auto; background-image: url("../images/sc_title.svg"); background-repeat: no-repeat; background-position: top; background-size: 100%; padding: 200px 0 0 40px; margin-bottom: 80px; }
#sc_container .sc_photo { margin-bottom: 30px; }
#sc_container .sc_photo img { width: 24%; height: auto; margin: 0 1% 10px 0; vertical-align: top; }
#sc_container .sc_photo .sc_photo_v { width: 20%; }
#sc_container h3 { color: #0066cc; font-size: 1.4rem; font-weight: 600; margin: 0; }
#sc_container h5 { font-size: 1.0rem; font-weight: 600; }

.privacy_text { width: 100%; height: auto; margin: 40px 0; }
.privacy_text h3 { font-size: 1.2rem; color: #1d50a2; margin-bottom: 30px; }
.privacy_text p { margin-bottom: 40px; }
.privacy_text ol.privacy_list { list-style: none; margin: 0 0 20px 20px; }
.privacy_text ol.privacy_list li { line-height: 1.4em; }
.privacy_text ol.privacy_list li { list-style-type: none; list-style-position: inside; counter-increment: cnt; }
.privacy_text ol.privacy_list li:before { display: marker; content: "(" counter(cnt) ") "; }

.privacy_signature { width: 100%; height: auto; text-align: right; padding-right: 30px; margin: 0 0 50px auto; }

/* サイトマップ */
/* -------------------------------------------------- */
#sitemap { width: 100%; height: auto; margin: 60px 10%; display: flex; }

#sitemap ul { width: 50%; margin: 0; padding: 0 0 0 50px; box-sizing: border-box; }

#sitemap ul li { list-style: none; margin: 0 0 20px 0; font-size: 1.0em; }

#sitemap ul li a { color: #1d50a2; }

#sitemap ul li ul { width: 100%; padding: 0; margin: 20px 0 20px 20px; border: none; }

#sitemap ul li ul li { margin: 0 0 10px 0; font-size: 0.8em; border: none; }

#sitemap ul li ul li a { color: #000; }
