@charset "UTF-8";

/*============================================================
font-face
============================================================*/

@font-face {
 font-family: 'Noto Sans Japanese';
 font-style: normal;
 font-weight: 200; /* Light */
 src: url('NotoSansJP/NotoSansJP-Light.woff') format('woff'),
    url('NotoSansJP/NotoSansJP-Light.otf') format('opentype');
}
@font-face {
 font-family: 'Noto Sans Japanese';
 font-style: normal;
 font-weight: 300; /* DemiLight */
 src: url('NotoSansJP/NotoSansJP-DemiLight.woff') format('woff'),
    url('NotoSansJP/NotoSansJP-DemiLight.otf') format('opentype');
}
@font-face {
 font-family: 'Noto Sans Japanese';
 font-style: normal;
 font-weight: 400; /* Regular */
 src: local('NotoSansJP-Regular.otf'),
    url('NotoSansJP/NotoSansJP-Regular.woff') format('woff'),
    url('NotoSansJP/NotoSansJP-Regular.otf') format('opentype');
 }
@font-face {
 font-family: 'Noto Sans Japanese';
 font-style: normal;
 font-weight: 500; /* Medium */
 src: url('NotoSansJP/NotoSansJP-Medium.woff') format('woff'),
    url('NotoSansJP/NotoSansJP-Medium.otf') format('opentype');

 }
@font-face {
 font-family: 'Noto Sans Japanese';
 font-style: normal;
 font-weight: 700; /* Bold */
 src: url('NotoSansJP/NotoSansJP-Bold.woff') format('woff'),
    url('NotoSansJP/NotoSansJP-Bold.otf') format('opentype');
 }
@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 300;
  src: url(YakuHanJP/YakuHanJP-DemiLight.woff2) format('woff2'),
  url(YakuHanJP/YakuHanJP-DemiLight.woff) format('woff'),
  url(YakuHanJP/YakuHanJP-DemiLight.eot);
}
@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 400;
  src: url(YakuHanJP/YakuHanJP-Regular.woff2) format('woff2'),
  url(YakuHanJP/YakuHanJP-Regular.woff) format('woff'),
  url(YakuHanJP/YakuHanJP-Regular.eot);
}
@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 500;
  src: url(YakuHanJP/YakuHanJP-Medium.woff2) format('woff2'),
  url(YakuHanJP/YakuHanJP-Medium.woff) format('woff'),
  url(YakuHanJP/YakuHanJP-Medium.eot);
}
@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 700;
  src: url(YakuHanJP/YakuHanJP-Bold.woff2) format('woff2'),
  url(YakuHanJP/YakuHanJP-Bold.woff) format('woff'),
  url(YakuHanJP/YakuHanJP-Bold.eot);
}

/*============================================================
base
============================================================*/

/* reset */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,figure,footer,header,hgroup,menu,nav,section,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}address{font-style: normal;}article,aside,figure,footer,header,hgroup,nav,section{display:block;}img,object,embed{vertical-align: bottom;}html{overflow-y:scroll;}ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}table{border-collapse:collapse;border-spacing:0;}th{font-weight:bold;}td{font-weight:normal;vertical-align:top;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input,select{vertical-align:middle;}pre{white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word;}input[type="radio"]{vertical-align:text-bottom;}input[type="checkbox"]{vertical-align:bottom;*vertical-align:baseline;}select,input,textarea{font:99% sans-serif;}table{font-size:inherit;font:100%;}a:hover,a:active{outline:none;}strong,th{font-weight:bold;}td,td img{vertical-align:top;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}pre,code,kbd,samp{font-family:monospace,sans-serif;}label,input[type=button],input[type=submit],button{cursor:pointer;}button,input,select,textarea{margin:0;}button{width:auto;overflow:visible;}.clear:before,.clear:after{content:"\0020";display:block;height:0;overflow:hidden;}.clear:after{clear:both;}.clear{zoom:1;}

* {
  -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
     -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-appearance: none;
}

/* common */
html {
  font-family: "YakuHanJP" , "Noto Sans Japanese" ,  "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , "Meiryo" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  height: 100%;
  min-height: 100%;
  overflow: auto;
  font-size: 62.5%; /* 10px相当*/
  font-weight: 300;
}

body {
  line-height:  2;
  letter-spacing: .05em;
  color: #393939;
  background: #fff;
  position: relative;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

.mac body {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* 
p,li,dd,td {
  text-align: justify;
	text-justify: inter-ideograph;
}
 */

p {
  font-weight: 200;
}

li {
  list-style: none;
}

a {
  color: #393939;
  text-decoration: none;
  outline: none;
}

.left {
  float: left;
}

.right {
  float: right;
}

.hidden {
  display: none;
}

/****************************************************************************
汎用クラス
*****************************************************************************/

/* PC　タブレット　************************************************************/

@media (min-width: 769px) {

body {
  font-size: 1.6rem;
  min-width: 1040px;
}

.inner {
  width: 640px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

/* スマートフォンのみ表示 */
.sp {
  display: none;
}

/* PCのみ表示 */
.pc {
  display: block !important;
}

/* PCのみ改行 */
.pcbr {
  display: inline;
}

/* スマートフォンのみ改行 */
.spbr {
  display: none;
}

.center {
  text-align: center;
  margin: 0 auto;
}

.pcRight {
  float: right;
}

.pcLeft {
  float: left;
}

.indent {
  padding-left:1em;
  text-indent:-1em;
  display: inline-block;
  font-size: 14px;
}

.mb3   {margin-bottom:3px !important;}
.mb5   {margin-bottom:5px !important;}
.mb10  {margin-bottom:10px !important;}
.mb15  {margin-bottom:15px !important;}
.mb20  {margin-bottom:20px !important;}
.mb25  {margin-bottom:25px !important;}
.mb30  {margin-bottom:30px !important;}
.mb35  {margin-bottom:35px !important;}
.mb40  {margin-bottom:40px !important;}
.mb50  {margin-bottom:50px !important;}
.mb60  {margin-bottom:60px !important;}
.mb70  {margin-bottom:70px !important;}
.mb80  {margin-bottom:80px !important;}

.mt3   {margin-top:3px !important;}
.mt5   {margin-top:5px !important;}
.mt10  {margin-top:10px !important;}
.mt15  {margin-top:15px !important;}
.mt20  {margin-top:20px !important;}
.mt25  {margin-top:25px !important;}
.mt30  {margin-top:30px !important;}
.mt35  {margin-top:35px !important;}
.mt40  {margin-top:40px !important;}
.mt50  {margin-top:50px !important;}
.mt60  {margin-top:60px !important;}
.mt70  {margin-top:70px !important;}
.mt80  {margin-top:80px !important;}

.mr3   {margin-right:3px !important;}
.mr5   {margin-right:5px !important;}
.mr10  {margin-right:10px !important;}
.mr15  {margin-right:15px !important;}
.mr20  {margin-right:20px !important;}
.mr25  {margin-right:25px !important;}
.mr30  {margin-right:30px !important;}
.mr35  {margin-right:35px !important;}
.mr40  {margin-right:40px !important;}

.ml3   {margin-left:3px !important;}
.ml5   {margin-left:5px !important;}
.ml10  {margin-left:10px !important;}
.ml15  {margin-left:15px !important;}
.ml20  {margin-left:20px !important;}
.ml25  {margin-left:25px !important;}
.ml30  {margin-left:30px !important;}
.ml35  {margin-left:35px !important;}
.ml40  {margin-left:40px !important;}

}

/* スマートフォン ************************************************************/

@media (max-width: 768px) {

body {
  font-size: 1.4rem;
}

.inner {
  width: 100%;
}

.sp {
  display: inline-block;
}

.pc {
  display: none !important;
}

.pcbr {
  display: none;
}

.spbr {
  display: inline;
}

.center {
  text-align: center;
  margin: 0 auto;
}

.spRight {
  float: right;
}

.spLeft {
  float: left;
}

.indent {
  padding-left:1em;
  text-indent:-1em;
  display: inline-block;
  line-height: 20px;
  font-size: 13px;
}

.smb3   {margin-bottom:3px !important;}
.smb5   {margin-bottom:5px !important;}
.smb10  {margin-bottom:10px !important;}
.smb15  {margin-bottom:15px !important;}
.smb20  {margin-bottom:20px !important;}
.smb25  {margin-bottom:25px !important;}
.smb30  {margin-bottom:30px !important;}
.smb35  {margin-bottom:35px !important;}
.smb40  {margin-bottom:40px !important;}
.smb50  {margin-bottom:50px !important;}
.smb60  {margin-bottom:60px !important;}

.smt3   {margin-top:3px !important;}
.smt5   {margin-top:5px !important;}
.smt10  {margin-top:10px !important;}
.smt15  {margin-top:15px !important;}
.smt20  {margin-top:20px !important;}
.smt25  {margin-top:25px !important;}
.smt30  {margin-top:30px !important;}
.smt35  {margin-top:35px !important;}
.smt40  {margin-top:40px !important;}
.smt50  {margin-top:50px !important;}
.smt60  {margin-top:60px !important;}

.smr3   {margin-right:3px !important;}
.smr5   {margin-right:5px !important;}
.smr10  {margin-right:10px !important;}
.smr15  {margin-right:15px !important;}
.smr20  {margin-right:20px !important;}
.smr25  {margin-right:25px !important;}
.smr30  {margin-right:30px !important;}
.smr35  {margin-right:35px !important;}
.smr40  {margin-right:40px !important;}

.sml3   {margin-left:3px !important;}
.sml5   {margin-left:5px !important;}
.sml10  {margin-left:10px !important;}
.sml15  {margin-left:15px !important;}
.sml20  {margin-left:20px !important;}
.sml25  {margin-left:25px !important;}
.sml30  {margin-left:30px !important;}
.sml35  {margin-left:35px !important;}
.sml40  {margin-left:40px !important;}

}

/****************************************************************************
header
*****************************************************************************/

header {
  width: 100%;
  height: 90px;
  padding: 30px 15px 0;
  margin: 0 auto;
  overflow: hidden;
}

header h1 {
  width: 187px;
  float: left;
}

header h1 img {
  width: 100%;
}

.headerNavi {
  float: right;
}

/* PC　タブレット　************************************************************/

@media (min-width: 769px) {

header {
  height: 124px;
  padding: 40px 0 0;
}
    
header .inner {
  width: 1100px;
  margin: auto;
}
  
header h1 {
  width: 370px;
}
    
.headerNavi {
  padding-top: 10px;
}
  
}

/****************************************************************************
footer
*****************************************************************************/

footer {
  background: #f2f7ff;
  margin-top: -15px;
  text-align: center;
  overflow: hidden;
}

#footerLogo {
  padding-top: 30px;
}

#footerLogo img {
  width: 100px;
}

footer h3 {
  font-size: 18px;
  font-weight: 500;
  color: #2f2f2f;
  padding: 20px 15px;
}

footer em {
  font-weight: 500;
  font-style: normal;
}

.footerUnit {
  margin-bottom: 15px;
  padding: 0 15px;
}

.footerUnit.mb0 {
  margin-bottom: 0;
}

#copyright {
  font-size: 12px;
  padding: 30px 0;
}

/* PC　タブレット　************************************************************/

@media (min-width: 769px) {

footer {
  margin-top: -20px;
  text-align: left;
}

footer .inner {
  width: 920px;
  margin: auto;
}

#footerLogo {
  padding-top: 120px;
}

footer .pcLeft {
  width: 212px;
}
  
footer .pcRight {
  width: 635px;
}

footer h3 {
  padding: 110px 0 20px;
}
  
.footerUnit {
  margin-bottom: 15px;
  padding: 0;
}
    
.footerUnit p {
  max-width: 390px;
}
    
.footerUnit_3col {
  margin-bottom: 0;
}
  
.footerUnit_3col p {
  float: left;
  margin-bottom: 20px;
}
  
.footerUnit_3col p + p {
   padding-left: 40px;
}
  
#footerLogo img {
  width: 212px;
}
  
#copyright {
  padding-bottom: 90px;
}

}

/****************************************************************************
#mainVisual & common
*****************************************************************************/

#mainVisual img {
  max-width: 100%;
  width: 100%;
}

.commonInner {
  padding: 0 15px 25px;
}

.commonImg {
  display: block;
  margin: auto;
  max-width: 100%;
  padding: 0 15px;
  height: auto;
}

.commonTitle {
  background: url(../images/icon.png) no-repeat 15px 30px;
  background-size: 40px;
  color: #2f2f2f;
  font-size: 18px;
  font-weight: 300;
  padding: 37px 15px 0 15px;
/* 
  padding: 37px 15px 0 66px;
  text-indent: -1.75em;
*/
  margin: 0 auto 20px;
}

.commonTitle span {
  color: #fff;
  display: block;
  padding-left: 19px;
}

/* PC　タブレット　************************************************************/

@media (min-width: 769px) {
  
.commonInner {
  padding-bottom: 115px;
}
    
.commonImg {
  padding: 0;
}

.commonTitle {
  background-position: 15px 50px;
  background-size: 63px;
  font-size: 38px;
  margin: 0 auto 20px;
  padding: 50px 0 0 108px;
  text-indent: -65px;
  width: 716px;
}

.commonTitle span {
  color: #fff;
  display: inline-block;
  padding: 0 0 0 67px;
}
    
}

/****************************************************************************
#lead
*****************************************************************************/

#lead {
  background: #88ABE4;
  color: #fff;
}

#lead .inner {
  padding: 0 15px 30px;
}

#lead h2 {
  font-size: 18px;
  font-weight: 300;
  margin-bottom: 30px;
  padding: 30px 15px 0;
  text-align: center;
}

#lead p + p {
  margin-top: 2em;
}

.leadImg {
  display: block;
  max-width: 100%;
  margin: auto;
  height: auto;
}

/* PC　タブレット　************************************************************/

@media (min-width: 769px) {
  
#lead .inner {
  padding: 0 0 140px;
}

#lead h2 {
  font-size: 38px;
  padding: 105px 0 0;
  margin-bottom: 40px;
}

}

/****************************************************************************
背景調整
*****************************************************************************/

.evenBg {
  background: #F2F7FF;
  margin-top: -100px;
  padding: 100px 0 60px;
}

#est,
#sct {
  margin-top: -60px;
}

.pb0 {
  padding-bottom: 0 !important;
}

/* PC　タブレット　************************************************************/

@media (min-width: 769px) {

.evenBg {
  margin-top: -344px;
  padding: 344px 0 90px;
}
  
#est,
#sct {
  margin-top: -96px;
}
  
#cst {
  margin-top: 140px;
}

}

/****************************************************************************
#features
*****************************************************************************/

#features h2 {
  color: #3F5D8D;
  font-size: 18px;
  font-weight: 300;
  margin-bottom: 20px;
  padding: 20px 15px 0;
  text-align: center;
}

.slider {
  margin-bottom: 15px;
  padding: 0 35px;
  position: relative;
}

.slick-arrow {
  background: url(../images/arrow_left.png) no-repeat 13px center;
  background-size: 13px;
  height: 65%;
  width: 44px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  border: none;
  text-indent: 9999px;
  white-space: nowrap;
  overflow: hidden;
  outline: none;
}

.slick-next {
  background: url(../images/arrow_right.png) no-repeat right 13px center;
  background-size: 13px;
  left: auto;
  right: 0;
}

/* PC　タブレット　************************************************************/

@media (min-width: 481px) {

.slider {
  padding: 0 60px;
}
    
.slick-arrow {
  height: 90%;
  left: 10px;
}
    
.slick-next {
  left: auto;
  right: 10px;
}

}

@media (min-width: 769px) {

#features h2 {
  font-size: 38px;
  margin-bottom: 45px;
  padding: 95px 0 0;
}

.slider {
  margin:0 auto 95px;
  padding: 0;
  width: 640px;
  position: relative;
}

.slick-arrow {
  background: url(../images/arrow_left.png) no-repeat 0 0;
  background-size: 20px;
  height: 50px;
  width: 20px;
  top: 198px;
  left: -60px;
}

.slick-next {
  background: url(../images/arrow_right.png) no-repeat right 0 top 0;
  background-size: 20px;
  left: auto;
  right: -60px;
}

}

/****************************************************************************
#pageTop
*****************************************************************************/

.pageTop {
  text-align: center;
}

.pageTop a {
  color: #2f2f2f;
  display: block;
  font-size: 14px;
  position: relative;
  z-index: 1;
}

.pageTop a:after {
  content: '';
  background: #393939;
  display: block;
  height: 30px;
  width: 1px;
  margin: 6px auto 0;
}

/* PC　タブレット　************************************************************/

@media (min-width: 769px) {

.pageTop a:after {
  height: 40px;
  margin: 12px auto 0;
}

}