@charset "UTF-8";

/*
==========================================================================
メインビジュアル
==========================================================================
*/


.mainvisual{
  width:100%;
  overflow: hidden;
  height:715px;
  height:54vw;
  position: relative;
}

.mainvisual ul{
  position: absolute;
  width:100%;
  height:100%;
  right:-100%;
}

.mainvisual li{
  position: absolute;
  width:100%;
  height: 100%;
  height:54vw;
  z-index: 1;
  cursor: pointer;
}

.mainvisual li p:last-of-type img{
  /*width: 100%;*/
  width: 80%;
}
.mainvisual_logo{
	  position: absolute;
  left:50%;
  width: 41.56%;
  position: absolute;
  top: 16.63%;
transform: translateX(-50%);
text-align: center;
  z-index: 100;
}

.mainvisual_logo img{
  width: 100%;
  z-index: 100;
}

.mainvisual .mv1{
  background-image:url("../img/top/top_mv1.jpg");
  background-size: cover;
}

.mainvisual .mv2{
  background-image:url("../img/top/top_mv2.jpg");
  background-size: cover;
}

.mainvisual .mv3{
  background-image:url("../img/top/top_mv3.jpg");
  background-size: cover;
}

.mainvisual .mv4 {
    background-image: url(../img/top/top_mv4.jpg);
    background-size: cover;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
}

.mainvisual .mv4 .trinity {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.mainvisual .mv4 .trinity img {
  width: 360px;
  margin-top: 180px;
}

.mainvisual .mv4 .trinity h3 {
  margin-top: 16px;
  font-size: 40px;
  color: #fff;
  opacity: 0;
}

.mainvisual .mv4 .trinity a {
  color: #fff;
  border-radius: 5px;
  border: 2px solid #fff;
  background: #1b4b60;
  width: 370px;
  height: 45px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 28px;
  font-size: 18px;
}

@media screen and (-webkit-min-device-pixel-ratio:2),
                  (min-resolution: 2dppx){
  .mainvisual .mv1{
    background-image: url("../img/top/mv1_2x.jpg");
    background-position: center;
    background-size: cover;
  }

  .mainvisual .mv2{
    background-image: url("../img/top/mv2_2x.jpg");
    background-size: cover;
  }

  .mainvisual .mv3{
    background-image: url("../img/top/mv3_2x.jpg");
    background-size: cover;
  }

  .mainvisual .mv4{
    /*background-image: url("../img/top/mv4_2x.jpg");*/
    background-image: url("../img/top/top_mv4_2x.jpg");
    background-size: cover;
  }
}



.mainvisual .crossbar{
  position: absolute;
  top:44.4%;
  left:50%;
  transform:translateX(-50%);
  text-align: center;
  z-index: 100;
}
.mainvisual li .textilebox{
  background: url("../img/top/textile_03.png");
	position: absolute;
	width: 50%;
	height: 14.4%;
  top:52.77%;
  left:50%;
  transform:translateX(-50%);
}



.mainvisual li .textilebox img{
  width: 100%;
  transform:translateX(-50%);
}

.mainvisual .textilebox img{
  position: absolute;
  left:50%;
}

.mainvisual .mv1 .textilebox img{
  width:40.8%;
  bottom:-8%;
}

.mainvisual .mv2 .textilebox img{
  width:78%;
  bottom:14%;
}

.mainvisual .mv3 .textilebox img{
  width:60%;
  bottom:10%;
}

.mainvisual li .content_comment{
  position:absolute;
top:74.2%;
width: 52.35%;
  left:50%;
  transform:translateX(-50%);
  text-align: center;
}

.mainvisual li .content_comment p{
  color:#fff;
}

.mainvisual li .content_comment p:first-of-type{
  font-size:2.4rem;
  margin-bottom: 0.2em;
}
.mainvisual li .content_comment p:last-of-type{
  font-size: 2rem;
}

/*
==========================================================================
イントロ
==========================================================================
*/

.intro{
  position: relative;
  overflow: hidden;
  max-width: 1280px;
  margin: auto;
  width:100%;
  height:460px;
  max-height: 460px;
  height:35vw;
  background:url("../img/top/intro.jpg");
  background-size: cover;
}

.intro_back{
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#095265+0,095265+49,095265+50,002b44+50,002b44+100 */
  background: #095265; /* Old browsers */
  background: -moz-linear-gradient(left,  #095265 0%, #095265 49%, #095265 50%, #002b44 50%, #002b44 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left,  #095265 0%,#095265 49%,#095265 50%,#002b44 50%,#002b44 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right,  #095265 0%,#095265 49%,#095265 50%,#002b44 50%,#002b44 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#095265', endColorstr='#002b44',GradientType=1 ); /* IE6-9 */
}

@media screen and (-webkit-min-device-pixel-ratio:2),
                  (min-resolution: 2dppx){
					  .intro_back{
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#095265+0,095265+49,095265+50,002b44+50,002b44+100 */
background: #095265; /* Old browsers */
background: -moz-linear-gradient(left,  #095265 0%, #095265 49%, #095265 50%, #002b44 50%, #002b44 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #095265 0%,#095265 49%,#095265 50%,#002b44 50%,#002b44 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #095265 0%,#095265 49%,#095265 50%,#002b44 50%,#002b44 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#095265', endColorstr='#002b44',GradientType=1 ); /* IE6-9 */
}

.intro{
  background:url("../img/top/intro_back_2x.jpg") center no-repeat;
  background-size: contain;
}


}


.intro section{
  width:46%;
  float: left;
  margin-top: 6%;
  margin-left: 46%;
}

.intro section:nth-child(2){
  width: 54%;
}

.intro section *{
  color:#fff;
}

.intro section h2{
  font-size: 2.8rem;
  margin-bottom: 0.8em;
}

.intro section h2 + p{
  font-size: 1.6rem;
  margin-bottom: 2.87em;
}

.intro section.parts {
  position: absolute;
  padding-right: 4.5%;
  margin-left: 0;
}

.link_btn{
  width: 15rem;
  border:2px solid #fff;
  border-radius:0.8rem;
  vertical-align: middle;
  text-align: center;
}

.link_btn a{
  color:#fff;
  display: block;
    height: 4rem;
    line-height: 4rem;
}

.link_btn a:hover:after{
  left:2.7rem;
}


/*
==========================================================================
システム
==========================================================================
*/

.system{
  width:100%;
  background:#ECEFF1;
  padding:5.6rem 0 10rem;
}

.system > section{
  text-align: center;
  margin-bottom: 6rem;
}

.eng_ttl{
  font-weight: bold;
  font-size: 1.8rem;
  letter-spacing: 0.14em;
  margin-bottom: 1.66em;
font-family: Avenir, sans-serif;
}

.eng_ttl:after{
  content:"";
  display: block;
  margin:1.2rem auto 0;
  background:#0A2D3A;
  height:0.2rem;
  width:2.8rem;
}

.system > section h3,
.history> section h3{
  font-size: 3.5rem;
  margin-bottom: 0.71em;
}

.system>section h3,
.system>section h4 {
  color: #0097A7;
}

.system>section h4 {
  font-size: 2.6rem;
  margin-top: 70px;
  margin-bottom: 0.71em;
}

.system .my_number h3{
  margin: 0.71em 0;
}

.system .my_number .my_number_image {
  background-color: #fff;
  width: 90%;
  max-width: 1000px;
  margin: 25px auto 0;
  padding: 3.8rem 4rem;
  display: flex;
  justify-content: center;
}

.system .my_number .my_number_image li+li {
  margin: 0 0 0 6rem;
  position: relative;
}

.system .my_number .my_number_image li+li::before {
  background-image: url(../img/top/mn_add.png);
  background-size: cover;
  content: "";
  width: 40px;
  height: 40px;
  display: inline-block;
  position: absolute;
  top: 75px;
  left: -50px;
}

.system .my_number .my_number_image li .img img {
  width: 100%;
  max-width: 311px;
}

.system .my_number .my_number_image p {
  font-size: 1.6rem;
  font-weight: bold;
  color: #0097A7;
  margin-top: 1.5rem;
}

.system .my_number .my_number_image .link_btn {
  width: 24rem;
  margin: 25px auto 0;
  border: 2px solid #0097A7;
}

.system .my_number .my_number_image .link_btn a {
  font-size: 1.4rem;
  color: #0097A7;
}

.system .strong_point{
  background:#F6F7F7;
  width:100%;
}

.system .strong_point ul li {
  float: left;
  width: 26.13065326633166%;
}

.system .strong_point ul li > p:first-of-type{
  text-align: center;
  margin-bottom:1.4rem;
}

.system .strong_point{
  width:90%;
  max-width: 1000px;
  margin:0 auto;
  padding:3.8rem 10rem 3rem;
}

.system .strong_point ul li:not(:last-of-type){
  margin-right:10.8040201005%;
}

.system .strong_point ul li h4{
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 0.4em;
}

.system .strong_point ul li p img{
  width:100%;
  max-width: 260px;
}

.system .strong_point ul li h4 + p{
  font-size:1.4rem;
}

/*
==========================================================================
システム--タブ
==========================================================================
*/

.tab{
  width:90%;
  margin:0 auto;
  max-width: 1000px;
}

.tab_nav li{
  float:left;
  width:24.7%;
  margin-right: 0.4%;
  text-align: center;
  cursor: pointer;
}

.tab_nav li.active{
  color:#0097A7;
  background: #fff;
  font-weight: bold;
}
.tab_nav li .on{
	display:none;
}
.tab_nav li.active .on{
  display: block;
}
.tab_nav li.active .off{
  display: none;
}
.tab_nav li:before{
    content: "";
    display: block;
    width: 100%;
    height: 0.3rem;
    position: relative;
    background: #eceff1;
}
.tab_nav li.active:before{
  background:#0097A7;
}

.tab_nav li:last-of-type{
  margin-right: 0;
}
.tab_nav li img{
	vertical-align: top;
	line-height: 1;
	width: 100%;
}
.tab_content{
  background:#fff;
  text-align: center;
   padding:3rem 10rem 5rem;
}

.tab_content.applepay_tab img{
  width: 100%;
}



/*
==========================================================================
ヒストリー
==========================================================================
*/

.history{
  width:100%;
  height:555px;
  max-height:555px;
  height: 42vw;
  background:url("../img/top/history_back_11.jpg");
  background-size: cover;
  padding: 8rem 0;
}

.history section{
  text-align: center;
}

.history .eng_ttl{
  color: #fff;
}
.history .eng_ttl:after{
  background:#fff;
}

.history > section h3{
  color:#fff;
}

.history > section h3 + p{
  color:#fff;
  margin-bottom: 3.4em;
}

.history .link_btn{
  margin:0 auto;
}

/*
==========================================================================
最新情報
==========================================================================
*/

.news{
  background: #fff;
  width: 100%;
}

.news section{
  width:86%;
  margin:0 auto;
  padding:5rem 0;
  position: relative;
}

.news section h2{
  font-size: 2.6rem;
  color: #0097A7;
  text-align: center;
  margin-bottom: 3rem;
}

.news section h2 + p{
  position: absolute;
  right:0;
  top:7.4rem;
  font-size: 1.4rem;
}

.news section h2 + p a{
  color:#000;
}

.news section h2 + p a:hover{
  text-decoration: underline;
}

.news section p a{
  color:#000;
}

.news section a:hover{
  text-decoration: underline;
}


.news section ul li{
  display: table;
  width:100%;
  border-top: 1px solid #D8D8D8;
  padding:2.4rem 0 2.7rem;
}

.news section ul li:last-of-type{
  border-bottom: 1px solid #D8D8D8;
}

.news section ul li p{
  line-height: 1.8em;
  letter-spacing: 0.08em;
  display: table-cell;
  font-size: 1.4rem;
}

.news section ul li p:first-of-type{
  width:25%;
  text-align: center;
}



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


  .intro section{
    margin-top: 5%;
  }

  .intro section h2 + p{
    margin-bottom: 1.6em;
  }

  .history{
    padding:3rem 0;
  }

  .history > section h3 + p{
    margin-bottom: 2.7em;
  }

}

/*@media screen and (min-width: 968px) {
.mainvisual_logo{
  width: 32.8%;
  top:50%;
  margin-top: -186px;
max-width: 413px;
}
.mainvisual .crossbar{
top:50%;
	margin-top: -34px;
	max-width: 24px;
}
.mainvisual li .textilebox{
	width:38.2%;
	height: 10.4%;
	top:50%;
	max-width:490px;
	max-height: 71px;
	margin-top: 22px;
}
	.mainvisual li .content_comment{
margin-top: 150px;
	top:50%;
	left:50%;
  transform:translateX(-50%);
  text-align: center;
}

}
*/

/*
==========================================================================
	タブレット・スマホ
==========================================================================
*/

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

  .mainvisual .crossbar img{
    width: 14px;
  }
  .mainvisual li .content_comment p:first-of-type{
    font-size: 1.4rem;
  }
  .mainvisual li .content_comment p:last-of-type{
    font-size: 1.2rem;
  }

  .mainvisual .mv1{
    background-image: url("../img/top/mv1_2x.jpg");
    background-position: 72% 0;
    background-size: cover;
  }

  .mainvisual .mv2{
    background-image: url("../img/top/mv2_2x.jpg");
    background-position: 72% 0;
    background-size: cover;
  }

  .mainvisual .mv3{
    background-image: url("../img/top/mv3_2x.jpg");
    background-position: 72% 0;
    background-size: cover;
  }

  .intro{
    width:100%;
    max-height:none;
    height:auto;
    background:url("../img/top/sp_intro_back_07.jpg");
    background-size: cover;
  }

  .intro section.parts {
    display: none;
  }

  @media screen and (-webkit-min-device-pixel-ratio:2),
                    (min-resolution: 2dppx){

  .intro{
    background:url("../img/top/intro_sp_2x_01.jpg") no-repeat bottom;
    background-size:cover;
  }


  }


  .intro section, .intro section:nth-child(2) {
    float: none;
    padding:3rem 5% 40%;
    text-align: center;
    margin:0;
    width: 100%;
  }

  .intro section:nth-child(2) p.link_btn {
    margin-bottom: 12.5%;
  }

  .intro section h2{
    font-size:2.2rem;
  }
  .link_btn{
    margin:0 auto;
  }

  .system {
    padding: 3rem 0 0;
  }
  .system > section{
    width:90%;
    margin:0 auto;
    margin-bottom: 1.4rem;
  }
  .system > section h3{
    font-size: 2.2rem;
  }
  .system > section h4 {
    font-size: 2.2rem;
    margin-top: 2.4rem;
  }
  .strong_point.sp img{
    display: block;
    width:100%;
  }
  .system .strong_point {
    width: 100%;
    margin: 0 auto;
    padding:1.5rem 0;
  }
  .system .strong_point {
    background:none;
    width: 90%;
  }


  .system .my_number {
    background-color: #fff;
    width: 100%;
    padding: 15px 5% 40px;
  }

  .system .my_number h3 {
    margin: 0.71em 0;
  }

  .system .my_number p {
    font-size: 1.7rem;
  }

  .system .my_number .my_number_image {
    width: 100%;
    padding: 0;
    flex-direction: column;
  }

  .system .my_number .my_number_image li+li {
    margin: 8rem 0 0 0;
  }

  .system .my_number .my_number_image li.mynumber_arrow {
    width: 9%;
    margin: 15px auto;
    padding: 0;
    transform: rotate(90deg);
  }

  .system .my_number .my_number_image p {
    font-size: 1.7rem;
    margin-top: 1.5rem;
  }

  .system .my_number .my_number_image li+li::before {
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
  }

  .history {
    width: 100%;
    height: auto;
    max-height: none;
    background: url(../img/top/history_back_11.jpg);
    background-size: cover;
    padding: 3rem 2.6rem;
  }

  .history > section h3{
    font-size: 2.2rem;
  }
  .history > section h3 + p {
    margin-bottom: 1.5em;
  }

  .news section ul li{
    display: block;
    padding:1.5rem 0 2rem;
  }
  .news section ul{
    margin-bottom: 3.3rem;
  }
  .news section ul li p{
    display: block;
  }
  .news section ul li p:first-of-type{
    width:100%;
    text-align: left;
    color: #A5A5A5;
    margin-bottom: 1rem;
  }
  .news section {
    width: 94%;
    margin: 0 auto;
    padding: 3rem 0;
    position: relative;
  }
  .news section h2 {
    font-size: 2.2rem;
    color: #0097A7;
    text-align: center;
    margin-bottom: 1.6rem;
  }

  .news .link_btn{
    border:2px solid #0097A7;
  }

  .news .link_btn a{
    color:#0097A7;
  }
  .tab_content.applepay_tab {
    padding:8% 5%;
  }

  br.sp{
    display: block !important;
  }

  .fa-angle-right:after {
    left: 1.6rem;
  }
  .link_btn a:hover:after {
    left: 1.9rem;
  }

}

/*@media screen and (max-width: 700px){
  .mainvisual li .textilebox{
    top:46%;
  }


  .mainvisual li .content_comment{
    top:60%;
  }
}*/

@media screen and (max-width: 967px){
	.box_table{
		display: table;
		border: 1px solid #c5ced4;
		border-radius: 10px;
		margin-bottom: 20px;
	}
	.leftimg,.righttxt{
		display:table-cell;
		vertical-align: middle;
	}
	.leftimg{
		width:30%;
		box-sizing: border-box;
		padding: 5%;
	}
	.righttxt{
		padding:5% 2%;
		box-sizing: border-box;
		width: 70%;
		font-size: 15px;
	}
	.righttxt h4{
		font-size: 16px;
		color:#0097a7;
		font-weight: bold;
		margin-bottom: 5px;
	}
}

@media screen and (min-width: 968px) {

  .news section ul {
    padding: 0 0.5rem 0;
  }

  .news section a.link {
    vertical-align: middle;
    margin-right: 1rem;
  }

  .news section a.link img {
    vertical-align: middle;
  }

	.mainvisual{
		height:721px;
	}

	.mainvisual .crossbar {
		top: 50%;
		margin-top: -34px;
		max-width: 24px;
	}

	.mainvisual li{
		height: 100%;
		background-position: center;
		background-size: auto 100%;
		background-repeat: no-repeat;
		background-position: 50% 0;
	}

	.mainvisual_logo{
		width: 413px;
		top:50%;
		margin-top: -186px;
		max-width: 413px;
	}

	.mainvisual .crossbar{
		top:50%;
		margin-top: -34px;
		max-width: 24px;
	}
	.mainvisual li .textilebox{
		width: 490px;
		top:50%;
		height: 71px;
		margin-top: 22px;
	}
	.mainvisual li .content_comment{
		width: 480px;
		margin-top: 150px;
		top:50%;
		left:50%;
		transform:translateX(-50%);
		text-align: center;
	}

}

.lg-view {
  display: none;
}

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

	.sp_nav{
		border-bottom: 2px solid #63818D;
	}
}

@media screen and (min-width: 1222px) {
  .lg-view {
    display: block;
  }
}

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

  .mainvisual .mv4 {
    background-position: center bottom -2vw;
    background-repeat: no-repeat;
    background-color: #0f5264;
  }

  .mainvisual .mv4 .trinity h3 {
    margin-top: 1.87vw;
    font-size: 3.125vw;
  }

  .mainvisual .mv4 .trinity a {
    width: 40vw;
    height: 4rem;
    max-width: 360px;
    font-size: 2.75vw;
    margin-top: 2.5vw;
  }

  .mainvisual .mv4 .trinity img {
    margin-top: 8vw;
    width: 50vw;
  }

}

.meister-trinity{
  background-color: #083e53;
}

.meister-trinity .intro{
  background-image: none;
    height: 270px;
    position: relative;
    width: 750px;
    margin: 0 auto;
    overflow: inherit;
}

.meister-trinity .cont-head {
  background-color: #fff;
  width: 100%;
  height: 80px;
}

.meister-trinity .intro section{
  text-align: center;
}

.meister-trinity .intro section.parts{
  width: 327px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.meister-trinity .intro section h2 + p{
  margin: 0 auto;
}

.meister-trinity .intro section h2 {
    font-size: 2.3rem;
    margin: 0.8em 0;
}

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

  .meister-trinity .intro{
    height: auto;
    width: 100%;
  }

  .meister-trinity .intro section{
    padding: 3rem 5% 0;
    width: 100%;
  }

  .meister-trinity .intro img.logo{
    width: 60%;
  }
}