@charset "UTF-8";
/*  04_modules
================================================ */
/*!  article
================================================ */
/*
Article

mod_article01

.mod_article01 service/contents/index.php を参照

Markup:

Styleguide 7.0.0
*/
.mod_article01_tabWrap { overflow-x: scroll; }

.mod_article01_tabs { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; box-sizing: border-box; width: 100%; margin: 0 -10px; padding-bottom: 15px; }

.mod_article01_tab { box-sizing: border-box; width: 100%; padding: 0 10px; white-space: nowrap; text-align: center; line-height: 1.2; cursor: pointer; }

.mod_article01_tab span, .mod_article01_tab a { position: relative; display: inline-block; box-sizing: border-box; width: 100%; min-width: 110px; padding: 15px 5px; border-bottom: 1px solid #1b1b1b; text-decoration: none; }

.mod_article01_tab span:before, .mod_article01_tab a:before { content: ""; position: absolute; bottom: -11px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 13px; height: 11px; background: url(../img/common/ico_balloon01.png) no-repeat; background-size: contain; }

.mod_article01_tab.is_active span, .mod_article01_tab.is_active a { border-bottom-color: #a2005b; background: #a2005b; color: #fff; }

.mod_article01_tab.is_active span:before, .mod_article01_tab.is_active a:before { background-image: url(../img/common/ico_balloon02.png); }

.mod_article01_contentWrap { margin-top: 30px; }

.mod_article01_post { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.mod_article01_post a { display: block; }

.mod_article01_post:nth-child(n + 2) { margin-top: 20px; }

.mod_article01_img { width: 35%; text-align: center; }

.mod_article01_img img { width: auto; height: auto; max-width: 100%; max-height: 100%; margin: auto; }

.mod_article01_txtWrap { margin-left: 10px; width: 62%; line-height: 1; }

.mod_article01_txt { font-size: 1.2rem; }

.mod_article01_cat { display: inline-block; padding: 3px 10px; color: #fff; font-size: 1.1rem; line-height: 1; }

.mod_article01_tit { font-size: 1.2rem; line-height: 1.9; color: #A2005B; font-weight: bold; }

@media screen and (min-width: 600px) { .mod_article01_tabWrap { overflow-x: visible; }
  .mod_article01_tabs { padding-bottom: 0; }
  .mod_article01_tab { min-width: none; }
  .mod_article01_tab span, .mod_article01_tab a { padding: 20px 10px; }
  .mod_article01_contentWrap { margin-top: 40px; }
  .mod_article01_content { overflow: hidden; margin: 0 -27px; }
  .mod_article01_post { float: left; box-sizing: border-box; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; width: 50%; padding: 0 27px; }
  .mod_article01_post:nth-child(2n + 1) { clear: left; }
  .mod_article01_post:nth-child(n + 2) { margin-top: 0; }
  .mod_article01_post:nth-child(n + 3) { margin-top: 40px; }
  .mod_article01_img { width: 218px; }
  .mod_article01_txtWrap { width: 315px; margin-left: 20px; }
  .mod_article01_txt { font-size: 1.5rem; margin-top: 12px; }
  .mod_article01_cat { padding: 5px 10px; font-size: 1.3rem; }
  .mod_article01_tit { font-size: 1.6rem; } }

/*
Article

mod_article02

.mod_article02 service/contents/single.php を参照

Markup:

Styleguide 7.0.1
*/
.mod_article02_titWrap { padding: 10px 20px; background: #f5f5f5; }

.mod_article02_cat { display: inline-block; padding: 4px 10px; background: #00a298; color: #fff; font-size: 1.1rem; line-height: 1.1; }

.mod_article02_tit { font-size: 2rem; font-weight: 700; line-height: 1.6; }

.mod_article02_eyecatch { margin-top: 20px; text-align: center; }

.mod_article02_eyecatch img { width: auto; height: auto; max-width: 100%; max-height: 100%; margin: auto; }

.mod_article02_txtWrap { padding-top: 5px; }

.mod_article02_txtWrap p { padding-top: 10px; }

.mod_article02_txtWrap p + p { margin-top: 20px; }

.mod_article02_txtWrap h2 { padding: 20px 0 7px; border-bottom: 1px solid #1b1b1b; font-size: 1.7rem; font-weight: 700; line-height: 1.6; }

.mod_article02_txtWrap h3 { position: relative; margin-top: 20px; padding-left: 15px; font-size: 1.5rem; font-weight: 700; line-height: 1.6; }

.mod_article02_txtWrap h3:before { content: ""; position: absolute; top: 50%; left: 0; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 4px; height: 95%; background: #a2005b; }

.mod_article02_pager { margin: 20px -20px 0; padding: 30px 64px 0; border-top: 1px solid #1b1b1b; }

@media screen and (min-width: 600px) { .mod_article02 { margin: 0 80px; padding: 60px; border: 1px solid #1b1b1b; }
  .mod_article02_titWrap { padding: 17px 30px 22px; }
  .mod_article02_cat { display: inline-block; padding: 5px 9px; font-size: 1.3rem; }
  .mod_article02_tit { margin-top: 12px; font-size: 2.4rem; }
  .mod_article02_eyecatch { margin: 35px 48px 0; }
  .mod_article02_txtWrap { padding-top: 0; }
  .mod_article02_txtWrap p { padding-top: 20px; }
  .mod_article02_txtWrap p + p { margin-top: 10px; }
  .mod_article02_txtWrap h2 { padding: 40px 0 15px; font-size: 2rem; }
  .mod_article02_txtWrap h3 { margin-top: 30px; padding-left: 20px; font-size: 1.8rem; }
  .mod_article02_txtWrap h3:before { width: 6px; }
  .mod_article02_pager { margin: 50px auto 0; padding: 0; border-top: 0; }
  .mod_article02_pager .btn { width: 400px; margin: auto; } }

/*!  bg
================================================ */
/*
Background

mod_bg01

.mod_bg01

Markup:
<p class="mod_bg01" style="width:100px;height:100px; ">Title</p>

Styleguide 3.0.0
*/
.mod_bg01 { background-color: #f5f5f5; }

/*!  tit
================================================ */
/*
Button

mod_btn01

.mod_btn01 -base style


Markup:

Styleguide 2.0.0
*/
.mod_contact_btn01 a { position: relative; display: block; box-sizing: border-box; width: 100%; padding: 20px; text-decoration: none; text-align: center; background: #a2005b; line-height: 1; }

.mod_contact_btn01 a span { position: relative; padding-left: 30px; padding-right: 30px; color: #fff; font-size: 1.6rem; font-weight: 600; line-height: 1.2; letter-spacing: .02em; }

.mod_contact_btn01 a span:before { content: ''; position: absolute; top: 52%; right: 0; width: 18px; height: 10px; background: url(../img/common/ico_arw01.png) no-repeat; background-size: contain; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.mod_contact_btn01.is_large a span { font-size: 2rem; padding-right: 35px; }

.mod_contact_btn01.is_large a span:before { width: 22px; height: 12px; background-image: url(../img/common/ico_arw01_large.png); }

@media screen and (min-width: 600px) { .mod_contact_btn01 a { padding: 20px; }
  .mod_contact_btn01 a span { padding-left: 10px; padding-right: 32px; font-size: 2rem; }
  .mod_contact_btn01 a:hover { background: #b94084; }
  .mod_contact_btn01 a:hover span:before { -webkit-animation: arw 0.5s ease; animation: arw 0.5s ease; }
  .mod_contact_btn01.is_large a span { font-size: 2.6rem; } }

/*
Button

mod_btn02

.mod_btn01 -base style
.mod_btn01.is_white -is_white
.mod_btn01.is_transparent _transparent

Markup:

Styleguide 2.0.1
*/
.mod_btn01 a { position: relative; display: block; box-sizing: border-box; width: 100%; padding: 13px; text-decoration: none; text-align: center; background: #a2005b; line-height: 1; }

.mod_btn01 span { position: relative; padding-left: 7px; padding-right: 25px; font-size: 1.5rem; line-height: 1.2; color: #fff; letter-spacing: .02em; }

.mod_btn01 span:before { content: ''; position: absolute; top: 53%; right: 0; width: 18px; height: 10px; background: url(../img/common/ico_arw01.png) no-repeat; background-size: contain; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.mod_btn01.is_transparent a { background: transparent; border: 1px solid #fff; }

.mod_btn01.is_black a { background: #1b1b1b; }

.mod_btn01.is_reverse a span { padding-left: 28px; padding-right: 7px; }

.mod_btn01.is_reverse a span:before { right: auto; left: 0; background-image: url(../img/common/ico_arw01_left.png); }

.mod_btn01.is_reverse02 a span { padding-left: 28px; padding-right: 7px; }

.mod_btn01.is_reverse02 a span:before { right: auto; left: 0; background-image: url(../img/common/ico_arw01_left.png); }

@media screen and (min-width: 600px) { .mod_btn01 a { padding: 25px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .mod_btn01 a span { padding-left: 10px; padding-right: 30px; font-size: 1.8rem; }
  .mod_btn01 a:hover span:before { -webkit-animation: arw 0.5s ease; animation: arw 0.5s ease; }
  .mod_btn01.is_transparent a:hover, .mod_btn01.is_black a:hover { border-color: #a2005b; background: #a2005b; }
  .mod_btn01.is_reverse a span { padding-left: 30px; padding-right: 10px; }
  .mod_btn01.is_reverse a:hover span:before { -webkit-animation: arw_reverse 0.5s ease; animation: arw_reverse 0.5s ease; } }
  .mod_btn01.is_reverse02 a span { padding-left: 30px; padding-right: 10px; }
  .mod_btn01.is_reverse02 a:hover span:before { -webkit-animation: arw_reverse 0.5s ease; animation: arw_reverse 0.5s ease; } }

/*!  table
================================================ */
/*
Table

mod_table01

.mod_table01            - Base styles

Markup:

Styleguide 6.0.0
*/
.mod_form01 .tag { display: inline-block; margin-left: 10px; padding: 4px 12px; background: #a2005b; font-size: 1.1rem; line-height: 1; letter-spacing: .02em; }

.mod_form01 input, .mod_form01 textarea, .mod_form01 button { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 0; border-radius: 0; border-radius: none; box-shadow: none; }

.mod_form01 input[type="radio"], .mod_form01 input[type="checkbox"] { display: none; }

.mod_form01 label { cursor: pointer; display: block; }

.mod_form01 input[type="text"], .mod_form01 input[type="email"], .mod_form01 textarea { box-sizing: border-box; width: 100%; padding: 12px 10px; background: #fff; height: 45px; }

.mod_form01 textarea { height: 190px; }

.mod_form01_radio span { display: block; margin-top: 5px; }

.mod_form01_radio span + span { margin-top: 30px; }

.mod_form01 input[type="radio"] + span { position: relative; padding-left: 40px; }

.mod_form01 input[type="radio"] + span:before { content: ''; position: absolute; top: 50%; left: -5px; width: 35px; height: 35px; background: #fff; border-radius: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.mod_form01 input[type="radio"]:checked + span:after { content: ''; position: absolute; top: 50%; left: 6px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 12px; height: 12px; background: #272727; border-radius: 50%; }

.mod_form01 input[type="checkbox"] + span { position: relative; padding-left: 40px; }

.mod_form01 input[type="checkbox"] + span:before { content: ''; position: absolute; top: 50%; left: 0; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 28px; height: 28px; background: #fff; border: 1px solid #d5d5d5; }

.mod_form01 input[type="checkbox"]:checked + span:after { content: ''; position: absolute; top: 40%; left: 5px; height: 10px; width: 16px; border: solid #a2005b; border-width: 0 0 4px 4px; -webkit-transform: translateY(-50%) rotate(-45deg); -ms-transform: translateY(-50%) rotate(-45deg); transform: translateY(-50%) rotate(-45deg); }

.mod_form01 button[type="submit"] { position: relative; box-sizing: border-box; width: 100%; padding: 13px; background: #1b1b1b; color: #fff; text-align: center; line-height: 1; font-weight: 700; cursor: pointer; }

.mod_form01 button[type="submit"]:before { content: ''; position: absolute; top: 53%; right: 15px; width: 18px; height: 10px; background: url(../img/common/ico_arw01.png) no-repeat; background-size: contain; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

@media screen and (min-width: 600px) { .mod_form01 .tag { margin-left: 25px; padding: 5px 14px; font-size: 1.4rem; }
  .mod_form01 textarea { height: 260px; }
  .mod_form01 input[type="email"] { width: 720px; }
  .mod_form01 .cel01 input[type="text"] { width: 540px; }
  .mod_form01_radio span { display: inline-block; margin-top: 0; }
  .mod_form01_radio span + span { margin-top: 0; margin-left: 22px; }
  .mod_form01 input[type="radio"] + span { padding-left: 50px; }
  .mod_form01 input[type="radio"] + span:before { left: 0px; width: 31px; height: 31px; }
  .mod_form01 input[type="radio"]:checked + span:after { left: 10px; width: 11px; height: 11px; }
  .mod_form01 input[type="checkbox"] + span { padding-left: 45px; }
  .mod_form01 input[type="checkbox"] + span:before { width: 26px; height: 26px; }
  .mod_form01 input[type="checkbox"]:checked + span:after { left: 4px; height: 8px; width: 17px; }
  .mod_form01 button[type="submit"] { box-sizing: border-box; width: 400px; margin: auto; padding: 25px; font-size: 1.6rem; }
  .mod_form01 button[type="submit"]:before { top: 53%; right: 120px; } }

/*!  pager
================================================ */
/*
Pager

mod_pager01

.mod_pager01

Markup:
<p class="mod_pager01" style="width:100px;height:100px; ">Title</p>

Styleguide 8.0.0
*/
.mod_pager01 { display: block; text-align: center; }

.mod_pager01 li { display: inline-block; }

.mod_pager01 li a, .mod_pager01 li span { display: block; box-sizing: border-box; width: 35px; height: 35px; padding: 10px; text-decoration: none; background-color: #1b1b1b; color: #fff; line-height: 1; font-size: 1.4rem; }

.mod_pager01 .next a, .mod_pager01 .previous a { overflow: hidden; white-space: nowrap; text-indent: 200%; background-repeat: no-repeat; background-size: 13px 7px; background-position: center; }

.mod_pager01 .next a { background-image: url(../img/common/ico_arw01.png); }

.mod_pager01 .previous a { background-image: url(../img/common/ico_arw01_left.png); }

.mod_pager01 .current span { background-color: #a2005b; }

@media screen and (min-width: 600px) { .mod_pager01 li { padding: 0 2px; }
  .mod_pager01 li a, .mod_pager01 li span { width: 50px; height: 50px; padding: 15px; font-size: 1.8rem; }
  .mod_pager01 li a:hover { background-color: #a2005b; }
  .mod_pager01 .next a, .mod_pager01 .previous a { background-size: 18px 10px; } }

/*!  section
================================================ */
/*
Section

mod_section01

.mod_section01

Markup:
<div class="sec mod_section01">
	<div class="bg mod_section01_bg"></div>
	<div class="secIn mod_section01_in cf">
		<div class="txtWrap mod_section01_txtWrap">
		</div>
		<div class="img mod_section01_img"></div>
	</div>
</div>

Styleguide 5.0.0
*/
.mod_section01 { position: relative; }

.mod_section01_bg { position: absolute; top: 0; left: -20px; right: -20px; bottom: 0; width: calc(100% + 40px); height: 100%; background: #f5f5f5; z-index: -1; }

.mod_section01_in { padding: 30px 0; }

.mod_section01_img { margin-top: 20px; }

@media screen and (min-width: 600px) { 
  .mod_section01_bg { left: 0; right: -380px; width: calc(100% + 380px); }
  .mod_section01_in { padding: 80px 0; }
  .mod_section01_noFloat .mod_section01_txtWrap { float: none !important; width: auto !important; }
  .mod_section01_img { width: 810px; margin: 0 0 0 -230px; }
  .mod_section01_txtWrap { float: right; box-sizing: border-box; width: 580px; padding: 90px 0 60px 40px; }
  .mod_section01.is_reverse .mod_section01_bg { right: 0; left: -380px; }
  .mod_section01.is_reverse .mod_section01_img { float: right; width: 810px; margin: 0 -230px 0 0; }
  .mod_section01.is_reverse .mod_section01_txtWrap { float: left; padding: 90px 40px 60px 0; } 
  .mod_section01.is_reverse02 .mod_section01_bg { right: 0; left: -380px; }
  .mod_section01.is_reverse02 .mod_section01_img { float: right; width: 810px; margin: 0 -230px 0 0; }
  .mod_section01.is_reverse02 .mod_section01_txtWrap { float: left; padding: 90px 40px 60px 0; } }

/*!  table
================================================ */
/*
Table

mod_table01

.mod_table01            - Base styles

Markup:
<div class="mod_table01">
	<table><tbody>
		<tr>
			<th></th>
			<td></td>
		</tr>
	</tbody></table>
</div>

Styleguide 4.0.0
*/
.mod_table01 table { table-layout: fixed; }

.mod_table01 th { padding: 11px 20px; background: #272727; color: #fff; vertical-align: middle; font-size: 1.5rem; line-height: 1.5; font-weight: 700; }

.mod_table01 td { padding: 12px 20px; background: #f5f5f5; font-size: 1.4rem; line-height: 1.57; }

@media screen and (max-width: 599px) { .mod_table01 table, .mod_table01 thead, .mod_table01 tbody, .mod_table01 tr, .mod_table01 th, .mod_table01 td { display: block; } }

@media screen and (min-width: 600px) { .mod_table01 th, .mod_table01 td { border-bottom: 1px solid #fff; padding: 23px 40px; }
  .mod_table01 th { box-sizing: border-box; width: 235px; font-size: 1.8rem; }
  .mod_table01 td { font-size: 1.6rem; } }

/*!  tit
================================================ */
/*
Title

mod_tit01

.mod_tit01            - Base styles
.mod_tit01.is_white            - is_white
.mod_tit01.is_left -is_left

Markup:
<div class="tit mod_tit01 {$modifiers}">
	<p class="en mod_tit01_en is_font_oswald">About Us</p>
	<h2 class="ja mod_tit01_ja">会社概要</h2>
</div>

Styleguide 1.0.0
*/
.mod_tit01 { text-align: center; }

.mod_tit01_en { font-size: 3.6rem; font-weight: 600; line-height: 1.6; }

.mod_tit01_ja { font-size: 1.4rem; line-height: 1.6; font-weight: 700; }

.mod_tit01.is_white { color: #fff; }

.mod_tit01.is_left { text-align: left; }

@media screen and (min-width: 600px) { .mod_tit01_en { font-size: 6rem; }
  .mod_tit01_ja { font-size: 1.6rem; } }

/*
Title

mod_tit02

.mod_tit02            - Base styles

Markup:
<div class="tit mod_tit02 {$modifiers}">
	<p class="en mod_tit01_black is_font_oswald">About Us</p>
	<h2 class="ja mod_tit01_main">会社概要</h2>
</div>

Styleguide 1.0.1
*/
.mod_tit02 { position: relative; }

.mod_tit02:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100px; height: 1px; background: #d5d5d5; }

.mod_tit02_num { font-size: 1.6rem; font-weight: 600; color: #9a9a9a; line-height: 1.2; }

.mod_tit02_black { padding-top: 5px; font-size: 2.8rem; font-weight: 600; letter-spacing: .02em; line-height: 1.2; }

.mod_tit02_main { padding: 7px 0 10px; color: #a2005b; font-size: 1.6rem; font-weight: 700; line-height: 1.6; }

.mod_tit02_small { padding: 3px 0 10px; font-size: 1.2rem; font-weight: 700; color: #9a9a9a; }

@media screen and (min-width: 600px) { .mod_tit02:before { width: 100px; }
  .mod_tit02_num { font-size: 2rem; }
  .mod_tit02_black { padding-top: 17px; font-size: 4.3rem; }
  .mod_tit02_main { padding: 25px 0 25px; font-size: 2rem; }
  .mod_tit02_small { padding: 10px 0 25px; font-size: 1.4rem; } }

  /*
  note

  mod_note01

  .mod_note01 - Base styles

  Markup:
  <p class="mod_note01">※SmartSTREAMは、NTTスマートコネクト社の商標です。</p>

  Styleguide 1.0.1
  */
  .mod_note01 {
	  color: #9a9a9a;
	  font-size: 1.1rem;
   }
  @media screen and (min-width: 600px) {
	  .mod_note01 {
		  font-size: 1.4rem;
	   }
  }
