﻿@charset "utf-8";

/* ---------------------------------------------
layout modules
------------------------------------------------ */

/* base modules
------------------------------------------------ */
.content p,
.content ul,
.content dl,
.content ol,
.content table,
.content blockquote{
  margin: 20px 0 0;
  line-height:1.8em;
}

.content ul p, .content ul dl, .content ul ol, 
.content dl p, .content dl ul, .content dl ol, 
.content ol p, .content ol ul, .content ol dl, 
.content table p, .content table ul, .content table dl, .content table ol{
  margin: 0;
}

.content p img, .content dl img, .content ul img {
  vertical-align: middle;
}

.column-image-left,.column-image-center,.column-image-right { margin-top:20px !important; }

/* common modules
------------------------------------------------ */

em        { color:#FD6408;  }

.small    { font-size:87%;  }
.x-small  { font-size:78%;  }

.large    { font-size:107%; }
.x-large  { font-size:120%; }

.attention{ color: #FF3366;   }
.bold     { font-weight:bold; }

.center{ text-align: center; }
.right { text-align:right;   }
.left  { text-align:left;    }

.float-l{ float: left;  }
.float-r{ float: right; }
.clear  { clear: both;  }

.img-l{ float:left;  margin:0 25px 10px 0; }
.img-r{ float:right; margin:0 0 10px 25px; }

.nowrap         { white-space:nowrap; }
.nomargintop    { margin-top: 0 !important; }
.content .nocss { margin:0; padding:0; border:none; background:none; }

a[href*="tel:"] {
  pointer-events: none;
}

/* --- anchor --- */

.anchor {
  padding-right: 15px;
  position: relative;
}

.anchor:after {
  content: '\E89E';
  display: inline-block;
  font-family: 'Material Icons';
  font-weight: bold;
  font-size: 15px;
  vertical-align: middle;
  margin-left: 3px;
  z-index: 2;
  text-decoration: none;
}

/* --- ext icon --- */

a[href$='.xls'], a[href$='.xlsx']{
  background: url(../images/fileicon/xls.png) no-repeat 100% 50%;
  padding-right: 25px;
}

a[href$='.doc'], a[href$='.docx']{
  background: url(../images/fileicon/doc.png) no-repeat 100% 50%;
  padding-right: 25px;
}

a[href$='pdf']{
  background: url(../images/fileicon/pdf.png) no-repeat 100% 50%;
  padding-right: 25px;
}

a[href$='ppt']{
  background: url(../images/fileicon/ppt.png) no-repeat 100% 50%;
  padding-right: 25px;
}

a.no-icon[href$='pdf']{
  background: none;
  padding-right: 0;
}

/* --- openwin --- */

.openwin{ 
  padding-right: 15px;
}

/* ---　pagetop-in　 --- */

.pagetop-in {
  text-align:right;
}

.pagetop-in a {	
  background:url(../images/icon_arrow_pagetop.png) no-repeat 0 0.4em;
  padding-left: 15px;
  font-size: 92%;
}

/* --- blockquote --- */

blockquote, 
.acms-entry blockquote{
  background:#fff;
  border:0;
  margin-top:40px;
  padding:30px 20px;
}



/* ------ title -------------------------------- */

.container h2,
.content h2, 
.content .wysiwyg h1{
  display: table;
  clear:both;
  margin:30px auto 0;
  padding: 0 20px;
  background: #fff;
  font-family: "Kokoro";
  font-size: 210%;
  text-align: center;
  color: #ed9d11;
  position: relative;
}
.container h2::before,
.content h2::before, 
.content .wysiwyg h1::before{
  content: '';
  display: block;
  max-width: 840px;
  width: 240%;
  height: 1px;
  background: #ed9d11;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: -2;
}
.content h2 a:link          { text-decoration:underline; }
.content h2 a:visited       { text-decoration:underline; }
.content h2 a:hover,a:active{ text-decoration:none; }


.content h3, 
.content .wysiwyg h2{
  clear:both;
  margin:30px 0 0;
  padding: 5px;
  border-bottom: solid 1px #ed9d11;
  font-family: "Kokoro";
  font-size: 170%;
  color: #ed9d11;
}

.content h4, 
.content .wysiwyg h3{
  clear:both;
  margin:30px 0 0;
  padding: 0 10px 10px;
  border-left: solid 4px #ed9d11;
  font-family: "Kokoro";
  font-size: 140%;
  color: #ed9d11;
}

.content h5, 
.content .wysiwyg h4{
  clear:both;
  margin:30px 0 0;
  font-family: "Kokoro";
  font-size: 125%;
  color: #ed9d11;
}


/* ------ ul ----------------------------------- */


/* --- normal list --- */

.list li {
  padding-left: 15px;
  margin-bottom: 5px;
  position: relative;
}

.list li:before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: #ed9d11;
  border-radius: 4px;
  position: absolute;
  top: 0.5em;
  left: 0;
}

/* --- link list --- */

.link li {
  padding-left: 15px;
  margin-bottom: 5px;
  position: relative;
}

.link li:before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-top: solid 2px #ed9d11;
  border-right: solid 2px #ed9d11;
  position: absolute;
  top: 0.5em;
  left: 0;
  transform: rotate(45deg);
}

.link li a:link,
.link li a:visited { color: #333; text-decoration: underline; }
.link li a:hover { color: #333; text-decoration: none; }

/* --- number list --- */

ol {
  counter-reset:number;
  padding:0;/* paddingキャンセル */
  list-style:none;/* olがはき出す数字を消す */
}

ol li {
  text-indent: -30px;
  padding-left: 30px;
}

ol li:before {
  counter-increment: number;
  content: counter(number) ". ";
  font-weight: bold;
  text-align: right;
  display: inline-block;
  width: 25px;
  margin-right: 5px;
  color: #ed9d11;
}

/* --- attention list --- */

.rice li{
  margin:0 0 5px 1em;
  text-indent:-1em;
}

/* --- compact list --- */

.compact li{
  display:inline;
  margin-right:10px;
}

/* --- within compact list --- */

.within {
  padding: 8px;
  border: 1px solid #ddd;
}

.within li{
  background:url(../images/icon_arrow_within.png) no-repeat 0 0.4em;
  padding-left:15px;
}


.content ul ul, .content dl dl, .content ol ol {
  margin-top: 5px;
}

/* ------ dl ----------------------------------- */

/* --- normal list --- */

.list dt{
  padding-left: 15px;
  margin-bottom: 5px;
  position: relative;
  font-weight: bold;
}

.list dt::before{
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: #ed9d11;
  border-radius: 4px;
  position: absolute;
  top: 0.5em;
  left: 0;
}

.list dd{
  padding-left:13px;
}

/* --- link list --- */

.link dt{
  background:url(../images/icon_arrow01.png) no-repeat 0 0.4em;
  padding-left:15px;
  font-weight:bold;
}

.link dd{
  padding-left:15px;
}

/* --- img-list --- */

ul.img-list { margin: 30px -12.5px; }
ul.img-list li {
  float: left;
  width: 310px;
  height: 260px;
  margin: 0 12.5px 10px;
}
ul.img-list li img {
  width: 100%;
}

ul.img-list.w50 li {
  width: 477.5px;
  height: auto;
}

/* --- horizonal --- */

.horizonal dt {
clear: left;
float: left;
width: 10em;
padding:8px 8px 8px 0;
}

.horizonal dd {
padding:8px 15px 8px 11em;
border-bottom:1px solid #ddd;
}

/* --- btn --- */

.btn a {
  display: inline-block;
  min-width: 200px;
  height: 45px;
  line-height: 45px;
  padding: 0 30px 0 15px;
  background: #fff;
  border: solid 1px #ed9d11;
  
  font-size: 14px;
  color: #333;
  text-decoration: none;
  
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.btn a:hover { background: #ed9d11; color: #fff; }
.btn a::after {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -3px;
  transform: rotate(45deg);
}
.btn a:hover::after { border-color: #fff; }

/* --- box --- */

.box-c {
  margin: 30px 0;
  padding: 20px 30px;
  background: #fcfcdc;
}
.box-c > *:first-child {
  margin-top: 0 !important;
}

.mymap iframe {
  border: none;
}


/* ------ layout frame ------------------------- */

.content .layout-frame {
  clear: both;
  margin-left: -20px;
}

.content .layout-3col {
  margin-left: -15px;
}

.content .layout-unit {
  float: left;
  display: inline;
  margin-left: 20px;
}

.content .layout-3col .layout-unit {
  margin-left: 15px;
}

/* 1200px */
.grid-1 { width:100px; }
.grid-2 { width:190px; }
.grid-3 { width:290px; }
.grid-4 { width:390px; }
.grid-5 { width:490px; }
.grid-6 { width:590px; }
.grid-7 { width:690px; }
.grid-8 { width:790px; }
.grid-9 { width:890px; }
.grid-10 { width:990px; }
.grid-11 { width:1090px; }

.narrow .grid-1 { width:81px; }
.narrow .grid-2 { width:152px; }
.narrow .grid-3 { width:233px; }
.narrow .grid-4 { width:314px; }
.narrow .grid-5 { width:395px; }
.narrow .grid-6 { width:476px; }
.narrow .grid-7 { width:557px; }
.narrow .grid-8 { width:638px; }
.narrow .grid-9 { width:719px; }
.narrow .grid-10 { width:800px; }
.narrow .grid-11 { width:881px; }

/* ------ social media ------------------------- */

.social-icon ul{
  margin:20px auto;
  text-align:center;
}

.social-icon ul li{
  display:inline-block;
}

.social-icon ul li a {
  display: block;
  width: 60px;
  height: 60px;
  text-indent: -99999px;
  font-size: 50%;
  border-radius:50%;
}

@media screen and ( min-width:750px ){
  .facebook:hover {
      background:url(../images/svg/facebook.svg) center center no-repeat;
      background-size: 100%;
      background-color: #3b5998!important;
  }
}
.facebook {
  background:url(../images/svg/facebookClick.svg) center center no-repeat;
  background-size: 100%;
  background-color: #ffffff!important;
  border: 1px solid #3b5998;
}
@media screen and ( min-width:750px ){
  .twitter:hover {
      background:url(../images/svg/twitter.svg) center center no-repeat;
      background-size: 100%;
      background-color: #00aced!important;
  }
}
.twitter {
  background:url(../images/svg/twitterClick.svg) center center no-repeat;
  background-size: 100%;
  background-color: #ffffff!important;
  border: 1px solid #00aced;
}
@media screen and ( min-width:750px ){
  .google:hover {
      background:url(../images/svg/google.svg) center center no-repeat;
      background-size: 100%;
      background-color: #d64136!important;
  }
}
.google {
  background:url(../images/svg/googleClick.svg) center center no-repeat;
  background-size: 100%;
  background-color: #ffffff!important;
  border: 1px solid #d64136;
}
@media screen and ( min-width:750px ){
  .line:hover {
      background:url(../images/svg/line.svg) center center no-repeat;
      background-size: 100%;
      background-color: #2cbf13!important;
  }
}
.line {
  background:url(../images/svg/lineClick.svg) center center no-repeat;
  background-size: 100%;
  background-color: #ffffff!important;
  border: 1px solid #2cbf13;
}



/* ------ table -------------------------------- */

table{
  border-collapse:collapse;
  border:3px solid #f6f6f6;
  width:100%;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;

}

table th,
table td{
  padding:10px;
  vertical-align:top;
  border-top:1px solid #cecece;
  border-bottom:1px solid #cecece;
  background:#fff;
}
table th.middle,
table td.middle{
  vertical-align: middle;
}

table th{
  background:#f9f5ec;
  font-weight:bold;
  text-align: center;
}

table thead th,
th.head {
  background:#fac47f;
  text-align:center;
  color: #fff;
}

/* --- noborder --- */

table.noborder,
table.noborder td,
table.noborder th{
  border:0;
  background: none;
}


/* cms
------------------------------------------------ */

/* --- entry-date --- */

.entry-date {
  text-align: right;
  font-size: 87%;
}

/* --- entry-navigation / pager-navigation --- */

.entry-navigation, 
.pager-navigation{
  font-size:87%;
  margin:50px 0 0;
}

.entry-navigation a:link, .entry-navigation a:visited, .entry-navigation a:hover, .entry-navigation a:active, 
.pager-navigation a:link, .pager-navigation a:visited, .pager-navigation a:hover, .pager-navigation a:active{
  text-decoration:none;
}

.entry-navigation ul, 
.pager-navigation ul{
  margin:0;
}

/* entry-navigation */

.entry-navigation{
  background:#eee;
  padding:10px;
}

.entry-navigation li{
  width:33%;
}


.entry-navigation .entry-new{
  float:left;
}

.entry-navigation .entry-list{
  float:left;
  text-align:center;
}

.entry-navigation .entry-old{
  float:right;
  text-align:right;
}

.entry-navigation .home{
  text-align:center;
  margin-top:-20px;
}

.entry-navigation ul:after {
  visibility:hidden;
  display:block;
  font-size:0;
  content:" ";
  clear:both;
  height:0;
}
* html .entry-navigation ul             { zoom:1; } /* IE6 */
*:first-child+html .entry-navigation ul { zoom:1; } /* IE7 */

/* pager-navigation */

.pager-navigation ul li{
  float:left;
  text-align:center;
  margin-right:10px;
  line-height:1;
}

.pager-navigation ul li span.cur{
  background:#f6f6f6;
  border:1px solid #CECECE;
  color:#666;
  display:block;
  line-height:1;
  padding:0.5em 0.7em;
  position:relative;
}

.pager-navigation ul li a:link, 
.pager-navigation ul li a:visited{
  background:#fff;
  border:1px solid #CECECE;
  color:#666;
  display:block;
  line-height:1;
  padding:0.5em 0.7em;
  position:relative;
}

.pager-navigation ul li a:hover, 
.pager-navigation ul li a:active{
  background:#CECECE;
}

/* 続きを読むリンク */
.search.entry p.continue {
  margin: 0;
  padding: 0;
}

.search.entry p.continue a {
  display: block;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid #E8E8E8;
}

.search.entry p.continue a:hover {
  background-color: #F0F0F0;
}

.magazine-wrap .layout-frame .layout-unit.grid-3a{
  width: 290px;
}
.magazine-wrap h2:not(:first-of-type){
  margin-top: 60px;
}


/* --- recruit --- */
.recruit-contentWrap {
  display: none;
  width: 980px;
}
.content .recruit-wrap .wysiwyg h4.recruit-switch {
  background-color: #fef2de;
  color: #333;
  padding: 20px;
  border: none;
  position: relative;
  cursor: pointer;
}
.content .recruit-wrap .wysiwyg h4.recruit-switch::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -3px;
  transform: rotate(45deg);
}
.recruit-wrap:nth-of-type(odd) .recruit-contentWrap {
  margin-left: -500px;
}
.recruit-wrap .recruit-contentWrap {
  position: relative;
}
.recruit-wrap .recruit-contentWrap::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 15px 15px 15px;
  border-color: transparent transparent #cecece transparent;
  position: absolute;
  top: -15px;
  visibility: visible;
  transition: all 0.3s ease;
}
.recruit-wrap:nth-of-type(odd) .recruit-contentWrap::before {
  right: 20%;
}
.recruit-wrap:nth-of-type(even) .recruit-contentWrap::before {
  left: 20%;
}