@charset "utf-8";
/* CSS Document */

.mainvisual .mainvisual__image {
  background-image:url("../images/index_background1.png");
  background-size: contain;
  background-repeat: no-repeat;
}

.padding-none {
  padding: calc((0 /750) * 100vw) !important;
}

.mt0 {
  margin-top: 0 !important;
}

/* heading
------------------------------- */
h1.module_heading{
  font-size: 4.0rem;
  font-weight: 600;
  line-height: 1.6;
}

/* h1 */
.index_heading{
  font-size: 1.35rem;/* 44px */
  line-height: 1.4;
}
.index_heading span{
  font-size: 1.71rem;/* 44px */
  line-height: 1.4;
  font-weight: 600;
}

/* h2 */
.index_heading2{
  font-size: 2.71rem; /* 38px */
  line-height: 1.0;
  font-weight: 600;
  vertical-align: middle;
}
.index_heading2 span{
  font-size: 3.00rem; /* 48px */
  line-height: 1.6;
  font-weight: 600;
  vertical-align: -4px;
}
/* h2 */
.index_heading2_2{
  font-size: 3.42rem; /* 48px */
  line-height: 1.6;
  font-weight: 600;
}


/* h3 */
.index_heading3{
  font-size: 2.57rem;/* 36px */
  line-height: 1.6;
}
/* h3 */
.index_heading3_2{
  font-size:2.14rem; /* 30px */
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: .025em;
}
/* h3 */
.index_heading3_3{
  font-size: 2.57rem;/* 36px */
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: .025em;
}

/* h4 */
.index_heading4{
  font-size: 2.286rem;/* 32px */
  line-height: 1.2;
}

/* paragraph
------------------------------- */
/* index_paragraph */
.index_paragraph--large{
  font-size:1.28rem; /* 18px */
  line-height: 1.6;
}
.index_paragraph--large2{
  font-size:2.15rem; /* 30px */
  line-height: 1.6;
}
.index_paragraph--large3{
  font-size:1.42rem; /* 20px */
  line-height: 1.6;
}
.index_paragraph--large4{
  font-size:1.57rem; /* 22px */
  line-height: 1.6;
}
.index_paragraph--large5{
  font-size:2.14rem; /* 30px */
  line-height: 1.6;
}
.index_paragraph{
  font-size:1.07rem; /* 15px */
  line-height: 1.6;
}


/* mainvisual
----------------------------------------------- */
/* index_mainvisual_nav */
.index_mainvisual_nav{
  margin: 60px 0 0 0;
}
.index_mainvisual_nav ul{
  display: flex;
}
.index_mainvisual_nav ul li{
  border-right: 1px solid #b3b4b7;
  display: flex;
}
.index_mainvisual_nav ul li a{
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url("../images/index_background_nav.png");
  background-position: 0 0;
  background-repeat: repeat;
  text-decoration: none;
  height: auto;
  padding: 10px 7px;
  box-sizing: border-box;
}
.index_mainvisual_nav ul li a:hover{
  background-color: #FFFFFF;
}
.index_mainvisual_nav ul li a span{
  position: relative;
  display: inline-block;
  
  padding: 0 22px 0 0;
}
.index_mainvisual_nav ul li a span::after{
  content: "";
  position: absolute;
  right: 0;
  top: calc(50% - 4px);
  width: 14px;
  height: 8px;
  background-image:url("../images/index_anchor.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
}
.index_mainvisual_nav ul li.index_enquetebtn{
	border-right: none;
}
.index_mainvisual_nav ul li.index_enquetebtn a{
	background-image:unset;	
	justify-content: left !important;
	background: #333 !important;
}

.index_mainvisual_nav ul li.index_enquetebtn a span::after{
  background-image:url("../images/index_anchor2.png");
}


/* main contents layout(2column)
----------------------------------------------- */
.module_layout-2column--wide{
  display: flex;
  align-items: stretch;
}

.module_layout-2column--wide .module_layout-2column__cell {
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 50%;
  padding: 0 20px;
}
.module_layout-2column--wide .module_layout-2column__cell{
  width: 50%;
  padding: 0;
  vertical-align: middle;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.module_layout-2column--wide .module_layout-2column__cell img{
  vertical-align: middle;
}

/* main contents layout(2column--middle)
----------------------------------------------- */
.module_layout-2column--middle{
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  width: 100%;
  min-height: 1px;
  zoom: 1;
  margin: 0 auto;
  margin-top: 30px;
}

.module_layout-2column--middle .module_layout-2column__cell {
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 60%;
  padding: 0 20px;
}
.module_layout-2column--middle .module_layout-2column__cell{
  width: 60%;
  padding: 0;
  vertical-align: middle;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.module_layout-2column--middle .module_layout-2column__cell_img{
  width: 40%;
}
.module_layout-2column--middle .module_layout-2column__cell img{
  vertical-align: middle;
}

/* main contents layout(3column)
----------------------------------------------- */
.index_layout-3column{
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  margin-top: 25px;
}

.index_layout-3column .index_layout-3column__cell {
  width: calc(33% - 40px);
  padding: 0;
  background: linear-gradient(to right, rgba(38, 38, 38, 1) 0%, rgba(71, 72, 74, 1) 100%);
}

.index_layout-3column .index_layout-3column__cell img{
  vertical-align: middle;
}

.index_layout-3column .index_layout-3column__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  padding: 5px 40px;
  flex-grow: 1;
}
@media screen and (min-width: 768px) and (max-width: 1264px) {
    .index_layout-3column .index_layout-3column__heading {
      line-height:1.6rem;
    }
}

/* main contents grey background
------------------------------- */
/* index_content_background */
.index_content_background{
   background: rgb(38,38,38);
    background: -webkit-linear-gradient(left, rgba(38,38,38,1) 0%, rgba(71,72,74,1) 100%);
    background: -o-linear-gradient(left, rgba(38,38,38,1) 0%, rgba(71,72,74,1) 100%);
    background: linear-gradient(to right, rgba(38,38,38,1) 0%, rgba(71,72,74,1) 100%); 
}
.index_layout-3column .index_content_background.online2024_link-image{
   display: flex;
   flex-direction: column;
   height: 100%;
}


/* margin / padding
------------------------------- */
/* index_margin-left__60px */
.index_margin-left__60px{
  margin-left:60px !important;
}
/* index_margin-left__90px */
.index_margin-left__90px{
  margin-left:90px !important;
}
/* index_margin-right__90px */
.index_margin-right__90px{
  margin-right:90px !important;
}

.index_padding-right__320px{
  padding-right: calc((320/1920)*100vw);
}

/* main contents message
------------------------------- */
.index_link_ceo {
  padding-left: calc((350/1920)*100vw);
}

.index_ceo_paragraph{
  padding-left: max(90px, calc((100vw - 1400px) / 2));
}

/* main contents message button area
------------------------------- */
/* message */
.index_message_list{
  display: flex;
  max-width: 1600px;
  width: 100%;
  margin: 60px auto 0 auto;
  flex-wrap: wrap;
}
.index_message_list li{
  width: 25%;
  background: rgb(38,38,38);
  background: linear-gradient(90deg, rgba(38,38,38,1) 0%, rgba(71,72,74,1) 100%); 
  color: #ffffff;
  /*min-width: 400px;*/
  box-sizing: border-box;
}
.index_message_list li a{
  width: 100%;
  box-sizing: border-box;
  display: block;
  color: #ffffff;
  text-decoration: none;
}
.index_message_list li a div{
}
.index_message_list li a div img{
  width: 100%;
  height: auto;
}
.index_message_list li a div:nth-of-type(2){
  padding: 30px 20px 30px 30px;
}

.index_message_list .index_paragraph--large{
    font-size: 1.2rem;
}




/* image link button(image scale)
------------------------------- */
.online2025_link-image div.online2025_link__wrapper{
  overflow: hidden;
  display: block;
  line-height: 0;
  background-color: #fff;
}
.online2025_link-image .module_link-image__image {
  display: block;
  opacity: 1;
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
}
.online2025_link-image:hover{
  text-decoration: none;
}
.online2025_link-image:hover .module_link-image__image {
  opacity: 0.9;
  -webkit-transform: scale(1.05, 1.05);
  -moz-transform: scale(1.05, 1.05);
  -ms-transform: scale(1.05, 1.05);
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
}


/* button color
------------------------------- */
/* button text color */
.js_moduleHoverAction.common_color__black:hover{
  color: #FFFFFF !important;
}


/* main contents : 02 zadankai
----------------------------------------------- */
.index_zadankai__text{
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: block;
  margin-top: 30px;
  position: relative;
}

/* index_zadankai__image */
.index_zadankai__image{
  vertical-align: middle;
  position: relative;
  z-index: 1;
}
.index_zadankai__image img{
  vertical-align: middle;
}
.index_zadankai__inner{
  position: absolute;
  width: 100%;
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0 auto;
  z-index: 2;
}
.index_zadankai_inner2{
  margin: 30px 0 0 0;
  padding: 30px 0;
  background-color: rgba(0, 0, 0, 0.5);
  color: #ffffff;
  line-height: 1.6;
}




/* main contents : 03 business model
----------------------------------------------- */
/* .index_box-2column */
.index_box-2column {
  margin-top: 30px;
  width: 100%;
  min-height: 1px;
  zoom: 1;
  display: flex;
}
.index_box-2column:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.index_box-2column .index_box-2column__cell {
  /*float: left;*/
  width: 50%;
  display: flex;
  flex-direction: column;
  background: rgb(38,38,38);
  background: linear-gradient(90deg, rgba(38,38,38,1) 0%, rgba(71,72,74,1) 100%); 
}
.module_box-2column .module_box-2column__cell:nth-child(odd) {
  padding-right: 2%;
}
.module_box-2column .module_box-2column__cell:nth-child(even) {
  padding-left: 2%;
}
.module_box-2column .module_box-2column__cell > *:first-child {
  margin-top: 0;
}

.index_box-2column__cell div{
  display: flex;
  align-items: center;
}
.index_box-2column__cell div:nth-of-type(1) img{
  vertical-align: middle;
}
.index_box-2column__cell div:nth-of-type(2){
  color: #ffffff;
  padding: 30px 20px 30px 30px;
}
.index_box-2column a{
  display: block;
  font-size: 2.14rem;
  line-height: 1.6;
  text-decoration: none;
}

.index_case-study__inner {
  padding: 0 50px;
}

/* main contents : 05 middle plan buttons
----------------------------------------------- */
/* module_box-4column */
.index_box-4column {
  margin-top: 30px;
  min-height: 1px;
  zoom: 1;
}
.index_box-4column:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.index_box-4column .index_box-4column__cell {
  float: left;
  width: 24.2%;
  padding: 0 4px;
}
.index_box-4column .index_box-4column__cell:nth-child(4n-3) {
  padding-left: 0;
}
.index_box-4column .index_box-4column__cell:nth-child(4n) {
  padding-right: 0;
}
.index_box-4column .index_box-4column__cell > *:first-child {
  margin-top: 0;
}

.index_box-4column--reverse {
  margin-top: 30px;
  min-height: 1px;
  zoom: 1;
}
.index_box-4column--reverse:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.index_box-4column--reverse .index_box-4column--reverse__cell {
  float: left;
  width: 22%;
  padding: 0 2%;
}
.index_box-4column--reverse .index_box-4column--reverse__cell:nth-child(4n-3) {
  padding-left: 0;
}
.index_box-4column--reverse .index_box-4column--reverse__cell:nth-child(4n) {
  padding-right: 0;
}
.index_box-4column--reverse .index_box-4column--reverse__cell > *:first-child {
  margin-top: 0;
}


/* blink button
------------------------------------- */
/*index_link_box*/
.index_link_box{
	position: relative;
	display:inline-block;
    background: #333;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    outline: none;
    overflow: hidden;
  box-sizing: border-box;
}
.index_link_box::before {
	content: '';
	position: absolute;
	top: 0;
	left: -75%;
    width: 50%;
	height: 100%;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	transform: skewX(-25deg);
}

.index_link_box:hover{
  color: #ffffff !important;
  text-decoration: none !important;
}
.index_link_box:hover::before {
	animation: shine 0.7s;
}

@keyframes shine {
	100% {
		left: 125%;
	}
}
.index_box-4column__cell .index_link_box{
  width: 100%;
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.14rem;
}

/* main contents : 06 PDF button
----------------------------------------------- */
/* index_link_box2 */
.index_link_box2 {
  margin-top: 30px;
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 15px 10px;
  width: 170px;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  line-height: 1.3em;
  background-color: rgba(0, 0, 0, 0.7);
}
.index_link_box2:hover{
  color: #fff;
  text-decoration: none;
  background-color: #000;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -ms-transition: all 0.2s linear;
}


/* ===========================
min-width: 768px
max-width: 1599px
--------------------------- */
@media screen and (min-width: 768px) and (max-width: 1599px) {
  /* message */
  .index_message_list{
    width: calc(100% - 40px);
  }
  .index_message_list li{
    /*width: 50%;*/
    min-width: auto;
    margin: 0 0 8px 0;
  }
}