@charset "UTF-8";

/*==============
PC
===============*/
@media print, screen and (min-width: 1021px) { 
.sp{display:none;}


/*==================================================
　5-3-1 中心から外に線が伸びる（下部）
===================================*/

.gnavi li a{
    /*線の基点とするためrelativeを指定*/
	position: relative;
}

.gnavi li.current a,
.gnavi li a:hover{
	color: #e60012;
}

.gnavi li a::after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 0;
    left: 10%;
    /*線の形状*/
    width: 80%;
    height: 2px;
    background:#e60012;
    /*アニメーションの指定*/
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center top;/*上部中央基点*/
}

/*現在地とhoverの設定*/
.gnavi li.current a::after,
.gnavi li a:hover::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}




/* ①メニューボタンのスタイル */
.menu {
  display: flex;
  /* position: relative; */
}
.menu .menu_list {
  width: 33.33%;
}
.menu .menu_list > a {
  display: block;
  padding: 1vw;
  text-align: center;
  transition: .3s;
  color: #004587;
  font-weight: bold;
}
.menu .menu_list > a:hover {
}
 
/* ②メガメニューのスタイル */
.menu_contents {
  background: #004587;
  display:none;
  top: 0;
  left: 0;
  width: 100%;
}
.menu_contents li {
  width: 100%;
}
.menu_contents li a {
  color: #fff;
}





header {width: 100%;padding: 3vw 0 0 0;display: flex;justify-content: space-between;margin: 0 auto;position: relative;align-items: baseline;}
header a {
}
header a img {}
header div.h_menu {
}
header div.h_menu div.openbtn {
}
header div.h_menu div.openbtn span {
}

/*============================
#g-nav
============================*/
header div.h_menu nav#g-nav {
}

/*============================
#g-nav-list
============================*/
header div.h_menu nav#g-nav div#g-nav-list {
}

/*============================
#menu
============================*/
header div.h_menu nav#g-nav div#g-nav-list ul#menu.menu {
}
header div.h_menu nav#g-nav div#g-nav-list ul#menu.menu li.menu_list {
}
header div.h_menu nav#g-nav div#g-nav-list ul#menu.menu li.menu_list a {white-space: nowrap;font-size: max(16px, 1vw);font-weight: bold;}
header div.h_menu nav#g-nav div#g-nav-list ul#menu.menu li.menu_list div.menu_contents {position: absolute;top: 100%;left: 0;width: 100%;z-index: 999;}
header div.h_menu nav#g-nav div#g-nav-list ul#menu.menu li.menu_list div.menu_contents ul {display: flex;justify-content: space-between;flex-wrap: wrap;}
header div.h_menu nav#g-nav div#g-nav-list ul#menu.menu li.menu_list div.menu_contents ul li {width: 32%;}
header div.h_menu nav#g-nav div#g-nav-list ul#menu.menu li.menu_list div.menu_contents ul li a::after {
	 content: normal;
    /*絶対配置で線の位置を決める*/
    position: relative;
    bottom: 0;
    left: 0;
    /*線の形状*/
    width: auto;
    height: auto;
    background:none;
    /*アニメーションの指定*/
    transition: auto;
    transform: none;/*X方向0、Y方向1*/
    transform-origin: unset;/*上部中央基点*/

}
header div.h_menu nav#g-nav div#g-nav-list ul#menu.menu li.menu_list div.menu_contents ul li a:hover {color: #FFF;}
header div.h_menu div.circle-bg {
}


div.menu_contents {
}
div.menu_contents dl {display: flex;}

div.menu_contents dl dt {background: #e60012;color: #FFF;font-weight: bold;font-size: max(16px, 2vw);white-space: nowrap;padding: 3vw;width: 20%;}
div.menu_contents dl dt p  {line-height: 01;}
div.menu_contents dl dt span {
    font-size: max(16px, 1vw);
    font-weight: 100;
}
div.menu_contents dl dd {background: #004587;padding: 3vw;width: 80%;}
div.menu_contents dl dd ul.dd01 {
}
div.menu_contents dl dd ul.dd01 li {
}
div.menu_contents dl dd ul.dd01 li a {display: block;width: 100%;}
div.menu_contents dl dd ul.dd01 li a img {width: 100%;object-fit: cover;height: 10vw;transition: 0.5s;}
div.menu_contents dl dd ul.dd02 {margin: 1vw 0 0 0;}
div.menu_contents dl dd ul.dd02 li {
}
div.menu_contents dl dd ul.dd02 li a {
}

header img.logo{
	margin: 0 0 0 1vw;
	width: 70%;
	}


div.menu_contents dl dd ul li a:hover{
	text-decoration:underline;
	
}





/*　画像の拡大　*/

.zoomIn img{
	transform: scale(1);
	transition: .3s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}

.zoomIn a:hover img{/*hoverした時の変化*/
	transform: scale(1.2);/*拡大の値を変更したい場合はこの数値を変更*/
}

/*　画像のマスク　*/

.mask{
    display: block;
    line-height: 0;/*行の高さを0にする*/
    overflow: hidden;/*拡大してはみ出る要素を隠す*/
}



.TextTyping01{
	font-size: 3vw;
	position: absolute;
	top: 32vw;
	left: 50%;
	transform: translate(-50%,-50%);
	letter-spacing: 0.1em;
	width: 13em;
	font-weight: bold;
	text-align: center;
}

.TextTyping01 span{
	/* background:#000; */
	color: #353535;
}




div.top01 {text-align: center;padding: 5vw 0;}
div.top01 img {
}
div.top01 ul {display: flex;justify-content: center;margin: 2vw 0 0 0;}
div.top01 ul li {width: 30%;margin: 15px;}
div.top01 ul li a {width: 100%;display: block;border-radius: 15px;box-shadow: 1px 1px 7px 1px #919191;padding: 3vw 0 2.5vw 0; transition:0.5s;}
div.top01 ul li a:hover {width: 100%;display: block;border-radius: 15px;box-shadow: inset 1px 1px 7px 1px #919191;padding: 3vw 0 2.5vw 0;transition:0.5s;background: #e1e1e1;}
div.top01 ul li a img {max-width: 86%;}



div.top02 {padding: 3vw 0;}
div.top02 dl {width: 60%;margin: 0 auto;display: flex;justify-content: flex-start;flex-wrap: wrap;align-items: center;padding: 2vw 1vw;}
div.top02 dl dt {
}
div.top02 dl dt h2 {font-weight: bold;color: #004489;font-size: 42px;}
div.top02 dl dt a {
}
div.top02 dl dd {
}
div.top02 dl dd dl {flex-wrap: wrap;}
div.top02 dl dd dl dt {width: 15%;margin: 1vw 0;color: #00468b;font-weight: bold;font-size: max(16px, 1.1vw);}
div.top02 dl dd dl dd {width: 75%;color: #000;margin: 1vw 0;font-weight: 500;font-size: max(16px, 1.1vw);}


div.top02 dl dt h2{
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
  margin: 1.5vw 0 0 0;
}

/*以下で線を表示*/
div.top02 dl dt h2:before {
  content: '';
  position: absolute;
  left: 63%;
  bottom: 67px;/*線の上下位置*/
  display: inline-block;
  width: 158px;/*線の長さ*/
  height: 3px;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);/*位置調整*/
  background-color: #004587;/*線の色*/
  /*線の丸み*/
}

div.top02 img{
    position: absolute;
    right: 0;
    margin: -10% 0 0 0;
    width: 19%;
}




/*表示するテキストが切り替わる*/
.btntextchange{
    /*テキストの基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    border: 1px solid #004587;
    border-radius:25px;
    padding: 14px 0;
    text-align: center;
    display: inline-block;
    text-decoration: none;
    color: #004587;
    outline: none;
    /*アニメーションの指定*/
    transition: all .2s;
    font-size: max(16px, 0.8vw);
    width: 80%;
}

/*hoverした際の変化*/
.btntextchange:hover{
  background:#004587;
  color:#fff;
}

.btntextchange span{
    /*絶対配置でテキストの位置を決める*/
	position: absolute;
	left: 50%;
	top:50%;
    transform:translate(-50%,-50%);
    /*アニメーションの指定*/
    transition: all .5s;
  /*ブロック要素にしてテキスト折り返しなし*/  
	display: block;
	white-space: nowrap;
}

/*差し替わるテキストの設定*/
.btntextchange span:nth-child(2){
	opacity:0;/*透過0に*/
}

/*hoverするとテキストが入れ替わる設定*/
.btntextchange:hover span:nth-child(1){
	opacity:0;/*透過0に*/
}

.btntextchange:hover span:nth-child(2){
	opacity:1;/*不透明に*/
}


div.top03 {padding: 10vw 0;}
div.top03 dl {display: flex;}
div.top03 dl dt {width: 50%;}
div.top03 dl dt img {width: 100%;}
div.top03 dl dd {width: 35%;padding: 0 10% 0 5%;color: #004696;}
div.top03 dl dd h2 {font-weight: bold;text-decoration: underline;font-size: max(16px, 1.2vw);}
div.top03 dl dd h3 {font-weight: bold;font-size: max(24px, 3vw);}
div.top03 dl dd p {font-weight: 500;font-size: max(16px, 1vw);line-height: 2.2em;}



div.top04 {
	background: #004587;
	color: #fff;
	padding: 5vw 0 3vw 0;
}
div.top04 dl.top04_01 {width: 100%;margin: 0 auto;display: flex;}
div.top04 dl.top04_01 dt {text-align: center;width: 35%;margin: 0 5%;}
div.top04 dl.top04_01 dt h2 {font-weight: bold;font-size: max(20px, 2vw);margin: 0 0 1.5vw 0;}


div.top04 dl.top04_01 dt p {width: 80%;margin: 0 auto;text-align: left;font-size: max(16px, 1vw);line-height: 2;}
div.top04 dl.top04_01 dt div.link {display: flex;flex-wrap: wrap;width: 80%;margin: 2vw auto;justify-content: space-between;}
div.top04 dl.top04_01 dt div.link a.link01 { transition:0.5s; width: 100%;color: #FFF;display: block;padding: 1vw;margin: 0 0 2% 0;border: solid 2px;font-weight: 600;font-size: max(16px, 1.1vw);}
div.top04 dl.top04_01 dt div.link a.link01:hover{ transition:0.5s; background:#FFF; color:#004696; border:2px solid #FFF;}
div.top04 dl.top04_01 dt div.link a.link02 { transition:0.5s; width: 48%;color: #FFF;padding: 1vw 0;font-weight: 600;border: solid 2px;font-size: max(16px, 1.1vw);}
div.top04 dl.top04_01 dt div.link a.link02:hover { transition:0.5s; background:#FFF; color:#004696; border:2px solid #FFF;}
div.top04 dl.top04_01 dd {
    width: 60%;
}
div.top04 dl.top04_01 dd img{
    width: 100%;
    margin: -15% 0 0 0;
}

div.top04 div.top04_02 {width: 84%;margin:  3vw auto;display: flex;justify-content: space-between;}
div.top04 div.top04_02 dl {display: flex;width: 48%;flex-wrap: wrap;}
div.top04 div.top04_02 dl dt {width: 100%;order: 2;}
div.top04 div.top04_02 dl dt h2 {font-size: max(20px, 1.8vw);font-weight: bold;text-align: center;margin: 1vw 0 0.5vw 0;}
div.top04 div.top04_02 dl dt p {
}
div.top04 div.top04_02 dl dt div.link {
}
div.top04 div.top04_02 dl dt div.link a.link01 { transition:0.5s; color: #FFF;text-align: center;display: block;font-weight: bold;border: 2px solid;padding: 1vw 0;margin: 1vw auto 0 auto;width: 80%;}
div.top04 div.top04_02 dl dt div.link a.link01:hover { transition:0.5s; color:#004696; background:#FFF; text-align: center;display: block;font-weight: bold;border: 2px solid;padding: 1vw 0;margin: 1vw auto 0 auto;width: 80%;}
div.top04 div.top04_02 dl dd {width: 100%;order: 1;}
div.top04 div.top04_02 dl dd img {width: 100%;}


footer {display: flex;justify-content: space-between;padding: 3vw;align-items: center;}
footer div {
}
footer div img {width: 80%;}
footer div p {
}
footer ul {display: flex;flex-wrap: wrap;}
footer ul li {margin: 0 0.5vw;}
footer ul li a {font-size: max(14px, 0.8vw);color: #303030;font-weight: 600;}
footer ul li a i.fa-solid.fa-arrow-up-right-from-square {
}



#header{
	position: fixed;/*fixedを設定して固定*/
	/* height: 70px; *//*高さ指定*/
	width:100%;/*横幅指定*/
	z-index: 998;/*最前面へ*/
	/*以下はレイアウトのためのCSS*/
	display: flex;
	justify-content: space-between;
	align-items: center;
	background:#fff;
}

/*fixedでブロックがなくなるのではじめの要素のトップに余白を持たせる*/
section#area-1{
	padding-top:100px;
}

/*==ふわっと出現させるためのCSS*/

/*　上に上がる動き　*/

#header.UpMove{
	position: fixed;
	width:100%;
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/

#header.DownMove{
	position: fixed;
	width:100%;
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
  
}
  
  
  
  
  
 
 






h2.second {
    padding: 16vw 0 5vw 0;
    margin: 0 auto;
    color: #004587;
    text-align: center;
    font-size: max(16px, 2.5vw);
    font-weight: bold;
}
div.sdgs01 {
}
div.sdgs01 dl {display: flex;}
div.sdgs01 dl dt {width: 30%;padding: 4% 5%;text-align: center;}
div.sdgs01 dl dt img {margin: 0.5vw;width: 80%;padding: 0 10%;}
div.sdgs01 dl dt p {text-align: left;color: #004587;font-weight: bold;line-height: 2.3;font-size: max(16px, 1vw);padding: 1vw 3vw;}
div.sdgs01 dl dd {width: 60%;}
div.sdgs01 dl dd img {border-radius: 50px 0 0 50px;width: 100%;}
div.sdgs02 {background: #FFF;margin: -5vw auto 0 auto;width: 60%;padding: 5vw;z-index: 9;position: sticky;text-align: center;}
div.sdgs02 img {width: 100%;z-index: -1;position: relative;}
div.sdgs03,div.sdgs04 {padding: 3vw 0;}
div.sdgs03 dl,div.sdgs04 dl {display: flex;width: 60%;margin: 0 auto;}
div.sdgs03 dl dt,div.sdgs04 dl dt {width: 40%;display: flex;flex-wrap: wrap;justify-content: flex-start;align-content: baseline;}
div.sdgs03 dl dt img,div.sdgs04 dl dt img {width: 30%;margin: 1.1%;}
div.sdgs03 dl dd,div.sdgs04 dl dd {width: 57%;padding: 0 0 0 3%;}
div.sdgs03 dl dd h3,div.sdgs04 dl dd h3 {font-size: max(18px, 1.3vw);font-weight: bold;color: #084a89;margin: 0 0 1vw 0;}
div.sdgs03 dl dd p,div.sdgs04 dl dd p {font-weight: bold;color: #222222;font-size: max(16px, 1vw);line-height: 2;}
div.sdgs04 {background: #f0f0f0;}




/*============================
#header
============================*/
header#header {
}
header#header a {
}
header#header a img.logo {
}
header#header div.h_menu {
}
header#header div.h_menu div.openbtn {
}
header#header div.h_menu div.openbtn span {
}

/*============================
#g-nav
============================*/
header#header div.h_menu nav#g-nav {
}

/*============================
#g-nav-list
============================*/
header#header div.h_menu nav#g-nav div#g-nav-list {
}
header#header div.h_menu nav#g-nav div#g-nav-list div {
}

/*============================
#menu
============================*/
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list a {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list a.pc {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dt {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dt p {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dt p span {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd01 {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd01 li {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd01 li div.zoomIn {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd01 li div.zoomIn a {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd01 li div.zoomIn a span.mask {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd01 li div.zoomIn a span.mask img {margin: 0 0 0.5vw 0;}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd01 li div.zoomIn a i.fa-solid.fa-angles-right {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd02 {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd02 li {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd02 li a {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list div.menu_contents dl dd ul.dd02 li a i.fa-solid.fa-angles-right {
}
header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list a i.fa-solid.fa-arrow-up-right-from-square {
}
header#header div.h_menu div.circle-bg {
}

/*============================
#top00
============================*/
div#top00 {padding: 23vw 0 30vw 0;border: 1px solid #c5c5c5;}
div#top00 img.logo {display: block;margin: 0 auto;}

div#top00 p.TextTyping.TextTyping01 {
}
div.top01 {
}
div.top01 img {
}
div.top01 ul {
}
div.top01 ul li.fadeUpTrigger {
}
div.top01 ul li.fadeUpTrigger a {
}
div.top01 ul li.fadeUpTrigger a img {
}
div.top01 ul li.fadeUpTrigger.delay-time02 {
}
div.top01 ul li.fadeUpTrigger.delay-time02 a {
}
div.top01 ul li.fadeUpTrigger.delay-time02 a img {
}
div.top01 ul li.fadeUpTrigger.delay-time04 {
}
div.top01 ul li.fadeUpTrigger.delay-time04 a {
}
div.top01 ul li.fadeUpTrigger.delay-time04 a img {
}

/*============================

#area
============================*/
div#area.top02.fadeUpTrigger {
}
div#area.top02.fadeUpTrigger h2 {text-align: center;color: #004696;font-weight: bolder;font-size: max(20px,4vw);}
div#area.top02.fadeUpTrigger a.btntextchange {width: 12%;margin: 0 auto 5vw auto;display: block;}
div#area.top02.fadeUpTrigger a.btntextchange span {
}
div#area.top02.fadeUpTrigger dl {
}
div#area.top02.fadeUpTrigger dl dt {width: 15%;color: #004696;font-weight: bold;}
div#area.top02.fadeUpTrigger dl dd {width: 78%;color: #414141;font-weight: 600;}
div.top03.fadeUpTrigger {text-align: center;background:url(../images/top04_02.webp) no-repeat;background-size: cover;background-position: center;}
div.top03.fadeUpTrigger h2 {color: #004696;font-weight: 700;text-decoration: underline;}
div.top03.fadeUpTrigger h3 {color: #004696;font-weight: 600;font-size: max(39px,3vw);}
div.top03.fadeUpTrigger p {color: #004696;font-weight: 600;line-height: 2;margin: 1vw 0 0 0;}
div.top04 {
}
div.top04 ul {display: flex;width: 80%;margin: 0 auto;justify-content: space-between;}
div.top04 ul li {width: 30%;}
div.top04 ul li h2 {text-align: center;font-size: 1.7vw;font-weight: bold;}
div.top04 ul li p {line-height: 2;margin: 1vw 0;font-size: 1.1vw;font-weight: 500;height: 16vw;}
div.top04 ul li div {display: flex;flex-wrap: wrap;justify-content: space-between;}
div.top04 ul li div a.web {width: 100%;margin: 0 0 0.5vw 0;}
div.top04 ul li div a.web i.fa-solid.fa-globe {margin: 0 0.8vw 0 0;}
div.top04 ul li div a { transition:0.5s; border: 2px solid;color: #FFF;padding: 0.7vw 1vw;display: block;text-align: center;width: 49%;box-sizing: border-box;font-size: 1.1vw;font-weight: 600;}
div.top04 ul li div a:hover{transition:0.5s;background:#FFF;color: #004696;}





div.group {width: 70%;margin: 0 auto;}
div.group div.group01 {
}
div.group div.group01 h3 {font-size: 2.8vw;font-weight: 600;color: #004587;}
div.group div.group01 dl {display: flex;justify-content: space-between;align-items: flex-start;}
div.group div.group01 dl dt {color: #004587;font-weight: 600;width: 60%;}
div.group div.group01 dl dt p {
    line-height: 2;
}
div.group div.group01 dl dd {width: 35%;display: flex;flex-wrap: wrap;justify-content: space-between;}
div.group div.group01 dl dd a.web {width: 100%;}
div.group div.group01 dl dd a.web i.fa-solid.fa-globe {margin: 0 0.5vw 0 0;}
div.group div.group01 dl dd a {transition:0.5s;width: 49%;display: block;padding: 1vw;background: #004587;margin: 0 0 0.5vw 0;color: #FFF;font-weight: 600;box-sizing: border-box;text-align: center;border: 2px solid;}
div.group div.group01 dl dd a:hover{background:#FFF;color: #004587;transition:0.5s;border: 2px solid;}
div.group div.group01 table {width: 100%;margin: 2vw 0 10vw 0;}
div.group div.group01 table tbody {
}
div.group div.group01 table tbody tr {
}
div.group div.group01 table tbody tr th {background: #c5cedc;color: #004587;font-weight: bold;text-align: center;padding: 1vw 2vw;width: 19%;border-bottom: 1px solid #FFF;box-sizing: border-box;}
div.group div.group01 table tbody tr td {color: #004587;border-bottom: 1px solid #c5cedc;box-sizing: border-box;padding: 1vw 2vw;font-weight: 600;}



div.terms {width: 70%;margin: 0 auto;}
div.terms div.terms01 {font-weight: 700;background: #eceff3;padding: 3vw 4vw;color: #004587;line-height: 2;margin: 0 0 5vw 0;}
div.terms div.terms02 {
}
div.terms div.terms02 dl {
}
div.terms div.terms02 dl dt {font-size: 1.8vw;font-weight: 600;color: #004587;}
div.terms div.terms02 dl dd {margin: 1vw 0 3vw 0;font-weight: 900;color: #2b2b2b;line-height: 2;}
div.terms div.terms02 dl dd p {
}
div.terms div.terms02 dl dd div.privacy {background: #f0f0f0;padding: 3vw 4vw 1vw 4vw;margin: 2vw 0 0 0;}
div.terms div.terms02 dl dd div.privacy dl {
}
div.terms div.terms02 dl dd div.privacy dl dt {background: #909090;color: #FFF;font-size: 1.5vw;padding: 0.5vw 1.5vw;}
div.terms div.terms02 dl dd div.privacy dl dd {
}
div.terms div.terms02 dl dd div.privacy dl dd p {margin: 0 0 2vw 0;}
div.terms div.terms02 dl dd div.privacy dl dd a {display: block;background: #004587;color: #FFF;padding: 1vw 2vw;margin: 1vw 0;width: 46%;text-align: center;}
div.terms div.terms02 dl dd a {color: #004587;text-decoration: underline;}
div.terms div.terms02 dl dd a i {margin: 0 0 0 1vw;}
div.terms div.terms02 dl dd div.goiken {border: 1px solid gray;padding: 2vw 3vw;margin: 2vw 0 0 0;}
div.terms div.terms02 dl dd div.goiken ul {padding: 0 0 0 2vw;}
div.terms div.terms02 dl dd div.goiken ul li {list-style: decimal;margin: 1vw 0;}




div.privacy {line-height: 2;width: 75%;margin: 0 auto;}
div.privacy div.privacy01 {color: #004587;font-weight: 700;}
div.privacy div.privacy01 p {
}
div.privacy div.privacy02 {background: #eceff3;padding: 3vw 4vw;margin: 2vw 0;color: #232323;font-weight: bold;}
div.privacy div.privacy02 ul {padding: 0 0 0 2vw;}
div.privacy div.privacy02 ul li {margin: 1vw 0;list-style: auto;}
div.privacy div.privacy03 {
}
div.privacy div.privacy03 dl {
}
div.privacy div.privacy03 dl dt {color: #004587;font-weight: 700;font-size: 2vw;margin: 0 0 1vw 0;}
div.privacy div.privacy03 dl dd {margin: 0 0 3vw 0;}
div.privacy div.privacy03 dl dd p {font-weight: 600;color: #313131;}
div.privacy div.privacy03 dl dd div.privacy03_01 {border: 1px solid gray;margin: 2vw 0 0 0;padding: 3vw 4vw;}
div.privacy div.privacy03 dl dd div.privacy03_01 h3 {
    font-weight: bold;
    font-size: 2vw;
}
div.privacy div.privacy03 dl dd div.privacy03_01 p {font-weight: 500;}
div.privacy div.privacy03 dl dd div.privacy03_01 ul {font-weight: 600;margin: 3vw 2vw;}
div.privacy div.privacy03 dl dd div.privacy03_01 ul li {list-style: auto;margin: 1vw 0;}
div.privacy div.privacy03 dl dd ul.privacy03_02 {margin: 3vw 0;padding: 0 0 0 2vw;}
div.privacy div.privacy03 dl dd ul.privacy03_02 li {color: #333333;list-style: auto;font-weight: bold;margin: 1vw 0;}
div.privacy div.privacy03 dl dd ul.privacy03_02 li h4 {font-weight: 900;color: #333333;}
div.privacy div.privacy03 dl dd ul.privacy03_02 li p {font-weight: 500;}
div.privacy div.privacy04 {border: 1px solid gray;padding: 3vw 4vw;color: #000000;}
div.privacy div.privacy04 h3 {font-weight: 800;font-size: 2vw;color: #373737;}
div.privacy div.privacy04 p {
}
div.privacy div.privacy05 {margin: 3vw 0;background: #f4f4f4;padding: 3vw 4vw;}
div.privacy div.privacy05 h3 {font-size: 2vw;font-weight: 600;}
div.privacy div.privacy05 p {color: #2f2f2f;}

	

div.company {width: 75%;margin: 0 auto;}
div.company div.company01 {text-align: center;}
div.company h3.dot {font-size: 2vw;color: #004587;font-weight: 700;background:url(../images/dot.webp) no-repeat center bottom;padding: 0 0 2vw 0;margin: 0 0 2vw 0;text-align: center;}
div.company div.company01 img.logo {margin: 2vw 0;}
div.company div.company01 h4 {font-size: 2vw;color: #004587;font-weight: 700;}
div.company div.company02 {display: flex;justify-content: space-around;margin:  3vw 0;}
div.company div.company02 div {border-radius: 50%;background: #004587;text-align: center;color: #FFF;margin: 1vw;width: 100%;padding: 6vw 3vw;}
div.company div.company02 div i{font-size: 3vw;margin: 0 0 1vw 0;}

div.company div.company02 div p{text-align: left;font-size: 1.5vw;}

div.company03 {margin: 7vw 0;}
div.company03 h3.dot {
}
div.company03 table {width: 100%;margin: 3vw 0 0 0;}
div.company03 table tbody {
}
div.company03 table tbody tr {
}
div.company03 table tbody tr th {background: #c5cedc;text-align: center;padding: 1vw 0;color: #004587;font-weight: 600;border-bottom: 1px solid #FFF;}
div.company03 table tbody tr td {padding: 0 2vw;color: #004587;font-weight: 600;border-bottom: 1px solid lightgrey;}
div.company04 {
}
div.company04 h3.dot {
}
div.company04 dl {display: flex;}
div.company04 dl dt {padding: 0 3vw 0 0;}
div.company04 dl dt h4 {font-size: 3vw;font-weight: 700;color: #004587;display: flex;}
div.company04 dl dt p {color: #004587;font-weight: bold;line-height: 2;}
div.company04 dl dd {width: 64%;}
div.company04 dl dd img {width: 100%;}
div.company04 dl dd p {color: black;font-weight: 700;text-align: right;}
div.company04 {
}
div.company05 h3 {font-size: 3vw;font-weight: 700;color: #004587;margin: 5vw 0 1vw 0;}
div.company05 p {color: #004587;font-weight: bold;line-height: 2;margin: 0 0 5vw 0;}


div.csr {width: 85%;margin: 0 auto;}
div.csr div.csr01 {
}
div.csr div.csr01 img {width: 100%;border-radius: 10px;height: 24vw;object-fit: cover;object-position: bottom;}
div.csr div.csr02 {width: 90%;margin: 5vw auto;color: #004587;font-weight: 900;}
div.csr div.csr02 h3 {font-weight: bold;font-size: 2vw;margin: 0 0 2vw 0;}
div.csr div.csr02 p {line-height: 2;}
div.csr div.csr03 {display: flex;justify-content: space-between;flex-wrap: wrap;margin: 0 0 5vw 0;}
div.csr div.csr03 div {width: 32%;border: 4px solid #004587;box-sizing: border-box;margin: 1vw 0;}
div.csr div.csr03 div img {width: 100%;height: 20vw;object-fit: cover;}
div.csr div.csr03 div h4 {width: 80%;margin: 1vw auto 0 auto;color: #004587;font-weight: 700;font-size: 1.5vw;}
div.csr div.csr03 div p {width: 80%;margin: 0 auto 2vw auto;font-weight: 600;line-height: 2;}


div.contact {width: 80%;margin: 0 auto 8vw auto;}
div.contact table.contact01 {width: 100%;}
div.contact table.contact01 tbody {
}
div.contact table.contact01 tbody tr {
}
div.contact table.contact01 tbody tr th {background: #dfe4ec;color: #004587;font-weight: 800;padding: 2vw 3%;width: 30%;font-size: 1.3vw;border-bottom: 1px solid #cbcbcb;}
div.contact table.contact01 tbody tr th span.nin {background: #16b322;color: #FFF;font-size: 1vw;padding: 0.2vw 0.3vw;border-radius: 10px;margin: 0 0 0 1vw;}
div.contact table.contact01 tbody tr td {border-bottom: 1px solid #d9d9d9;padding: 2vw 5%;width: 50%;font-size: 1.5vw;color: #272727;font-weight: bold;}
div.contact table.contact01 tbody tr th span.his {background: #ff0000;color: #FFF;font-size: 1vw;padding: 0.2vw 0.3vw;border-radius: 10px;margin: 0 0 0 1vw;}
div.contact table.contact01 tbody tr td p{
    color: #1c1c1c;
    margin: 1vw 0 0 0;
    font-size: 1vw;
}
div.contact table.contact01 tbody tr td a{
    text-decoration: underline;
    font-size: 1vw;
}



div.news_list {width: 60%;margin: 0 auto 5vw auto;}
div.news_list a {transition:0.5s;border-bottom: 1px solid gray;padding: 2vw 1vw;display: flex;width: 100%;justify-content: flex-start;align-items: center;}
div.news_list a:hover{transition:0.5s;background: #e7e7e7;}
div.news_list a p.date {font-weight: 700;color: #004587;width: 15%;}
div.news_list a h3 {font-weight: 600;color: #2b2b2b;padding: 0 2vw;line-height: 2;width: 80%;}
div.news_list a i.fa-solid.fa-angles-right {color: #004587;width: 5%;}


div.news_detail {width: 60%;margin: 0 auto 5vw auto;border: 1px solid #c5c5c5;padding: 3vw 4vw;}
div.news_detail h3 {font-size: 2.5vw;font-weight: bold;color: #004587;}
div.news_detail p {color: black;line-height: 2;font-size: max(18px,1.1vw);}
div.news_detail p.date{
    color: #004587;
    margin: 0 0 1vw 0;
    line-height: inherit;
    text-align: right;
}



div#area.top02.fadeUpTrigger dl dd.icon {width: 7%;text-align: right;}
div#area.top02.fadeUpTrigger dl dd.icon i.fa-solid.fa-angles-right {color: #004696;}
div#area.top02.fadeUpTrigger a dl {border-bottom: 1px solid #c7c7c7;transition:0.5s;}
div#area.top02.fadeUpTrigger a:hover dl {background: #efefef;}

header#header div.h_menu nav#g-nav div#g-nav-list div ul#menu.menu.gnavi li.menu_list a.pc i{color: #e60012;}

.news_detail ul {display: flex;border-top: 1px solid;border-bottom: 1px solid;margin: 3vw 0 0 0;justify-content: space-between;align-items: center;}
.news_detail ul li {
    width: 50%;
    text-align: right;
}
.news_detail ul li a {font-weight: bold;text-align: right;}
.news_detail ul li a i.fa-solid.fa-square-caret-left {
}
.news_detail ul li a i.fa-solid.fa-square-caret-right {
}


.news_detail ul li:first-child {border-right: 1px solid;padding: 2vw 0; text-align:left;}

	
	
table.contact01 {
}
table.contact01 tbody {
}
table.contact01 tbody tr {
}
table.contact01 tbody tr th {
}
table.contact01 tbody tr th span.nin {
}
table.contact01 tbody tr td {
}
table.contact01 tbody tr th span.his {
}
table.contact01 tbody tr td p {
}
table.contact01 tbody tr td textarea {width: 100%;height: 14vw;padding: 1vw;font-size: 1.5vw;}
table.contact01 tbody tr td span.mwform-checkbox-field.horizontal-item {
}
table.contact01 tbody tr td span.mwform-checkbox-field.horizontal-item label {
}
table.contact01 tbody tr td span.mwform-checkbox-field.horizontal-item label input {width: 1.5vw;height: 1.5vw;}
table.contact01 tbody tr td span.mwform-checkbox-field.horizontal-item label span.mwform-checkbox-field-text {font-size: 1.5vw;font-weight: bold;color: black;}
table.contact01 tbody tr td input {font-size: 1.5vw;padding: 1vw;margin: 1vw 0;}
table.contact01 tbody tr td a {
}
table.contact01 tbody tr td input.name{
    width: 29vw;
    margin: 1vw 0;
}	
table.contact01 tbody tr td input.zip{
    width: 15vw;
}	

	
.submit{
		width: 30%;
    border: 2px solid #919191;
    background: #ff6a00;
    margin: 5vw auto;
    display: block;
    padding: 1vw 0;
    font-size: 1.5vw;
    color: #FFF;
    border-radius: 5px;
	}	
	
	



/*20240424*/

h4 {
}
h4 div.sougyo01 {
}
h4 div.skill-card.js-skill-card {margin: -0.2em 0 0 0;}
h4 div.skill-card.js-skill-card p.skill-exp {
}
h4 div.sougyo02 {
}

/*20241227*/	
div.company06 {display: flex;justify-content: space-between;align-items: center;}
div.company06 img {
}
div.company06 div {color: #000;}
div.company06 div p.text10 {font-size: 1em;text-align: right;}
div.company06 div p.text11 {text-align: right;}
div.company06 div p.text12 {font-size: 1.5em;text-align: right;}

	}

/*20250512*/	
div.news_list.ir_news {width: 80%;}
div.news_list.ir_news div.custom-post-category {
}

div.news_list.ir_news div.custom-post-category select#category-select {font-size: 1.2em;padding: 0.5em 1em;background: #8c8c8c;display: block;margin-left: auto;color: #fff;margin-bottom: 1em;}
div.news_list.ir_news div.custom-post-category select#category-select option {
}
div.news_list.ir_news a.fadeUpTrigger {
}
div.news_list.ir_news a.fadeUpTrigger p.date {
}
div.news_list.ir_news a.fadeUpTrigger span {white-space: nowrap;background: #008824;color: #fff;font-weight: 600;padding: 0 1em;}
div.news_list.ir_news a.fadeUpTrigger h3 {
}
div.news_list.ir_news a.fadeUpTrigger h3 i.fa-solid.fa-file-pdf {color: red;padding: 0 0 0 0.5em;}
div.news_list.ir_news a.fadeUpTrigger h3 span.pdf_size {background: none;color: #000;font-weight: 400;padding: 0;}
div.news_list.ir_news a.fadeUpTrigger i.fa-solid.fa-angles-right {
}
div.news_list.ir_news a.fadeUpTrigger span.ir-news {background: #014d87;}
div.news_list.ir_news a.fadeUpTrigger span.timely {background: #89004e;}

div.news_list.ir_news a.fadeUpTrigger span.release{background: #24178d;}



/* 【追記】.news_list.ir_news nav.navigation.pagination にページャーCSS追加 */
.news_list.ir_news nav.navigation.pagination {
  display: flex;
  justify-content: center;
  margin: 3em auto;
  font-family: 'Noto Sans JP', sans-serif;
}

.news_list.ir_news nav.navigation.pagination .nav-links {
  display: flex;
  gap: 1em;
  align-items: center;
}

.news_list.ir_news nav.navigation.pagination .page-numbers {
  display: inline-block;
  padding: 0.4em 1em;
  background: #f0f0f0;
  color: #333;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
  transition: background 0.3s;
  white-space: nowrap;
}

.news_list.ir_news nav.navigation.pagination .page-numbers.current {
  background: var(--blue);
  color: #fff;
}

.news_list.ir_news nav.navigation.pagination .page-numbers:hover:not(.current) {
  background: #ddd;
  color: #000;
}


