@charset "UTF-8";
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝　初期設定　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');



:root {
--mainC:#3853e3;
--menuBG:#99CCFF;
--font_hover:#3853e3;
}
*{
	margin: 0px;
	padding: 0px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;

  font-optical-sizing: auto;
font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;}

h1 { font-size: 40px; }
h2 { font-size: 24px; }
h3 { font-size: 22px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }
@media(max-width:767px) {
h1 { font-size: 2rem; }
h2 { font-size: 1.2rem; }
h3 { font-size: 1.8rem; }
h4 { font-size: 1.7rem; }
h5 { font-size: 1.4rem; }
h6 { font-size: 1.2rem; }
p { font-size: 1.1rem; }
}
@media(max-width:576px) {
h1 { font-size: 1.8rem; }
h5 { font-size: 1rem; }
h6 { font-size: 1.4rem; }
p { font-size: 0.9rem;}
}

body {
color:#3e3e4a;
}
footer {
background:#3852e2;
font-size: 0.9rem;
}
.wrapper {
overflow:hidden;
}

.formInput05 { width: 5em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput10 { width: 10em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput15 { width: 15em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput20 { width: 20em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput25 { width: 25em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput30 { width: 30em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput40 { width: 40em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}


/* link style
---------------------------- */
a:link {
	/*color:#7cba7e;*/
	text-decoration: none;
}
a:hover {
	color:#cc0000;
	/*text-decoration:underline;*/
}
a:visited {
	color: #0f0fc4;	/*25.8.21*/
	text-decoration: none;
}

/* other
--------------------------- */
@media screen and (min-width: 579px) {
	.br-sp { display:none; }
}

@media screen and (max-width: 579px) {
	.br-sp2 { display:none; }
}

a:focus, *:focus {
	outline:none;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝　common　＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.maincontainer {
	max-width:1200px !important;
  margin: 0 auto;
  padding-left: 7px;
  padding-right: 7px;
}
.maincontainer2 {
	max-width:1000px !important;
	margin-left:auto;
	margin-right:auto;
}
.maincontainer-wide {
	max-width:1400px !important;
	margin-left:auto;
	margin-right:auto;
}
.rl15-container {
  max-width: 900px;
  position: relative;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}

.rl80-container {
  max-width: 800px;
  position: relative;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}

.rl60-container {
  max-width: 600px;
  position: relative;
  margin: 0 auto;
  padding-left: 45px;
  padding-right: 45px;
}

.maincontainer_wide {
max-width:1200px !important;
  margin: 0 auto;
  padding-left: 5px;
  padding-right: 5px;
}


p.lead {
text-align:center;
font-size:1em;
line-height:1.9em;
}
@media screen and (max-width: 579px) {
p.lead {
text-align:left;
font-size:0.9em;
padding:0 1em;
}
}
p.lead2 {
margin:1.2em 1em;
font-size:1em;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝　footer navi　＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.copyright {
font-size:0.7em;
color:#FFF;
}

/*-------------------------------------------------- */
p.linksaki {
	margin-top:10px;
}
p.linksaki a {
padding:9px;
border:solid 1px var(--mainC);
border-radius:20px;
color:var(--mainC);
font-size:14px;

text-decoration:none;
}
.linksaki a:hover {
background:var(--mainC);
color:#FFF;
}

.section_btn {
margin:80px 5px 10px auto;
}
@media only screen and (max-width: 920px) {
.section_btn {
margin:20px auto;
}
}

.bg-gray {
background:#f5f4ea;
padding:3% 0;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝　ナビゲーション　＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#head_wrap {
position:fixed;
width:100%;
z-index:9999;
   top: 0;
    padding: 0;
background:rgba(255,255,255, 0.3);
}

.header-in {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 align-items: center;
/*justify-content:space-between;*/
justify-content:flex-end;
height:80px;
}
.header-in >:first-child {
  margin-right: auto;
}

@media (max-width: 992px) {
.header-in {
height:60px;
}
}
/*-------------------------- navi ------------------------------*/
#global-nav {
position:relative;/*垂直に中央揃えにするため★*/
}

#global-nav ul {
  list-style: none;
  font-size: 16px;
 display: flex;
flex-wrap:wrap;
justify-content:end;
align-items:center;
position:aboslute;/*★*/
top:0;/*★*/
bottom:0;/*★*/
margin:auto;/*★*/
}
#global-nav ul li {
height:20px;
}
#global-nav ul li a {
color:#000;
  padding: 0px 15px;
  box-sizing: border-box;
  font-weight: bold;
  transition: all .5s ease 0s;
}
#global-nav ul li a:hover {
color:var(--font_hover);
}

@media (max-width: 992px) {
  #global-nav ul {
    display: block;
  }
#global-nav ul li {
margin:20px 0;
}
}

/*#head_wrap.fixed {
background:var(--menuBG);
}
#head_wrap.fixed #global-nav ul li a {
  color: #FFF;
  padding: 0 11px;
}
#head_wrap.fixed #global-nav ul li a:hover {
color:var(--font_hover);
}

#head_wrap.fixed .slogo {
margin-left:3%;
    display: block;
filter: brightness(0) invert(1);
}*/
.slogo {
margin-left:1%;
filter: brightness(0);
width:200px;
padding:20px;
margin-left:3%;
}
.slogo a {
text-decoration:none;
}

@media (max-width: 992px) {
#head_wrap.fixed #global-nav ul li a {
  color: #3e3e4a;
}
.slogo {
width:160px;
}
}
/*-------------------------- Toggle Button -----------------------------*/
#nav-toggle {
  display: none;
  position: absolute;
  right: 20px;
  top: 18px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 9999;
}

#nav-toggle div {
  position: relative;
}


@media (min-width: 992px) {
/* Toggle Button */
#nav-toggle {
  display: none;
}
}

@media (max-width: 992px) {
  #global-nav {
position:fixed;
right:-992px;
height:100vh;
top:0;
width:100%;
background: rgba(153, 204, 255, 0.7);
text-align:center;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
transition:all 0.5s;
  }

  #global-nav ul {
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
    font-size: 14px;
padding-top:120px;
  }
  #global-nav ul li {
    float: none;
    position: static;
padding: 15px;
  }
  #head_wrap #global-nav ul li a,
  #head_wrap.fixed #global-nav ul li a {
    width: 100%;
    display: block;
  }
  #head_wrap #global-nav ul li a:hover,
  #head_wrap.fixed #global-nav ul li a:hover {
color:var(--font_hover);
}



  #nav-toggle {
    display: block;
  }
  /* #nav-toggle MENU_CLOSE */
  #nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #333;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
  }
  #nav-toggle span:nth-child(1) {
    top: 0;
  }
  #nav-toggle span:nth-child(2) {
    top: 11px;
  }
  #nav-toggle span:nth-child(3) {
    top: 22px;
  }
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }


  /* #global-nav MENU_OPEN */
  .open #global-nav {
     /*#global-nav top + #mobile-head height */
z-index:999;
    -moz-transform: translateX(-992px);
    -webkit-transform: translateX(-992px);
    transform: translateX(-992px);
  }
}

/*#head_wrap.fixed #nav-toggle span {
background:#FFF;
}*/

@media (min-width: 993px) {
.br_online { display:none; }
}
.top_online {
margin-right:4%;
}
.top_online a {
font-family: "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  width: 140px;
  height: 44px;
  text-align: center;
  padding: 0 12px; 
  background:var(--mainC);
border-radius:22px;
  color:#fff;
}
.top_online span {
  flex: 1;
font-size:1em;
}
.top_online a:hover {
background:blue;
}

@media (max-width: 992px) {
.top_online {
margin-right:0;
}
.top_online a {
margin-right:80px;
width:90px;
height:60px;
border-radius:0;
}
.top_online span {
line-height:1.5;
font-size:0.8em;
}
}




/*-------------------------- Button -----------------------------*/
.button2025 a {
    border:solid 1px #7cba7e;
    border-radius: 9999px;
color:#7cba7e;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: auto;
    max-width: 250px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    line-height: 1.8;
    transition: 0.3s ease-in-out;
    font-weight: 500;

}
.button2025 a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
color:#7cba7e;
}
.button2025 a:hover {
  background: #7cba7e;
  color: #FFF;
text-decoration:none;
}
.button2025 a:hover:after {
  right: 1.4rem;
color:#FFF;
}

/*=======================================================*/
section.first__section {
padding:50px 0 0;
}
section.first__section2 {
padding-top: 130px;
}
section.first__section3 {
margin-top:100px;
padding-top: -100px;
}
section.first__section4 {
margin-top:140px;
}

@media (max-width: 768px) {
section.first__section4 {
margin-top:120px;
padding-top:30px;
}
}


section.last__section {
  padding-bottom: 20vh;
}
/*------------------------- title -----------------------------*/
.second_bb2 {
text-align:center;
display:block;
width:45px;
height:280px;
margin:0 auto;
}

.second_bb_title {
  writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode:vertical-rl;
  font-size:28px;
text-align:left;
padding-bottom:8px;
border-bottom:solid 2px #4485d9;
letter-spacing:0.3em;
}

.BBtitle_spN,
.BBtitle_spC,
.BBtitle_spH {
    position: relative;
    margin-bottom: 0.2rem;
    font-weight: bold;
    font-size: 26px;
    text-align: center;
}

.BBtitle_spN::before {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    color: #eee;
    font-size: 90px;
    text-transform: uppercase;
    content: 'NEWS';
    z-index: -1;
}

.BBtitle_spC::before {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    color: #eee;
    font-size: 80px;
    text-transform: uppercase;
    content: 'COMPANY';
    z-index: -1;
letter-spacing:-8px;
}

.BBtitle_spH::before {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    color: #eee;
    font-size: 80px;
    text-transform: uppercase;
    content: 'HISTORY';
    z-index: -1;
letter-spacing:-8px;
}

.red {
color:#FF0000;
}


.BBtitle {
font-size:144px;
font-weight:600;
    font-family: Noto Sans JP,Meiryo,sans-serif;
color:#eee;
    letter-spacing: -0.07em;
    line-height: 1;
    margin: 0px 0px -12px 0px;
}
.BBtitleRe {
font-size:144px;
font-weight:600;
    font-family: Noto Sans JP,Meiryo,sans-serif;
color:#3853e3;
    letter-spacing: -0.07em;
    line-height: 1;
    margin: 0px 0px -12px 0px;
text-align:right;
}

  @media screen and (max-width: 768px) {
.second_bb2,
.second_bb_title,
.BBtitle,
.BBtitleRe {
  display:none;
}
}
  @media screen and (min-width: 767px) {
.BBtitle_spN,
.BBtitle_spC,
.BBtitle_spH {
  display:none;
}
}

/*=====*/

.IMG_outer {
    width: 87.5%;
    margin-left: 0;
    margin-right: auto;
    display: flex;
flex-direction:column;

}
.IMG_area {
    width:100%;
    margin-left: 0;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
flex-direction:row;
align-items:flex-end;
}
.IMG_area img {
border-radius: 0px 50px 50px 0px;
max-width:45.5%;
over-flow:hidden;
}
.license_area {
width:100%;
margin:10px 15px;
padding-left:10px;
}

.license_area h2 {
font-weight:600;
}
.license_area h4 {
color:var(--mainC);
font-weight:600;
font-size:1.8rem;
margin-bottom:50px;
}



@media screen and (max-width: 910px) {
.IMG_outer {
    width:100%;
    margin-left: auto;
    margin-right: auto;
}
.IMG_area img {
max-width:100%;
border-radius: 50px;
order:2;
}
.license_area {
order:1;
margin:10px auto;
}
.IMG_area {
flex-direction:column;
    justify-content: flex-center;
    padding:15px;
}
}

.footer_area {
display:flex;
flex-flow:row wrap;
justify-content:space-between;
}
/*@media screen and (max-width: 767px) {
.footer_area {
flex-direction:column;
justify-content:center;
}
}*/


.Fmenu ul {
width: 100%;
max-width:900px;
margin:0;
padding: 0;
}
.Fmenu li {
list-style: none;
}
.Fmenu li a{
color:#333;
font-size:0.9rem;
background:rgba(255,255,255,0.6);
border-bottom: 1px solid #ccc;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 30px;
    font-family: "Noto Sans Japanese";
    line-height: 1.6;
    transition: 0.3s ease-in-out;
    font-weight: 500;

}
.Fmenu a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 3rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  box-sizing: border-box;
/*
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
color:#7cba7e;
*/
}

.Fmenu a:hover {
  background: #eee;

text-decoration:none;
}
.Fmenu a:hover:after {
  right: 1.4rem;
}

@media only screen and (max-width: 767px) {
.Fmenu li a{
padding:8px 20px;
}
}
.Fmenu_area {
margin-top:130px;
}
.Fmenu_area img{
max-width:200px;
margin:0 0 1em;
}

.policy {
font-size:0.9em;
margin:40px 0 50px 25px;
}
@media only screen and (max-width: 767px) {
.policy {
margin:10px 0 15px 20px;
font-size:0.8em;
}
}

.sns_icon ul {
text-align:center;
font-size:0;
}

.sns_icon li {
display: inline-block;
vertical-align: middle;

}
.sns_icon li a {
color:#000;
}
.sns_icon li a:hover {
color:#3853e3;
}
#history{
overflow: hidden;
}

