@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;    }
.middle{ vertical-align: middle; }
.middle > *{ vertical-align: middle; }

.table-center { display: table; margin: 0 auto !important; }

.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; }

.mt0 { margin-top: 0 !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }

a[href*="tel:"] {
  color: #333;
  pointer-events: none;
  text-decoration: none;
}

.phone-number {
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  font-size: 140%;
}

.freedial { margin-right: 10px; }

/* --- anchor --- */

.anchor{
  background:url(../images/icon_arrow01.png) no-repeat 0 0.4em;
  padding-left:13px;
}

/* --- 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;
}


/* --- 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 -------------------------------- */

.content h2, 
.content .wysiwyg h1{
  clear: both;
  font-family: "Noto Sans Japanese";
  font-weight:bold;
  font-size: 140%;
  color: #e60000;
  border: solid 1px #d2d2d2;
  border-left: solid 4px #e60000;
  margin:40px 0 0;
  padding: 15px 20px;
}
.content h2 a:link          { text-decoration:underline; }
.content h2 a:visited       { text-decoration:underline; }
.content h2 a:hover,a:active{ text-decoration:none; }
.content h2 span,
.content .wysiwyg h1 span{
  display: inline;
  margin-left: 15px;
  font-size: 70%;
}

.content > #jsChangeContents > h2:first-child {
  margin: 0;
}

.content h3, 
.content .wysiwyg h2{
  clear: both;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  font-size: 116%;
  color: #fff;
  background:#e60000;
  margin:30px 0 0;
  padding:8px 15px;
}
.content h3.ano-color, 
.content .wysiwyg h2.ano-color{
  background: #ff8100;
}
.content h3 a{
  display: block;
  text-decoration: none;
  color: #fff;
}
.content h3 a:hover{
  text-decoration: underline;
}

.pd{
    padding:24px 15px !important;
}

.pd2{
    padding:17px 0 !important;
}

.content h4, 
.content .wysiwyg h3{
  clear: both;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  font-size: 116%;
  color: #333;
  margin: 30px 0 0;
  padding: 0 0 2px;
  border-bottom: 3px solid #333;
}

.content h5, 
.content .wysiwyg h4{
  clear:both;
  font-weight:bold;
  margin:40px 0 0;
  padding: 5px 10px;
  border:1px solid #d2d2d2;
  color: #e60000;
}

.content h6 {
  font-weight: bold;
  margin: 40px 0 0;
}

.content .catch {
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  font-size: 180%;
  color: #fe0000;
}
.content .catch.small {
  font-size: 18px;
}

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

.list.w33 li {
  float: left;
  width: 33%;
}

.list.w50 li,
.link.w50 li{
  float: left;
  width: 50%;
}

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

.list::after {
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}
.list li {
  padding-left: 15px;
  margin-bottom: 5px;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

.list li a { color: #333; text-decoration: underline; }
.list li a:hover { color: #666; text-decoration: none; }

.list li a:visited { color: #555; }

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

.link::after {
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}
.link li {
  padding-left: 15px;
  margin-bottom: 5px;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

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

.link li a:visited { color: #555; }

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

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

ol li {
  text-indent: -30px;
  margin-bottom: 5px;
  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: #e60000;
}

ol.nocss-num {
  list-style:none;/* olがはき出す数字を消す */
}

ol.nocss-num li {
  text-indent: -22px;
  padding-left: 30px;
}
ol.nocss-num li span.red {
  font-weight: bold;
  color: #e60000;
}
ol.nocss-num li:before {
  content: none;
  display: none;
}
/* --- attention list --- */

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

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

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

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

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

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

.within.link li a { font-size: 14px; }
.within.link li::before {
  transform: rotate(135deg);
}


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

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

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

.list dt{
  padding-left: 15px;
  margin-bottom: 5px;
  font-weight:bold;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.list dt::before{
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: #ff8100;
  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;
}

/* --- 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;
}

/* ------ button ------------------------------- */

.btn {
  margin-top: 20px;
}
.btn a {
  display: inline-block;
  max-width: 100%;
  width: 325px;
  height: 45px;
  line-height: 45px;
  padding-left: 20px;
  background: #fff;
  border: solid 2px #e60000;
  border-radius: 4px;
  font-weight: bold;
  color: #e60000;
  text-decoration: none;
  text-align: center;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.btn.mini a { width: 190px; }
.btn a i {
  width: 22px;
  height: 22px;
  line-height: 22px;
  background: #e60000;
  color: #fff;
  border-radius: 4px;
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translate(0,-50%);
}
.btn a:hover {
  background: #e60000;
  color: #fff;
}
.btn a:hover i {
  background: #fff;
  color: #e60000;
}


.jcb .btn a {
  border: solid 2px #008de6;
  color: #008de6;
}
.jcb .btn a i {
  background: #008de6;
  color: #fff;
}
.jcb .btn a:hover {
  background: #008de6;
  color: #fff;
}
.jcb .btn a:hover i {
  background: #fff;
  color: #008de6;
}

/* ------ box ---------------------------------- */

.box-simple {
  border: solid 1px #d2d2d2;
  margin: 20px 0 0;
  padding: 20px;
}

/* ------ 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;
}

/* 720px */
.grid-1 { width:56px; }
.grid-2 { width:102px; }
.grid-3 { width:158px; }
.grid-4 { width:214px; }
.grid-5 { width:270px; }
.grid-6 { width:326px; }
.grid-7 { width:382px; }
.grid-8 { width:438px; }
.grid-9 { width:494px; }
.grid-10 { width:550px; }
.grid-11 { width:606px; }



/* ------ 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:1px solid #d2d2d2;
  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:1px solid #d2d2d2;
  background:#fff;
}

table th[valign="middle"],
table td[valign="middle"]{
  vertical-align: middle;
}
table th.left {
  text-align: left;
}

table td a{
  word-break: break-all;
}

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

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

/* --- noborder --- */

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

/* index
------------------------------------------------ */

.index {
  clear: both;
  margin: 0 0 0 -20px;
}

.index dl {
  position: relative;
  float: left;
  display: inline;
  margin-left: 20px;
  width: 350px;
  background: #eee;
}

.index dt {
  padding: 7px;
  background:#ddd;
}

.index dt a {
  text-decoration:none;
}

.index dd {
  padding: 7px;
}


/* 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;
}

