@charset "utf-8";

/* ------------------------------------------------------------
	BASE SETTING CSS
------------------------------------------------------------ */

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Modern+Antiqua);

html {
	overflow: auto;
	overflow-y: scroll;
	font-size: 10px;
}
body {
	overflow: hidden;
	min-width: 1100px;
	background: #fff;
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	line-height: 1.7;
	letter-spacing: 1px;
}
img {
	max-width: 100%;
   margin: 0 auto;
}
a {
	color: #333;
	text-decoration: none;
	transition: 0.3s ease-in-out;
}
a:visited {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: #333;
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
   body {
      min-width: auto;
   }
}


/*----------------------------------------------------
	コンポネ
----------------------------------------------------*/
/* 背景色 */
.bg_gray {
   background-color: #f9f9f9;
}

/* wrapper */
.wrapper {
	width: 1140px;
   padding: 0 20px;
	margin: 0 auto;
}

@media (max-width: 768px) {
   .wrapper {
      width: auto;
      padding: 0 5%;
   }
}

/* 注釈 */
.list_note {
   margin-top: 20px;
}
.list_note li {
   font-size: 1.2rem;
   text-indent: -1em;
   padding-left: 1em;
   margin-top: 20px;
}

/* タイトル */
.ttl_h2 {
   background-image: url(/3minutes/images/bg_ttl_h2.svg);
   background-repeat: no-repeat;
   background-position: bottom 0.6em center;
   color: #191B40;
   font-size: 5rem;
   font-weight: 500;
   text-align: center;
   margin-bottom: 40px;
}
.ttl_h2 span {
   display: block;
   color: #555;
   font-size: 2rem;
   font-weight: 500;
}

@media (max-width: 768px) {
   .ttl_h2 {
      font-size: 3.4rem;
      line-height: 1.2;
   }
   .ttl_h2 span {
      font-size: 1.6rem;
      margin-top: 20px;
   }
}

/* リード分 */
.lead_txt {
   font-size: 1.6rem;
   line-height: 1.8;
   text-align: center;
   margin-bottom: 60px;
}

@media (max-width: 768px) {
   .lead_txt {
      text-align: left;
      margin-bottom: 40px;
   }
}

/* PC・SP */
.sp_only {
	display: none;
}

@media screen and (max-width: 768px) {
   .sp_only {
      display: block;
   }
   .pc_only {
      display: none;
   }
}

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/

header {
	padding: 0px 5%;
	height: 100px;
	position: relative;
}
.header_logo {
	padding-top: 25px;
}

@media screen and (max-width: 960px) {
   header {
      height: 80px;
   }
   .header_logo {
      padding-top: 15px;
   }
}

/*----------------------------------------------------
	フッター
----------------------------------------------------*/

footer {
	position: relative;
	background-color: #ffffff;
	padding: 50px 0;
}
.footer_sns { 
	margin: 0 auto 40px;
   display: flex;
   justify-content: center;
   align-items: flex-end;
	padding: 5px 30px;
}
.footer_sns li {
	display: inline-block;
	margin: 10px 20px 10px;
}
.footer_bottom {
   display: flex;
   justify-content: space-between;
	font-size: 1.4rem;
	padding: 30px 0;
}
.footer_bottom_txt {
	width: 55%;
}
.footer_bottom_copy {
	width: 40%;
}
.footer_bottom_copy p {
	text-align: right;
	font-family: none;
}

@media screen and (max-width: 768px) {
   .footer_sns { 
      margin: 0 auto 30px;
      padding: 0;
   }
   .footer_bottom {
      flex-direction: column;
   }
   .footer_bottom_txt {
      width: 100%;
      margin-bottom: 20px;
   }
   .footer_bottom_copy {
      width: 100%;
   }
   .footer_bottom_copy p {
      text-align: left;
      font-size: 1.2rem;
   }
}

/* ------------------------------------------------------------
	ページ先頭へ
------------------------------------------------------------ */

.pageTop {
	position: fixed;
	width: 70px;
	height: 70px;
	background-color: rgba(25,27,64,0.8);
	border-radius: 50%;
	text-align: center;
	bottom: 10px;
	right: 10px;
	cursor: pointer;
	z-index: 9999;
}
.pageTop i {
   position: absolute;
   background-image: url(/3minutes/images/icon_arrow_wh.svg);
   background-repeat: no-repeat;
   background-size: cover;
   width: 12px;
   height: 8px;
   top: calc(50% - 2px);
   left: 50%;
   transform: translate(-50%,-50%) rotate(180deg);
}

@media screen and (max-width: 768px) {
   .pageTop {
      width: 50px;
      height: 50px;
   }
}

/* ------------------------------------------------------------
	メインビジュアル
------------------------------------------------------------ */
.mv_cont {
   position: relative;
}
.mv_img {
   text-align: center;
}
.mv_txt {
   color: #191B40;
   font-size: 2rem;
   font-weight: 700;
   letter-spacing: -0.01em;
}

@media screen and (min-width: 769px) {
   .mv_txt {
      position: absolute;
      left: 75px;
      bottom: 105px;
   }
}

@media screen and (max-width: 768px) {
   .sec_mv {
      margin-bottom: 30px;
   }
   .sec_mv .wrapper {
      padding: 0;
   }
   .mv_txt {
      width: auto;
      padding: 0 5%;
      font-size: 1.4rem;
      text-align: center;
   }
   .mv_txt span {
      display: inline-block;
      text-align: left;
   }
}

/* ------------------------------------------------------------
	アンカーリンク
------------------------------------------------------------ */
.anc_list {
   position: relative;
   display: flex;
   flex-wrap: wrap;
   overflow: hidden;
   background-color: #fff;
   border-radius: 10px;
   box-shadow: 0px 0px 30px 0px #ccc;
   z-index: 2;
}
.anc_list_item {
   width: calc(100% / 4);
}
.anc_list_link {
   display: flex;
   justify-content: center;
   align-items: center;
   height: 100%;
   color: #191B40;
   font-size: 1.8rem;
   font-weight: 500;
   text-align: center;
   padding: 25px;
}
.anc_list_link:hover {
   text-decoration: none;
   background-color: #191B40;
   color: #fff;
}
.anc_list_link span {
   position: relative;
   flex-grow: 1;
   height: 100%;
   padding-bottom: 10px;
}
.anc_list_link span i {
   position: absolute;
   background-image: url(/3minutes/images/icon_arrow_gray.svg);
   background-repeat: no-repeat;
   background-size: cover;
   width: 12px;
   height: 8px;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%);
}
.anc_list_item .anc_list_link span::before {
   position: absolute;
   background-color: #959595;
   height: 100%;
   width: 1px;
   top: 50%;
   transform: translateY(-50%);
}

@media screen and (min-width: 769px) {
   .anc_list_item:nth-child(n+2) .anc_list_link span::before {
      content: "";
      left: -25px;
   }
}

@media screen and (max-width: 768px) {
   .anc_list_item {
      width: calc(100% / 2);
   }
   .anc_list_link {
      font-size: 1.4rem;
      padding: 15px;
   }
   .anc_list_item:nth-child(2n) .anc_list_link span::before {
      content: "";
      left: -15px;
   }
}

.linkButton_link {
   position: relative;
   display: inline-block;
   padding-right: 60px;
}
.linkButton_link:hover {
   text-decoration: none;
   color: #999;
}
.linkButton_link_txt {
   display: inline-block;
}
.linkButton_link_icon {
   content: '';
   position: absolute;
   display: inline-block;
   top: 50%;
   right: 0;
   width: 50px;
   height: 50px;
   color: #666;
   border: solid 2px #ccc;
   background-color: #fff;
   box-shadow: 0px 3px 3px 3px #eee inset;
   line-height: 50px;
   border-radius: 50%;
   text-align: center;
   text-decoration: none;
   margin-left: 10px;
   transform: translateY(-50%);
   transition: color 0.3s;
   z-index: 1;
}
.linkButton_link_icon::after {
   content: '';
   position: absolute;
   background: #191B40;
   top: -2px;
   left: -2px;
   width: 100%;
   height: 100%;
   border-radius: 50%;
   box-sizing: content-box;
   padding: 2px;
   -webkit-transition: -webkit-transform 0.2s, opacity 0.3s;
   transition: transform 0.2s, opacity 0.3s;
   -webkit-transform: scale(1.3);
   transform: scale(1.3);
   opacity: 0;
   z-index: -1;
}
.linkButton:hover .linkButton_link_icon::after {
   transform: scale(1);
   opacity: 1;
}
.linkButton_link_icon i {
   content: '';
   position: absolute;
   background-image: url(/3minutes/images/icon_button_arrow_gray.svg);
   background-repeat: no-repeat;
   background-position: bottom center;
   width: 12px;
   height: 12px;
   top: 50%;
   left: 50%;
   transform: translate(-50%,-50%);
}
.linkButton:hover .linkButton_link_icon i {
   background-image: url(/3minutes/images/icon_button_arrow_wh.svg);
}

@media screen and (max-width: 768px) {
   .linkButton_link_txt {
      font-size: 1.4rem;
   }
}

/* ------------------------------------------------------------
	私たちの出発点
------------------------------------------------------------ */

.sec_start {
   position: relative;
   padding: 45px 0 0;
}
.sec_start::before {
   content: "";
   position: absolute;
   background: url(/3minutes/images/bg_start.svg) no-repeat;
   background-size: contain;
   background-position: top right;
   width: 500px;
   height: calc(100% + 42px);
   top: 0;
   right: 45%;
   z-index: 1;
}
.sec_start::after {
   content: "";
   position: absolute;
   background-color: #F5F5F5;
   top: 0;
   width: 100%;
   height: calc(100% + 42px);
   left: 55%;
   z-index: 1;
}
.sec_start .wrapper {
   position: relative;
   z-index: 2;
}
.start_column {
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.start_column_item {
   max-width: 475px;
}
.start_column_date {
   position: relative;
   color: #191B40;
   font-size: 2.6rem;
   font-weight: 700;
   padding-left: 55px;
   margin-bottom: 10px;
}
.start_column_date span {
   font-size: 1.5rem;
}
.start_column_date::before {
   content: "";
   position: absolute;
   background-color: #191B40;
   height: 1px;
   width: 45px;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}
.start_column_ttl {
   font-size: 2.2rem;
   font-weight: 700;
   line-height: 2;
   margin-bottom: 25px;
}
.start_column_txt {
   font-size: 1.4rem;
   line-height: 2.3;
}

@media screen and (max-width: 768px) {
   .sec_start::before {
      background-position: bottom right;
      height: calc(100% + 32px);
      left: auto;
      right: -30%;
   }
   .sec_start::after {
      content: none;
   }
   .start_column {
      flex-direction: column;
   }
   .start_column_item {
      max-width: 100%;
   }
   .start_column_item + .start_column_item {
      margin-top: 40px;
   }
   .start_column_date {
      font-size: 2.4rem;
   }
   .start_column_ttl {
      font-size: 2rem;
   }
}

/* ------------------------------------------------------------
	表示灯の「ナビタ」
------------------------------------------------------------ */

.sec_navita {
   position: relative;
   background-color: #f9f9f9;
   padding-top: 190px;
}
.sec_navita::before {
   content: "";
   position: absolute;
   background: url(/3minutes/images/bg_navita.svg) no-repeat;
   background-size: contain;
   background-position: top left;
   width: 650px;
   height: 100%;
   top: 45px;
   left: 0;
   z-index: 0;
}
.sec_navita .wrapper {
   position: relative;
   z-index: 1;
}
.navita_ttlBg {
   position: relative;
   background-color: #191B40;
   padding: 40px 0;
   margin-bottom: 60px;
}
.navita_ttlBg::before {
   content: "";
   position: absolute;
   background: url(/3minutes/images/bg_navita_txt.svg) no-repeat;
   background-size: contain;
   background-position: bottom center;
   width: 1800px;
   height: 250px;
   bottom: 160px;
   left: 50%;
   transform: translateX(-50%);
   z-index: 1;
}
.navita_ttl {
   position: relative;
   background-color: #fff;
   width: 785px;
   padding: 50px;
   font-size: 3.2rem;
   font-weight: 700;
   text-align: center;
   margin: 0 auto;
   box-shadow: 0px 0px 30px 0px #fff;
}
.navita_ttl span {
   color: #3CB5B0;
}
.navita_ttl_h3 {
   color: #191B40;
   font-size: 2.2rem;
   font-weight: 700;
   text-align: center;
   margin-bottom: 40px;
}
.navita_ttl_h3 span {
   display: inline-block;
   border: solid 1px #191B40;
   padding: 5px 30px;
}
.navita_bubble {
   background-image: url(/3minutes/images/bg_navita_bubble.svg);
   background-repeat: no-repeat;
   background-position: bottom center;
   color: #285187;
   font-size: 2rem;
   font-weight: 700;
   text-align: center;
   padding-bottom: 35px;
   margin-bottom: -30px;
}
.navita_bubble span {
   display: inline-block;
}
.navita_img {
   position: relative;
   text-align: center;
}
.navita_img img {
   width: 100%;
}

@media screen and (max-width: 768px) {
   .sec_navita {
      padding-top: 90px;
  }
  .sec_navita::before {
     top: 35px;
     left: -100px;
  }
   .navita_ttlBg::before {
      width: 100%;
      height: 70px;
      top: -57px;
   }
   .navita_ttl {
      background-color: #fff;
      width: 80%;
      padding: 20px;
      font-size: 2rem;
      font-weight: 700;
      text-align: center;
      margin: 0 auto;
   }
   .navita_ttl span {
      display: block;
   }
   .navita_ttl_h3 {
      font-size: 1.8rem;
      margin-bottom: 20px;
   }
   .navita_bubble {
      font-size: 1.2rem;
      margin-bottom: 0;
   }
}

/* ------------------------------------------------------------
	表示灯の強み
------------------------------------------------------------ */

.sec_keyword {
   background-color: #f9f9f9;
   padding: 70px 0 95px;
}
.keyword_ttl {
   background-color: #191B40;
   color: #fff;
   font-size: 2.4rem;
   font-weight: 700;
   text-align: center;
   padding: 20px;
   margin-bottom: 50px;
}
.keyword_column {
   margin-top: 60px;
}
.keyword_column_head .keyword_ttl {
   margin-bottom: 30px;
}
.keyword_column {
   display: flex;
}
.keyword_column_item {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   width: calc((100% - 40px) / 2);
}
.keyword_column_item + .keyword_column_item {
   margin: 0 0 0 40px;
}
.keyword_column_item .keyword_panel {
   margin-top: 50px;
}
.keyword_panel {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
}
.keyword_panel_item + .keyword_panel_item {
   margin: 0 0 0 95px;
}
.keyword_panel_item img {
   border-radius: 30px;
   box-shadow: 0px 0px 50px 0px #ccc;
}
.keyword_panel_txt {
   font-size: 2.5rem;
   font-weight: 900;
   line-height: 1.4;
}
.keyword_panel_txt span {
   color: #285187;
   font-size: 7.1rem;
   padding: 0 5px;
}
.keyword_note {
   max-width: 760px;
   margin: 0 auto;
}
.keyword_button {
   text-align: center;
   margin-top: 50px;
}

@media screen and (max-width: 768px) {
   .sec_keyword {
      padding: 40px 0 60px;
   }
   .keyword_ttl {
      font-size: 1.8rem;
      margin-bottom: 30px;
   }
   .keyword_column {
      flex-direction: column;
   }
   .keyword_column_item {
      width: 100%;
   }
   .keyword_column_item + .keyword_column_item {
      margin: 40px 0 0;
   }
   .keyword_column_item .keyword_panel {
      margin-top: 30px;
   }
   .keyword_panel {
      flex-direction: column;
   }
   .keyword_panel_item {
      width: 70%;
      text-align: center;
      margin: 0 auto;
   }
   .keyword_panel_item + .keyword_panel_item {
      margin: 40px auto 0;
   }
   .keyword_button {
      margin-top: 30px;
   }
}

/* ------------------------------------------------------------
	コア事業と展開事業
------------------------------------------------------------ */

.sec_business {
   position: relative;
   background-color: #f9f9f9;
   padding-top: 128px;
}
.sec_business::before {
   content: "";
   position: absolute;
   background: url(/3minutes/images/bg_business.svg) no-repeat;
   background-size: cover;
   background-position: top center;
   width: 2240px;
   height: 2240px;
   top: 0;
   left: 50%;
   transform: translateX(-50%);
}
.sec_business .wrapper {
   position: relative;
}
.sec_business_cont {
   position: relative;
}
.sec_business_cont +.sec_business_cont {
   padding-top: 100px;
}
.sec_business_cont +.sec_business_cont::before {
   content: "";
   position: absolute;
   background-image: url(/3minutes/images/icon_business_arrow.svg);
   background-repeat: no-repeat;
   background-size: cover;
   width: 44px;
   height: 44px;
   top: 30px;
   left: 50%;
   transform: translateX(-50%);
   transition: 0.3s all ease-in-out;
}
.business_ttl {
   font-size: 2.2rem;
   font-weight: 700;
   text-align: center;
   border-top: solid 1px #333;
   border-bottom: solid 1px #333;
   padding: 10px 0;
   margin-bottom: 50px;
}
.business_ttl--pink {
   color: #B82A55;
   border-color: #B82A55;
}
.business_ttl--green {
   color: #428442;
   border-color: #428442;
}
.business_box {
   display: flex;
   flex-wrap: wrap;
}
.business_box_item {
   position: relative;
   background: #fff;
   width: calc((100% - 80px) / 3);
   border-radius: 30px;
   box-shadow: 0px 0px 50px 0px #ccc;
   overflow: hidden;
}
.business_box_img {
   position: relative;
   background-color: #000;
   height: 250px;
}
.business_box_img img {
   height: 100%;
   width: 100%;
   opacity: 0.7;
   object-fit: cover;
}
.business_box_ttl {
   position: absolute;
   color: #fff;
   font-size: 3rem;
   font-weight: 700;
   line-height: 1.4;
   text-align: center;
   width: 100%;
   top: calc(50% + 10px);
   left: 50%;
   transform: translate(-50%,-50%);
   z-index: 1;
}
.business_box_txt {
   font-size: 1.4rem;
   padding: 25px 25px 30px;
}

@media screen and (min-width: 769px) {
   .business_box_item:not(:nth-child(3n+1)) {
      margin-left: 40px;
   }
   .business_box_item:nth-child(n+4) {
      margin-top: 40px;
   }
}

@media screen and (max-width: 768px) {
   .sec_business {
      padding-top: 60px;
   }
   .sec_business::before {
      width: 800px;
      height: 4500px;
   }
   .business_ttl {
      font-size: 1.8rem;
      margin-bottom: 30px;
   }
   .business_box {
      flex-direction: column;
   }
   .business_box_item {
      width: 100%;
   }
   .business_box_item:nth-child(n+2) {
      margin-top: 40px;
   }
   .business_box_ttl {
      font-size: 2.4rem;
   }
}

/* ------------------------------------------------------------
	表示灯を知るキーワードと数値
------------------------------------------------------------ */

.sec_performance {
   background-color: #f9f9f9;
   padding: 100px 0 80px;
}
.sec_performance .wrapper {
   position: relative;
   z-index: 2;
}
.performance_panel {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
}
.performance_panel_item img {
   border-radius: 30px;
   box-shadow: 0px 0px 50px 0px #ccc;
}
.performance_date {
   font-size: 1.2rem;
   text-align: right;
   margin-top: 20px;
}

@media screen and (min-width: 769px) {
   .performance_panel_item:not(:nth-child(4n+1)) {
      margin-left: 40px;
   }
   .performance_panel_item:nth-child(n+5) {
      margin-top: 40px;
   }
}

@media screen and (max-width: 768px) {
   .sec_performance {
      padding: 60px 0 60px;
   }
   .performance_panel_item {
      width: calc((100% - 20px) / 2);
   }
   .performance_panel_item:not(:nth-child(2n+1)) {
      margin-left: 20px;
   }
   .performance_panel_item:nth-child(n+3) {
      margin-top: 20px;
   }
}