@charset "utf-8";
/* CSS Document */
@media screen and (min-width: 769px) {
/*-------------------------------------------------------*/

.english_intro .secTitleArea {
    background-image: url(../img/english/header_bg.jpg);
}
.secCont {
    max-width: 100% !important;
}
.secCont .inner {
    margin-left: auto;
    margin-right: auto;
}
.secCont.w1100 .inner, .secCont h3.w1100, .secCont .column.w1100, .secCont .column .w1100{
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
.secCont.w1000 .inner, .secCont h3.w1000, .secCont .column.w1000, .secCont .column .w1000 {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.breadcrumb {
    margin-bottom: 0;
}

section h3 {
    font-size: 3.0rem;
}

.mt90{
	margin-top: 90px;
}

/*-------------------------------------------------------*/
.secCont.main {
    margin: 0 auto !important;
}
.secCont.main .inner {
    max-width: 100vw;
    margin: 0 calc(50% - 50vw);
}
.secCont.main .inner > img {
    width: 100%;
    height: auto;
}
/*-------------------------------------------------------*/
.secCont.intro {
    position: relative;
    margin: 0 auto 0;
}
.secCont.intro::before {
    content: '';
    display: block;
    width: 100%;
    height: auto;
    background: url("../img/english/sec_bg01.png") 0 0 / cover no-repeat;
    aspect-ratio: 1481 / 851;
    position: absolute;
    top: -40px;
    z-index: -1;
}
.secCont.intro .inner {
    position: relative;
}
.secCont.intro .inner::before {
    content: '';
    display: block;
    width: 163px;
    height: auto;
    background: url("../img/english/sec01_2.png") 0 0 / contain no-repeat;
    aspect-ratio: 163 / 180;
    position: absolute;
    top: -150px;
    right: 0;
}
.secCont.intro .inner .catch dl dt {
    font-size: 1.8rem;
    font-weight: 700;
    color: #268ca8;
    letter-spacing: 0.05em;
    line-height: 277%;
}
.secCont.intro .inner .catch dl dd {
    font-size: 3.0rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.secCont.intro .inner .catch dl dd span.g {
    color: #156d37;
}
.secCont.intro .inner .catch dl dd span.b {
    color: #165fab;
}
.secCont.intro .inner .catch dl dd span.o {
    color: #e08722;
}
.secCont.intro .inner .txts {
    margin-top: 30px;
    line-height: 169%;
    font-weight: 500;
    text-align: justify;
}
.secCont.intro .inner .flex {
    margin-top: 25px;
    display: flex;
    justify-content: center;
    gap: 0 100px;
}
/*-------------------------------------------------------*/
.secCont.anchors {
    position: relative;
    margin: 65px auto 0;
    padding: 0 0 50px;
}
.secCont.anchors::before {
    content: '';
    display: block;
    width: 100%;
    height: 100px;
    background-color: #e5f5f9;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}
.secCont.anchors .inner > ul {
    display: flex;
    justify-content: center;
    gap: 0 12px;
}
.secCont.anchors .inner > ul li {
    width: calc(25%);
    height: 100px;
}
.secCont.anchors .inner > ul li > a {
    width: calc(100% - 40px);
    height: 100%;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    color: #fff;
    font-size: 2.0rem;
    letter-spacing: 0.05em;
    display: flex;
    position: relative;
    padding: 15px 20px;
}
.secCont.anchors .inner > ul li > a::before {
    content: '';
    display: block;
    width: 26px;
    height: 26px;
    background: url("../img/english/icon01.png") 0 0 / contain no-repeat;
    position: absolute;
    bottom: 10px;
    right: 10px;
}
.secCont.anchors .inner > ul li > a.o {
    background-color: #ec5a24;
}
.secCont.anchors .inner > ul li > a.g {
    background-color: #008d45;
}
.secCont.anchors .inner > ul li > a.b {
    background-color: #29a6dd;
}
.secCont.anchors .inner > ul li > a.y {
    background-color: #ea8806;
}
/*-------------------------------------------------------*/
.secCont.features {
    position: relative;
    margin: 65px auto 0;
    padding: 0 0 50px;
}
.secCont.features .column {
    margin: 0 auto 70px;
    position: relative;
}
.secCont.features .column:first-of-type {
    margin: 40px auto 70px;
}
.secCont.features .column > .inn {
    margin-left: auto;
    margin-right: auto;
}
.secCont.features .column h4.hd {
    position: relative;
    width: calc(100% - 130px);
    margin-left: auto;
    margin-right: auto;
    padding: 0 0 0 130px;
    font-size: 5.0rem;
}
.secCont.features .column h4.hd.w1000 {
    width: calc(1000px - 130px);
}
.secCont.features .column h4.hd::before {
    content: '';
    display: block;
    width: 104px;
    height: 104px;
    position: absolute;
    top: -15px;
    left: 0px;
}
/*色別*/
.secCont.features .column.blue h4.hd {
    color: #237cc0;
}
.secCont.features .column.blue h4.hd::before {
    background: url("../img/english/sec02_hd01.png") 0 0 / contain no-repeat;
}
.secCont.features .column.orange::before {
    content: '';
    display: block;
    background: url("../img/english/sec02_circle_orange.png") 0 0 / contain no-repeat;
    width: 29.86vw; /*430*/
    height: auto;
    aspect-ratio: 430 / 710;
    position: absolute;
    top: -90px;
    left: 0px;
    z-index: -1;
}
.secCont.features .column.orange h4.hd {
    color: #da6c10;
}
.secCont.features .column.orange h4.hd::before {
    background: url("../img/english/sec02_hd02.png") 0 0 / contain no-repeat;
}
.secCont.features .column.orange h4.hd::after {
    content: '';
    display: block;
    background: url("../img/english/sec02_2.png") 0 0 / contain no-repeat;
    width: 172px;
    height: 113px;
    position: absolute;
    top: -10px;
    right: 0px;
}
.secCont.features .column.green h4.hd {
    color: #0e8443;
}
.secCont.features .column.green h4.hd::before {
    background: url("../img/english/sec02_hd03.png") 0 0 / contain no-repeat;
}
.secCont.features .column.green::before {
    content: '';
    display: block;
    background: url("../img/english/sec02_circle_green.png") 0 0 / contain no-repeat;
    width: 35.35vw; /*509*/
    height: auto;
    aspect-ratio: 509 / 710;
    position: absolute;
    top: -90px;
    right: 0px;
    z-index: -1;
}
.secCont.features .column.lightblue h4.hd {
    color: #20add2;
}
.secCont.features .column.lightblue h4.hd::before {
    background: url("../img/english/sec02_hd04.png") 0 0 / contain no-repeat;
}
.secCont.features .column.lightblue::before {
    content: '';
    display: block;
    background: url("../img/english/sec02_circle_lightblue.png") 0 0 / contain no-repeat;
    width: 29.72vw; /*428*/
    height: auto;
    aspect-ratio: 428 / 709;
    position: absolute;
    top: -90px;
    left: 0px;
    z-index: -1;
}
.secCont.features .column.lightblue h4.hd::after {
    content: '';
    display: block;
    background: url("../img/english/sec02_3.png") 0 0 / contain no-repeat;
    width: 174px;
    height: 114px;
    position: absolute;
    top: -10px;
    right: 0px;
}
/**/
.secCont.features .column .images {}
.secCont.features .column .txts {
    margin-top: 25px;
}
.secCont.features .column .txts h5.hd {
    font-size: 2.5rem;
    color: #0071b4;
    font-weight: 700;
}
.secCont.features .column .txts > p {
    margin-top: 10px;
    text-align: justify;
}
/**/
.secCont.features .column .tableslide-eng {
    margin-top: 25px;
}
.secCont.features .column .tableslide-eng > dl {
    margin-bottom: 10px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}
.secCont.features .column .tableslide-eng > dl dt {
    font-size: 2.2rem;
}
.secCont.features .column .tableslide-eng > dl dd {
    font-size: 1.3rem;
}
.secCont.features .column .tableslide-eng table th {
    background-color: #C6EBF4;
    border: 1px solid #000;
    font-size: 1.3rem;
    padding: 5px;
    width: 170px;
}
.secCont.features .column .tableslide-eng table td {
    border: 1px solid #000;
    background-color: #fff;
    padding: 5px 4px;
    text-align: right;
    vertical-align: middle;
}
.secCont.features .column .tableslide-eng table tr:first-of-type th {
    text-align: center;
    width: auto;
}
/**/
.secCont.features .column .loop_left {
    margin-top: 30px;
}
.secCont.features .column .loop_left li.slick-slide {
    width: 27%;
}
.secCont.features .column .loop_left li.slick-slide > p {
    margin: 0 5px;
}
.secCont.features .column .loop_left li.slick-slide > span {
    display: block;
    letter-spacing: 0.1em;
    text-align: center;
}
.secCont.features .column .loop_left li.slick-slide p > img {
    width: 100%;
    height: auto;
}
/*-------------------------------------------------------*/
.secCont.environment {
    position: relative;
    margin: 0 auto;
    padding: 105px 0;
    background-color: #f2f8f9;
}
.secCont.environment .column {
    margin: 0 auto 70px;
    position: relative;
}
.secCont.environment .column:first-of-type {
    margin: 40px auto 70px;
}
.secCont.environment .column h4.hd {
    margin-top: 115px;
    margin-bottom: 30px;
    width: 100%;
    border-bottom: 3px solid #0071b4;
    padding-bottom: 20px;
    font-size: 3.0rem;
    position: relative;
	color: #000;
}
.secCont.environment .column h4.hd > span {
    color: #e78011;
}
.secCont.environment .column h4.hd:nth-of-type(1)::before {
    content: '';
    display: block;
    background: url("../img/english/sec03_6.png") 0 0 / contain no-repeat;
    width: 137px;
    height: 84px;
    position: absolute;
    bottom: 20px;
    right: 40px;
}
.secCont.environment .column h4.hd:nth-of-type(2)::before {
    content: '';
    display: block;
    background: url("../img/english/sec03_7.png") 0 0 / contain no-repeat;
    width: 93px;
    height: 86px;
    position: absolute;
    bottom: 20px;
    right: 40px;
}
.secCont.environment .column h5.hd {
    margin-bottom: 20px;
    color: #0071b4;
    font-size: 2.5rem;
    font-weight: 700;
    position: relative;
    padding-bottom: 3px;
    letter-spacing: 0.04em;
}
.secCont.environment .column h5.hd > span {
    border-bottom: 3px solid #f29600;
}
.secCont.environment .column h5.hd.space {
    margin-top: 70px;
}
.secCont.environment .column > .txts {
    /*margin-top: 15px;*/
    text-align: justify;
}
.secCont.environment .column > .images {
    margin-top: 20px;
}
.secCont.environment .column > .images.flex {
    display: flex;
    justify-content: space-between;
}
.secCont.environment .column .tableslide-eng {
    margin-top: 45px;
}
.secCont.environment .column .tableslide-eng > dl {
    margin-bottom: 10px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}
.secCont.environment .column .tableslide-eng > dl dt {
    font-size: 1.8rem;
    font-weight: 500;
}
.secCont.environment .column .tableslide-eng > dl dt::before{
    content: '●';
	display: inline-block;
	color: #5fbde8;
	padding-right: 5px;
}
.secCont.environment .column .tableslide-eng > dl dd {
    font-size: 1.3rem;
    font-weight: 400;
}
.secCont.environment .column .tableslide-eng table th {
    background-color: #0e669e;
	color: #fff;
    border: 1px solid #000;
    padding: 3px;
	text-align: center;
}
.secCont.environment .column .tableslide-eng table td {
    border: 1px solid #000;
    background-color: #fff;
    padding: 3px 10px;
    vertical-align: middle;
}
.secCont.environment .column .tableslide-eng table tr td:first-of-type {
    background-color: #e7f4fa;
}
.secCont.environment .column .tableslide-eng table tr td:not(:first-of-type){
    font-weight: 400;
}

/*-------------------------------------------------------*/
.secCont.access{
  padding: 95px 0 145px;
  margin: 0;
}
.secCont.access h4.hd{
	font-size: 4.5rem;
	color: #150000;
	display: flex;
	gap: 0 10px;
}
.secCont.access h5.hd.type01{
	margin-bottom: 35px;
	font-size: 2.5rem;
	color: #0071b4;
	font-weight: 700;
}
.secCont.access h5.hd.type02{
	margin-bottom: 35px;
	padding-bottom: 10px;
	border-bottom: 2px solid #c4c4c4;
	font-size: 2.5rem;
	color: #150000;
	font-weight: 700;
}
.secCont.access h5.hd.type02 span{
	color: #27a639;
}
.secCont.access .column.col3 > h5.hd, .secCont.access .column.col3 .pictarea.grid h5.hd{
	/*font-size: 3.0rem;*/
	margin-bottom: 0;
}

.secCont.access .column {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.secCont.access .column.col1{
	margin-bottom: 110px;
}
.secCont.access .column.col2{
	margin-bottom: 120px;
}
.secCont.access .column .pictarea{
	margin-bottom: 40px;
}
.secCont.access .pictarea p {
  text-align: justify;
}

.secCont.access .largeimage{
	margin-bottom: 40px;
	display: flex;
	justify-content: center;
}

.pictarea.grid{
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
}
.pictarea.grid > h5.hd {
    grid-column: span 2 / span 2;
}
.pictarea.grid > .pict {
    grid-row-start: 2;
}
.pictarea.grid > p {
    grid-row-start: 2;
}

.listarea dl:not(:first-of-type){
	margin-top: 20px;
}
.listarea dl dt{
	font-size: 2.0rem;
	font-weight: 700;
}
.listarea dl dt.orange{
	color: #dc5827;
}
.listarea dl dt.blue{
	color: #0b6ba8;
}
.listarea dl dd ul{
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 10px 0;
	font-size: 1.8rem;
}
.listarea dl dd ul li::before{
	content: '●';
	font-size: 13px;
	color: #000;
}

.pictarea.flex{
	display: flex;
}

/*-------------------------------------------------------*/
.secCont.programs{
  padding: 90px 0;
  margin: 0;
  background-color: #f2f8f9;
}
.secCont.programs h4.hd{
	display: flex;
	align-items: center;
	gap: 0 12px;
	font-size: 2.5rem;
	color: #00633d;
	padding-bottom: 15px;
	border-bottom: 2px solid #00633d;
	letter-spacing: -0.01em;
	line-height: 110%;
	position: relative;
}
.secCont.programs h4.hd > span{
	width: 40px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #00633d;
	font-size: 3.0rem;
	color: #fff;
}
.secCont.programs .column:nth-of-type(3) h4.hd > span{
	border: 3px solid #f1911c;
	box-sizing: border-box;
}
.secCont.programs .column:nth-of-type(3) h4.hd::before{
    content: '';
    display: block;
    background: url("../img/english/sec05_7.png") 0 0 / contain no-repeat;
    width: 78px;
    height: 54px;
    position: absolute;
    bottom: 15px;
    right: 200px;
}
.secCont.programs .column:nth-of-type(3) h4.hd::after{
    content: '';
    display: block;
    background: url("../img/english/sec05_8.png") 0 0 / contain no-repeat;
    width: 102px;
    height: 80px;
    position: absolute;
    bottom: 15px;
    right: 60px;
}
.secCont.programs h5.hd.type01{
	margin-bottom: 10px;
	font-size: 2.3rem;
	color: #00633d;
	font-weight: 700;
}
.secCont.programs h5.hd.type02{
	margin-bottom: 10px;
	background-color: #0b6ba8;
	font-size: 2.0rem;
	color: #fff;
	text-align: center;
	padding: 10px 0;
}
.secCont.programs .blocks:not(:first-of-type){
	margin-top: 30px;
}
.secCont.programs .blocks .flex{
	display: flex;
	gap: 0 25px;
}
.secCont.programs .blocks .flex > ul{
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}

.secCont.programs .tables{
	margin-top: 35px;
}
.secCont.programs .tables .tableslide-eng{
	margin-top: 15px;
	display: flex;
	gap: 0 15px;
}

.secCont.programs .lists.inn{
	padding-left: 25px;
}
.secCont.programs .lists ul{
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}
.secCont.programs .lists ul li{
	padding-left: 30px;
	position: relative;
}
.secCont.programs .lists ul li::before{
	content: '●';
	font-size: 2.0rem;
	color: #00633d;
	position: absolute;
	top: 0;
	left: 0;
}
.secCont.programs .lists ol{
	display: flex;
	flex-direction: column;
	gap: 5px 0;
}
.secCont.programs .lists ol li{
	padding-left: 42px;
	position: relative;
}
.secCont.programs .lists ol li::before{
	content: '・';
	position: absolute;
	top: 0;
	left: 16px;
}

.secCont.programs ul.number{
	counter-reset: listnum;
	display: flex;
	flex-direction: column;
	gap: 5px 0;
}
.secCont.programs ul.number li{
	position: relative;
	padding-left: 30px;
}
.secCont.programs ul.number li::before{
	counter-increment: listnum;
	content: "(" counter(listnum) ")";
	color: #231815;
	vertical-align: middle;
	position: absolute;
	top: 0;
	left: 0;
}

/*-------------------------------------------------------*/
.secCont.infomation{
  padding: 80px 0 160px;
  margin: 0;
}
.secCont.infomation h4.hd{
	font-size: 2.1rem;
	padding-bottom: 15px;
	border-bottom: 2px solid #0071b4;
}

.secCont.infomation .image{
	display: flex;
	justify-content: center;
}

/*-------------------------------------------------------*/
.footInqArea{
	padding: 55px 20px 40px;
}

.footInqArea .secCont{
	background-color: rgba(255, 255, 255, 0.9);
	box-sizing: border-box;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1200px !important;
	padding: 35px 45px;	
	
	flex-direction: column;
	position: relative;
}
.footInqArea .secCont::before{
    content: '';
    display: block;
    background: url("../img/index/character05.png") 0 0 / contain no-repeat;
    width: 212px;
    height: 97px;
    position: absolute;
    top: -115px;
	left: 0;
    right: 0;
	margin: auto;
}

.footInqArea .secCont h4.hd{
	position: absolute;
	top: -25px;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 850px;
	height: 55px;
	background-color: #e95a24;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
	font-size: 2.5rem;
}

.footInqArea .secCont .address{
	margin-top: 20px;
}
.footInqArea .secCont .address .large{
	font-size: 2.0rem;
	letter-spacing: 0.05em;
	text-align: center;
}
.footInqArea .secCont .address .small{
	margin-top: 30px;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	text-align: center;
	font-weight: 400 !important;
}

.footInqArea .secCont .contact{
	width: 100%;
	margin: 30px auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.footInqArea .secCont .contact::before{
	content: '';
	width: 1px;
	height: 100%;
	background-color: #c7c7c7;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.footInqArea .secCont .contact .tel{
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.footInqArea .secCont .contact .mail{
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}
.footInqArea .secCont .contact .mail > a{
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 1.7rem;
	letter-spacing: 0.1em;
	position: relative;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;	
	background-color: #e95a24;
	width: 450px;
	height: 85px;
	margin: 0 auto;
}
.footInqArea .secCont .contact .mail > a:before {
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    overflow: hidden;
    text-indent: 180%;
    white-space: nowrap;
    content: "";
    display: block;
    height: 32px;
    width: 40px;
    background-image: url("../img/english/icon_mail.png");
    position: absolute;
    top: 28px;
    left: 15px;
}
.footInqArea .secCont .contact .mail > a:after {
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    overflow: hidden;
    text-indent: 180%;
    white-space: nowrap;
    content: "";
    display: block;
    height: 19px;
    width: 19px;
    background-image: url(../img/common/icon04.png);
    position: absolute;
    top: 34px;
    right: 15px;
}

.footInqArea .secCont .contact .mail > p{
	margin-top: 5px;
}

/**/

footer .footLogoArea{
	justify-content: center;
	gap: 0 20px;
}
footer .footLogoArea .footLogo {
    width: auto;
}
footer .footLogoArea p {
    width: auto;
}

/**/

footer .sitemaps{
	margin: 65px auto 95px;
}
footer .sitemaps ul{
	display: flex;
	justify-content: center;
	gap: 0 90px;
}
footer .sitemaps ul li a{
	color: #fff;
}
footer .sitemaps ul li a::before{
	content: '▶';
	padding-right: 0.25em;
	display: inline-block;
}

/*-------------------------------------------------------*/
}/*ここまで*/	
	
/*-------------------------------------------------------*/
/*-------------------------------------------------------*/
/*-------------------------------------------------------*/
/*-------------------------------------------------------*/