
@font-face {
  font-family: "Ryumin";
  src:url("../font/A-OTF-RyuminPr5-Bold.otf") format("opentype");
}
/*
@font-face {
  font-family: "Trajan";
  src:url("../font/TrajanPro-Bold.otf") format("opentype");
}

@font-face {
  font-family: "Matisse";
  src:url("../font/FOT-MatisseElegantoPro-M.otf") format("opentype");
}

@font-face {
  font-family: "Futura";
  src: url('../font/futura_medium_bt.ttf') format('truetype');
}
*/
@media screen and (min-width: 500px) {
  #registration_sp {
    display: none;
  }
  
}

@media screen and (max-width: 500px) {
  #registration_pc {
    display: block;
  }
  
}

#registration_pc, #registration_sp {
  background-color: #fff;
}

#registration_pc {
  font-size: 1vw;
}

html,body {
  height: 100%;
  font-family: "Ryumin";
}

body {
  background-color: #2e2e2e;
}

footer {
  font-family: Arial, Helvetica, sans-serif;
}

div.inner {
  width: 100%;
}

div.content {
  width: 100%;
}

header h1 {
  padding-left: 4vw;
}

header div.logo {
  float: left;
}

header div.nav {
  float: right;
}

#header_pc {
  position: fixed;
  width: 100%;
  background: #fff;
  z-index: 1000;
  transition: 1s;
  opacity:0;
}

#header_sp {
  position: fixed;
  width: 100%;
  background: #fff;
  z-index: 1000;
  transition: 1s;
  opacity:0;
}

.header_padding {
  padding-top: 85px;
}


section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  border-radius: 0;
  padding: 5vw 10vw;
  border-bottom: 1px solid #a8a8a8 ;
}

section ul {
  padding-inline-start: 0;
}

section li {
  list-style-type: none;
}

section#sec_0_pc {
  padding: 0;
  border-bottom: none;
}

section#sec_0_pc img {
  width: 100%;
}

section#sec_4 {
  border-bottom: none;
}

footer {
  background-color: #2e2e2e;
  color: #fff;
  padding: 5vw 10vw;
}

footer a {
  color: #fff;
}

footer ul {
  padding: 0;
}

footer li {
  display: inline;
}

.clearfix::after {
  content: " ";
  display: block;
  clear: both;
}

#header_pc .nav_content ul {
  padding-top: 2rem;
}

#header_pc .nav_content li {
  display: inline;
  margin-right: 30px;
}

#header_pc .nav_content a {
  color: #2e2e2e;
}

#sec_0_pc {
  opacity: 0;
  transition: 1s;
}

#sec_0_sp {
  opacity: 0;
  transition: 1s;
}

#vision {
  position: relative;
  top: -50px;
}

#sec_1_pc {
  opacity: 0;
}

#sec_1_sp {
  opacity: 0;
}

#sec_1_pc img {
  height: 100%;
}

#sec_1_pc p {
  margin: 0;
}

#sec_2_pc {
  opacity: 0;
}

#sec_2_sp {
  opacity: 0;
}

#sec_3_pc {
  opacity: 0;
}

#sec_3_sp {
  opacity: 0;
}

#sec_3_pc h2 {
  margin-bottom: 2vw;
}

#sec_3_pc .sec_3_container {
  display: flex;
  justify-content: space-between;
}

#sec_3_pc .sec_3_left {
  padding-right: 5vw;
}

#sec_3_pc .sec_3_left img {
  width: 100%;
}

#sec_3_pc .sec_3_right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#sec_3_pc .sec_3_right img {
  width: 50%;
}

#sec_3_pc .sec_3_right .text h3 {
  margin-top: 1rem;
}

#sec_3_pc .sec_3_right .service_1 {
  display: flex;
  justify-content: space-between;
}

#sec_3_pc .sec_3_right .service_2 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

#sec_3_pc .sec_3_right .service_3 {
  display: flex;
  justify-content: space-between;
}

#sec_3_pc .sec_3_right .service_4 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

#sec_3_pc .sec_3_right .service_5 {
  display: flex;
  justify-content: space-between;
}

.service_1, .service_2, .service_3, .service_4, .service_5 {
  opacity: 0;
}

.centered-image {
  display: flex;
  justify-content: center; /* 水平方向の中央揃え */
  align-items: center; /* 垂直方向の中央揃え */
}

#sec_4_pc {
  display: flex;
  justify-content: flex-start;
}

#sec_4_sp {
  opacity: 0;
}

#sec_4_pc .txt {
  margin-left: 4vw;
} 

#footer_pc {
  display: flex;
  justify-content: space-between;
}

#footer_pc .footer_menu_flex {
  margin-top:5vw;
}

#footer_pc .footer_menu_flex li {
  margin-right: 3vw;
}

#footer_sp .footer_menu_flex {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 5vw;
  padding: 0;
}

#footer_sp h2 {
  font-size: 20px;
}

#footer_sp p {
  font-size: 14px;
}

.top_contact_a {
  color: #000000;
}
.enter_img {
  width: 27px;
  margin-left: 15px;
  margin-top: -7px;
}

#sec_0_sp .inner {
  border: none;
}

#sec_0_sp {
  padding: 0;
}

#sec_0_sp img {
  width: 100%;
}

#sec_1_sp img {
  width: 100%;
}

#sec_1_sp.strategy_sp {
  width: 100%;
  display: block;
  padding: 0;
}

#sec_1_sp.strategy_sp p {
  text-align: center;
  margin-top: 2vw;
  font-size: 1.5em;
}

.strategy_sp {
  padding: 0 10vw;
}

.strategy_sp li {
  font-size: 4vw;
}

#sec_3_sp img {
  width: 100%;
}

#sec_3_sp .content p {
  word-wrap: break-word;
}

#footer_sp .footer_menu_flex ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 3vw;
}

section .page_title {
  width: 100%;
  padding:0 10vw 1vw 10vw;
  border-bottom: 1px solid #a8a8a8;
}

section .page_title h1 {
  font-size: 3em;
  margin-bottom: 1vw;
}

section .page_title h2 {
  font-size: 1em;
}

section .content td {
  padding:0 5vw 5vw 0;
}

section .page_title_sp {
  width: 100%;
  padding:0 10vw 1vw 10vw;
  border-bottom: 1px solid #a8a8a8;
}

section .page_title_sp h1 {
  font-size: 2em;
  margin-bottom: 1vw;
}

section .page_title_sp h2 {
  font-size: 1em;
}

section table.table_content_sp td {
  font-size: 10px;
}

#sec_1_pc .content_service {
  width: 100%;
  display: flex;
  justify-content: space-around;
}

#sec_1_pc.service {
  padding: 0 10vw;
}

#sec_1_pc.service .service_left {
  display: flex;
  justify-content: center;
  align-items: center;
}

#sec_2_pc .menu_service {
  width: 100%;
}

#sec_2_pc .menu_service li {
  display: inline;
}

#sec_2_pc .menu_service img {
  width: 20vw;
  margin-right: 0vw;
}

#sec_2_pc .menu_container {
  width: 100%;
}

#sec_2_pc .menu_container_top ul {
  display: flex;
  justify-content: space-around;
}

#sec_2_pc .menu_container_bottom ul {
  display: flex;
  justify-content: space-evenly;
}

#sec_2_sp .menu_service_sp .menu_container_sp {
  width: 100%;
}

#sec_2_sp .menu_service_sp .menu_container_sp img {
  width: 100%;
  margin-bottom: 1vw;
}

#sec_1_pc.market {
  width: 100%;
  padding: 0;
  display: block;
}

#sec_1_pc.market p {
  text-align: center;
}

#sec_1_sp.service {
  width: 100%;
  padding: 0;
  display: block;
}

#sec_1_sp.market p {
  text-align: center;
  padding: 10vw;
}

#sec_0_sp.service {
  border: none;
}

section.strategy {
  list-style-type: decimal;
  width: 100%;
  padding: 0;
  display: block;
  text-align: center;
}

#sec_1_pc div.strategy {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

section.strategy h2 {
  margin: 3vw 0;
  font-size: 3rem;
}

section.strategy ol {
  width: 60%;
  margin: 0 0 3vw 0;
  padding: 0;
  text-align: center;
}

section.strategy li {
  text-align: left;
}

#sec_1_pc.strategy ol p {
  margin: 0 0 1vw 0;
}

.strategy_sp ol {
  margin: 0 0 3vw 0;
  padding: 0;
  text-align: left;
}

#sec_1_sp .strategy_sp p {
  font-size: 0.8em;
  text-align: left;
  padding: 0 5vw;
}

div.news {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

div.article_container img {
  width: 240px;
}

.article_container_sp {
  width: 100%;
  display: block;
}

.article_row_sp {
  display: flex;
  justify-content: space-between;
}

#sec_1_sp .article_container_sp img {
  max-width: 100%;
  margin-bottom: 2vw;
}

#sec_2_pc .news_container {
  width: 100%;
}

#sec_2_pc .news {
  display: flex;
  justify-content: space-between;
}

#sec_2_sp .news_container {
  width: 100%;
}

#sec_2_sp .news_container img {
  width: 100%;
  margin-bottom: 2vw;
}

.contact_div {
  width:500px;
  margin: auto;
}

.contact_name {
  font: normal normal normal 16px/21px A-OTF Gothic MB101 Pro;
  letter-spacing: 0px;
  color: #000000;
  margin-bottom: 5px;
  margin-top:20px;
}

.contact_text, .contact_textarea {
  width:100%;
  background: #FFFFFF 0% 0% no-repeat padding-box;
  border: 1px solid #707070;
  padding:11px 20px 8px;
  font: normal normal normal 16px/21px A-OTF Gothic MB101 Pro;
}

.contact_text::placeholder, .contact_textarea::placeholder {
  color: #CCCCCC;
}

.contact_textarea {
  height:300px;
}

.send_btn {
  text-align: center;
  font: normal normal normal 18px/26px A-OTF Gothic MB101 Pro;
  letter-spacing: 0px;
  color: #FFFFFF;
  background: #2E2E2E 0% 0% no-repeat padding-box;
  width:100%;
  display: block;
  padding:10px 0;
  margin-top: 30px;
  margin-bottom: 100px;
}

.article {
  width: 240px;
  padding-bottom: 20px;
  border-bottom: 1px solid;
}
.article a:hover {
  text-decoration: none;
}
.article_sp a:hover {
  text-decoration: none;
}
.category_date {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 15px;
}
.category {
  background: #FFFFFF 0% 0% no-repeat padding-box;
  border: 1px solid #3192FF;
  border-radius: 13px;
  font: normal normal normal 12px/16px A-OTF Gothic MB101 Pro;
  letter-spacing: 0px;
  color: #3192FF;
  width:100px;
  text-align: center;
  padding:5px 0;
}
.date {
  font: normal normal normal 12px/16px A-OTF Gothic MB101 Pro;
  letter-spacing: 0px;
  color: #D7D7D7;
  padding-top: 5px;
}
.news_title {
  font: normal normal normal 16px/20px A-OTF Gothic MB101 Pro;
  letter-spacing: 0px;
  color: #000000;
  margin-top: 20px;
}
.article_sp {
  width: 100%;
  padding-bottom: 20px;
  border-bottom: 1px solid;
}

#sec_1_pc .news_detail_img {
  width: 30%;
  height: 100%;
  display: block;
}
.category_date_detail {
  display: flex;
  justify-content: space-between;
  width: 250px;
}
.news_detail_title {
  font: normal normal normal 30px/30px A-OTF Gothic MB101 Pro;
  letter-spacing: 0px;
  color: #000000;
  margin-top: 20px;
  padding-bottom: 30px;
  border-bottom: 1px solid;
}
.news_detail_content {
  font: normal normal normal 16px/20px A-OTF Gothic MB101 Pro;
  letter-spacing: 0px;
}

.category_date_detail_right {
  max-width: 350px;
  max-height: 150px;
}



/* SP用ハンバーガー開始 */

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

/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  margin: 1rem;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #333;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}

/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: #9b9b9b;
  opacity: 0.8;
  transition: .5s;
}

/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
  padding: 2rem;
}

.nav_list li {
  margin-bottom: 5vw;
}

.nav_list a {
  color: #000000;
  font-size: 8vw;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  left: 0%;/* メニューを画面に入れる */
}

.header_padding {
  padding-top: 95px;
}

.contact_text, .contact_textarea {
  font: normal normal normal 14px/18px A-OTF Gothic MB101 Pro;
}

.category_date_detail {
  width: 100%;
}

.news_detail_title {
  font: normal normal normal 20px/25px A-OTF Gothic MB101 Pro;
  margin-top: 20px;
  padding-bottom: 15px;
}
.news_detail_content {
  font: normal normal normal 12px/18px A-OTF Gothic MB101 Pro;
  letter-spacing: 0px;
  margin-top: 10px;
  margin-bottom: 50px;
}

#vision {
  top: -80px;
}

}
/* SP用ハンバーガー終了 */

/* inview.js用css */
.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}
/* inview.js用css */