@charset "UTF-8";

html{
	font-size:62.5%;
}
body {
	background:transparent;
	min-width:320px;
	padding:0;
	margin:0;
	color:#333;
	font-size:14px;
	font-size:1.4rem;
	text-align:left;
	line-height:2.7;
	letter-spacing:0.05em;
	word-wrap:break-word;
	-webkit-text-size-adjust:100%;
}
body > header,
body > footer,
body > section,
body > article,
body > div{
	font-size:1.4rem;
}

a:link {
	color:#999;
	-webkit-tap-highlight-color:rgba(255,255,255,0.3);
	text-decoration:none;
}
a:visited {
	color:#999;
	text-decoration:none;
}

a:hover {
	color:#999;
	text-decoration:underline;
}
a img,
input[type="image"],
input[type="submit"],
input[type="button"]{
	-moz-transition:opacity 0.2s linear 0s;
	-webkit-transition:opacity 0.2s linear 0s;
	-ms-transition:opacity 0.2s linear 0s;
	-o-transition:opacity 0.2s linear 0s;
	transition:opacity 0.2s linear 0s;
	cursor:pointer;
}
a img{
	background:rgba(255,255,255,0.01);
}
a:hover img,
input[type="image"]:hover,
input[type="submit"]:hover,
input[type="button"]:hover{
	background-color:transparent;
	opacity:0.7;
	filter:alpha(opacity=70);
}
.mB0{
	margin-bottom:0px!important;
}
.txtRed {
	color:#F40000!important;
}
.txtBlue {
	color:#1D2087!important;
}
.txtBlue2 {
	color:#003187!important;
}
.txtOrange {
	color:#E54E00!important;
}
.txt_ind{
	text-indent:-1em;
	padding-left:1em;
}
.c_b{
	clear:both;
}
.r{
	float:right;
}
.l{
	float:left;
}

/* clearfix */
.cf:after ,
.clearfix:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	font-size:0.1px;
	line-height:0;
	overflow:hidden;
	visibility:hidden;
}
.cf ,
.clearfix {
	display:inline-block;
}
/* Hides from IE-mac \*/
* html .cf ,
* html .clearfix {
	height:1%;
	overflow:visible;
}
.cf ,
.clearfix {
	display:block;
}
.cf:after,
header:after,
footer:after,
section:after,
article:after,
div:after,
ul:after,ol:after{
	content:"";
	display:block;
	clear:both;
}
.flex{
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.sp{
	display:none;
}
/***------------
wrap
------------***/
#wrap{
    position: relative;
}
/***------------
main
------------***/
#main{
    width: 100%;
    margin: 0 auto 100px;
    position: relative;
    overflow: hidden;
}
#main img{
    width: 100vw;
    height: auto;
}
#main .logo{
    position: absolute;
    z-index: 1000;
    top: 38px;
    left: 0;
    right: 0;
    width: 22.890625%;
    margin: auto;
}
#main .logo img{
    width:100%;
    height: auto;
}
#main .effect{
    position: absolute;
    z-index: 10;
    padding-top:  18.75%;
    left: 0;
    right: 0;
    margin: auto;
    width: 78.125%;
    top: 0;
    animation: fadeIn 3s ease 0s 1 normal;
    opacity:0;
    animation-fill-mode: forwards;
    z-index: 1000;
}
#main .effect img{
    width: 100%;
    height: auto;
}
@keyframes fadeIn{
0% {
 opacity: 0;
 transform: translateY(100px);
}
  100%{
    opacity: 1;
     transform: translateY(0);
  }

}
/***------------
header
------------***/
#header.index,
#header.page{
    position:absolute;
    top: 0;
    right: 0;
    background: #fff;
    height: 43px;
    padding: 0 15px;
    box-sizing: border-box;
    z-index: 1000;
}
#header.index img,
#header.page img{
    width: 211px;
    height: 23px;
}
#header.index::before,
#header.page::before{
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 23px 43px 0;
    border-color: transparent #ffffff transparent transparent;
    position: absolute;
    content: "";
    left: -22px;
    top: 0;
}

/***------------
footer
------------***/
#footer{
    width: 100%;
}
#footer .flex{
    justify-content: center;
    margin-bottom: 70px;
}
#footer .flex > div{
    margin-top: 30px;
}
#footer .flex > div img{
    width: 311px;
    height: 36px;
}
#footer dl{
    margin-left: 50px;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
}
#footer dl dt{
    line-height: 1.625;
    margin-bottom: 10px;
}
#footer dl dd span{
    padding-right: 8px;
}
#footer dl dd img{
    width: 31px;
    height: auto;
}
#footer dl dd{
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
}
#footer dl dd.mail{
    font-size:14px;
    font-size: 1.4rem;
}
#footer dl dd.mail a{
    text-decoration: underline;
    color: #333;
}
.copy{
    height: 70px;
    line-height: 70px;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    font-family: "Arial", Gadget, "sans-serif";
    background: #F7B52C;
    text-align: center;
}
/***------------
contents
------------***/
/***---common---***/
#contents{
    padding-bottom: 60px;
    border-bottom: 1px solid #EFF1F3;
    width: 100%;
    margin-bottom: 50px;
}
#pagetop {
    position: fixed;
    bottom: 0px;
    right: 0px;
    z-index: 10;
    display: none;
}
#pagetop img{
    width: 40px;
    height: 40px;
}
#contents .banner{
    border-top: 1px solid #EFF1F3;
    width: 100%;
    margin: auto;
    padding-top: 40px;
}
#contents .banner > div{
    width: 890px;
    margin: auto;
}
#contents .banner > div > div{
    margin: auto auto 50px;
    width: 293px;
}
#contents .banner > div > div img{
    width: 100%;
    height: auto;
}
#contents .banner ul{
    width: 100%;
}
#contents .banner ul li{
    width: 200px;
    margin-right: 30px;
}
#contents .banner ul li img{
    width: 100%;
    height: auto;
}
#contents .banner ul li:last-child{
    margin-right: 0px;
}
/***---index---***/
#contents.index .title{
    width: 100%;
    margin: 0 auto 70px;
}
#contents.index .title > div:first-child{
    width: 71px;
    height: 71px;
    margin-right: 20px;
}
#contents.index .title > div:first-child img{
    width: 71px;
    height: 71px;
}
#contents.index .title > h2{
    width: 100%;
    line-height: 1;
    margin-top: 5px;
}
#contents.index .title > h2 img{
    vertical-align: bottom;
}
#contents.index .title > h2 span{
    font-size: 12px;
    font-size: 1.2rem;
    color: #000;
    font-weight: normal;
    width: 100%;
    display: block;
    border-top: 1px  solid #F7B52C;
    padding-top: 15px;
    line-height: 1;
}
#contents.index h3{
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 2;
    font-weight: normal;
}
#contents.index .index-news{
    width: 1000px;
    margin: 0 auto 100px;
}
#contents.index .index-news h2 img{
    width: 94px;
    height: 31px;
}
#contents.index .index-news h2 span{
    margin-top: 10px;
}
#contents.index .index-news > div:first-child{
    width: 260px;
    margin-right: 34px;
}
#contents.index .index-news > div:first-child .title{
    margin-bottom: 40px;
}
#contents.index .index-news > div:first-child button{
    background: #F7B52C;
    border-radius: 15px;
    width: 123px;
    height: 30px;
    border: none;
    display: block;
    margin-left: 93px;
}
#contents.index .index-news > div:first-child button a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 30px;
}
#contents.index .index-news > div:first-child button img{  
    width: 93px;
    height: 15px;
}
#contents.index .index-news > div:last-child{
    width: 706px;
}
#contents.index .index-news > div:last-child dl{
    width: 100%;
    position: relative;
    border-top: 1px solid #EFF1F3;
    padding-top: 10px;
    line-height: 2.2;
}
#contents.index .index-news > div:last-child dl dt{
    position: absolute;
    color: #F7B52C;
}
#contents.index .index-news > div:last-child dl dd{
    padding: 0 0 10px 135px;
    border-bottom: 1px solid #EFF1F3;
    margin-bottom: 10px;
}
#contents.index .index-message{
    width: 1000px;
    margin: 0 auto 150px;
}
#contents.index .index-message h2 img{
    width: 153px;
    height: 41px;
}
#contents.index .index-message h2 span{
    margin-top: 2px;
}
#contents.index .index-message h3{
    margin-bottom: 50px;
}

/* #contents.index .index-message div.layout > div:first-child{
    width: 730px;
    margin-right: 60px;
}
#contents.index .index-message div.layout > div:last-child{
    width: 200px;
    line-height: 1.8;
}
#contents.index .index-message div.layout > div:last-child img{
    width: 200px;
    height: 237px;
    object-fit: cover;
}
#contents.index .index-message div.layout > div:last-child figcaption{
    margin-top: 20px;
}
#contents.index .index-message div.layout > div:last-child figcaption strong{
    display: block;
    font-size: 18px;
    font-size: 1.8rem;
    margin-top: 5px;
} */
#contents.index .index-background{
    width: 1050px;
    margin: 0 auto 115px;
}
#contents.index .index-background .title{
    margin-left: 45px;
    margin-bottom: 0;
    width: 1005px;
    box-sizing: border-box;
}
#contents.index .index-background h2 img{
    width: 211px;
    height: 41px;
}
#contents.index .index-background h2 span{
    margin-top: 2px;
}
#contents.index .index-background div.layout{
    position: relative;
    width: 1050px;
    flex-wrap: wrap;
}
#contents.index .index-background div.layout div:first-child{
    width: 510px;
    height: 350px;
    margin-top: -80px;
    margin-left: 540px;
    z-index: 0;
    position: relative;
}
#contents.index .index-background div.layout div:first-child img{
    width: 100%;
    height: auto;
}
#contents.index .index-background div.layout div:last-child{
    width: 729px;
    height: 360px;
    background: #fff;
    border: 10px solid #fff;
    box-sizing: border-box;
    padding: 30px;
    color: #333;
    font-weight: normal;
    margin-top: -150px;
    z-index:1;
    position: relative;
}
#contents.index .index-goal{
    width: 100%;
    margin: 0 auto 120px;
}
#contents.index .index-goal h2 img{
    width: 78px;
    height: 31px;
}
#contents.index .index-goal h2 span{
    margin-top: 10px;
}
#contents.index .index-goal .layout{
    width: 1000px;
    margin: 0 auto 70px;
}
#contents.index .index-goal h3{
    margin-bottom: 40px;
}
#contents.index .index-goal .pc,
#contents.index .index-goal .sp{
    width: 100%;
    overflow: hidden;
}
#contents.index .index-goal .pc img,
#contents.index .index-goal .sp img{
    width: 100vw;
    height: auto;
}
#contents.index .index-mission{
    width: 1000px;
    margin: 0 auto 100px;
}
#contents.index .index-mission h2 img{
    width: 132px;
    height: 31px;
}
#contents.index .index-mission h2 span{
    margin-top: 10px;
}
#contents.index .index-mission ul{
    width: 100%;
    flex-wrap: wrap;
    border-bottom: 1px dashed #ccc;
    margin-bottom: 20px;
}
#contents.index .index-mission ul.flex > li{
    width: 450px;
    margin-bottom: 50px;
}
#contents.index .index-mission ul li:nth-child(odd){
    margin-right: 50px;
}
#contents.index .index-mission ul li dl dt{
    font-size:20px;
    font-size: 2.0rem;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    line-height: 1.6;
    margin-bottom: 40px;
}
#contents.index .index-mission ul li dl dt span{
    margin-right: 20px;
}
#contents.index .index-mission ul li:nth-child(1) dl dt img{
    width: 17px;
    height: 58px;
}
#contents.index .index-mission ul li:nth-child(2) dl dt img{
    width: 28px;
    height: 59px;
}
#contents.index .index-mission ul li:nth-child(3) dl dt img{
    width: 28px;
    height: 60px;
}
#contents.index .index-mission ul li:nth-child(4) dl dt img{
    width: 32px;
    height: 58px;
}
#contents.index .index-mission ul li dl dd li::before{
    content: "■";
    color: #F7B52C;
}
#contents.index .index-mission ul li dl dd li{
    padding-left: 1.1em;
    text-indent: -1.1em;
    line-height: 2;
    margin-bottom: 5px;
}
#contents.index .index-mission p::before{
    content: "■";
    color: #F7B52C;
}
#contents.index .index-mission p{
    text-align: right;
}
#contents.index .index-vision{
    width: 1000px;
    margin: 0 auto 130px;
}
#contents.index .index-vision h2 img{
    width: 105px;
    height: 31px;
}
#contents.index .index-vision h2 span{
    margin-top: 10px;
}
#contents.index .index-vision .layout div{
    width: 600px;
    margin-right: 60px;
}
#contents.index .index-vision .layout div img{
    width: 100%;
    height: auto;
}
#contents.index .index-vision .layout p{
    width: 340px;
}
#contents.index .index-outlook{
    width: 1000px;
    margin: 0 auto 170px;
}
#contents.index .index-outlook h2 img{
    width: 136px;
    height: 31px;
}
#contents.index .index-outlook h2 span{
    margin-top: 10px;
}
#contents.index .index-outlook .layout div{
    width: 600px;
    
}
#contents.index .index-outlook .layout div img{
    width: 100%;
    height: auto;
}
#contents.index .index-outlook .layout p{
    width: 340px;
    margin-right: 60px;
}
#contents.index .index-member{
    width: 1000px;
    margin: 0 auto 100px;
    line-height: 1.4;
}
#contents.index .index-member h2 img{
    width: 278px;
    height: 40px;
}
#contents.index .index-member h2 span{
    margin-top: 2px;
}
#contents.index .index-member .layout1{
    margin-bottom: 60px;
    width: 610px;
}
#contents.index .index-member .layout1 img{
    width:220px;
    height: 260px;
    object-fit: cover;
}
#contents.index .index-member .layout1 > div{
    width: 220px;
}
#contents.index .index-member .layout1 > div:first-child{
    margin-right: 170px;
}
#contents.index .index-member .layout1 > div > div{
    margin-bottom: 15px;
}
#contents.index .index-member .layout1 h4{
    color: #F7B52C;
    font-size: 20px;
    font-size: 2.0rem;
    margin-bottom: 15px;
}
#contents.index .index-member h5{
    color: #000;
    font-size: 18px;
    font-size: 1.8rem;
    margin: 5px 0;
}
#contents.index .index-member .layout2 ul{
    width: 100%;
    flex-wrap: wrap;    
}
#contents.index .index-member .layout2 ul li{
    width: 200px;
    margin-right: 66px;
    margin-bottom: 60px;
}
#contents.index .index-member .layout2 ul li img{
    width:200px;
    height: 237px;
    object-fit: cover;
}
#contents.index .index-member .layout2 ul li:nth-child(4n){
    margin-right: 0px;
}
#contents.index .index-member .layout2 ul li dt{
    margin-bottom: 15px;
}
#contents.index .index-member .link{
    background-image: url("../images/button_link.svg");
    background-repeat: no-repeat;
    background-size: 46px auto;
    padding-left: 56px;
    margin-top: 15px;
    line-height: 23px;
}
#contents.index .index-member .link a{
    color:#333;
	text-decoration:none;
}
#contents.index .index-member .link a:hover{
    color:#999;
	text-decoration:underline;
}
/***------------
page
------------***/
#main_page{
    width: 100%;
    margin: 0 auto 100px;
    position: relative;
    overflow: hidden;
}
#main_page .pc > div:first-child{
    width: 100%;
    height: 240px;
}
#main_page .pc > div:first-child img{
    width: 100vw;
    height: auto;
}
#main_page .pc > div:nth-child(2){
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 352px;
    height: 16px;
    line-height: 1;
}
#main_page .pc > div:nth-child(2) img{
    width: 352px;
    height: 16px;
    vertical-align: top;
}
#main_page .pc > div:nth-child(3){
    position: absolute;
    top: 0;
    bottom: 0;
    left: 7.421875%;
    margin: auto;
    width: 172px;
    height: 56px;
    line-height: 1;
}
#main_page .pc > div:nth-child(3) img{
    width: 172px;
    height: 56px;
}
/***------------
news
------------***/
#contents.page.news > div{
    width: 790px;
    margin: auto;
}
#contents.page.news > div h1{
    text-align: center;
    margin-bottom: 50px;
    line-height: 1;
}
#contents.page.news > div h1 img{
    width: 93px;
    height: 31px;
}
#contents.page.news > div h1 span{
    border-bottom: 1px solid #F7B52C;
    display: inline-block;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
#contents.page.news > div h1 small{
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: normal;
    color: #000;
}
#contents.page.news > div dl{
    width: 790px;
    margin: 0 auto 50px;
    position: relative;
    border-top: 1px solid #EFF1F3;
}
#contents.page.news > div dl dt{
    position: absolute;
    padding: 15px 0;
    font-size: 14px;
    font-size: 1.4rem;
    color: #F7B52C;
    letter-spacing: 0.1em;
}
#contents.page.news > div dl dd{
    padding: 15px 0 15px 135px;
    border-bottom: 1px solid #EFF1F3;
}
#contents.page.news > div dl dd a{
    color: #333;
}
#contents.page.news > div dl dd a:hover{
    color: #999;
}
#contents.page .Pager {
    overflow: hidden;
    margin-bottom: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#contents.page .pagenation {
    font-size: 0;
    margin-top: 30px;
}
#contents.page .pagenation li {
    display: inline-block;
    margin-left: 5px;
    font-size: 14px;
    vertical-align: middle;
}
#contents.page .pagenation li a {
    border: 1px solid #000;
    padding: 5px 7px;
    border-radius: 3px;
    display: block;
    line-height: 1;
    text-decoration: none;
    color: #F7B52C;
}
#contents.page .pagenation li.cur span a{
    color: #000;
}
#contents.page .button{
    background: #F7B52C;
    border-radius: 10px;
    width: 170px;
    height: 50px;
    border: none;
    display: block;
    margin:0 auto 100px;
}
#contents.page .button a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50px;
}
#contents.page .button a img{  
    width: 85px;
    height: 18px;
}