@charset "utf-8";

html {
font-size: 62.5%;
margin:0;
padding:0;
cursor: auto;
}
body {
margin:0;
padding:0;
font-family: -apple-system, BlinkMacSystemFont, "Open Sans", "Segoe UI", "Helvetica Neue", HelveticaNeue, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Arial, Verdana, Meiryo, sans-serif;
font-size: 1.7em;
font-size: 1.7rem;
font-feature-settings: "palt";
line-height: 1.7;
letter-spacing: .03em;
background: #ffffff;
color:#202026;
color:#333333;
position: relative;
}
body:before {
    display: block;
    content: '';
    position: absolute;
    z-index: 1;
    top:0;
    left: 0;
    width: 2rem;
    height: 2rem;
    background: url(../common/cor-tl.svg);
}
body.en {
font-feature-settings: "normal" !important;
letter-spacing: 0 !important;
}
.site--title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
ul, ol,dl,dt,dd {
margin: 0;
padding: 0;
list-style: none;
}
h1,h2,h3,h4,h5,h6,p {
margin: 0;
padding: 0;
line-height: 1;
}
article p {
font-size: 1.7em;
font-size: 1.7rem;
line-height: 1.7;
}

img {
	vertical-align:bottom;
	border:0;
	width:100%;
	line-height:0;
	font-size:0;
	height: auto;
backface-visibility: hidden;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.img-wrap {
	padding-bottom: 66.5%;
	position: relative;
	background: rgba(0,0,0,0.5);
}
.img-wrap img {
	position: absolute;
	object-fit: contain;
	width: 100%;
	height: 100%;
}
em {
font-style: normal;
font-weight: 700;
color: #00563b;
}
a {
text-decoration:none;
color: #003927;
}
a:hover {
text-decoration:none;
}
a[href^="tel:"] {
	pointer-events: none !important;
	text-decoration-line:none !important;
}
.contents__container a[href^="tel:"] {
	color: #202026 !important;
}

.brclr {
display: none;
}
.fadein-bottom {
transition: all 0.8s ease-out;
transform: translateY(30px);
opacity: 0;
}
.fadein-bottom.active {
transform: translateY(0%);
opacity: 1;
}

.fadein-left {
transition: all 0.8s ease-out;
transform: translateX(-30px);
opacity: 0;
}
.fadein-left.active {
transform: translateX(0);
opacity: 1;
}
.fadein-image.active {
animation: img-opacity 2s cubic-bezier(.4, 0, .2, 1);
overflow: hidden;
position: relative;
z-index: 1;
}
.fadein-image.active:before {
animation: img-animation 2s cubic-bezier(.4, 0, .2, 1) forwards;
background: #fff;
bottom: 0;
content: '';
left: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
z-index: 0;
}
@keyframes img-opacity {
0% {
opacity: 0;
}
}
@keyframes img-animation {
100% {
transform: translateX(100%);
}
}
.header {
position:absolute;
top: 0;
left: 0;
z-index : 2;
width: 100%;
}
.header__wrapper {
display: flex;
justify-content:space-between;
align-items:flex-start;
}
.header__logo {
  position: relative;
  z-index : 1;
  right :0;
  top:0;
width: 350px;
background: #fff;
padding: 1.5rem;
border-radius: 0 0 1.5rem 0;
}
.header__logo:before {
    display: block;
    content: '';
    position: absolute;
    z-index: 1;
    bottom: -2rem;
    left: 0;
    width: 2rem;
    height: 2rem;
    background: url(../common/cor-tl.svg);
}
.header__logo:after {
    display: block;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    right: -2rem;
    width: 2rem;
    height: 2rem;
    background: url(../common/cor-tl.svg);
}
.menu {
  display : block;
  position: fixed;
  z-index : 10;
  right :1.5rem;
  top: 2rem;
  width : 53px;
  height: 53px;
  cursor: pointer;
  text-align: center;
  background : #fff;
  border-radius: 5rem;
}
.menu span {
  display : block;
  position: absolute;
  width   : 25px;
  height  : 2px ;
  left    : 14px;
  background : #00563b;
  border-radius: 4px;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition   : 0.5s ease-in-out;
  transition        : 0.5s ease-in-out;
}
.menu span:nth-child(1) {
  top: 18px;
}
.menu span:nth-child(2) {
  top: 25px;
}
.menu span:nth-child(3) {
  top: 32px;
}
.menu.active span:nth-child(1) {
  top: 24px;
  left: 14px;
  background : #00563b;
  -webkit-transform: rotate(315deg);
  -moz-transform   : rotate(315deg);
  transform        : rotate(315deg);
}
.menu.active span:nth-child(2),
.menu.active span:nth-child(3) {
  top: 24px;
  background : #00563b;
  -webkit-transform: rotate(-315deg);
  -moz-transform   : rotate(-315deg);
  transform        : rotate(-315deg);
}
.menu.on {
  background : #00563b;
}
.menu.on span {
  background : #fff;
}
.menu.on.active {
  background : #fff;
}

.nav {
width: calc(100% - 350px);
padding-right: 220px;
}

.nav a {
color: #fff;
}
.nav--user-groups a,
.nav--main a {
	color: #fff;
  position: relative;
  text-decoration: none;
}
.nav--user-groups a::before,
.nav--main a::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 6px;
  background-color: #fff;
  bottom: -2px;
  left: 0;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}
.nav--user-groups a.active-link::before,
.nav--main a.active-link::before {
  background-color: #ffe558;
}
.nav--user-groups a.active-link::before,
.nav--main a.active-link::before,
.nav--user-groups a:hover::before,
.nav--main a:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}
.nav--user-groups a.active-link,
.nav--main a.active-link {
  animation: aclink-fdin 0.5s;
  animation-fill-mode: forwards;
}
@keyframes aclink-fdin {
  from {
	color: #fff;
  }
  to {
color: #ffe558;
  }
}
.nav.active .nav--user-groups a.active-link::before,
.nav.active .nav--main a.active-link::before {
  background:none;
}
.nav.active .nav--user-groups a.active-link,
.nav.active .nav--main a.active-link {
  animation: normal;
}
.sp--footer-btn {
display: none;
}

.contents__container .link-list a {
	color: #fff;
  position: relative;
  text-decoration: none;
}
.contents__container .link-list a::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 6px;
  background-color: #fff;
  bottom: -3px;
  left: 0;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}
.contents__container .link-list a:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}

.header .nav.active {
padding: 3rem;
  opacity: 1;
  display: block;
  position: fixed;
  z-index : 9 !important;
  top  : 0;
  left : 0;
  color: #fff;
  background: #00563b;
  text-align: center;
  width: 100%;
  height: 100%;
  overflow: auto;
}


.header .nav.active .nav__wrapper {
display: grid;
grid-template-columns: 80% 1fr;
grid-template-rows: 1fr 1fr;
}

.nav--user-groups {
margin-top: 2.25rem;
display: flex;
justify-content: flex-end;
}
.nav--user-groups li {
font-size: 1.3em;
font-size: 1.3rem;
font-weight: 600;
margin-left: 1.5rem;
}
.nav--user-groups li a {
display: block;
padding: 0.1rem 0.2rem;
color: #00563b;
color: #fff;
}
.nav--user-groups li:first-child a {
border-bottom-left-radius: 1rem;
}

.header .nav.active .nav--user-groups {
grid-row: 1 / 2;
grid-column: 2 / 3;
margin-top: 10rem;
margin-left: 3rem;
flex-direction: column;
text-align: left;
justify-content: flex-start;
order: 2;
}
.header .nav.active .nav--user-groups li {
font-size: 1.8em;
font-size: 1.8rem;
font-weight: 600;
margin-left: 0;
margin-bottom: 2rem;
}
.header .nav.active .nav--user-groups li a {
color: #fff;
display: inline;
}


.nav--main {
margin-top: 0.5rem;
padding: 0;
display: flex;
justify-content: flex-end;
align-items: center;
/*background: #fff;*/
border-radius: 5rem;
}
.header .nav.active .nav--main {
grid-row: 1 / 3;
grid-column: 1 / 2;
text-align: left;
flex-direction: column;
justify-content:flex-start;
flex-wrap: wrap;
align-items: flex-start;
order: 1;
}
.nav--main li {
font-size: 1.5em;
font-size: 1.5rem;
font-weight: 600;
margin-left: 1.5rem;
}
.header .nav.active .nav--main li {
font-size: 2.8em;
font-size: 2.8rem;
font-weight: 600;
margin-left: 0;
display: block;
}
.nav--main li ul {
display: none;
}
.header .nav.active .nav--main li > ul {
margin-top: 1rem;
display: flex;
justify-content:flex-start;
text-align: left;
align-items: stretch;
flex-wrap: wrap;
}
.nav--main li:last-child {
margin-right:0;
}

.header .nav.active .nav--main > li {
width:100%;
margin-bottom: 1.5rem;
padding-bottom: 1.5rem;
border-bottom: rgba(255,255,255,0.1) 1px solid;
}
.header .nav.active .nav--main li > ul li {
margin-right: 3rem;
margin-bottom: 0.75rem;
font-size: 1.7em;
font-size: 1.7rem;
font-weight: 400;
}
.nav--main li a {
padding: 0.1rem 0.2rem;
display: block;
color: #00563b;
color: #fff;
}
.header .nav.active .nav--main > li a {
display: inline;
color: #fff;
}
.header .nav.active .nav--main > li ul li a {
color: #fff;
background: url("../common/arrow-w.svg") left top 0.8rem / 11px auto no-repeat;
padding-left: 1.75rem;
}
/*.nav--main li:last-child a {
background: #ffdd75;
color: #333;
}*/
/*.outside {
margin-top: 2rem;
position: relative;
flex-direction: column;
width: 125px;
  background: #fff;
  border-bottom-left-radius: 1.5rem;
}
.outside:before {
    display: block;
    content: '';
    position: absolute;
    z-index: 1;
    bottom: -2rem;
    right: 0;
    width: 2rem;
    height: 2rem;
    background: url(../common/cor-tr.svg);
}
.outside:after {
    display: block;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: -2rem;
    width: 2rem;
    height: 2rem;
    background: url(../common/cor-tr.svg);
}*/
.language-switcher {
  width: 115px;
  position: absolute;
  top:3.25rem;
  right:8rem;
}
.language-switcher ul {
  display : flex;
  justify-content: flex-end;
  text-align: center;
  border-radius: 5rem;
  padding: 0.5rem 0.6rem 0.5rem 2rem;
  background: url("../common/language.svg") left 0.7rem top 0.7rem /14px auto no-repeat;
  border:#fff 1px solid;
}
.language-switcher ul li {
width: 40px;
margin-left: 0.3rem;
font-size: 1.2em;
font-size: 1.2rem;
font-weight: 600;
line-height: 1;
text-align: center;
}
.language-switcher ul li a {
display: block;
padding: 0.3rem 0;
border-radius: 5rem;
text-align: center;
color: #fff;
border: rgba(255,255,255,1) 1px solid;
}
.language-switcher ul li a.active {
background: #fff;
color: #00563b;
}

.main__container {
position: relative;
width: 100%;
top:0;
left: 0;
z-index: 0;
}
.nav--side-btn {
position: absolute;
padding:0;
top: 9rem;
right:1.5rem;
z-index: 1;
width: 14rem;
display: flex;
flex-direction: column;
}
.nav--side-btn li {
font-size: 1.3em;
font-size: 1.3rem;
font-weight: 700;
text-align: center;
margin-bottom: 1rem;
}
.nav--side-btn li a {
padding: 2rem 1rem;
display: block;
color: #fff;
background: #222;
border-radius: 1.5rem;
}
.nav--side-btn li:first-child a {
color: #222;
background: #ffe558;
}
.nav--side-btn li:last-child a {
color: #ffe558;
background: #222;
}
.header .nav.active .nav--side-btn {
grid-row: 2 / 3;
grid-column: 2 / 3;
position: relative;
margin-left: 3rem;
width: calc(100% - 3rem);
top: auto;
right: auto;
}
.header .nav.active .nav--side-btn li {
font-size: 1.7em;
font-size: 1.7rem;
}
.main__footer {
position: absolute;
bottom: 0;
left: 1.5rem;
width: calc(100% - 1.5rem);
display: flex;
justify-content: space-between;
}

.banner__container {
margin: 5rem 6rem 4rem 6rem;
}
.banner__container ul {
display: flex;
justify-content: space-between;
}
.banner__container ul li {
width: 49%;
margin-bottom: 1rem;
}
body.en .banner__container {
display: flex;
flex-direction: column;
justify-content:center;
align-items: center;
}
body.en .banner__container div {
width: 100%;
margin-bottom: 4rem;
}
body.en .banner__container div p {
font-size: 3.4em;
font-size: 3.4rem;
font-weight: 700;
text-align: center;
color: #00563b;
    display: flex;
    justify-content: center;
    align-items: center;
}
body.en .banner__container div p::before,
body.en .banner__container div p::after {
    width: 3px;
    height: 40px;
    background-color: #00563b;
    content: '';
}
body.en .banner__container div p::before {
    transform: rotate(-35deg);
    margin-right: 30px;
}
body.en .banner__container div p::after {
    transform: rotate(35deg);
    margin-left: 30px;
}
body.en .banner__container ul {
width: 80%;
}
body.en .banner__container ul li {
width: 100%;
}

#pagetop {
position: fixed;
z-index: 2;
right: 1.5rem;
bottom: 1.5rem;
padding: 0;
margin: 0;
}
#pagetop a {
display: block;
color:#fff;
background: #00563b;
border-radius: 50%;
width: 53px;
height: 53px;
position: relative;
}
#pagetop a::before {
position: absolute;
top: 20px;
left: 17px;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-top: #fff 2px solid;
    border-right: #fff 2px solid;
    transform: rotate(-45deg);
}
.footer {
padding: 6rem 3%;
background: #00563b;
color: #fff;
display: flex;
justify-content: space-between;
}
.footer a {
color: #fff;
}
.footer > nav {
width: 50%;
order: 2;
display: flex;
justify-content:flex-end;
}
.footer > nav ul {
margin-left: 5rem;
}
.footer > nav ul li {
font-size: 1.4em;
font-size: 1.4rem;
line-height: 1.2;
margin-bottom: 1.75rem;
}
.footer__lg-switcher {
display: flex;
justify-content:flex-end;
}
.footer__lg-switcher li+li::before {
    display: inline-block;
    padding: 0 1rem;
    content: "/";
}
.footer > div {
width: 50%;
color: #fff;
order: 1;
}
.footer__logo {
width: 240px;
margin-bottom: 1rem;
}
.footer__name {
font-size: 3.4em;
font-size: 3.4rem;
font-weight: 500;
line-height: 1.2;
letter-spacing: 1px;
}
.footer__name small {
font-size: 1.6em;
font-size: 1.6rem;
}
.footer__ed--mark {
margin: 1rem 2rem 1rem 2rem;
}
.footer__ed--mark li {
margin-bottom: 0.2rem;
font-size: 1.4em;
font-size: 1.4rem;
list-style: circle;
}
.footer__info {
font-style: normal;
}
.footer__info .tel {
line-height: 1.4;
margin-bottom: 0.5rem;
}
.footer__info .tel a {
cursor: text;
}
.footer__info .add {
font-size: 1.75em;
font-size: 1.75rem;
line-height: 1.4;
vertical-align:middle;
}
.footer__info .tel small  {
margin-left: 1rem;
}
.footer__info strong  {
font-size: 2.4em;
font-size: 2.4rem;
font-weight: 400;
}
.footer__info .add .map {
margin-left: 0.5rem;
font-size: 1.3em;
font-size: 1.3rem;
font-weight: 600;
display: inline-block;
border-radius: 2px;
padding: 0.15rem 1.5rem 0.1rem 1.5rem;
background: #bfe965;
color: #00563b;
vertical-align:middle;
}
.footer__info .add .map a {
color: #00563b;
}
.footer__info .add small  {
margin-top: 0.5rem;
font-size: 1.25em;
font-size: 1.25rem;
line-height: 1.6;
display: block;
}
.copyright {
margin-top: 4rem;
font-size: 1.2em;
font-size: 1.2rem;
font-weight: 400;
}

.footer__wrapper {
display: flex;
justify-content: space-between;
flex-direction: column;
}
.footer__nav--social {
display: flex;
justify-content:flex-end;
padding: 0;
}
.footer__nav--social li {
line-height: 1;
}
.footer__nav--social li:nth-child(2) {
margin: 0 1.5rem;
}
.footer__nav--social a {
color: #fff;
}
.footer__nav--social img {
width: 18px;
height: 18px;
fill: #fff;
}

main > .title__container {
position: relative;
height:600px;
text-align: center;
color: #fff;
z-index: 0;
overflow: hidden;
}
main> .title__container::before {
    z-index: -1;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.1, 1.1);
    animation: 3s ttlbkanime;
    background: rgba(0, 0, 0, 0.2);
	background: linear-gradient(0deg, rgba(102,102,102,0.2) 0%, rgba(102,102,102,0.3) 80%, rgba(0,0,0,0.4) 100%);
    display: block;
}
main> .title__container::after {
    z-index: -2;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.1, 1.1);
    animation: 3s ttlbkanime;
}
@keyframes ttlbkanime {
0% {
transform: scale(1, 1);
opacity: 0;
}
100% {
transform: scale(1.1, 1.1);
opacity: 1;
}
}

main.languages > .title__container::after,
main.about > .title__container::after,
main.information > .title__container::after,
main.privacypolicy > .title__container::after,
main.ao > .title__container::after {
background: url("../images/title_bk003.jpg") center bottom / cover no-repeat;
}
main.departments > .title__container::after {
background: url("../images/title_bk004.jpg") center bottom / cover no-repeat;
}
main.departments.english > .title__container::after {
background: url("../images/title_bk001.jpg") center top / cover no-repeat;
}
main.departments.career > .title__container::after {
background: url("../images/title_bk004_2.jpg") center top / cover no-repeat;
}
main.departments.hotel > .title__container::after {
background: url("../images/title_bk004_3.jpg") center top / cover no-repeat;
}
main.departments.preparatory1 > .title__container::after {
background: url("../images/title_bk004_4.jpg") center top / cover no-repeat;
}
main.departments.preparatory2 > .title__container::after {
background: url("../images/title_bk004_5.jpg") center top / cover no-repeat;
}
main.admission > .title__container::after {
background: url("../images/title_bk004_1.jpg") center top / cover no-repeat;
}
main.admission.international > .title__container::after {
background: url("../images/title_bk002.jpg") center top / cover no-repeat;
}
main.admission.faq > .title__container::after {
background: url("../images/title_bk005.jpg") center top / cover no-repeat;
}
main.departments > .title__container::after {
background: url("../images/title_bk004.jpg") center bottom / cover no-repeat;
}
main.campuslife > .title__container::after {
background: url("../images/title_bk006.jpg") center bottom / cover no-repeat;
}
main.career > .title__container::after{
background: url("../images/title_bk007.jpg") center bottom / cover no-repeat;
}
main.company > .title__container::after {
background: url("../images/title_bk008.jpg") center top / cover no-repeat;
}
main.recruitment > .title__container::after {
background: url("../images/title_bk009.jpg") center top / cover no-repeat;
}
main.alumni > .title__container::after {
background: url("../images/title_bk010.jpg") center top / cover no-repeat;
}
main.opencampus > .title__container::after {
background: url("../images/title_bk011.jpg") center top / cover no-repeat;
}
main.merit > .title__container::after {
background: url("../images/title_bk011.jpg") center top / cover no-repeat;
}
main.sitemap > .title__container::after {
background: url("../images/title_bk013.jpg") center top / cover no-repeat;
}
main.contact > .title__container::after {
background: url("../images/title_bk015.jpg") center top / cover no-repeat;
}
main.students > .title__container::after {
background: url("../images/title_bk016.jpg") center top / cover no-repeat;
}
main.news > .title__container::after {
background: url("../images/title_bk017.jpg") center top / cover no-repeat;
}


main > .title__container.low__area {
height:480px;
padding: 0 17rem;
}


main > .title__container div {
	position: relative;
    bottom: 0;
    right: 0;
    content: "";
    z-index: 1;
    width: 100%;
    height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
main > .title__container .h1-title.en {
font-size: 8em;
font-size: 8rem;
font-weight: 700;
text-shadow: 0 0 30px rgba(0,0,0,0.3);
animation: 0.5s ease-out ttlanime;
opacity: 1;
}
main > .title__container p.en {
font-size: 7.4em;
font-size: 7.4rem;
font-weight: 700;
text-shadow: 0 0 30px rgba(0,0,0,0.3);
animation: 0.5s ease-out ttlanime;
opacity: 1;
}
main > .title__container p.en.s-size {
font-size: 5.4em;
font-size: 5.4rem;
}
main > .title__container.low__area p.en {
/*font-size: 4.4em;
font-size: 4.4rem;*/
font-size: 3.4em;
font-size: 3.4rem;
}
main > .title__container .h1-title {
margin-top: 2rem;
font-size: 3em;
font-size: 3rem;
font-weight: 800;
text-shadow: 0 0 30px rgba(0,0,0,0.3);
animation: 1s ease-out ttlanime;
opacity: 1;
}
main > .title__container.low__area .h1-title {
font-size: 6em;
font-size: 6rem;
letter-spacing: 2px;
}
body.en main > .title__container.low__area .h1-title {
font-size: 6.4em;
font-size: 6.4rem;
letter-spacing: 0;
}
main > .title__container.low__area .h1-title strong {
display: block;
margin-bottom: 1.5rem;
}
body.en main > .title__container.low__area .h1-title strong {
font-weight: 700;
}
main > .title__container.low__area .h1-title span {
display: block;
margin-bottom: 1.5rem;
/*font-size: 2.4em;
font-size: 2.4rem;*/
font-size: 3em;
font-size: 3rem;
font-weight: 800;
letter-spacing: 2px;
}
body.en main > .title__container.low__area .h1-title span {
font-weight: 700;
line-height: 1.3;
letter-spacing: 0;
}
@keyframes ttlanime {
0% {
transform: translate(0, -10px);
opacity: 0;
}
100% {
transform: translate(0, 0);
opacity: 1;
}
}
.contents__container .title__container {
margin-bottom: 6rem;
}
.contents__container .h1-title {
font-size: 6em;
font-size: 6rem;
font-weight: 800;
}
.contents__container p.en {
font-size: 2.4em;
font-size: 2.4rem;
font-weight: 800;
margin-bottom: 2rem;
color: #003927;
line-height: 1.4;
}


.breadcrumb {
position: relative;
z-index: 1;
margin:-5rem 5% 0 5%;
padding: 1.5rem 2rem 2rem 2rem;
text-align:left;
background: #fff;
border-radius: 1.5rem 1.5rem 0 0;
}
.breadcrumb:before {
    display: block;
    content: '';
    position: absolute;
    z-index: 1;
    top: 3rem;
    right: -2rem;
    width: 2rem;
    height: 2rem;
    background: url(../common/cor-bl.svg);
}
.breadcrumb:after {
    display: block;
    content: '';
    position: absolute;
    z-index: 1;
    top: 3rem;
    left: -2rem;
    width: 2rem;
    height: 2rem;
    background: url(../common/cor-br.svg);
}
.breadcrumb ol {
width: 100%;
position: relative;
left:0;
top:0;
z-index: 3;
display: flex;
list-style: none;
}
.breadcrumb ol li {
font-size: 1.3em;
font-size: 1.3rem;
line-height: 1.8;
color: #222;
}
.breadcrumb ol li+li {
padding-left: .5rem;
}
.breadcrumb ol li+li::before {
    display: inline-block;
    padding-right: .3rem;
color: #555;
    content: ">";
}
.breadcrumb ol li a {
color: #555;
}

article > .contents__container,
article > .contents__wrapper > .contents__container {
padding: 8rem 5% 10rem 5%;
}
.contents__wrapper {
display: flex;
justify-content: space-between;
}
article > .contents__wrapper > .contents__container {
width: 75%;
}
.section__wrapper {
display: flex;
justify-content: space-between;
}
.section__wrapper .text {
width: 56%;
display: flex;
justify-content: space-between;
flex-direction: column;
}
.section__wrapper header .en {
color: #003927;
}
.section__wrapper .photo {
width: 40%;
}

.contents__side--nav {
width: 25%;
padding: 8rem 5% 10rem 0;
}
.contents__side--nav nav {
position:sticky;
top:2rem;
}
.contents__side--nav nav > ul.side-link-list {
margin-bottom: 3rem;
padding-top: 4px;
position: relative;
}
.contents__side--nav nav > ul.side-link-list::before {
position: absolute;
width: 100%;
height: 4px;
top:0;
left: 0;
content: "";
display: block;
background: #00563b;
border-radius: 3px;
}
.contents__side--nav nav ul.side-link-list li {
border-bottom: #ccc 1px solid;
}
.contents__side--nav nav ul.side-link-list li a {
display: block;
padding: 1.25rem 1rem 1.25rem 2rem;
color: #00563b;
background:url("../common/arrow-down-gl.svg") left top 2.0rem / 15px auto no-repeat;
}
.related-link-box {
margin-top: 3rem;
padding-top: 4px;
position: relative;
}
.related-link-box::before {
position: absolute;
width: 100%;
height: 4px;
top:0;
left: 0;
content: "";
display: block;
background: #00563b;
border-radius: 3px;
}
.related-link-box p {
padding: 1.5rem 0;
font-size: 1.75em;
font-size: 1.75rem;
font-weight: 700;
color: #00563b;
border-bottom: #ccc 1px solid;
}
.related-link-box ul.related-link-list {
margin-top: 1.5rem;
}
.related-link-box ul.related-link-list li {
border-bottom: none;
margin-bottom: 1rem;
}
.related-link-box ul.related-link-list li span {
font-size: 1.4em;
font-size: 1.4rem;
margin-right: 0.5rem;
}
.related-link-box ul.related-link-list li a {
display: block;
color: #00563b;
padding-left: 2rem;
background:url("../common/arrow-g.svg") left top 0.8rem / 15px auto no-repeat;
}
article .contents__container .section-margin,
article .contents__container > section {
margin-bottom: 20rem;
}
article .contents__container a {
text-decoration-line: underline;
text-decoration-style: dotted;
}
article .contents__container a:hover {
text-decoration: underline;
}
article .contents__container a[id] {
text-decoration:none;
}
article .contents__container > section > section  {
margin-bottom: 8rem;
}
.contents__container > .h2-title__container {
margin-top: 10rem;
margin-bottom: 8rem;
}
.contents__container > .h2-title__container:first-of-type {
margin-top: 0rem;
margin-bottom: 8rem;
}
.h2-title__container a {
color: #202026;
}
.h2-title__container .h2-title {
font-size: 5em;
font-size: 5rem;
font-weight: 800;
line-height: 1.25;
margin-bottom: 3rem;
}
body.en .h2-title__container .h2-title {
font-size: 5.6em;
font-size: 5.6rem;
font-weight: 700;
}
body.en .h2-title__container .h2-title:first-letter {
color: #00563b;
font-size: larger;
 }
.h2-title__container .description {
font-size: 2em;
font-size: 2rem;
font-weight: 800;
margin-bottom: 1.5rem;
}
body.en .h2-title__container .description {
font-size: 2.2em;
font-size: 2.2rem;
font-weight: 700;
line-height: 1.3;
margin-bottom: 1.5rem;
}
.h3-title {
font-size: 3.6em;
font-size: 3.6rem;
font-weight: 800;
margin-bottom: 2rem;
padding-left: 1.85rem;
line-height: 1.3;
position: relative;
}
body.en .h3-title {
font-weight: 700;
}
.h3-title::before {
position: absolute;
top:1.9rem;;
left: 0;
content: "";
display: block;
width: 9px;
height: 9px;
background: #00563b;
border-radius: 50%;
}
.h4-title {
font-size: 3.0em;
font-size: 3.0rem;
font-weight: 800;
margin-top: 4rem;
margin-bottom: 2rem;
padding-left: 1rem;
border-left: #00563b 5px solid;
}
body.en .h4-title {
font-weight: 700;
line-height: 1.3;
}
.h3-title a,
.h4-title a {
color: #202026; 
}
article .contents__container .note-box2 .h4-title  {
margin-top: 0rem;
}
.h5-title {
font-size: 2.4em;
font-size: 2.4rem;
font-weight: 800;
margin-top: 3rem;
margin-bottom: 1.5rem;
padding-bottom: 1rem;
border-bottom: #00563b 1px solid;
}
.h6-title {
font-size: 2.2em;
font-size: 2.2rem;
font-weight: 800;
margin-bottom: 1rem;
}
.contents__container p {
margin-bottom: 1.5rem;
}
.contents__container .photo {
margin-bottom: 0;
}
.photo img,
img.bd-rd {
border-radius: 1.5rem;
}



.lead-point {
display: inline-block;
margin: 0 0 1rem 0;
padding: 0.3rem 3rem;
background: #003927;
color: #fff;
border-radius: 3rem;
font-size: 1.6em;
font-size: 1.6rem;
text-align: center;
z-index: 1;
}
.lead-l {
font-size: 3em;
font-size: 3rem;
line-height: 1.5;
font-weight: 600;
margin-bottom: 1.5rem;
color: #00563b;
}
.lead {
font-size: 2em;
font-size: 2rem;
font-weight: 800;
margin-bottom: 1.5rem;
}
.lead-comment {
    color: #00563b;
    font-size: 3em;
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.4;
    margin-top: 2rem;
    margin-bottom: 5rem;
    display: inline-block;
    text-align: center;
    padding: 0 60px;
    position: relative;
    left: 0;
}
.lead-comment:before,
.lead-comment:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 2px;
    background-color: #00563b;
    border-radius: 10px;
}
.lead-comment:before {
    left: 0;
    -webkit-transform: rotate(70deg);
    transform: rotate(70deg);
}
.lead-comment:after {
    right: 0;
    -webkit-transform: rotate(-70deg);
    transform: rotate(-70deg);
}
.photo-link-box {
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: stretch;
background: #e8e1d4;
border-radius: 1.5rem;
}
.photo-link-box.width {
background: #f7f4f4;
}

.photo-link-box .photo {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 1.5rem 1.5rem 0 0;
}
.photo-link-box.width .photo {
    border-radius: 1.5rem;
	width: 35%;
}
.photo-link-box .photo a {
display: block;
}
.photo-link-box a .photo:before,
.photo-link-box .photo a:before {
    content: "";
    display: block;
    padding-top: 85%;
}
.photo-link-box.width a .photo:before,
.photo-link-box.width .photo a:before {
display: none;
}
.photo-link-box .photo span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.photo-link-box.width .photo span {
    position:inherit;
}
.photo-link-box  a .photo:after,
.photo-link-box .photo a:after {
    position: absolute;
    bottom:0;
    right: 0;
    /*background: #202026;
    background: linear-gradient(180deg, rgba(232,225,212,0) 60%, rgba(232,225,212,1) 95%);*/
    display: block;
    content: "";
    z-index: 1;
    width: 100%;
    height: 100%;
}
.photo-link-box.width a .photo:after,
.photo-link-box.width .photo a:after {
    background: #e9e4d9;
    background: linear-gradient(90deg, rgba(247,244,244,0) 60%, rgba(247,244,244,1) 95%);
}
.photo-link-box img {
border-radius: 1rem;
}
.photo-link-box a .photo img,
.photo-link-box .photo a img {
  transition-duration: 0.3s;
}
.photo-link-box a:hover .photo img,
.photo-link-box .photo a:hover img {
  transform: scale(1.1);
  transition-duration: 0.3s;
}
.photo-link-box > a,
.photo-link-box > div {
width: 100%;
position: relative;
top:0;
left: 0;
z-index: 1;
color: #202026;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: stretch;
flex-grow: 2;
}
.photo-link-box.width > a,
.photo-link-box.width > div {
flex-direction: row;
border-radius: 1rem;
}
.photo-link-box .info {
position: relative;
width: 100%;
padding: 2rem 1.5rem 1.5rem 1.5rem;
display: flex;
flex-direction: column;
justify-content:space-between;
align-items: stretch;
flex-grow: 2;
}
.photo-link-box.width .info {
justify-content:flex-start;
	width: 65%;
	background: url("../common/arrow-wl.svg") right 1.5rem bottom 1.5rem / 48px auto no-repeat;
}


.photo-link-box .info .detail {
position: absolute;
top:-4rem;
right:1rem;
z-index: 1;
margin-bottom: 1rem;
display: inline-block;
background:#003927;
color: #fff;
font-size: 1.3em;
font-size: 1.3rem;
line-height: 1.0;
padding: 0.8rem 1.25rem;
border-radius: 3rem;
}
.photo-link-box .lead-point {
display: block;
position: absolute;
top: 0;
left: 0;
margin: 0;
width: 100%;
padding: 0.75rem 0rem;
border-radius: 1.5rem 1.5rem 0 0;
font-size: 1.6em;
font-size: 1.6rem;
text-align: center;
z-index: 1;
}
.photo-link-box p.en {
font-size: 1.4em;
font-size: 1.4rem;
font-weight: 600;
line-height: 1.2;
margin-bottom: 0.5rem;
color: #003927;
}
.photo-link-box .title {
font-size: 3.2em;
font-size: 3.2rem;
line-height: 1.2;
color: #003927;
}
.photo-link-box .title span {
font-size: 2.2em;
font-size: 2.2rem;
}
.photo-link-box .description {
margin: 1rem 0 0 0;
font-size: 1.7em;
font-size: 1.7rem;
font-weight: 600;
line-height: 1.2;
color: #202026;
}
.photo-link-box .summary {
margin: 1rem 0 0 0;
}
.photo-link-box .link {
margin: 1rem 0 0 0;
background: rgba(255,255,255,0.3);
backdrop-filter: blur(12px);
	color: #fff;
    font-size: 1.4em;
    font-size: 1.4rem;
    text-align: center;
    transition: 0.3s;
    border-radius: 3rem;
}
.photo-link-box a,
.photo-link-box a:hover {
text-decoration:none !important;
}
.photo-link-box a .link {
    padding: 1.5rem 0;
color: #202026;
flex-grow: 2;
}
.photo-link-box .link a {
    padding: 1.5rem 0;
display: block;
    background: #fff;
color: #00563b;
    border-radius: 3rem;
text-decoration:none;
}
.photo-link-box a:hover .link,
.photo-link-box .link a:hover {
    border-radius: 3rem;
color: #fff;
    background: #00563b;
text-decoration:none;
}
.photo-link-box .link-list {
margin-top: 1rem;
flex-grow: 2;
}
.photo-link-box .link-list li {
margin-bottom: 0.5rem;
}
.photo-link-box .link-list li a {
background: url("../common/arrow-bk.svg") left top 0.5rem / 11px auto no-repeat;
padding-left: 1.5rem;
color: #202026;
text-decoration:none;
}
.link-btn-list {
display: flex;
flex-wrap: wrap;
margin: 2rem 0 0 0;
}
.contents__side--nav .link-btn-list {
flex-direction: column;
}
.link-btn-list li {
font-size: 1.7em;
font-size: 1.7rem;
font-weight: 700;
	line-height: 1.4;
width: 32%;
margin-right: 2%;
margin-bottom: 2rem;
}
.contents__side--nav .link-btn-list li {
width: 100%;
margin-right: 0;
margin-bottom: 0.5rem;
}
.link-btn-list li span {
    font-size: 1.3em;
    font-size: 1.3rem;
margin-left: 0.5rem;
}
.link-btn-list li:nth-child(3n) {
margin-right: 0;
}
.link-btn-list li a {
display: block;
padding: 1.5rem 1rem 1.5rem 3.25rem;
border-radius: 5rem;
border: #00563b 2px solid;
background: #fff url("../common/arrow-g.svg") left 1.25rem top 2rem / 15px auto no-repeat;
color: #00563b;
text-decoration:none;
}
.link-btn-list li a:hover {
border: #00563b 2px solid;
background: #00563b url("../common/arrow-w.svg") left 1.25rem top 2rem / 15px auto no-repeat;
color: #fff;
text-decoration:none;
}
.link-btn-list li .expired {
padding: 1.5rem 1rem 1.5rem 3.25rem;
border-radius: 5rem;
border: #ddd 2px solid;
background: #ddd;
color: #fff;
text-decoration:none;
}

.link-btn-list-l {
margin: 2rem 0 0 0;
}
.link-btn-list-l li {
    font-size: 2em;
    font-size: 2rem;
	line-height: 1.4;
	font-weight: 700;
	margin-bottom: 0.5rem;
}
.link-btn-list-l li a {
display: block;
padding: 1.5rem 0 1.5rem 3.85rem;
border-radius: 5rem;
border: #00563b 2px solid;
background: #fff url("../common/arrow-g.svg") left 1.25rem top 2rem / 17px auto no-repeat;
color: #00563b;
text-decoration:none;
}
.link-btn-list-l li a:hover {
border: #00563b 2px solid;
background: #00563b url("../common/arrow-w.svg") left 1.25rem top 2rem / 17px auto no-repeat;
color: #fff;
text-decoration:none;
}

.link-btn-list-l li a:hover {
text-decoration:none;
}
.link-btn-list-l li span {
    font-size: 1.3em;
    font-size: 1.3rem;
margin-left: 0.5rem;
}
.link-btn-list-ll {
margin: 2rem 0 0 0;

}
.link-btn-list-ll li {
    font-size: 3em;
    font-size: 3rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
}
.link-btn-list-ll li a {
display: block;
border: #00563b 3px solid;
padding: 3rem 0 3rem 6rem;
border-radius: 20rem;
background: #00563b url("../common/arrow-w.svg") left 2rem top 4.2rem / 28px auto no-repeat;
color: #fff;
text-decoration:none;
}
.link-btn-list-ll li a:hover {
background: #fff url("../common/arrow-g.svg") left 2rem top 4.2rem / 28px auto no-repeat;
color: #00563b;
text-decoration:none;
}
.link-btn-list-ll li a:hover {
text-decoration:none;
}
.contents__side--nav .note-box1 .link-btn-list {
    margin: 0 !important;
}
.note-box2 .link-btn-list {
    margin: 0.75rem 0 0 0 !important;
}


.sns-btn-list-l,
.sns-btn-list {
display: flex;
flex-wrap: wrap;
margin: 2rem 0 0 0;
}
.sns-btn-list-l li.facebook,
.sns-btn-list li.facebook {
font-size: 2em;
font-size: 2rem;
font-weight: 700;
width: 32%;
margin-right: 2%;
}
.sns-btn-list-l li.facebook {
width: 100%;
margin-right: 0%;
}
.sns-btn-list-l li.facebook span,
.sns-btn-list li.facebook span {
    font-size: 1.3em;
    font-size: 1.3rem;
margin-left: 0.5rem;
}
.sns-btn-list li.facebook:nth-child(3n) {
margin-right: 0;
}
.sns-btn-list-l li.facebook:nth-child(3n) {
margin-right: 0;
}
.sns-btn-list-l li.facebook a,
.sns-btn-list li.facebook a {
display: block;
padding: 1.5rem 0 1.5rem 6rem;
background: #fff url("../common/icon_facebook_b.svg") left 1.5rem center / 35px auto no-repeat;
color: #1877f2;
text-decoration:none;
border:#1877f2 2px solid;
border-radius: 6rem;
}
.sns-btn-list-l li.facebook a:hover,
.sns-btn-list li.facebook a:hover {
background: #1877f2 url("../common/icon_facebook.svg") left 1.5rem center / 35px auto no-repeat;
color: #fff;
text-decoration:none;
}



.back-link {
display: flex;
justify-content: flex-end;
margin-bottom: 2rem;
}
.back-link li a {
padding-left: 2rem;
background: #fff url("../common/arrow-g.svg") left top 0.4rem / 15px auto no-repeat;
color: #00563b;
text-decoration:none;
}
.new-open {
background:url("../common/open_new.svg") right top 0.4rem / 15px auto no-repeat;
padding-right: 2rem;
}
.tab-list {
display: flex;
flex-wrap: wrap;
align-items: stretch;
margin-bottom: 2rem;
}
.tab-list li {
display: flex;
justify-content: space-between;
flex-direction: column;
align-items: stretch;
width: 32%;
margin-right: 2%;
margin-bottom: 1rem;
font-size: 1.85em;
font-size: 1.85rem;
	font-weight: 700;
}
.tab-list li.list-l {
width: 49%;
margin-right: 0;
}
.tab-list li:nth-child(3n) {
margin-right: 0;
}
.tab-list li a {
display: flex;
justify-content: space-between;
flex-direction: column;
align-items: stretch;
flex-grow: 2;
padding: 1.5rem 1.5rem 1rem 3.25rem;
border: #666 1px solid;
border-bottom: none;
border-radius: 1.5rem 1.5rem 0 0;
text-decoration: none;
background: url("../common/arrow-down-gl.svg") left 1rem top 2.4rem / 15px auto no-repeat;
}
.tab-list li a:hover {
color: #fff;
text-decoration: none;
background: #00563b url("../common/arrow-down-wl.svg") left 1rem top 2.4rem / 15px auto no-repeat;
}
.tab-list li a.show {
color: #fff;
display: flex;
justify-content: space-between;
flex-direction: column;
align-items: stretch;
flex-grow: 2;
padding: 1.5rem 1.5rem 1rem 3.25rem;
border: #00563b 1px solid;
border-bottom: none;
border-radius: 1.5rem 1.5rem 0 0;
text-decoration: none;
background: #00563b url("../common/arrow-down-wl.svg") left 1rem top 2.4rem / 15px auto no-repeat;
}
.tab-box {
    display:none;
}
.tab-box.show {
    display: block;
    animation-name: displayAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
@keyframes displayAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.uldisc {
margin: 1.5rem 0 1.5rem 2.5rem;
}
.uldisc li{
margin: 0 0 0.3rem 0;
list-style: circle;
}
.point-list {
margin: 1.5rem 0 1.5rem 2.5rem;
}
.point-list li {
margin: 0 0 0.3rem 0;
list-style: disc;
font-weight: 600;
}
.point-list li::marker {
    color: #00563b;
    font-size: 1.1em;
}
ol.ollist {
margin: 1.5rem 0 1.5rem 2.5rem;
}
ol.ollist > li {
margin: 0 0 0.3rem 0;
list-style:decimal;
}
ol.ollist-l {
margin: 1.5rem 0 1.5rem 2.5rem;
}
ol.ollist-l > li {
margin: 0 0 1.25rem 0;
list-style:decimal;
}
ol.ollist-l > li::marker {
font-weight: bold;
color: #00563b;
}
.note-box2 ol.ollist-l > li strong {
font-size: 1.75em;
font-size: 1.75rem;
}
ol.ollist-crl {
margin: 1.5rem 0 1.5rem 0;
  list-style-type: none;
  border: none;
  counter-reset: number;
}
ol.ollist-crl > li {
  position: relative;
  margin: 0 0 1.25rem 0;
  padding-left: 2.75rem;
}
ol.ollist-crl > li:before {
  position: absolute;
  content: counter(number);
  counter-increment: number;
  left: 0;
  top:2px;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #00563b;
  color: #fff;
font-size: 1.2em;
font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  line-height: 21px;
}

.notes-list {
margin: 1rem 0;
}
.notes-list li {
    text-indent: -2rem;
    margin: 0 0 0.3rem 2rem;
font-size: 1.5em;
font-size: 1.5rem;
}

.note-box1 {
background: #e8e1d4;
padding: 3rem;
border-radius: 1.5rem;
}
.contents__side--nav .note-box1 {
padding: 2rem;
}
.note-box2 {
margin-bottom: 3rem;
background: #f7f4f4;
background: #fff;
border:#f4eeee 15px solid;
border:#f2efe9 15px solid;
padding: 3rem;
border-radius: 1.5rem;
}
.note-box2 .title {
    font-size: 2.0em;
    font-size: 2.0rem;
    margin-bottom:1.5rem;
	color: #00563b;
}
.note-box3 {
margin-bottom: 3rem;
background: #f1f6e6;
padding: 3rem;
border-radius: 1.5rem;
}
.note-box3 .title {
    font-size: 2.0em;
    font-size: 2.0rem;
    margin-bottom:1rem;
	color: #00563b;
}
.note-box4 {
padding: 2rem;
border-radius: 1rem;
background: #faf8f4;
}
.note-box4 .title {
    font-size: 1.8em;
    font-size: 1.8rem;
    margin-bottom:1rem;
	color: #00563b;
}
.note-box5 {
padding: 1.25rem;
border-radius: 1rem;
border:#eee 8px solid;
}
.table {
  width: 100%;
  margin: 1rem 0;
  padding: 0;
  border-top: rgba(0,0,0,0.1) 1px solid;
  border-left: rgba(0,0,0,0.1) 1px solid;
}
.table thead th {
    background: rgba(0,0,0,0.1);
  margin: 0;
  padding: 1rem 0;
  border-bottom: rgba(0,0,0,0.1) 1px solid;
  border-right: rgba(0,0,0,0.1) 1px solid;
  text-align: center;
  font-weight: normal;
font-size: 1.55em;
font-size: 1.55rem;
vertical-align: top;
}
.table tbody th {
font-size: 1.55em;
font-size: 1.55rem;
width: 25%;
  margin: 0;
  padding: 1.5rem 0;
  border-bottom: rgba(0,0,0,0.1) 1px solid;
  border-right: rgba(0,0,0,0.1) 1px solid;
  text-align: center;
vertical-align: top;
background: #faf8f4;
}
.table tbody th.th {
    background: rgba(0,0,0,0.1);
}
.table tbody td {
width: 75%;
  margin: 0;
  padding: 1.5rem 1rem;
  border-bottom: rgba(0,0,0,0.1) 1px solid;
  border-right: rgba(0,0,0,0.1) 1px solid;
vertical-align: top;
}
.table-g {
  width: 100%;
  margin: 1rem 0;
  padding: 0;
  border-top: rgba(0,0,0,0.1) 1px solid;
  border-left: rgba(0,0,0,0.1) 1px solid;
}
.table-g caption {
font-size: 1.55em;
font-size: 1.55rem;
  margin: 0;
  padding: 1rem 0;
  border: rgba(0,0,0,0.1) 1px solid;
  background: #e9e4db;
}
.table-g thead th {
  margin: 0;
  padding: 1rem 0;
  border-bottom: rgba(0,0,0,0.1) 1px solid;
  border-right: rgba(0,0,0,0.1) 1px solid;
  text-align: center;
font-size: 1.55em;
font-size: 1.55rem;
vertical-align: bottom;
background: #f3efe7;
}
.table-g tbody th {
font-size: 1.55em;
font-size: 1.55rem;
  margin: 0;
  padding: 1.5rem 0;
  border-bottom: rgba(0,0,0,0.1) 1px solid;
  border-right: rgba(0,0,0,0.1) 1px solid;
  text-align: center;
vertical-align: top;
background: #faf8f4;
}
.table-g tbody th.th {
    background: rgba(0,0,0,0.1);
}
.table-g tbody td {
  margin: 0;
  padding: 1.5rem 1rem;
  border-bottom: rgba(0,0,0,0.1) 1px solid;
  border-right: rgba(0,0,0,0.1) 1px solid;
vertical-align: top;
}
.table-g tbody td .numbers {
font-size: 1.65em;
font-size: 1.65rem;
}
.table-g tfoot th {
  margin: 0;
  padding: 1.5rem 0;
  border-top: rgba(0,0,0,0.1) 6px double;
  border-bottom: rgba(0,0,0,0.1) 1px solid;
  border-right: rgba(0,0,0,0.1) 1px solid;
  text-align: center;
font-size: 1.55em;
font-size: 1.55rem;
vertical-align: bottom;
background: #f3efe7;
}
.table-g tfoot td {
  margin: 0;
  padding: 1.5rem 1rem;
  border-top: rgba(0,0,0,0.1) 6px double;
  border-bottom: rgba(0,0,0,0.1) 1px solid;
  border-right: rgba(0,0,0,0.1) 1px solid;
vertical-align: top;
font-weight: 700;
}
.schedule th,
.schedule td {
text-align: center !important;
vertical-align: middle !important;
}
table ol.ollist {
margin: 0 0 0 2.5rem;
}
.card-list {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.card-list li {
width: 32%;
margin-right: 2%;
margin-bottom: 2rem;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: stretch;
text-align: center;
padding: 1.5rem 0;
border-radius: 1.5rem;
border:#ccc 1px solid;
}
.card-list li:nth-child(3n) {
margin-right: 0;
}
.card-list li .title {
font-size: 1.75em;
font-size: 1.75rem;
font-weight: 700;
line-height: 1.4;
margin-bottom: 1rem;
}
.card-list li .title-s {
font-size: 1.65em;
font-size: 1.65rem;
font-weight: 700;
line-height: 1.4;
margin-bottom: 0.3rem;
}
.card-list li .card-box {
flex-grow: 2;
}
.card-list li .card-body {
flex-grow: 2;
background: #f5f5f5;
padding: 1.5rem;
margin-bottom: -1.5rem;
border-radius: 0 0 1.5rem 1.5rem;
}
.card-list.merit-box {
justify-content: space-between;
counter-reset:cd_nbr;
}
.card-list.merit-box li {
position: relative;
    font-size: 1.8em;
    font-size: 1.8rem;
	font-weight: 600;
padding: 3rem 6rem;
width: 48%;
border: none;
/*border: #e1efc3 12px solid;*/
background:#f2f7e4;
justify-content: center;
}
.card-list.merit-box li::before {
	position: absolute;
	display:inline-block;
	bottom: -1rem;
	left: -0.5rem;
	counter-increment: cd_nbr;
	content: counter(cd_nbr);
	color: #fff;
    font-size: 10em;
    font-size: 10rem;
	line-height: 1;
	font-weight: 700;
}
.card-list.point-box {
justify-content: space-between;
flex-wrap: wrap;
}
.card-list.point-box li {
position: relative;
    font-size: 1.8em;
    font-size: 1.8rem;
	font-weight: 600;
padding: 3rem 6rem;
width: 32%;
margin-right: 2%;
margin-bottom: 2rem;
border: none;
background:#f2f7e4;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: stretch;
text-align: left;
}
.card-list.point-box li:nth-child(3n) {
margin-right: 0;
}

.flow_list {
    display: flex;
	flex-direction: column;
    justify-content: center;
}
.flow_list > li {
font-weight: bold;
padding: 1.15rem 0;
text-align: center;
margin-bottom: 21px;
background: #e8e1d4;
border-radius: 5px;
position: relative;
}
.flow_list > li::after {
border-top: 10px solid #00563b;
border-left: 12px solid transparent;
border-right: 12px solid transparent;
content: "";
position: absolute;
bottom: -15px;
left: 50%;
margin-left: -14px;
}
.flow_list > li:last-child:after {
    border: none; /* 最後のボックスだけ三角形を表示しない */
}
.dl {
  width: 100%;
  margin: 1rem 0;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  border-top: rgba(0,0,0,0.1) 1px solid;
  border-left: rgba(0,0,0,0.1) 1px solid;
}
.dl dt {
width: 25%;
font-size: 1.4em;
font-size: 1.4rem;
  margin: 0;
  padding: 1.5rem 0;
  border-bottom: rgba(0,0,0,0.1) 1px solid;
  border-right: rgba(0,0,0,0.1) 1px solid;
  text-align: center;
vertical-align: top;
background: #faf8f4;
}
.dl dd {
width: 75%;
  margin: 0;
  padding: 1.5rem 1rem;
  border-bottom: rgba(0,0,0,0.1) 1px solid;
  border-right: rgba(0,0,0,0.1) 1px solid;
vertical-align: top;
}
.formbox {
  padding: 3rem 3rem 4rem 3rem;
  background: #faf8f4;
  border-radius: 1.5rem;
}
.form-dl {
  width: 100%;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}
.form-dl dt {
width: 20%;
font-size: 1.6em;
font-size: 1.6rem;
font-weight: bold;
  margin: 0 0 2rem 0;
  padding: 0;
  text-align: center;
vertical-align: middle;
background: #faf8f4;
}
.form-dl dt span {
text-align: center;
font-size: 1.2em;
font-size: 1.2rem;
font-weight: normal;
line-height: 1;
display: block;
width: 60px;
margin: 0.15rem auto 0;
background: #666;
color: #fff;
border-radius: 2rem;
padding: 0.3rem 0;
}
.form-dl dt small {
display: inline-block;
margin-top: 0.8rem;
line-height: 1.5;
}
.form-dl dd {
width: 80%;
  margin: 0 0 2rem 0;
  padding: 0;
vertical-align: middle;
}
.form-dl dd p {
margin: 0 0 0.3rem 0;
}
.form-dl dd p:last-child {
margin: 0;
}
.form-dl dd span {
font-size: 1.4em;
font-size: 1.4rem;
display: block;
}
.form-dl dd span.clearstyle {
display: inline;
}
.form-dl .form-dd {
background: #fff;
padding: 1.5rem;
border-radius: 1rem;
}
.formbox input,
.formbox textarea {
font-size: 1.6em;
font-size: 1.6rem;
width:100%;
padding: 1.5rem 1.5rem;
}
.formbox input[type="date"] {
width:20%;
}
.formbox select {
font-size: 1.6em;
font-size: 1.6rem;
width:20%;
padding: 1.5rem 1.5rem;
}
.formbox textarea {
height: 200px;
}
.form-dl dd .excuse {
    display: block;
font-size: 1.4em;
font-size: 1.4rem;
margin: 0.3rem 0 0 0;
    color: #00563b;
}
input, textarea,select {
    border: 1px solid #bbb;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	vertical-align: middle;
}
input:hover,
textarea:hover,
select:hover,
input:focus,
textarea:focus,
select:focus {
    border-color: #00563b;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(255, 255, 255, .075), 0 0 8px rgba(255, 255, 255, .6);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, .075), 0 0 8px rgba(255, 255, 255, .6);
}
.formbox input[type="checkbox"] {
background: #fff;
padding: 0 !important;
margin-right: 1rem;
  position: relative;
  top:0;
  width: 24px !important;
  height: 24px;
    border: 1px solid #bbb;
    border-radius: 4px;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.formbox input[type="checkbox"]:checked:before {
  position: absolute;
  top: 1px;
  left: 35%;
  transform: rotate(50deg);
  width: 8px;
  height: 16px;
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  content: '';
}
.formbox input[type="radio"] {
background: #fff;
padding: 0 !important;
margin-right: 1rem;
  position: relative;
  top:0;
  width: 24px !important;
  height: 24px;
    border: 1px solid #bbb;
    border-radius: 100%;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.formbox input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background: #00563b;
  border-radius: 100%;
  content: '';
}
.formbox input[type="file"] {
border: none;
margin: 0 0 0.75rem 0;
padding: 0;
box-shadow: 0 0 0 #000;
font-size: 1.8em;
font-size: 1.8rem;
}

.formbox .shoumeisho_type label,
.formbox .shoumeisho_mokuteki label{
    display: inline-block;
    width: 40%;
}
.formbox .shoumeisho_type label + select {
    width: 20%;
}

.formbox .shoumeisho_type label + select + input[type="text"] {
    width: 38%;
}
.formbox .shoumeisho_mokuteki label + input[type="text"] {
    display: inline-block;
    width: 58%;
}
.formbox .kobetsuq {
    font-size: 2em;
    font-size: 2rem;
font-weight: 800;
}
.form-dl dd .zip {
width: 20%;
}
.form-dl dd i {
    display: inline-block;
    margin: 0 0 0 2rem;
    cursor: pointer;
    color: #00563b;
	background: #fff url("../common/arrow-g-l.svg") left 1rem top 11px / 15px auto no-repeat;
	padding: 0.5rem 2rem 0.5rem 3rem;
	text-decoration: none;
	font-style: normal;
	border:#00563b 2px solid;
	border-radius: 6rem;
}
.form-dl dd em {
    display: inline-block;
    width: 14%;
	margin-right: 1%;
font-size: 1.6em;
font-size: 1.6rem;
text-align: center;
background: #ededed;
color: #222;
padding: 1.15rem 0;
border-radius: 0.3rem;
}
.form-dl dd em + input[type="text"] {
    display: inline-block;
    width: 85%;
}
.submit small {
    display: block;
    margin: 1rem auto;
    font-size: 1.4em;
    font-size: 1.4rem;
}
.submit {
margin-top: 1rem;
text-align: center;
display: flex;
justify-content:center;
flex-wrap: wrap;
}
.submit p {
width: 100%;
}
.submit .submitBtn input,
.submit .backBtn input {
margin-top: 3rem;
    padding: 3% 3%;
    display: block;
    width: 100%;
}
.submit input[type="submit"] {
width: 49%;
margin: 3rem auto 0 auto;
    padding: 2rem 4rem;
    display: block;
    background: #00563b;
    color: #fff;
    border-radius: 5rem;
    transition: .2s;
    border: #00563b 2px solid;
    font-size: 2em;
    font-size: 2rem;	
	font-family: "Noto Sans JP", YuGothic, Meiryo, sans-serif;
    line-height: 1.6;
    font-weight: bold;
    cursor: pointer;
}
.submit input.backBtn {
width: 49%;
margin: 3rem auto 0 auto;
    padding: 2rem 4rem;
    display: block;
    background: #fff;
    color: #00563b;
    border-radius: 5rem;
    transition: .2s;
    border: #00563b 2px solid;
    font-size: 2em;
    font-size: 2rem;	
	font-family: "Noto Sans JP", YuGothic, Meiryo, sans-serif;
    line-height: 1.6;
    font-weight: bold;
    cursor: pointer;
}
.submit input.confirmBtn.disabled {
    opacity: 0.3;
    pointer-events: none;
}
.otherRadioButton {
    display: none;
}


.youtubebox {
margin: 0 0 1rem 0;
padding: 0;
     position: relative;
     padding-bottom: 56.25%;
     height: 0;
     overflow: hidden;
}
.youtubebox iframe,
.youtubebox object,
.youtubebox embed {
     position: absolute;
     top: 0;
     left: 0;
     width: 100% !important;
     height: 100% !important;
	 border-radius: 1.5rem;
}
.ov-y-scroll {
overflow-y: hidden;
}
.ov-y-scroll .comment {
	display: none;
}
ul.text-indent {
margin: 0;
padding: 0;
}
ul.text-indent li {
text-indent: -2rem;
margin: 0 0 0.3rem 2rem;
}
p.text-indent {
text-indent: -2rem;
margin-left: 2rem;
}

.thumbnail {
cursor: pointer;
}
.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

/* モーダル内の画像 */
.modal .modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  margin: auto;
  max-width: 80%;
  max-height: 80%;
  border-radius: 1.5rem;
  animation: fade-in 0.5s;
  animation-fill-mode: forwards;
  width: auto;
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* 閉じるボタン */
.modal .close {
  position: absolute;
  display: block;
  content: "";
  top: 3rem;
  right: 3rem;
  width: 60px;
  height: 60px;
  cursor: pointer;
  background: url("../common/clear.svg") left top / 60px auto no-repeat;
}

/* キャプション */
.modal .caption {
  text-align: center;
  color: #ccc;
  padding: 10px 0;
  font-size: 20px;
}

.pagenation {
    display: flex;
    justify-content: center;
	flex-wrap: wrap;
	margin-top: 8rem;
}
.pagenation span {
    padding: 0.5rem 1.4rem;
    margin: 0 0.4rem 0.5rem 0.4rem;
    background: #00563b;
    color: #fff;
    border: #00563b 2px solid;
	border-radius: 10rem;
}
.pagenation a {
    padding: 0.5rem 1.4rem;
    margin: 0 0.4rem 0.5rem 0.4rem;
    border: #00563b 2px solid;
	border-radius: 10rem;
	text-decoration: none !important;
}
.pagenation .next,
.pagenation .prev {
display: none;
}
.page-numbers {
    display: flex;
    justify-content: center;
}
.page-numbers a.next,
.page-numbers a.prev {
position: relative;
width: 45px;
height: 45px;
}
.page-numbers a.next::before {
position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
content: ">";
font-size: 2em;
font-size: 2rem;
font-weight: 800;
}
.page-numbers a.prev::before {
position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
content: "<";
font-size: 2em;
font-size: 2rem;
font-weight: 800;
}
.flexbox {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
width: 100%;
}
.f-wrap {
flex-wrap: wrap !important;
}
.fd-column {
flex-direction: column !important;
}
.jc-center {
    justify-content: center !important;
}
.jc-between {
    justify-content: space-between !important;
}
.jc-start {
    justify-content:flex-start !important;
}
.jc-end {
    justify-content:flex-end !important;
}
.col-1 {
width: 5.125% !important;
}
.col-2 {
width: 13.75% !important;
}
.col-3 {
width: 22.375% !important;
}
.col-4 {
width: 31% !important;
}
.col-5 {
width: 39.625% !important;
}
.col-6 {
width:48.25% !important;
}
.col-7 {
width: 56.875% !important;
}
.col-8 {
width: 65.5% !important;
}
.col-9 {
width: 74.125% !important;
}
.col-10 {
width: 82.75% !important;
}
.col-11 {
width: 91.375% !important;
}
.col-12 {
width: 100% !important;
}
.col-mr {
margin-right:3.5% !important;
}
.order-1 {
order: 1 !important;
}
.order-2 {
order: 2 !important;
}
.text-underline {
text-decoration: underline;
}
.text-start {
text-align: left !important;
}
.text-center {
text-align: center !important;
}
.text-end {
text-align: right !important;
}
.valign-middle {
vertical-align: middle !important;
}
.mb-l {
margin-bottom: 8rem !important;
}
.mb-m {
margin-bottom: 4rem !important;
}
.mb-s {
margin-bottom: 2rem !important;
}
.mb-ss {
margin-bottom: 1rem !important;
}
.mb-0 {
margin-bottom: 0 !important;
}
.mt-l {
margin-top: 8rem !important;
}
.mt-m {
margin-top: 4rem !important;
}
.mt-s {
margin-top: 2rem !important;
}
.mt-ss {
margin-top: 1rem !important;
}
.mt-0 {
margin-top: 0 !important;
}
.mr-0 {
margin-right: 0 !important;
}
.pl-0 {
padding-left: 0 !important;
}
.pr-0 {
padding-right: 0 !important;
}
.text-lll {
font-size: 4em !important;
font-size: 4rem !important;
}
.text-ll {
font-size: 2.2em !important;
font-size: 2.2rem !important;
}
.text-l {
font-size: 1.8em !important;
font-size: 1.8rem !important;
}
.text-s {
font-size: 1.4em !important;
font-size: 1.4rem !important;
}
.text-ss {
font-size: 1.2em !important;
font-size: 1.2rem !important;
}
.red {
color: #dd0000;
}
.yellow {
color: #ffff33;
}
.green {
color: #00563b;
}


@media screen and (max-width:1440px) {
.footer > nav ul {
    margin-left: 2.5rem;
}
article .contents__container .section-margin,
article .contents__container > section {
    margin-bottom: 12rem;
}
article .contents__container > section > section {
    margin-bottom: 6rem;
}
.contents__container > .h2-title__container {
    margin-top: 8rem;
    margin-bottom: 6rem;
}
.contents__container > .h2-title__container:first-of-type {
    margin-bottom: 6rem;
}


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

article > .contents__container, article > .contents__wrapper > .contents__container {
    padding: 6rem 5% 8rem 5%;
}
article > .contents__container, article > .contents__wrapper > .contents__container {
    padding: 6rem 5% 8rem 5%;
}
.contents__side--nav {
    width: 25%;
    padding: 6rem 5% 8rem 0;
}

article .contents__container .section-margin,
article .contents__container > section {
    margin-bottom: 10rem;
}
article .contents__container > section > section {
    margin-bottom: 4rem;
}
.contents__container > .h2-title__container {
    margin-top: 6rem;
    margin-bottom: 4rem;
}
.contents__container > .h2-title__container:first-of-type {
    margin-bottom: 4rem;
}


.mb-l {
margin-bottom: 6rem !important;
}
.mb-m {
margin-bottom: 3.6rem !important;
}
.mb-s {
margin-bottom: 1.8rem !important;
}
.mb-ss {
margin-bottom: 0.8rem !important;
}
.mt-l {
margin-top: 6rem !important;
}
.mt-m {
margin-top: 3.6rem !important;
}
.mt-s {
margin-top: 1.8rem !important;
}
.mt-ss {
margin-top: 0.8rem !important;
}


.nav {
    padding-right: 210px;
}
.nav--user-groups li {
    font-size: 1.25em;
    font-size: 1.25rem;
    margin-left: 1.15rem;
}
.nav--main li {
    font-size: 1.35em;
    font-size: 1.35rem;
    margin-left: 1.15rem;
}
.lead-l br {
    display: none;
}
.link-btn-list {
justify-content: space-between;
}
.link-btn-list li {
    width: 49%;
margin-right: 0;
}
.h2-title__container .h2-title br {
display: none;
}
body.en .banner__container div p {
    font-size: 2.8em;
    font-size: 2.8rem;
}

}
@media screen and (max-width:1110px) {
.nav--user-groups,
.nav--main {
    display: none;
}
.header .nav.active .nav--user-groups,
.header .nav.active .nav--main {
    display: block;
}
main > .title__container {
    height: 500px;
}
body.en main > .title__container.low__area .h1-title,
main > .title__container .h1-title.en,
main > .title__container p.en {
    font-size: 5.8em;
    font-size: 5.8rem;
}
main > .title__container p.en.s-size {
font-size: 4.4em;
font-size: 4.4rem;
}
main > .title__container.low__area .h1-title {
    font-size: 5.0em;
    font-size: 5.0rem;
    letter-spacing: 0px;
}
.h2-title__container .h2-title {
    font-size: 4.6em;
    font-size: 4.6rem;
    line-height: 1.15;
    margin-bottom: 2.5rem;
}
body.en .h2-title__container .h2-title {
    font-size: 4.6em;
    font-size: 4.6rem;
}

body.en .banner__container div p {
    font-size: 2.4em;
    font-size: 2.4rem;
}


.photo-link-box .title {
    font-size: 2.8em;
    font-size: 2.8rem;
    line-height: 1.4;
}
.photo-link-box {
margin-bottom: 3rem;
}
.photo-link-box.col-4 {
width: 48% !important;
}

}

@media screen and (max-width:1024px) {


.footer {
    padding: 5rem 5%;
	flex-direction: column;
}
.footer > div {
    width:100%;
	order: 2;
}
.footer > nav {
    width: 100%;
    justify-content: flex-start;
	order: 1;
	flex-direction: column;
}
.footer__name small {
    font-size: 1.4em;
    font-size: 1.4rem;
}
.footer__name {
    font-size: 2.6em;
    font-size: 2.6rem;
}
.footer__ed--mark {
    margin: 0.5rem 0rem 0.5rem 1.5rem;
}
.footer__ed--mark li {
    font-size: 1.2em;
    font-size: 1.2rem;
}
.footer__info strong {
    font-size: 2.0em;
    font-size: 2.0rem;
}
.footer__info .tel small {
    margin-left: 0.5rem;
}
.footer__info .add {
    font-size: 1.4em;
    font-size: 1.4rem;
}
.footer__info .add .map {
    margin-left: 0.2rem;
    font-size: 1.2em;
    font-size: 1.2rem;
    padding: 0.1rem 1rem 0.1rem 1rem;
}
.footer__info .add small {
    margin-top: 0.2rem;
    font-size: 1.2em;
    font-size: 1.2rem;
    line-height: 1.4;
}
.copyright {
    margin-top: 1.5rem;
}
.footer > nav ul {
    margin-left: 0;
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
}
.footer > nav ul li {
width: 25%;
    line-height: 1.2;
    margin-bottom: 1.25rem;
}
.footer > nav .footer__wrapper ul.footer__lg-switcher {
    justify-content: center;
	margin: 1.5rem 0;
    }
.footer > nav ul.footer__lg-switcher li {
width: auto;
}
.footer > nav .footer__wrapper ul.footer__nav--social {
    justify-content: center;
	margin: 0 0 1.5rem 0;
}
.footer > nav .footer__wrapper ul.footer__nav--social li {
width: auto;
}
.footer__wrapper {
    margin-top: 3rem;
}


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

main > .title__container {
height: 450px;
}
body.en main > .title__container.low__area .h1-title,
main > .title__container .h1-title.en,
main > .title__container p.en {
font-size: 4.6em;
font-size: 4.6rem;
}
main > .title__container p.en.s-size {
font-size: 3.6em;
font-size: 3.6rem;
}
body.en main.campuslife.program > .title__container.low__area .h1-title,
body.en main.campuslife.support > .title__container.low__area .h1-title,
body.en main.admission.international > .title__container.low__area .h1-title {
        font-size: 3.4em;
        font-size: 3.4rem;
		line-height: 1.2;
}
main > .title__container .h1-title {
    margin-top: 1.5rem;
    font-size: 2.6em;
    font-size: 2.6rem;
}
main > .title__container.low__area p.en {
    font-size: 2.4em;
    font-size: 2.4rem;
	line-height: 1.25;
}
main > .title__container.low__area .h1-title {
        font-size: 3.6em;
        font-size: 3.6rem;
}
.contents__wrapper {
	flex-direction: column;
}
article > .contents__wrapper > .contents__container {
padding: 5rem 5% 6rem 5%;
width: 100%;
}
.contents__side--nav {
padding: 0 5% 6rem 5%;
width: 100%;
}
.contents__side--nav nav > ul.side-link-list,
.related-link-box ul.related-link-list {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.contents__side--nav nav ul.side-link-list li,
.related-link-box ul.related-link-list li {
width: 50%;
}
article .contents__container .section-margin,
article .contents__container > section {
        margin-bottom: 8rem;
}
article > .contents__container,
article > .contents__wrapper > .contents__container {
        padding: 4rem 5% 8rem 5%;
    }
.h2-title__container .h2-title {
        font-size: 4.0em;
        font-size: 4.0rem;
        margin-bottom: 2.0rem;
}
body.en .h2-title__container .h2-title {
        font-size: 4.0em;
        font-size: 4.0rem;
    }
.h2-title__container .h2-title br {
display: none;
}
.h3-title {
    font-size: 3.2em;
    font-size: 3.2rem;
}
.h3-title::before {
    top: 1.7rem;
}
.h3-title br {
    display: none;
}
.lead {
    font-size: 1.9em;
    font-size: 1.9rem;
	line-height: 1.6;
}
.lead-comment {
        font-size: 1.95em;
        font-size: 1.95rem;
        margin-top: 2rem;
        margin-bottom: 2rem;
        padding: 0 40px;
}
.lead-comment:before,
.lead-comment:after {
    width: 35px;
}

.photo img,
img.bd-rd {
border-radius: 1rem;
}
.form-dl {
flex-direction: column;
}
.form-dl dt {
    width: 100%;
    margin: 0 0 0.5rem 0;
	padding: 0.2rem 1rem;
	text-align: left;
	background: #eaeaea;
	border-radius: 0.5rem;
	position: relative;
}
.form-dl dt br {
    display: none;
}
.form-dl dd {
    width: 100%;
    margin: 0 0 1rem 0;
}
.form-dl .form-dd {
    padding: 1rem;
    border-radius: 0.5rem;
}
.form-dl dt span {
    display: inline-block;
	position: absolute;
	top:0.5rem;
	right: 1rem;
}
.formbox select {
    width: 100%;
}
.formbox select[name="生年月日[][年]"],
.formbox select[name="生年月日[][月]"],
.formbox select[name="生年月日[][日]"] {
    width: 22%;
}
.formbox select[name="入学年月[][年]"],
.formbox select[name="入学年月[][月]"] {
        width: 38%;
}
.form-dl dd .zip {
    width: 40%;
}
.submit input[type="submit"],
.submit input.backBtn {
    margin: 0rem auto 0 auto;
    padding: 2rem;
}
.formbox input, .formbox textarea {
    padding: 1.25rem 1.25rem;
}
.formbox select {
    padding: 1.25rem 1.25rem;
}
.formbox textarea {
    height: 150px;
}
body.en .banner__container div {
    margin-bottom: 1.5rem;
}
body.en .banner__container div p {
    font-size: 2.0em;
    font-size: 2.0rem;
}
body.en .banner__container ul {
    width: 100%;
}

}
@media screen and (max-width:768px) {
body {
font-size: 1.6em;
font-size: 1.6rem;
line-height: 1.7;
letter-spacing: 0;
}
body.en {
line-height: 1.65;
}
.brclr {
display: block;
}
article p {
font-size: 1.6em;
font-size: 1.6rem;
line-height: 1.7;
}

.header__wrapper {
    display: block;
}
.header__logo {
    width: 200px;
    padding: 0.8rem 1rem 1rem 0.8rem;
    border-radius: 0 0 1.5rem 0;
	line-height: 0;
}
.menu {
    right: 0.6rem;
    top: 0.6rem;
    width: 45px;
    height: 45px;
}
.menu span {
    display: block;
    position: absolute;
    width: 25px;
    height: 2px;
    left: 10px;
    background: #00563b;
    border-radius: 4px;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}
.menu span:nth-child(1) {
    top: 13px;
}
.menu span:nth-child(2) {
    top: 21px;
}
.menu span:nth-child(3) {
    top: 29px;
}
.menu.active span:nth-child(1) {
    top: 21px;
    left: 10px;
}
.menu.active span:nth-child(2),
.menu.active span:nth-child(3) {
    top: 21px;
}
.language-switcher {
    width: 105px;
    position: absolute;
    top: 1.25rem;
    right: 5.75rem;
}
.nav.active .language-switcher {
    right: 5.75rem;
}
.language-switcher ul li {
    width: 34px;
    margin-left: 0.2rem;
}
.language-switcher ul li a {
    padding: 0.2rem 0;
}
.nav--side-btn {
display: none;
}
.nav.active .nav--side-btn {
display: block;
}


.header .nav.active {
    padding: 2rem;
}
.header .nav.active .nav__wrapper {
    display: flex;
	flex-direction: column;
}
.header .nav.active .nav--user-groups {
    margin-top: 1rem;
    margin-left: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.header .nav.active .nav--user-groups li {
    font-size: 1.4em;
    font-size: 1.4rem;
    margin-bottom: 1rem;
	width: 50%;
}

.header .nav.active .nav--main {
margin-top: 4rem;
}
.header .nav.active .nav--main li {
    font-size: 1.8em;
    font-size: 1.8rem;
}
.header .nav.active .nav--main > li {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}
.header .nav.active .nav--main li > ul {
    margin-top: 0.75rem;
	flex-direction: column;
}
.header .nav.active .nav--main li > ul li {
    margin-right: 0rem;
    margin-bottom: 0.3rem;
    font-size: 1.4em;
    font-size: 1.4rem;
}
.header .nav.active .nav--side-btn {
    margin-top: 1rem;
    width: 100%;
	margin-left: 0;
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	order: 3;
}
.header .nav.active .nav--side-btn li {
    width: 49%;
}
.sp--footer-btn {
padding: 1rem;
position: fixed;
footer:0;
left: 0;
width: 100%;
display: flex;
justify-content:space-between;
}
.sp--footer-btn li {
width: 49%;
}

.banner__container {
    margin: 2rem 5% 1rem 5%;
}
.banner__container ul {
    display: flex;
    flex-direction: column;
}
.banner__container ul li {
    width: 100%;
    margin-bottom: 1rem;
}
article > .contents__container,
article > .contents__wrapper > .contents__container {
        padding:3rem 5% 4rem 5%;
}
.contents__side--nav {
padding: 0 3% 3rem 3%;
}
main > .title__container.low__area {
    height: 280px;
}
main > .title__container.low__area {
        padding: 14rem 2% 14rem 2%;
}
main > .title__container.low__area p.en {
    font-size: 2.0em;
    font-size: 2.0rem;
}
main > .title__container.low__area .h1-title {
    font-size: 3.2em;
    font-size: 3.2rem;
    letter-spacing: 1px;
}
main > .title__container.low__area .h1-title span {
    font-size: 2.0em;
    font-size: 2.0rem;
    letter-spacing: 1px;
	line-height: 1.3;
}
main > .title__container {
height: 300px;
background-size: cover !important;
}
main > .title__container div {
/*padding: 0 2rem;*/
}

.breadcrumb {
    margin: -3.0rem 5% 0 5%;
    padding: 0.5rem 0.5rem 0.5rem 1rem;
    border-radius: 1.5rem 1.5rem 0 0;
}
.breadcrumb:before,
.breadcrumb:after {
    display: none;
}
.section__wrapper {
display: block;
}
.section__wrapper .text,
.section__wrapper .photo {
justify-content: flex-start;
width: 100%;
margin-bottom: 2rem;
}

.contents__container > .h2-title__container {
    margin-top: 3rem;
    margin-bottom: 2rem;
}
.contents__container > .h2-title__container:first-of-type {
    margin-top: 0rem;
    margin-bottom: 2rem;
}
.contents__container p.en {
    font-size: 1.6em;
    font-size: 1.6rem;
	font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.3;
}
.h2-title__container .h2-title {
    font-size: 3.0em;
    font-size: 3.0rem;
	line-height: 1.2;
    margin-bottom: 1.35rem;
}
body.en .h2-title__container .h2-title {
    font-size: 3.0em;
    font-size: 3.0rem;
}
.h2-title__container .description {
    font-size: 1.8em;
    font-size: 1.8rem;
	line-height: 1.5;
    margin-bottom: 1.25rem;
}
body.en .h2-title__container .description {
    font-size: 1.8em;
    font-size: 1.8rem;
	line-height: 1.5;
    margin-bottom: 1.25rem;
}
.h3-title {
    font-size: 2.4em;
    font-size: 2.4rem;
    margin-bottom: 1.25rem;
	padding-left: 1.5rem;
}
.h3-title::before {
    top: 1.15rem;
    width: 7px;
    height: 7px;
}
.h4-title {
    font-size: 2.0em;
    font-size: 2.0rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
}
.h5-title {
    font-size: 1.85em;
    font-size: 1.85rem;
    margin-top:1.5rem;
    margin-bottom: 1rem;
}
.lead-l {
    font-size: 1.8em;
    font-size: 1.8rem;
    font-weight: 500;
    margin-bottom: 0.75rem;
}
article .contents__container .section-margin,
article .contents__container > section {
    margin-bottom: 6rem;
}
article .contents__container > section > section {
        margin-bottom: 4rem;
    }
.note-box2 {
    margin-bottom: 1.5rem;
    border: #f4eeee 5px solid;
    border: #f2efe9 5px solid;
    padding: 2rem 1.5rem;
}
ol.ollist-l {
    margin: 1rem 0 1rem 2rem;
}
.note-box2 ol.ollist-l > li strong {
    font-size: 1.65em;
    font-size: 1.65rem;
}
.note-box2 .link-btn-list {
    margin: 0.5rem 0 0 0 !important;
}
.link-btn-list {
    margin: 1.5rem 0 0 0;
	flex-direction: column;
}
.link-btn-list li {
    width: 100%;
    margin-right: 0;
	margin-bottom: 0.5rem;
}
.link-btn-list li a {
    padding: 1.35rem 0 1.35rem 3rem;
    background: #fff url(../common/arrow-g.svg) left 1rem top 1.85rem / 15px auto no-repeat;
}
.link-btn-list-l li {
    font-size: 1.65em;
    font-size: 1.65rem;
}
.link-btn-list-l li a {
    padding: 1.35rem 0 1.35rem 3rem;
    background: #fff url(../common/arrow-g.svg) left 1rem top 1.85rem / 15px auto no-repeat;
}
.link-btn-list-ll {
    margin: 2rem 0;
}
.link-btn-list-ll li {
    font-size:2.4em;
    font-size: 2.4rem;
}
.link-btn-list-ll li a {
    display: block;
    border: #00563b 3px solid;
    padding: 1.5rem 0 1.5rem 4.2rem;
    border-radius: 10rem;
    background: #00563b url(../common/arrow-w.svg) left 1.5rem top 2.6rem / 20px auto no-repeat;
    color: #fff;
    text-decoration: none;
}
.uldisc {
    margin: 0.5rem 0 0.5rem 2.25rem;
}
.point-list {
    margin: 0.5rem 0 0.5rem 2.25rem;
}
ol.ollist > li {
    margin: 0 0 0.3rem 0;
}
.contents__side--nav nav ul.side-link-list li a {
    display: block;
    padding: 1.25rem 1rem 1.25rem 2rem;
    color: #00563b;
    background: url(../common/arrow-up-gl.svg) left top 1.75rem / 15px auto no-repeat;
}
.footer {
        padding: 3rem 5%;
}
.footer > nav ul li {
width:50%;
margin-bottom: 1rem;
}
.footer__wrapper {
margin-top: 0rem;
}
.ov-y-scroll {
overflow-y: scroll;
}
.ov-y-scroll table {
white-space: nowrap;
}
.ov-y-scroll .comment {
    font-size: 1.4em;
    font-size: 1.4rem;
	display: block;
	margin-bottom: 0.5rem;
}
.tab-list {
    margin-bottom:1rem;
}
.tab-list li {
    width: 32%;
    margin-right: 2%;
    font-size: 1.5em;
    font-size: 1.5rem;
	line-height: 1.3;
}
.tab-list li a {
    padding: 1.15rem 0.5rem 1.15rem 2.25rem;
    background: url(../common/arrow-down-gl.svg) left 0.5rem top 1.45rem / 13px auto no-repeat;
	border-radius: 1rem 1rem 0 0;
}
.tab-list li a:hover,
.tab-list li a.show {
    padding: 1.15rem 0.5rem 1.15rem 2.25rem;
	border-radius: 1rem 1rem 0 0;
    background: #00563b url(../common/arrow-down-wl.svg) left 0.5rem top 1.45rem / 13px auto no-repeat;
}

.table tbody tr {
    display: flex;
	flex-direction: column;
}
.table tbody th {
    width: 100%;
    padding: 0.2rem 0;
}
.table tbody td {
    width: 100%;
    padding: 0.65rem 0.5rem;
}
.table-g thead th {
    padding: 0.2rem 0;
}
.table-g tbody th {
    padding: 0.2rem 0;
}
.table-g tbody td {
    padding: 0.65rem 0.5rem;
}
p.text-indent {
    text-indent: -1.75rem;
    margin-left: 1.75rem;
}
.breadcrumb ol {
    display: block;
}
.breadcrumb ol li {
    display: inline-block;
}

#pagetop {
    right: 0.6rem;
    bottom: 0.6rem;
}
#pagetop a {
    width: 45px;
    height: 45px;
}
#pagetop a::before {
    top: 17px;
    left: 15px;
    width: 17px;
    height: 17px;
}
.card-list {
	flex-direction: column;
}
.card-list li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0.75rem;
    padding: 1.5rem 0rem;
}
.card-list li p {
    margin-bottom: 0.5rem;
}
.card-list.merit-box li {
    padding: 2rem 4rem;
    width: 100%;
}
.card-list.merit-box li::before {
    font-size: 7em;
    font-size: 7rem;
}
.card-list.point-box li {
    font-size: 1.75em;
    font-size: 1.75rem;
	font-weight: 600;
	width: 100%;
    margin-right: 0;
    margin-bottom: 0.75rem;
    padding: 1.5rem 0rem;
}
.flexbox > div:first-child {
margin-bottom: 2rem;
}
.flexbox {
display:block;
}
.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12 {
width: 100% !important;
margin-bottom: 2rem;
}
.photo-link-box.col-4 {
width: 100% !important;
}
.fl-wrapper {
display:flex !important;
flex-direction: row !important;
justify-content: space-between !important;
}
.fl-wrapper .col-1,.fl-wrapper .col-2,.fl-wrapper .col-3,.fl-wrapper .col-4,.fl-wrapper .col-5,.fl-wrapper .col-6,.fl-wrapper .col-7,.fl-wrapper .col-8,.fl-wrapper .col-9,.fl-wrapper .col-10,.fl-wrapper .col-11,.fl-wrapper .col-12 {
width: 48.5% !important;
}
.col-mr {
margin-right:0;
}

.submit input[type="submit"] {
    padding: 1rem 0;
	font-size: 1.75em;
    font-size: 1.75rem;
}
body.en .banner__container div {
		margin-bottom: 0.5rem;
}
body.en .banner__container div p {
        font-size: 1.4em;
        font-size: 1.4rem;
		margin-bottom: 0.5rem;
}
body.en .banner__container div p::before,
body.en .banner__container div p::after {
    width: 2px;
    height:40px;
}

.pagenation {
    margin-top: 4rem;
        font-size: 1.4em;
        font-size: 1.4rem;
}
.pagenation span {
    padding: 0.3rem 1.2rem;
    margin: 0 0.2rem 0.5rem 0.2rem;
}
.pagenation a {
    padding: 0.3rem 1.2rem;
    margin: 0 0.2rem 0.5rem 0.2rem;
}
.mb-l {
margin-bottom: 4rem !important;
}
.mb-m {
margin-bottom: 2rem !important;
}
.mb-s {
margin-bottom: 1rem !important;
}
.mb-ss {
margin-bottom: 0.5rem !important;
}
.mt-l {
margin-top: 4rem !important;
}
.mt-m {
margin-top: 2rem !important;
}
.mt-s {
margin-top: 1rem !important;
}
.mt-ss {
margin-top: 0.5rem !important;
}

.text-ll {
font-size: 2.0em !important;
font-size: 2.0rem !important;
}
.text-l {
font-size: 1.75em !important;
font-size: 1.75rem !important;
}
.text-s {
font-size: 1.2em !important;
font-size: 1.2rem !important;
}
.text-ss {
font-size: 1.0em !important;
font-size: 1.0rem !important;
}
.img-sp {
width: 100%;
padding-left: 20%;
padding-right: 20%;
margin-left: auto;
margin-right: auto;
text-align: center;
background: #efefef;
border-radius: 1rem;
}



}


@media screen and (max-width:576px) {


body.en main > .title__container.low__area .h1-title,
main > .title__container .h1-title.en, main > .title__container p.en {
        font-size: 3.6em;
        font-size: 3.6rem;
}
main > .title__container p.en.s-size {
font-size: 2.4em;
font-size: 2.4rem;
}
main > .title__container .h1-title {
        font-size: 2.2em;
        font-size: 2.2rem;
}
body.en .footer__name {
		letter-spacing: 0;
		text-align: center;
		margin-bottom:1rem;
}
body.en .footer__name small {
        font-size: 1.1em;
        font-size: 1.1rem;
		display:inline-block;
        line-height: 1.4 !important;
}
body.en .footer__info .tel{
text-align: center;
margin-bottom: 1rem;
}
body.en .footer__info .tel small {
display: block;
}
body.en .footer__ed--mark {
        margin:1rem 0rem 1rem 1.5rem;
    }
.formbox .shoumeisho_type label {
    width: 60%;
}
.formbox .shoumeisho_type label + select {
    width: 38%;
}
.formbox .shoumeisho_type label + select + input[type="text"] {
    width: 100%;
	margin-top: 0.3rem;
}
.formbox .shoumeisho_mokuteki label {
    width: 50%;
}
.formbox .shoumeisho_mokuteki label + input[type="text"] {
    width: 48%;
}



}




