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


/*--校正用--*/
div.test, span.test, body.test .test_no { display:none; }
body.test div.test { display: block; }
body.test span.test { display: inline; }



/* -- html & body */
html { height: 100%; background-position: center; position: relative; }
body.top:after { }
body { }
body:before { }
body:after { }
div.wrapper { }
body.top div.wrapper { }
body.top div.contents-wrapper { box-sizing: border-box; overflow: hidden; background: #fff; top: 0; }
div.contents-wrapper { box-sizing: border-box; overflow: hidden; z-index: 0; position: relative; top: -4rem; }
div.contents-wrapper div.inner { }
div.inner { width: 100%; max-width: 120rem; margin-left: auto; margin-right: auto; position: relative; z-index: 1; padding: 0; }

/* ------------------- loading */

/* loading */
.loader-bg { background: #fff; height: 100%; width: 100%; position: fixed; top: 0; left: 0; z-index: 100000; }

/* .loader-bg.is-inview { opacity: 1 !important; } */
.loader-bg .loading-logo div.loading-logo-wrap { position: fixed; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); z-index: 10000; display: block; width: 75%; max-width: 72rem; height: auto;/* background: url(../img/loading-logo-pre.png) no-repeat; background-size: 22.5rem 8rem; */ }
.loader-bg .loading-logo div.loading-logo-wrap > div img { width: 50%; margin-left: auto; margin-right: auto; height: auto; display: block; }

/* ------------------- header */
header { width: 100%; /* width: calc(100% - 2rem); */ z-index: 100000; position: relative; box-sizing: border-box; background: #fff; }
body.top header { }
header > div.inner { /* overflow: hidden; */ /* max-height: 100px; */ /* width: 120rem; */ max-width: 100%; /* max-width: 120rem; */ margin-left: auto; margin-right: auto; }
header div.logo { /* margin-bottom: 1.5rem; */ position: relative;/* top: -0.5rem; */ /* top: 1rem; */
/* 	top: -3rem; */ /* margin-bottom: 1rem; */ top: 0; width: 35rem; /* width: 16vw; */ /* float: left; *//* margin-right: 12%; */ height: 100%; z-index: 10000; }
header div.logo h1, header div.logo span { /* display: none; */ height: 100%; display: block; width: 35rem; }
header div.logo a { display: block; padding: 0; position: absolute; top: 0; transform: translateY(0); transition: 0.25s all; }
header div.logo a > span { display: block; font-size: 2.0rem; }
header div.logo img { width: 100%; max-width: 35rem; display: block; transition: 0.25s all; }
header div.logo a > span span { }
header div.logo a:hover { opacity: 0.75; }
header div.menu-heading { display: none; }

/* header */

header div.utility { float: right; padding-right: 1rem; text-align: right; }
header div.utility div.utility-address { text-align: right; font-size: 1.5rem; margin-bottom: 1rem; }
header div.utility ul { font-size: 0; }
header div.utility ul li { display: inline-block; }
header div.utility div.utility-search { margin-bottom: 1rem; position: relative; max-width: 40rem; margin-left: auto; }
header div.utility div.utility-search div.search-label { position: absolute; top: 0; left: 0; background: #fff; border-radius: 0.5rem 0 0 0.5rem; height: 4rem; border: 0.1rem solid #f0f0f0; width: 8.5rem; box-sizing: border-box; }
header div.utility div.utility-search div.search-label span { transform: translateY(-50%); top: 47.5%; left: 0.75rem; position: absolute; white-space: nowrap; font-size: 1.2rem; }
header div.utility div.utility-search div.search-wrap { position: relative; }
header div.utility div.utility-search div.search-wrap button { height: 4rem; width: 4rem; top: 0; right: 0; position: absolute; border: none; background: #033b77; color: #fff; border-radius: 0 0.5rem 0.5rem 0; }
header div.utility div.utility-search div.search-wrap button span { transform: translateX(-50%) translateY(-50%); top: 50.0%; left: 50%; position: absolute; }
header div.utility div.utility-search input { height: 4rem; min-height: 4rem; border: 0.1rem solid #f0f0f0; box-sizing: border-box; padding: 0; padding-left: 9rem; padding-right: 4.5rem; background: #f8f8f8; display: block; max-width: 100%; }

/* --------- */
header div.utility ul li a { font-size: 1.3rem; position: relative; padding:0.25rem 2rem 0.5rem 2rem; color: #2c3b4a; display: block; text-decoration: none; font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, YakuHanJP, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif; }
header div.utility ul li a:before { width: 1.25rem; height: 0.1rem; position: absolute; top: 50%; right: 0.75rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
header div.utility ul li a:after { border-top: 0.5rem solid transparent; border-right: 0.3rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.125rem); right: 0; transition: 0.25s all; }

/* --------- */

header div.utility ul li a:hover:before { }
header div.utility ul li a:hover { color: #1d7cee; }
header div.utility ul li:last-child a:hover { }

/* header.opacity div.header-bottom { } */
/* -------------------- */

section, footer, div.utility { }

/* -------------------- */
nav { position: relative; left: 0; z-index: 10000; border-top: 0.1rem solid #e9ebed; border-bottom: 0.1rem solid #e9ebed; }

/* --------- @end box-shadow - animation */

nav div.menu-wrap { }
nav div.menu-wrap div.menu-heading div.menu-heading-hamburger span { width: 1.5rem; height: 0.1rem; position: absolute; content: ""; /* background: #2c3b4a; */ background: #2c3b4a; top: 50%; left: 0.75rem; transform: translateY(-50%); transition: 0.25s all; }
nav div.menu-wrap div.menu-heading div.menu-heading-hamburger span:nth-child(2) { top: calc(50% - 0.5rem); }
nav div.menu-wrap div.menu-heading div.menu-heading-hamburger span:nth-child(3) { top: calc(50% + 0.5rem); }

/* */
nav div.menu-wrap div.menu-heading:hover div.menu-heading-hamburger { background: #2c3b4a; }
nav div.menu-wrap div.menu-heading:hover div.menu-heading-hamburger span { background: #fff; }
nav div.menu-wrap > div.menu-list > ul { /* max-width: 120rem; */ max-width: 100%; margin-left: auto; margin-right: auto; white-space: nowrap; text-align: center; font-size: 0; }
nav div.menu-wrap > div.menu-list > ul > li { vertical-align: middle; display: inline-block; position: relative; height: 7rem;/* width: 10%; *//* box-sizing: border-box; */ }
nav div.menu-wrap > div.menu-list > ul > li:after { position: absolute; bottom: 0; left: 0; width: 0; content: ""; height: 0.1rem; background: #2c3b4a; transition: 0.25s all; }
nav div.menu-wrap > div.menu-list > ul > li:hover:after { width: 100%; content: ""; }
nav div.menu-wrap > div.menu-list > ul > li > div { vertical-align: middle; display: inline-block; position: relative; top: 50%; transform: translateY(-50%); width: 100%; }
nav div.menu-wrap > div.menu-list > ul > li > div > a, nav div.menu-wrap > div.menu-list > ul > li > div > span { /* padding-left: 1.25vw; padding-right: 1.25vw; */ padding-left: 1.5vw; padding-right: 1.5vw; white-space: nowrap; text-align: center; display: block; text-decoration: none; color: #2c3b4a; position: relative; line-height: 1.25; font-size: clamp(1rem, 1.4vw, 1.6rem); padding:1rem 1.4vw; transition: 0.25s all; }
nav div.menu-wrap > div.menu-list > ul > li > div > a:hover, nav div.menu-wrap > div.menu-list > ul > li > div > span:hover { background: #f8f8f8; }
 @media only screen and (max-width: 1200px) {
nav div.menu-wrap > div.menu-list > ul > li > div > a, nav div.menu-wrap > div.menu-list > ul > li > div > span { padding-left: 1.0vw; padding-right: 1.0vw; } }
nav div.menu-wrap > div.menu-list > ul > li > div > a:before, nav div.menu-wrap > div.menu-list > ul > li > div > span:before { width: 0.1rem; height: 2rem; position: absolute; top: 50%; right: 0; transform: translateY(-50%); content: ""; background: #e9ebed; }
nav div.menu-wrap > div.menu-list > ul > li:first-child > div > a:after, nav div.menu-wrap > div.menu-list > ul > li:first-child > div > span:after { width: 0.1rem; height: 2rem; position: absolute; top: 50%; left: 0; transform: translateY(-50%); content: ""; background: #e9ebed; }

nav div.menu-wrap > div.menu-list > ul > li.hm_qa, nav div.menu-wrap > div.menu-list > ul > li.hm_contact { display: none; }

/* --------------- sub-menu */
nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu { transition: 0.25s all; position: absolute; top: 10rem; left: 50%; opacity: 0; padding-top: 1rem; padding-bottom: 1rem; padding-right: 3.0rem; min-width: 14rem; pointer-events: none; transform: translateX(-50%); background: #f8f8f8; width: auto; }
nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu:before { }
nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu:after { }
nav div.menu-wrap > div.menu-list > ul > li:hover > div.sub-menu { overflow: visible; opacity: 1; top: 7rem; left: 50%; z-index: 100000; pointer-events: auto; transform: translateX(-50%); }
nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu > ul { font-size: 0; }
nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu > ul > li { vertical-align: top; }
nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu > ul > li a { display: block; border-bottom: none; font-size: 1.5rem; letter-spacing: 0; padding: 0.25rem 0.5rem; text-align: left; position: relative; /* font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; */ color: #2c3b4a !important; margin-left: 2rem; padding-right: 2rem; white-space: nowrap; text-decoration: none;/* background: #fff; */ }
nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu > ul > li a:after { width: 1.25rem; height: 0.1rem; position: absolute; top: 50%; right: 0.75rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu > ul > li a::before { border-top: 0.5rem solid transparent; border-right: 0.3rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.125rem); right: -0.25rem; transition: 0.25s all; }

/* hover */

nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu > ul > li a:hover { color: #2c3b4a !important; background: #fff; }
nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu > ul > li a:hover::after { right: 0; }
nav div.menu-wrap > div.menu-list > ul > li > div.sub-menu > ul > li a:hover::before { /* border-right: 0.1rem solid #0029ea; border-top: 0.1rem solid #0029ea; */ right: -1rem; }

/* header の へんけい */ 

/* header.opacity div.header-bottom { } */
/* ----------------------- */
/* ----------------------- */
a.anchor { position: absolute; top: -6rem; }
body.top section { /* border-top: 0.5rem solid #39454f; *//* background:; */ }
section { font-size: 1.8rem; line-height: 2; padding-top: 8rem; padding-bottom: 8rem; position: relative; z-index: 2; }
section div.inner { max-width: 120rem; margin-left: auto; margin-right: auto; clear: both;/* overflow: hidden; */ box-sizing: border-box; padding-left: 4rem; padding-right: 4rem; }
section div.title { /* text-align: center; */ margin-bottom: 3rem; /* border-bottom: 0.3rem double #484838; */ position: relative; }
section div.title h2 { /* padding: 1rem 3rem; */ font-weight: normal; font-size: 2.4rem; letter-spacing: 0.25rem; color: #2c3b4a; position: relative; display: inline-block; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; }
section div.title:after { /* position: absolute; left: 0; top: 0; width: 2rem; height: 2rem; border-left: 0.2rem solid #033b77; content: ""; */ }
section div.title:before { /* position: absolute; left: 0; top: 0; width: 2rem; height: 2rem; border-top: 0.2rem solid #033b77; content: ""; */ }
section div.titles-wrap div.description { margin-bottom: 4rem; font-size: 1.6rem; }
section { }

/* ------------------ */

div.link a { background: none; /* margin: 0 auto 1em; */ display: block; padding: 0.75rem 0.5rem; /* border: 1px solid #ccc; */ border-radius: 0; box-sizing: border-box; text-decoration: none; text-align: center; line-height: 1.5; transition: all 0.1s ease-in-out; cursor: pointer; border: 0.1rem solid #0e050a; /* border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) #a2a2a2; */ /* border: none; -webkit-appearance: none; */ max-width: calc(100% - 2rem); position: relative; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; color: #0e050a; }
div.link a:before { width: 4rem; height: 0.1rem; position: absolute; top: 50%; right: 0.5rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
div.link a:after { border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.25rem); right: -1.5rem; transition: 0.25s all; }

/* -------- -- */
@-webkit-keyframes slideHorizontal { 0% { height: 0.1rem; width: 0; transform: translateX(-50%) translateY(-50%); visibility: visible; opacity: 0; right: 5rem; }
 10% { opacity: 1; }
 90% { opacity: 1; }
 100% { height: 0; width: 2rem; transform: translateX(-50%) translateY(0); opacity: 1; right: 0; }
 }
@keyframes slideHorizontal { 0% { height: 0.1rem; width: 0; transform: translateX(-50%) translateY(-50%); visibility: visible; opacity: 0; right: 5rem; }
 10% { opacity: 1; }
 90% { opacity: 1; }
 100% { height: 0; width: 2rem; transform: translateX(-50%) translateY(0); opacity: 1; right: 0; }
 }
.slideHorizontal { -webkit-animation-name: slideHorizontal; animation-name: slideHorizontal; }
div.link a[href$=".pdf"]:after { display: none; }
div.link a:hover { background: #0e050a; color: #fff; }
div.link a:hover:before { border-right: 0.1rem solid #fff; border-top: 0.1rem solid #fff; }
div.link a.active { background: #ccc; color: #fff; pointer-events: none; }
div.link a.active:hover:after { display: none; }
div.link a.active:after { display: none; }
section .strong { color: #6c5025; }

/* ----------------------- */
section.main-visual { position: relative; padding-top: 0; padding-bottom: 0; /* padding-bottom: 4rem; */ /* height: calc(100vh - 12rem); */ /* box-sizing: border-box; */ z-index: 100;/* overflow: hidden; */ /* margin-bottom: 4rem; */ /* max-width: 120rem; */ margin-left: auto; margin-right: auto; height: calc(100vh - 15rem); max-height: 80rem;/* */ min-height: 57rem; background: #fff; }
section.main-visual div.main-visual { position: absolute; width: calc(100% - 8rem); max-width: 150rem; /* max-height: 57rem; */ /* overflow: hidden; */ /* margin-left: 8rem; */ /* */ overflow: hidden; /* max-height: 57rem; */ height: calc(100vh - 15rem); max-height: 80rem; min-height: 57rem; left: 50%; transform: translateX(-50%); }
section.main-visual div.main-visual img { width: 100%; /* min-width: 85.5rem; */ min-width: 120rem; min-height: 57rem; max-width: 120rem; position: absolute; top: 50%; /* left: 50%; */ right: -4rem; transform: translateX(0) translateY(-50%); }
 @media only screen and (max-width: 1500px) {
section.main-visual div.copy-wrap { left: calc(100vw - 150rem / 2); width: 18.75rem; position: absolute; height: 100%; /* background: linear-gradient(to right, #fff 0%, #fff 100%); */ z-index: 10000; } }
section.main-visual div.copy-wrap { left: 0; width: 25%; position: absolute; height: 100%; /* background: linear-gradient(to right, #fff 0%, #fff 100%); */ transition: 0.25s all; z-index: 10000; }
section.main-visual div.copy { height: 100%; width: 100%; position: absolute; }
section.main-visual div.copy span { writing-mode: vertical-rl; font-size: 3.0rem; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; letter-spacing: 0.5rem; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); white-space: nowrap; z-index: 1000; text-shadow: #fff 0.1rem 0 1rem; transition: 0.25s all; }

section.main-visual div#slider ul li.flex-active-slide div.copy-wrap:before { position: absolute; left: 5%; top: 5%; width: 0.1rem; height: 80%; content: ""; background: #033b77; animation-duration: 2s; animation-fill-mode: both; animation-name: line-draw-before; }
 @-webkit-keyframes line-draw-before {
0% {height: 0; opacity: 0; }
 10% { opacity: 1; }
 90% { opacity: 1; }
 100% { height: 80%; opacity: 1; } }
@keyframes line-draw-before {
0% { height: 0;
opacity: 0; }
 10% { opacity: 1; }
 90% { opacity: 1; }
 100% { height: 80%; opacity: 1; } }
 
section.main-visual div#slider ul li.flex-active-slide div.copy-wrap:after { position: absolute; right: 5%; bottom: 5%; width: 0.1rem; height: 80%; content: ""; background: #033b77; animation-duration: 2s; animation-fill-mode: both; animation-name: line-draw-after; }
 @-webkit-keyframes line-draw-after { 
 0% { height: 0; opacity: 0; }
 10% { opacity: 1; }
 90% { opacity: 1; }
 100% { height: 80%; opacity: 1; }
 }
@keyframes line-draw-after {
0% { height: 0; opacity: 0; }
 10% { opacity: 1; }
 90% { opacity: 1; }
 100% { height: 80%; opacity: 1; }
 }

/* チーム医療を学ぶ */
/* section.main-visual ul li:nth-child(2) div.copy span { top: auto; bottom: 0; transform: none; } */

section.main-visual:before { position: absolute; width: 0.1rem; height: 10rem; content: ""; background: #033b77; left: 50%; transform: translateX(-50%) translateY(50%); bottom: 0; z-index: 1; }
section.main-visual:after { /* position: absolute; width: calc(100vw - 8rem); height: calc(80%); content: ""; background: #f0f5f5; left: 50%; transform: translateX(-50%) translateY(0); bottom: 0;
z-index: 0; */ /* border-radius: 10000rem; */ }

/* section.main-visual div.inner { width: 100%; height: 100%; overflow: visible; padding: 0; position: relative; } */
section.main-visual div.main-visual div#slider, section.main-visual div.main-visual div#slider ul, section.main-visual div.main-visual div#slider ul li, section.main-visual div.main-visual div#slider ul li div.img-wrap { height: calc(100vh - 15rem); max-height: 100%; min-height: 57rem; }
section.main-visual div.main-visual div#slider ul li div.img-wrap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* animation */
section.main-visual div.main-visual div#slider ul li div.copy span { opacity: 0; top: calc(50% + 2rem); transition: 1s 0.25s all; }
section.main-visual div.main-visual div#slider ul li.flex-active-slide div.copy span { opacity: 1; top: 50%; }

/* ----------------------- */
section.main-visual div.scroll-arrow-wrap { position: absolute; left: 0; top: 0; width: 4rem; height: 100%; z-index: 100; }
section.main-visual div.scroll-arrow { width: 2rem; height: 4rem; display: block; left: 2rem; position: absolute; bottom: 2rem; /* */ z-index: 1000; transform: translateX(-50%); }
section.main-visual div.scroll-arrow { opacity: 0; transition: 1.5s all 14s; }
section.main-visual div.scroll-arrow { opacity: 1; }
section.main-visual div.scroll-arrow:after { border-top: 1rem solid transparent; border-left: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(180deg); position: absolute; content: ""; top: calc(100% - 0.25rem); left: 0.4rem; transition: 0.25s all;/* width: 1.5rem; height: 1.5rem; border-right: 0.1rem solid #033b77; border-top: 0.1rem solid #033b77; content: ""; left: 50%; top: 60%; 
	display: block; position: absolute; transform: translateX(-50%) translateY(-50%) rotate(135deg); transition: all 0.2s ease-in-out 0s; */ }
section.main-visual div.scroll-arrow:before { width: 5rem; height: 5rem; display: block; left: 50%; position: absolute; content: ""; top: 50%; transform: translateX(-50%) translateY(-50%); /* border: 1px solid #1e2e53; */ box-sizing: border-box; border-radius: 100rem; z-index: 0; animation-iteration-count: infinite; animation-duration: 2s; animation-fill-mode: both; animation-name: circle; }
section.main-visual div.scroll-arrow span { position: relative; display: block; width: 100%; }
section.main-visual div.scroll-arrow span:after { width: 0.1rem; position: absolute; content: ""; height: 3rem; background: #033b77; display: block; left: 50%; transform: translateX(-50%); bottom: -4rem; animation-iteration-count: infinite; animation-duration: 2s; animation-fill-mode: both; animation-name: slideInDown; }
section.main-visual div.scroll-arrow span:before { content: "SCROll"; letter-spacing: 0.25rem; font-size: 1.0rem; position: absolute; top: -5.5rem; left: 50%; transform: translateX(-50%) rotate(-90deg); color: #033b77; white-space: nowrap; z-index: 1; font-weight: bold;/* font-family: 'Oswald', sans-serif; */ font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; }



/* -------- -- */
@-webkit-keyframes slideInDown { 0% { height: 3rem; transform: translateX(-50%) translateY(-50%); visibility: visible; opacity: 0; }
 10% { opacity: 1; }
 90% { opacity: 1; }
 100% { height: 0; transform: translateX(-50%) translateY(0); opacity: 0; } }
@keyframes slideInDown { 0% { height: 3rem; transform: translateX(-50%) translateY(-50%); visibility: visible; opacity: 0; }
 10% { opacity: 1; }
 90% { opacity: 1; }
 100% { height: 0; transform: translateX(-50%) translateY(0); opacity: 0; } }
.slideInDown { animation-name: slideInDown; }

/* ------------------ */




/* --------------------- .topics */
section.topics { position: relative; overflow: hidden; background: #fff; }
section.topics:after { /* position: absolute; content: ""; 	bottom: ; transform: translateX(0) translateY(0); right: 0; width: 20rem; height: 20rem; border: 10rem solid #f0f0f0; border-radius: 1000rem; */  }
section.topics div.inner { position: relative; z-index: 1; }
section.topics div.titles-wrap { text-align: center; }
section.topics div.clearfix { display: flex; flex-wrap: wrap; }
section.topics div.topics.junior, section.topics div.topics.senior { width: 48%; margin-right: 4%; position: relative; padding-bottom: 4rem; }
section.topics div.topics.senior { margin-right: 0; }
section.topics div.topics div.title { position: relative; }
section.topics div.topics div.title h2 { font-size: 2.4rem; font-weight: normal; display: inline-block; background: #fff; padding-right: 4rem; position: relative; z-index: 1; }
section.topics div.topics div.title:after { content: ""; position: absolute; top: 50%; transform: translateY(-50%); left: 0; height: 0.1rem; width: 100%; background: #2c3b4a; z-index: 0; }
div.article-list { margin-left: auto; margin-right: auto; margin-top: 0; padding: 4rem; max-width: 80rem; background: #fff; z-index: 1; position: relative; }
body.top div.article-list { margin-top: 0; padding: 0; }
div.article-list ul { /* margin-bottom: 4rem; */ position: relative;/* padding-left: 1rem; padding-right: 1rem; */ margin-bottom: 4rem; }
div.article-list ul li { position: relative; }
body.top div.article-list ul li:nth-child(n + 6) { display: none; }

/* hover */
div.article-list ul li:after { position: absolute; top: 0; left: 0; content: ""; width: 0; height: 100%; z-index: 0; transition: 0.25s all; pointer-events: none; background: #f8f8f8; }
div.article-list ul li:hover:after { width: 100%; }

/* */
div.article-list ul li a { display: flex; flex-flow: row wrap; border-bottom: 0.1rem solid #e2e9f0; font-size: 1.6rem; position: relative; width: 100%; box-sizing: border-box; transition: 0.25s all; color: #000; text-decoration: none; padding-top: 0.75rem; padding-bottom: 0.75rem; clear: both; overflow: hidden; z-index: 1; padding-right: 6rem; }
div.article-list ul li a:before { width: 4rem; height: 0.1rem; position: absolute; top: 50%; right: 2rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
div.article-list ul li a:after { border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.25rem); right: 0.125rem; transition: 0.25s all; }
div.article-list ul li a[href$=".pdf"]:after { /* reset */ display: block; padding: 0; font-size: 0; content: ""; background: none; color: #fff; font-weight: normal; margin: 0; border-radius: 0; vertical-align: auto; text-decoration: none !important; z-index: 100; border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; top: calc(50% - 0.25rem); right: 0; transition: 0.25s all; }
div.article-list ul li:first-child a { border-top: 0.1rem solid #e2e9f0; }
div.article-list ul li a div.new { background: #2c3b4a; color: #fff; display: block; top: 0; left: 0; text-align: center; font-size: 1.3rem; width: auto; margin-right: 1rem; line-height: 1.5; font-weight: bold; padding:0 0.6rem 0.1rem 0.6rem;  }
div.article-list ul li a div.update { /*float: left; width: 9rem; */ color: #2c3b4a; font-size: 1.4rem; display: block; line-height: 1.5; }
div.article-list ul li a div.category-label {  }
div.article-list ul li a div.heading { /* width: calc(100% - 34rem); width: calc(100% - 9rem); top: 0.25rem; float: left;  display: block;*/ position: relative; line-height: 1.5; width: 100%; text-align: left; letter-spacing: 0.05rem; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; display: -webkit-box; }
section.topics div.link { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
section.topics div.link a { float: none; font-size: 1.6rem; width: 30%; min-width: 30rem; margin-right: auto; margin-left: auto; position: relative; }





/* ------------ 卒後臨床研修センターのご紹介 */
section.introduction { position: relative; padding-top: 0; padding-bottom: 0; background: #fff; }
body.top section.introduction { min-height: 65rem; }
section.introduction div.inner { height: 100%; min-height: 65rem; padding-right: 0; }
section.introduction div.introduction-bg { position: absolute; top: 50%; left: 0; transform: translateX(0) translateY(-50%); width: calc(100% - 12.5%); max-height: 65rem; overflow: hidden; }
section.introduction div.introduction-bg img { height: 100% !important; min-height: 65rem; width: 100%; min-width: 102.4rem; max-width: 150rem;/* min-width: 141.6rem; */ /* */ }
section.introduction div.introduction-bg:after { /* position: absolute; height: 100%; width: 30%; left: 66.25%; top: 0; background: rgba(255,255,255,0.90); z-index: 1; content: ""; */ }
section.introduction div.introduction-bg img { position: relative; }
section.introduction div.titles-wrap { position: absolute; bottom: 0; right: 0; transform: translateY(0); background: rgba(255,255,255,0.95); box-sizing: border-box;/* padding: 4rem; */ padding: 4rem; padding-top: 3rem; /* */ /* position: relative; */ min-height: 30%; width: 75%; }
section.introduction div.titles-wrap div.title h2 { /* color: #fff; */ white-space: nowrap; line-height: 1.75; }
section.introduction div.titles-wrap div.title h2 span { font-size: 3.0rem;/* text-shadow: #000 0.1rem 0 1rem; */ }
section.introduction div.description-wrap { /* width: 30%; margin-left: 70%; *//* */ }


/* -------------------- */
section.introduction div.description-wrap div.description-heading { font-size: 3.2rem; letter-spacing: 0.5rem; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; position: relative; color: #875063; z-index: 1; margin-bottom: 4rem; line-height: 1.5; white-space: nowrap; text-align: center; }
section.introduction div.description-wrap div.description-heading:before { width: 100%; height: 0.1rem; position: absolute; top: 2.5rem; left: 0; content: ""; background: #875063; }
section.introduction div.description-wrap div.description-heading span { background: #fff; padding-left: 4rem; padding-right: 4rem; display: inline-block; position: relative; z-index: 1000; }
section.introduction div.description-wrap div.description-detail { float: left; width: 48%; margin-right: 4%; }
section.introduction div.description-wrap div.description-detail table { z-index: 1; position: relative; border-collapse: collapse; border-bottom: 0.1rem solid #ccc; }
section.introduction div.description-wrap div.description-detail table th { white-space: nowrap; vertical-align: top; padding-right: 2rem; border-top: 0.1rem solid #ccc; }
section.introduction div.description-wrap div.description-detail table th span { padding-left: 1.5rem; padding-right: 1.5rem; box-sizing: border-box; border-radius: 1000rem; font-size: 1.4rem; color: #fff; }
section.introduction div.description-wrap div.description-detail table tr:first-child th span { background: #9bbede; }
section.introduction div.description-wrap div.description-detail table tr:nth-child(2) th span { background: #8f7c80; }
section.introduction div.description-wrap div.description-detail table td { /* font-size: 1.4rem; */ border-top: 0.1rem solid #ccc; }
section.introduction div.description-wrap div.description-detail table th:first-child, section.introduction div.description-wrap div.description-detail table td:nth-child(2) { padding-top: 1rem; padding-bottom: 1rem; }
section.introduction div.description-wrap div.description-detail table td ul { margin-bottom: 0; }
section.introduction div.description-wrap div.description-detail table td ul li:before { background: #ccc; }
section.introduction div.description-wrap div.figure { float: left; width: 48%; z-index: 1; position: relative; }
section.introduction div.description-wrap div.figure img { width: 140%; max-width: 140%; position: relative; right: 40%; }
section.introduction div.photo { top: -8rem; position: relative; z-index: 0; }

/* -------------------- */
/* section.introduction div.description-wrap div.figure { position: absolute; bottom: 8rem; left: 0; transform: translateX(0) translateY(0); width: 100%; z-index: 0; }
section.introduction div.description-wrap div.figure img { width: 120%; max-width: 120%; width: 67.2rem; width: 42rem; max-width: inherit; margin-left: 0; } */
section.introduction div.introduction-list { position: absolute; bottom: 2rem; width: calc(100% - 4rem); box-sizing: border-box;/* padding-left: 4rem; padding-right: 4rem; */ }
section.introduction div.introduction-list ul { /* display: flex; flex-wrap: wrap; */ }
section.introduction div.introduction-list ul.clearfix li { /* width: 23.5%; margin-right: 2%; */ width: 30.6666%; float: left; margin-right: 4%; margin-bottom: 2rem;/* box-shadow: 0 1rem 5rem rgba(0,22,38,.1); */ }
section.introduction div.introduction-list ul.clearfix li:nth-child(3n) { margin-right: 0; }
section.introduction div.introduction-list ul.clearfix li a { background: rgba(255,255,255,0.95); /* margin: 0 auto 1em; */ display: block; padding: 0.75rem 0.5rem; /* border: 1px solid #ccc; */ border-radius: 0; box-sizing: border-box; text-decoration: none; text-align: center; line-height: 1.5; transition: all 0.1s ease-in-out; cursor: pointer; border: 0.1rem solid #0e050a; /* border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) #a2a2a2; */ max-width: calc(100% - 2rem); position: relative; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; color: #0e050a; white-space: nowrap; }
section.introduction div.introduction-list ul.clearfix li a:before { width: 4rem; height: 0.1rem; position: absolute; top: 50%; right: 0.5rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
section.introduction div.introduction-list ul.clearfix li a:after { border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.25rem); right: -1.5rem; transition: 0.25s all; }
section.introduction div.introduction-list ul.clearfix li a:hover { background: #0e050a; color: #fff; }
section.introduction div.introduction-list ul.clearfix li a:hover:before { border-right: 0.1rem solid #fff; border-top: 0.1rem solid #fff; }
section.introduction div.introduction-list ul.clearfix li a div.heading { text-align: left; font-size: 2.4rem; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; position: relative; margin-bottom: 1.5rem; }
section.introduction div.introduction-list ul.clearfix li a div.heading::before { width: 4rem; height: 0.1rem; position: absolute; top: 50%; right: 1.5rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
section.introduction div.introduction-list ul.clearfix li a div.heading::after { border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.25rem); right: -0.5rem; transition: 0.25s all; }
section.introduction div.introduction-list ul.clearfix li a div.description { width: 100%; margin-left: 0; font-size: 1.4rem; }


/* ------------ 研修理念 */
section.about { padding-bottom: 0; }
section.about div.vision { }
section.about div.vision div.titles-wrap { float: right; width: 10%; }
section.about div.vision div.titles-wrap div.title { writing-mode: vertical-rl; letter-spacing: 0.2rem; margin-left: 2rem; margin-top: -3rem; }
section.about div.vision div.vision-description { float: right; width: 40%; writing-mode: vertical-rl; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; font-size: 1.6rem; letter-spacing: 0.2rem; margin-bottom: 4rem; line-height: 2; }
section.about div.vision div.vision-description > div { position: relative; }
section.about div.vision div.vision-description > div:before { position: absolute; top: -3rem; content: "一."; }
section.about div.vision div.vision-figure { width: 50%; float: right; }
section.about div.vision div.vision-figure div.vision-figure-wrap { display: block; margin-bottom: 2rem; }
section.about div.vision div.vision-figure div.name-wrap { font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; line-height: 1.25; margin-bottom: 4rem; }
section.about div.vision div.vision-figure div.name-wrap div.position { font-size: 1.55rem; letter-spacing: 0.1rem; }
section.about div.vision div.vision-figure div.name-wrap div.name { font-size: 3.0rem; letter-spacing: 0.2rem; }
section.about div.vision div.vision-figure div.name-wrap div.name span { font-size: 1.4rem; }
section.about div.about-list { }
section.about div.about-list ul { display: flex; flex-wrap: wrap; }
section.about div.about-list ul li { width: 32%; margin-right: 2%; margin-bottom: 2rem; padding: 0; }
section.about div.about-list ul li:nth-child(3n) { margin-right: 0; }
section.about div.about-list ul li:before { display: none; }
section.about div.extra-about { padding-top: 10rem; position: relative; }


/* 移設 */
/* .mceContentBody section.about { padding-top: 0; margin-top: -2rem; } */
.mceContentBody section.about div.extra-about { padding-top: 0; }
.mceContentBody section.about div.extra-about div.extra-about-title { color: #82a0b2; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; text-align: center; font-size: 3.0rem; line-height: 1.5; letter-spacing: 1.75rem; margin-top: -6rem; margin-bottom: 2rem; position: relative; }
.mceContentBody section.about div.extra-about div.extra-about-title:after { position: absolute; top: 50%; left: 0; content: ""; z-index: -1; transform: translateY(-50%); width: 100%; height: 0.1rem; background: #ccc; }
.mceContentBody section.about div.extra-about div.extra-about-title > div:nth-child(1) { font-size: 2.4rem; position: relative; z-index: 1; }
.mceContentBody section.about div.extra-about div.extra-about-title > div:nth-child(2) { font-size: 4rem; letter-spacing: 0.5rem; position: relative; top: -1em; margin-bottom: -1em; z-index: 0; }
.mceContentBody section.about div.extra-about div.extra-about-title > div:nth-child(2) span { font-size: 8rem; color: #d5d5d5; }
.mceContentBody section.about div.extra-about div.extra-about-title > div:nth-child(2) > div.bg { display: inline-block; background: #fff; padding-left: 2rem; padding-right: 2rem; }
.mceContentBody section.about div.extra-about div.extra-about-inner { top: 0; }
.mceContentBody section.about div.extra-about div.extra-about-inner div.extra-about-headline { top: 0; }
.mceContentBody section.about div.extra-about div.extra-about-inner div.extra-about-figure { top: calc(50% + 12.5rem); }

/* */
section.about div.extra-about div.extra-about-copy { position: relative; text-align: center; }
section.about div.extra-about div.extra-about-copy:after { position: absolute; top: 50%; left: 0; content: ""; z-index: 0; transform: translateY(-50%); width: 100%; height: 0.1rem; background: #000; }
section.about div.extra-about div.extra-about-copy span { display: inline-block; background: #fff; position: relative; z-index: 1; padding-left: 2rem; padding-right: 2rem; font-size: 4.2rem; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; letter-spacing: 1rem; }
section.about div.extra-about div.extra-about-bg { margin-bottom: 12rem; }
section.about div.extra-about div.extra-about-bg img { width: calc(100% - 8rem); max-width: 110rem; margin-left: auto; margin-right: auto; display: block; }
section.about div.extra-about div.extra-about-inner { width: 100%; max-width: 120rem; height: calc(100% - 10rem); margin-left: auto; margin-right: auto; position: absolute; top: 10rem; left: 50%; transform: translateX(-50%); z-index: 1; }
section.about div.extra-about div.extra-about-inner div.extra-about-headline { position: absolute; top: 10rem; left: 0; z-index: 1; }
section.about div.extra-about div.extra-about-inner div.extra-about-headline img { max-width: 42rem; }
section.about div.extra-about div.extra-about-inner div.extra-about-figure { position: absolute; top: calc(50% + 10rem); left: 0; transform: translateX(0) translateY(-50%); z-index: 0; }
section.about div.extra-about div.extra-about-inner div.extra-about-figure img { max-width: 70rem; }
section.about div.extra-about div.extra-about-english-copy { position: relative; text-align: center; }
section.about div.extra-about div.extra-about-english-copy:after { position: absolute; top: 50%; left: 0; content: ""; z-index: 0; transform: translateY(-50%); height: 0.1rem; background: #000; }
section.about div.extra-about div.extra-about-english-copy span { display: inline-block; background: #fff; position: relative; z-index: 1; padding-left: 2rem; padding-right: 2rem; font-size: 1.2rem; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; letter-spacing: 0.1rem; }

/* ------------ 研修医 */
section.resident { padding-top: 8rem; padding-bottom: 0; background: #e2e9f2;/* padding: 0; */ }
section.resident div.inner { max-width: 100%; width: 100%; padding: 0; }
section.resident div.inner > div { float: left; width: 50%; margin-right: 0; margin-bottom: 0; }
section.resident div.inner > div:nth-child(2n) { margin-right: 0; }
section.resident div.inner div.resident-wrap { position: relative; z-index: 0; }
section.resident div.inner div.resident-wrap:nth-child(1) { z-index: 1; }
section.resident div.inner div.resident-wrap:nth-child(2) { z-index: 1; }
section.resident div.inner div.resident-wrap:nth-child(3) { z-index: 0; }
section.resident div.inner div.resident-wrap:nth-child(4) { z-index: 0; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner { display: block; height: 100%; width: 100%; margin-bottom: 0; /* 4rem */ background: #fff; position: relative;/* overflow: hidden; */ }
section.resident div.inner div.resident-wrap div.resident-wrap-inner:nth-child(1):before { position: absolute; top: 50%; transform: translateY(-50%); left: 0; height: 4rem; width: 0.1rem; content: ""; background: #ccc; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner:nth-child(1):before { background: #e71e8c; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner:nth-child(2):before { background: #e71e8c; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner:nth-child(3):before { background: #e71e8c; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner:nth-child(4):before { background: #e71e8c; }

/* */
section.resident div.inner div.resident-wrap div.resident-wrap-inner a { width: 100%; text-decoration: none; /* overflow: hidden; clear: both; */ display: flex; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner a { transition: 0.25s all; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner a:hover { /* */ opacity: 0.9; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner div.titles-wrap { /* float: left; */ width: 50%; position: absolute; z-index: 2; background: rgba(255,255,255,0.8); /* --- --- */ height: 100%; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner div.titles-wrap:before { padding-top: 100%; display: block; content: ""; position: relative; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner div.title { position: absolute; top: 50%; left: 4rem; transform: translateY(-50%); }
section.resident div.inner div.resident-wrap div.resident-wrap-inner div.title h2 { font-size: 2.4rem; font-weight: normal; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner div.title h2:after { border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.25rem); right: -4rem; transition: 0.25s all; }
section.resident div.inner div.resident-wrap div.resident-wrap-inner div.title h2::before { width: 3rem; height: 0.1rem; position: absolute; top: 50%; right: -2rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
section.resident div.inner div.resident-wrap div.figure { /* float: right; */ width: 100%; position: relative; z-index: 0; overflow: hidden; }
section.resident div.inner div.resident-wrap div.figure:before { padding-top: 50%; display: block; content: ""; position: relative; }
section.resident div.inner div.resident-wrap div.figure img { position: absolute; top: 50%; right: 0; transform: translateX(0) translateY(-50%); display: block; opacity: 1; max-width: 100%; }

/* hover-menu */
section.resident div.inner div.resident-wrap div.hover-menu { position: absolute; left: -10%; top: 0; pointer-events: none; /* width: calc(100% - 2rem); */ 	/* height: calc(40%); */ width: 50%; /* height: calc(100% + 4rem); */ /* height: 27rem; */ display: block; background: rgba(248, 248, 248,0.95); /* background: #f0f0f0; */ transition: 0.4s all; z-index: 2000; /* top: 50%; 	transform: translateY(-50%);*/ /* top: 13.2rem; */ /* bottom: 0; */ box-sizing: border-box; padding: 2rem; padding-top: 6rem; opacity: 0;/* mix-blend-mode: difference; 	mix-blend-mode: exclusion; *//* box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); */ }
section.resident div.inner div.resident-wrap:hover div.hover-menu { left: 0; opacity: 1; pointer-events: auto; }
section.resident div.inner div.resident-wrap div.hover-menu { /* display: none; */ }
section.resident div.inner div.resident-wrap div.hover-menu ul { /* position: absolute; */ /* top: 6rem; */ /* top: 0; position: relative; */ /* left: 50%; */ width: 100%; box-sizing: border-box; padding-left: 0;  }
section.resident div.inner div.resident-wrap div.hover-menu:before { position: absolute; top: 2rem; left: 2rem; content: "INDEX"; letter-spacing: 0.05rem; width: calc(100% - 6rem); /* border-bottom: 0.1rem solid #00315b; */ padding-bottom: 1rem; color: #d5d5d5; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; }
section.resident div.inner div.resident-wrap div.hover-menu:after { position: absolute; top: 5.5rem; left: 2rem; width: calc(100% - 4rem); content: ""; height: 0.1rem; background: #d5d5d5; }
section.resident div.inner div.resident-wrap div.hover-menu ul li { margin-bottom: 0.25rem; }
section.resident div.inner div.resident-wrap div.hover-menu ul li a { color: #00315b; position: relative; /* padding-left: 2.5rem; */ /* white-space: nowrap; */ display: block; padding-right: 6rem; box-sizing: border-box; font-size: 1.5rem; line-height: 1.25; /* */ text-decoration: none; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; border-bottom: 0.1rem dotted #d5d5d5; padding-bottom: 0.5rem; margin-bottom: 0.5rem; }

/* */
section.resident div.inner div.resident-wrap div.hover-menu ul a::before { width: 4rem; height: 0.1rem; position: absolute; top: 40%; right: 2.5rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
section.resident div.inner div.resident-wrap div.hover-menu ul a::after { border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(40% - 0.25rem); right: 0.5rem; transition: 0.25s all; }
section.resident div.inner div.resident-wrap div.hover-menu ul a:hover { text-decoration: underline; }
section.resident div.inner > div.link { float: none; }
section.resident div.link a { margin-top: 4rem; margin-left: auto; margin-right: auto; width: 50%; }
section.seminar { background: #e2e9f2; position: relative; }
section.seminar:after { background: #d6d8e6; width: 100%; height: 45%; content: ""; position: absolute; bottom: 0; left: 0; }
section.seminar div.inner { display: flex; position: relative; }
section.seminar div.inner div.titles-wrap { width: 53%; margin-right: 4%; }
section.seminar div.inner div.seminar-figure { width: 43%; }
section.seminar div.inner div.link ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
section.seminar div.inner div.link ul li { width: 49%; /*margin-right: 2%;*/ margin-bottom: 2rem; }
section.seminar div.inner div.link ul li:nth-child(2n) { /*margin-right: 0;*/ }
section.seminar div.inner div.link ul li a { font-size: 1.5rem; background: #fff; }
section.seminar div.inner div.link ul li a:hover { font-size: 1.5rem; background: #0e050a; }
section.seminar div.inner div.link ul li a:before { width: 2.5rem; height: 0.1rem; position: absolute; top: 50%; right: 0.5rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }

/* ------------ 施設 */
section.facilities { position: relative; padding-top: 4rem; padding-bottom: 4rem;/* min-height: 65rem; */ background: #fff; overflow: hidden; z-index: 1; }
section.facilities div.inner { height: 100%;/* min-height: 65rem; */ }
section.facilities div.title { text-align: left; }
section.facilities div.title h2 { font-size: 3.0rem; }
section.facilities div.facilities-bg { min-height: 100%; /* */ position: absolute; top: 0; left: 0; z-index: 0; width: 100%; }
section.facilities div.facilities-bg:before { position: absolute; top: 0; left: 0; height: 100%; width: 50%; background: rgba(255,255,255,0.9); content: ""; z-index: 1; }
section.facilities div.facilities-bg img { position: fixed; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); height: 100vh; max-width: inherit; }
section.facilities div.facilities-bg:after { }
section.facilities div.facilities-bg img { }
/* section.facilities div.facilities-bg div.facilities-bg-slide { height: 100%; width: 100%; position: relative; }*/

section.facilities div.facilities-bg div.facilities-bg-slide ul li img { opacity: 0; transition: 0.3s all; z-index: 1;/* position: relative; *//* height: 100%; width: 100%; */ }
section.facilities div.facilities-bg div.facilities-bg-slide ul li.active img { opacity: 1; z-index: 2; right: 0; }
section.facilities div.facilities-bg div.facilities-bg-slide ul li.bg-default img { opacity: 1; transition: 0.25s all; z-index: -1; }
section.facilities div.facilities-list { /* position: absolute; bottom: -4rem; width: 100%; left: 0; */ float: left; width: 48%; }
section.facilities div.facilities-list ul { /* 	display: flex; flex-wrap: wrap; */ margin-bottom: 4rem; }
section.facilities div.facilities-list ul.clearfix li { }
section.facilities div.facilities-list ul.clearfix li:nth-child(3) { }
section.facilities div.facilities-list ul.clearfix li:nth-child(1) a { border-top: 0.1rem solid #e9ebed; }
section.facilities div.facilities-list ul.clearfix li a { display: block; color: #000; text-decoration: none; padding: 2rem 3rem; box-sizing: border-box; /* background: rgba(255,255,255,0.95); */ border-bottom: 0.1rem solid #e9ebed; transition: 0.25s all; }
section.facilities div.facilities-list ul.clearfix li a:hover { background: #2c3b4a; color: #f0f0f0; }
section.facilities div.facilities-list ul.clearfix li a:hover div.heading { color: #f0f0f0; }
section.facilities div.facilities-list ul.clearfix li a div.heading { text-align: left; font-size: 2.2rem; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; position: relative; color: #2c3b4a; }
section.facilities div.facilities-list ul.clearfix li a div.heading::before { width: 4rem; height: 0.1rem; position: absolute; top: 50%; right: 1.5rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
section.facilities div.facilities-list ul.clearfix li a div.heading::after { border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.25rem); right: -0.5rem; transition: 0.25s all; }
section.facilities div.facilities-list ul.clearfix li a:hover div.heading::before { background: #f0f0f0; }
section.facilities div.facilities-list ul.clearfix li a:hover div.heading::after { border-right: 0.6rem solid #f0f0f0; }
section.facilities div.facilities-list ul.clearfix li a div.description { width: 100%; margin-left: 0; font-size: 1.4rem; }


/* ------------ 研修医・指導医からのメッセｰジ */
section.message { background: #faf3e3; padding-top: 0; padding-bottom: 0; }
section.message div.title h2 { font-size: 1.8rem; display: block; }
section.message ul { }
section.message div.message-resident { float: left; width: 50%; background: #faf3e3; padding-top: 4rem; padding-bottom: 4rem; }
section.message div.message-preceptor { float: left; width: 50%; background: #f4e76b; padding-top: 4rem; padding-bottom: 4rem; }
section.message div.title { max-width: 60rem; margin-left: auto; margin-right: auto; }
section.message a { transition: 0.25s all; }
section.message a:hover { opacity: 0.9; }


/* 研修医からのメッセージ */
section.message div.message-resident div.title h2 a { color: #72314d; text-decoration: none; position: relative; display: block; }


/* 指導医からのメッセージ */
section.message div.message-preceptor div.title h2 a { color: #ea3b2f; text-decoration: none; position: relative; display: block; transition: 0.25s all; }
section.message div.message-resident div.title h2 a:before, section.message div.message-preceptor div.title h2 a:before { width: 4rem; height: 0.1rem; position: absolute; top: 50%; right: 2.5rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
section.message div.message-resident div.title h2 a:after, section.message div.message-preceptor div.title h2 a:after { border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.25rem); right: 0.5rem; transition: 0.25s all; }
section.message div.title h2 a:hover { background: rgba(255,255,255,0.75); }
section.message div.thumbnail { max-width: 100%; margin-bottom: 2rem; }
section.message div.thumbnail img { display: block; margin-left: auto; margin-right: auto; max-width: 60rem; /* */ width: 100%; }
section.message ul li { position: relative; }
section.message ul li.slick-slide { opacity: 0.0; transition: 0.25s all; }
section.message ul li.slick-slide.slick-current.slick-active { opacity: 1; }
section.message div.slick img.slide-arrow { width: 4rem; }
section.message div.slick img.slide-arrow.prev-arrow { position: absolute; top: 50%; left: 0; transform: translateY(-50%) rotate(180deg); z-index: 1000; }
section.message div.slick img.slide-arrow.next-arrow { position: absolute; top: 50%; right: 0; transform: translateY(-50%); z-index: 1000; }
section.message ul li a { display: block; clear: both; overflow: hidden; text-decoration: none; color: #2c3b4a; margin-bottom: 2rem; box-sizing: border-box; /* 	padding-left: 2rem; padding-right: 2rem; */ max-width: 60rem; /* */ margin-left: auto; margin-right: auto; z-index: 1; position: relative; }
section.message ul li:after { position: absolute; content: ""; transform: translateX(-50%) translateY(-50%); top: 50%; left: 50%; width: calc(100% + 2rem); height: 0; background: rgba(255,255,255,0.5); pointer-events: none; z-index: 0; transition: 0.25s all; }
section.message ul li:hover:after { width: calc(100% + 2rem); height: calc(100% + 2rem); }
section.message ul li a div.thumbnail { float: left; width: 25%; overflow: hidden; position: relative; margin-right: 5%; }
section.message ul li a div.thumbnail span { display: block; padding-top: 56.25%; }
section.message ul li a div.thumbnail span img { position: absolute; display: block; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); max-width: 100%; height: auto; width: 100%; }
section.message ul li a div.message-wrap { /* float: left; width: 70%; */ }
section.message ul li a div.message-wrap div.number { /* position: absolute; *//* top: -4rem; left: 0; */ font-size: 1.3rem; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; }
section.message div.message-resident div.number { color: #72314d; }

/* 指導医からのメッセージ */
section.message div.message-preceptor div.number { color: #ea3b2f; }
section.message ul li a div.message-wrap div.heading { /* font-size: 2.4rem; */ font-size: clamp(1.6rem, 1.4vw, 2.4rem); letter-spacing: 0.25rem; line-height: 1.75; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 0.1rem solid #ccc; color: #2c3b4a; }
section.message ul li a div.message-wrap div.name-wrap { font-size: 1.6rem; text-align: right; }

/* テレコにする */
/* section.message div.message-preceptor ul li a div.thumbnail { float: right; width: 25%; margin-right: 0; margin-left: 5%; }*/


/* ------------ よくある質問 */
section.qa { background: #fba277; position: relative; z-index: 2; padding-top: 4rem; padding-bottom: 4rem; }
section.qa div.inner { position: relative; }
section.qa div.titles-wrap { float: left; width: 21%; padding-right: 4%; box-sizing: border-box; }
section.qa:after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 50%; z-index: 0; background: #c899ab; }

/* slick */
section.qa div.slick img.slide-arrow { width: 4rem; }
section.qa div.slick img.slide-arrow.prev-arrow { position: absolute; top: 50%; left: 0; transform: translateY(-50%) rotate(180deg); }
section.qa div.slick img.slide-arrow.next-arrow { position: absolute; top: 50%; right: 0; transform: translateY(-50%); }

/* @end slick */
section.qa div.qa-list { position: relative; z-index: 1; float: left; width: 75%; }
section.qa div.qa-list ul { }
section.qa div.qa-list .slick-list { padding-top: 4rem !important; padding-bottom: 4rem !important; }
section.qa div.qa-list ul li { box-sizing: border-box; position: relative; }
section.qa div.qa-list ul li::after { background: #fff; width: 6rem; height: 4rem; position: absolute; content: ""; bottom: -0.5rem; left: 50%; z-index: -1; transform: translateX(-50%) scaleX(0.4) rotate(15deg); border-radius: 0; }
section.qa div.qa-list ul li a { display: block; box-sizing: border-box; position: relative; background: #fff; height: 23rem; width: 23rem; margin-left: auto; margin-right: auto; text-decoration: none; color: #000; transition: 0.25s all; }
section.qa div.qa-list ul li a:hover { background: #f0f0f0; }
section.qa div.qa-list ul li a div.number { position: absolute; top: -2rem; left: 50%; transform: translateX(-50%); width: 4rem; height: 4rem; }
section.qa div.qa-list ul li a div.number:before { position: absolute; top: -2rem; left: 50%; transform: translateX(-50%); content: "Question"; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; font-size: 1.4rem; letter-spacing: 0.1rem; }
section.qa div.qa-list ul li a div.number span { position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); font-size: 4rem; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; display: block; }
section.qa div.qa-list ul li a div.number span:before { position: absolute; width: 0.1rem; height: 2rem; content: ""; background: #000; top: 50%; left: -2rem; transform: rotate(-15deg); }
section.qa div.qa-list ul li a div.number span:after { position: absolute; width: 0.1rem; height: 2rem; content: ""; background: #000; top: 50%; right: -2rem; transform: rotate(15deg); }
section.qa div.qa-list ul li a div.qa-content { width: calc(100% - 8rem); position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); font-size: 1.6rem; line-height: 1.75; }
section.qa div.link { position: absolute; left: 4rem; bottom: 4rem; width: 20rem; }
section.qa div.link a { background: #fff; }

/* ------------ 病院見学のご案内 */
section.inspection { position: relative; overflow: hidden; padding: 0; background: #fff; }
section.inspection div.inspection-bg { position: absolute; top: 50%; transform: translateY(-50%); max-width: 30%; height: 100%; }
section.inspection div.inspection-bg img { max-width: none; width: auto; display: block; height: 100%; min-height: 100%;/* min-width: 50rem; */ }
section.inspection div.inspection-bg.bg-01 { left: 0; transform: translateX(0) translateY(-50%); }
section.inspection div.inspection-bg.bg-01 img { position: absolute; left: 0; }
section.inspection div.inspection-bg.bg-02 { right: 0; transform: translateX(0) translateY(-50%); }
section.inspection div.inspection-bg.bg-02 img { position: absolute; right: 0; }
section.inspection div.titles-wrap { width: 40%; margin-left: auto; margin-right: auto; background: #fff; position: relative; z-index: 2; padding-top: 8rem; padding-bottom: 8rem; }
section.inspection div.titles-wrap div.title { text-align: center; }
section.inspection div.titles-wrap div.title h2 span { color: #2d0c66; }
section.inspection div.titles-wrap div.description { text-align: center; color: #2d0c66; padding-left: 0; padding-right: 0; }

/* ----------------------- */
section.document-blog-publishment { background: #f8f8f8; }
section.document-blog-publishment div.document-blog-publishment-list { }
section.document-blog-publishment div.document-blog-publishment-list ul { }
section.document-blog-publishment div.document-blog-publishment-list ul li { width: 30%; margin-right: 5%; position: relative; float: left; background: #fff; }
section.document-blog-publishment div.document-blog-publishment-list ul li:nth-child(3n) { margin-right: 0; }
section.document-blog-publishment div.document-blog-publishment-list ul li:after { padding-top: 30%; content: ""; display: block; }
section.document-blog-publishment div.document-blog-publishment-list ul li:nth-child(3) { margin-right: 0; }
section.document-blog-publishment div.document-blog-publishment-list ul li a { display: block; text-align: center; /* padding: 4rem; */ white-space: nowrap; text-decoration: none; color: #000; height: 100%; }
section.document-blog-publishment div.document-blog-publishment-list ul li a div { position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); line-height: 1.5; }
section.document-blog-publishment div.document-blog-publishment-list ul li a:before { width: 4rem; height: 0.1rem; position: absolute; top: 50%; right: 0.5rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
section.document-blog-publishment div.document-blog-publishment-list ul li a:after { border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.25rem); right: -1.5rem; transition: 0.25s all; }

/* ----------------------- */
div.scroller { background: #2c3b4a; bottom: 0.5rem; display: block; height: 6rem; position: fixed; right: 0.5rem; width: 6rem; z-index: 10000;/* border-radius: 1000rem; */ }
div.scroller div.button { height: 6rem; position: absolute; top: 0; width: 6rem; }
div.scroller div.button a { display: block; height: 6rem; position: relative; width: 6rem; z-index: 1;/* border-radius: 1000rem; */ }
div.scroller div.button a::before { border-right: 0.1rem solid #fff; border-top: 0.1rem solid #fff; content: ""; display: block; height: 1rem; left: 50%; position: absolute; top: 50%; /* */ transform: translateX(-50%) translateY(-50%) rotate(-45deg); transition: all 0.2s ease-in-out 0s; width: 1rem; }
div.scroller:hover div.button a { background: #fff; }
div.scroller:hover div.button a::before { border-right: 0.1rem solid #033b77; border-top: 0.1rem solid #033b77; }
div.scroller:after { height: 0; width: 0; background: #033b77; position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); content: ""; z-index: -1; /* border-radius: 10000rem; */ transition: 0.25s all; }
div.scroller:hover:after { height: 7rem; width: 7rem; }

/* ------ */
footer { padding-top: 1rem; /* padding-bottom: 4rem; */ z-index: 1000; position: relative; /* border-top: 0.1rem solid #a3a37c; */ /* background: #f3f3f6; */ text-align: center; background: #f0f0f0; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; }
footer div.inner { }
footer div.column { width: 48%; margin-right: 4%; float: left; }
footer div.column:nth-child(2) { margin-right: 0; }
footer div.footer-logo { margin-top: 1rem; margin-bottom: 0.5rem; font-size: 1.8rem; text-align: left; }
footer div.footer-logo a { /* color: #a99a78; */ text-decoration: none; letter-spacing: 0.2rem; }
footer div.footer-logo img { width: 100%; max-width: 50rem; }
footer div.footer-information { text-align: center; background: #2c3b49; color: #f0f0f0; padding-top: 0.5rem; padding-bottom: 1rem; }
footer a { color: #000; text-decoration: none; }
footer a span { font-size: 3rem; }
footer div.utility ul { clear: both; overflow: hidden; margin-top: 4rem; margin-bottom: 4rem; }
footer div.utility ul li { float: left; width: 32%; margin-right: 2%; }
footer div.utility ul li:nth-child(3) { margin-right: 0; }
footer div.utility ul li a { max-width: 20rem; display: block; border: 0.1rem solid #e2e9f0; margin-left: auto; margin-right: auto; }
footer div.address { font-size: 1.4vw; text-align: left; letter-spacing: 0.125rem; color: #2d3b49; margin-left: 22.5%; white-space: nowrap; position: relative; top: -1.5rem; }
 @media only screen and (min-width: 1000px) {
footer div.address { margin-left: 11.5rem; font-size: 1.4rem; }
}

/* ----------------------- */
div.article-wrap { padding-bottom: 4rem; }
div.article-wrap div.article { float: left; width: 30% !important; height: auto; margin-right: 3.33% !important; /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.09); */ border-radius: 0.5rem; /* overflow: visible; */ margin-bottom: 4rem; }
div.article-wrap div.article a { text-decoration: none; }
div.article-wrap div.article:nth-child(3n) { margin-right: 0 !important; }
div.article-wrap div.article div.thumbnail { padding-top: 133.33%; }
div.article-wrap div.article div.thumbnail span { display: block; height: inherit; text-align: center; vertical-align: middle; width: 100%; }
div.article-wrap div.article div.thumbnail span img { max-height: inherit; border-radius: 0; }
div.article-wrap div.article-details { /* position: relative; */ }

/* -------------------------- topicPath */
.topicPath { font-size: 1.2rem; display: block; text-align: right; font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, sans-serif, 'Noto Sans JP', YakuHanJP, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif; background: #f8f8f8; }
.topicPath ul { padding: 0.5rem 0; list-style: none; }
.topicPath ul li { display: inline; }
.topicPath ul li a { font-size: 1.2rem; /* font-weight: bold; */ position: relative; padding-right: 1rem; padding-left: 1rem; /* color: #689d38; */ /* color: #003e6c; */ color: #033b77; font-weight: bold; text-decoration: underline; }
.topicPath ul li:first-child a { padding-left: 0; }
.topicPath ul li span { padding-right: 1rem; padding-left: 1rem; }
.topicPath ul li a:after { width: 0.5rem; height: 0.5rem; position: absolute; top: 55%; right: -0.75rem; content: ""; /* 	border-top: 1px solid #003e6c; border-right: 1px solid #003e6c; */ border-top: 0.1rem solid #39454f; border-right: 0.1rem solid #39454f; transform: translateX(-50%) translateY(-50%) rotate(45deg); transition: all .2s ease-in; }
.topicPath ul li a:hover { text-decoration: none; }
.topicPath br { display: none !important; }

/* -------------------------- div.page-title */
div.page-title {/*margin-top: 2rem; */ /* margin-bottom: 2rem; */ padding-top: 2rem; padding-bottom: 5rem;/* background: #39454f; */ position: relative; background: #e2e9f2; overflow: hidden; }
div.page-title div.title { /* border: 0.2rem solid #39454f; */ padding-top: 2rem; padding-bottom: 2rem; text-align: left;/* background: #fff; *//* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.09); *//* border-top: 1rem solid #a4d4ed; border-right: 1rem solid #cba5bd; border-bottom: 1rem solid #e9afbd; border-left: 1rem solid #aed071; */ }
div.page-title div.title h1 { font-size: 3.0rem; letter-spacing: 0.25rem; font-weight: normal;/* display: none; */ color: #2c3b4a; font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; text-align: center; }
div.page-title div.title h1 div { display: inline-block; }
div.page-title div.title h1 span { color: #39454f; display: inline-block; }
div.page-title div.description h2 { /* background: #fff; */ font-weight: normal; text-align: center; padding-bottom: 1rem; }
div.page-title div.update { /* background: #f8f8f8; */ color: #033b77; text-align: center; font-size: 1.4rem;/*font-family: oswald; */ }
div.page-title div.description div.number { border-radius: 100rem; border: 0.1rem solid #f0f0f0; display: inline-block; padding-left: 1rem; padding-right: 1rem; background: #f8f8f8; white-space: nowrap; }
div.page-title div.description span.material-icons { color: #39454f; font-size: 1.8rem; vertical-align: middle; position: relative; top: -0.1rem; }
div.page-title:after { position: absolute; width: calc(10rem); height: calc(100rem); content: ""; right: 0; top: 50%; transform: translateX(0) translateY(-50%) rotate(45deg); z-index: 0; opacity: 0.25;/* filter: blur(1rem); *//* background: #fff; */ }
div.page-title:before { position: absolute; width: calc(10rem); height: calc(100rem); content: ""; right: 0; top: 50%; transform: translateX(0) translateY(-50%) rotate(45deg); z-index: 0; opacity: 0.25;/* filter: blur(1rem); *//* background: #fff; */ }

/* -------------------------- div.map */
div.anchor-wrap { position: relative; }
div.anchor-wrap a { position: absolute; top: -8rem; }

/* -------------------------- President */

.mceContentBody { width: 73.5%; float: left; margin-right: 4%; }
aside { padding-top: 4rem; width: 22.5%; float: right; /* box-shadow: 0 0.2rem 1.25rem rgba(0,22,38,.1); */ padding: 2rem; box-sizing: border-box;/* 
	border-radius: 4rem; */ padding-bottom: 2rem; background: #fff; position: relative; }
aside > div.heading { font-size: 1.8rem; padding-bottom: 2rem; text-align: center; letter-spacing: 0.2rem; }
aside ul { border-top: 0.1rem solid #e9ebed; }
aside a { font-size: 1.4rem; font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, sans-serif, 'Noto Sans JP', YakuHanJP, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif; text-decoration: none; padding-top: 1rem; padding-bottom: 1rem; display: block; border-bottom: 0.1rem solid #e9ebed; color: #000; position: relative; padding-right: 4rem; transition: 0.25s all; }
aside a:before { width: 1.25rem; height: 0.1rem; position: absolute; top: 50%; right: 0.75rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
aside a:after, aside a[href$=".pdf"]::after, aside a[href$=".doc"]::after, aside a[href$=".docx"]::after, aside a[href$=".xls"]::after, aside a[href$=".xlsx"]::after { /* reset */ display: block; padding: 0; font-size: 0; content: ""; background: none; color: #fff; font-weight: normal; margin: 0; border-radius: none; vertical-align: middle; text-decoration: none !important; z-index: 100; border-top: 0.5rem solid transparent; border-right: 0.3rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; top: calc(50% - 0.125rem); right: -0.25rem; transition: 0.25s all; }
aside a div.new { display: none; }
aside a div.update { font-size: 1.2rem; margin-bottom: 0.25rem; color: #033b77; }
aside a div.update span { }
aside a:hover { background: #f8f8f8; }
aside div.extra-link { margin-top: 2rem; }
aside div.extra-link ul { border: none; }
aside div.extra-link ul li { margin-bottom: 1rem; }
aside div.extra-link ul a { /*border: 0.1rem solid #e7e9f4;*/ border-radius: 0; text-align: center; padding: 1rem 2rem; background: #033b77; border: none; color: #f0f0f0; }
aside div.extra-link ul a:after { border-top: 0.5rem solid transparent; border-right: 0.3rem solid #f0f0f0; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.125rem); right: 0.25rem; transition: 0.25s all; }
aside div.extra-link ul a:before { width: 1.25rem; height: 0.1rem; position: absolute; top: 50%; right: 1rem; transform: translateX(50%) translateY(-50%); content: ""; background: #f0f0f0; transition: 0.25s all; }

/* */
.mceContentBody.covering { width: 100%; max-width: 100rem; float: none; margin-right: auto; }
.mceContentBody.covering + aside { display: none; }

/* -------------------------- div.category-list */

div.category-list { /* margin-top: 4rem; margin-bottom: 4rem; */ padding: 4rem; background: #fff; }

/* */
div.category-list h3 { font-size: 2.8rem; /* 28px */ line-height: 1.5; font-weight: normal; padding: 1rem 0; margin: 2.75rem 0 2.75rem; display: block; position: relative; border-bottom: 0.1rem solid #2c3b4a; }
div.mceContentBody + div.category-list { max-width: 100rem; margin-left: auto; margin-right: auto; padding-left: 4rem; padding-right: 4rem; box-sizing: border-box; }
div.category-list ul { /* display: flex; flex-wrap: wrap; */ font-size: 0; text-align: center; }
div.category-list ul li { width: 30%; margin-right: 4.5%; margin-bottom: 2rem; font-size: 1.6rem; display: inline-block; vertical-align: top;/* overflow: hidden; */ }
div.category-list ul li:nth-child(3n) { }
div.category-list ul li a { display: block; color: #303030; text-decoration: none; transition: 0.25s all; height: 100%; box-sizing: border-box; }
div.category-list ul li a:hover { opacity: 0.75; }
div.category-list ul li:nth-child(3n) { margin-right: 0; }
div.category-list ul li:last-child { margin-right: 0; }

/* ------ category-list.colomn2 */
div.category-list.column2 ul li { width: 48%; margin-right: 4%; margin-bottom: 2rem; font-size: 1.6rem; display: inline-block; vertical-align: top;/* overflow: hidden; */ }
div.category-list.column2 ul li:nth-child(2n), div.category-list.column2 ul li:last-child { margin-right: 0 !important; }

/* ------ category-list.row-display */
div.category-list.row-display ul li { width: 48%; margin-right: 4%; margin-bottom: 2rem; font-size: 1.6rem; display: block; vertical-align: top;/* overflow: hidden; */ float: left; border: 0.1rem solid #2c3b4a; box-sizing: border-box; }
div.category-list.row-display ul li:nth-child(2n) { margin-right: 0; }
div.category-list.row-display ul li a { display: block; padding: 2rem; position: relative; box-sizing: border-box; }
div.category-list.row-display ul li a:before { width: 2.5rem; height: 0.1rem; position: absolute; top: 50%; right: 2.5rem; transform: translateX(50%) translateY(-50%); content: ""; background: #0e050a; transition: 0.25s all; }
div.category-list.row-display ul li a:after { border-top: 1rem solid transparent; border-right: 0.6rem solid #0e050a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.25rem); right: 1rem; transition: 0.25s all; visibility: visible; }
div.category-list.row-display ul li div.thumbnail { display: none; }

/* */
div.category-list.row-display ul li a:hover { background: #043b6f; color: #fff; opacity: 1; }
div.category-list.row-display ul li a:hover:before { background: #fff; }
div.category-list.row-display ul li a:hover:after { border-top: 1rem solid transparent; border-right: 0.6rem solid #fff; }

/* --------------------------------------------------- category-list.colomn2 */
div.category-list ul li div.thumbnail { width: 100%; position: relative; overflow: hidden; margin-bottom: 0.5rem; }
div.category-list ul li div.thumbnail span { display: block; padding-top: 75%; }
div.category-list ul li div.thumbnail span img { position: absolute; display: block; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); max-width: 100%; height: auto; width: 100%; }
div.category-list ul li div.heading { font-size: 1.7rem; letter-spacing: 0.125rem; }
div.category-list ul li div.description { font-size: 1.5rem; }

/* --------------------------------------------------- category-list.numbers */

div.category-list.numbers { margin-bottom: 4rem; }
div.category-list.numbers ul { text-align: left; max-width: 60rem; margin-left: auto; margin-right: auto; border-top: 0.2rem dotted #ccc; }
div.category-list.numbers ul li { width: 100%; margin-right: 0; margin-bottom: 0; font-size: 1.6rem; display: block; vertical-align: top;/* overflow: hidden; */ border-bottom: 0.2rem dotted #ccc; padding: 2rem 0 2rem 5rem; box-sizing: border-box; position: relative; }
div.category-list.numbers ul li:before { position: absolute; top: 50%; left: 0; width: 4rem; height: 4rem; background: #2c3b4a; content: ""; /* border-radius: 1000rem; */ transform: translateY(-50%); }
div.category-list.numbers ul li:after { position: absolute; top: 50%; left: 1.5rem; color: #ffff; transform: translateY(-50%); }
div.category-list.numbers ul li:nth-child(1):after { content: "1"; }
div.category-list.numbers ul li:nth-child(2):after { content: "2"; }
div.category-list.numbers ul li:nth-child(3):after { content: "3"; }
div.category-list.numbers ul li:nth-child(4):after { content: "4"; }
div.category-list.numbers ul li:nth-child(5):after { content: "5"; }
div.category-list.numbers ul li:nth-child(6):after { content: "6"; }
div.category-list.numbers ul li:nth-child(7):after { content: "7"; }
div.category-list.numbers ul li:nth-child(8):after { content: "8"; }
div.category-list.numbers ul li:nth-child(9):after { content: "9"; }
div.category-list.numbers ul li:nth-child(10):after { content: "10"; }
div.category-list.numbers ul li div.thumbnail { display: none; }
div.category-list.numbers ul li a { display: block; position: relative; }
div.category-list.numbers ul li a div.heading { font-size: 2rem; }
div.category-list.numbers ul li a:before { border-top: 1rem solid transparent; border-right: 0.6rem solid #2c3b4a; transform: translateY(-50%) rotate(90deg); position: absolute; content: ""; top: calc(50% - 0.25rem); right: -1.5rem; transition: 0.25s all; }
div.category-list.numbers ul li a::after { width: 4rem; height: 0.1rem; position: absolute; top: 50%; right: 0.5rem; transform: translateX(50%) translateY(-50%); content: ""; background: #2c3b4a; transition: 0.25s all; }

/* ------------------------------------------------------------------ scroll- effect アニメｰション */
.scroll-effect-trigger { opacity: 0; transition: 1s 0.5s all; transform: translateY(4rem); }
.scroll-effect-trigger.scroll-effect { opacity: 1; transform: translateY(0); }
.is-fadeIn.animated { transform: translate3d(0, 0, 0); opacity: 1; }
.is-fadeIn { transform: translate3d(0, -10px, 0); transition: 1s; opacity: 0; }


/* ------------------------------------------------------------------ 説明会・セミナーTable */
body.seminar .deco-tb th, body.seminar .deco-tb td { line-height: 1.7; }
