@charset "utf-8";
/*
Theme Name: theme-shinjofc
Description: theme-shinjofc
Version: 1.0
Author: gainz
*/

* {
 margin: 0;
 padding: 0;
 line-height: 1;
 box-sizing: border-box;
}
html, body {
 min-height: 100%;
}
body {
 height: 100%;
 font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
 font-size: 18px;
}
a { text-decoration: none; color: #000; }
a:hover,a:hover .entry-title {
 opacity: 0.7;
 -moz-opacity: 0.7;
 -webkit-opacity: 0.7;
 filter:alpha(opacity=60);
}
a:hover img {
 opacity: 1;
 -moz-opacity: 1;
 -webkit-opacity: 1;
 filter:alpha(opacity=100);
}
a[href^="tel:"] { cursor: default; }
.text_deco_ul {
 text-decoration: underline;
}
img {
 border: none;
 max-width: 100%;
 height: auto;
 width: auto;
 vertical-align: bottom;
}
.clearfix:after {
 content: '';
 display: block;
 clear: both;
 height: 0;
}
.disp_n {
 display: none;
}
.disp_i {
 display: inline;
}
.disp_ib {
 display: inline-block;
}
.disp_b {
 display: block;
}
.text_l {
 text-align: left;
}
.text_c {
 text-align: center;
}
.text_r {
 text-align: right;
}
.float_l {
 float: left;
}
.float_r {
 float: right;
}
.ovf_h {
 overflow: hidden;
}
.pos_a {
 position: absolute;
}
.pos_r {
 position: relative;
}
.pos_f {
 position: fixed;
}
.v_top {
 vertical-align: top;
}
.v_mid {
 vertical-align: middle;
}
.v_btm {
 vertical-align: bottom;
}
.fs_0 {
 font-size: 0;
}
.font_b {
 font-weight: bold;
}
.line_hi {
 line-height: inherit;
}
.mg-lra {
 margin-left: auto;
 margin-right: auto;
}
.mw1170 {
 max-width: 1170px;
}
#container {
 max-width: 1280px;
 margin: 0 auto;
 overflow: hidden;
 position: relative;
}
#to_top {
 position: fixed;
 width: 50px;
 bottom: 20px;
 right: 20px;
 cursor: pointer;
 z-index: 10000;
 visibility: hidden;
}
#top-head {
 z-index: 100;
 padding: 0 10px;
 background-color: #18B7CD;
}
#top-head .mask {
 position: absolute;
 width: 100%;
 height: 0px;
 top: 0;
 left: 0;
 background-color: #18B7CD;
 opacity: 0.8;
 filter: alpha(opacity=80);
}
#top-head .inner {
 max-width: 1220px;
 height: 140px;
 padding-top: 30px;
}
#top-head .header_bg {
 position: absolute;
 top: 0px;
 left: 88px;
 width: 510px;
}

#top-head .logo {
 width: 132px;
 display: block;
 position: absolute;
 top: -17px;
 left: 0;
 z-index: 2;
}
#top-head .team-title {
 width: 400px;
 margin-left: 150px;
}
#mobile-nav {
 position: absolute;
 width: 50px;
 height: 52px;
 right: 10px;
 top: 24px;
 z-index: 104;
 display: none;
}
/* Toggle Button */
#nav-toggle {
  position: absolute;
  top: 0px;
  right: 0;
  width: 50px;
  height: 52px;
  text-align: center;
  cursor: pointer;
  z-index: 104;
  padding: 3px 4px;
  background-color: #104097;
}
#nav-toggle div {
  position: relative;
  margin-top: 6px;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #fff;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 3px;
}
#nav-toggle span:nth-child(2) {
  top: 15px;
}
#nav-toggle span:nth-child(3) {
  top: 27px;
}
#global-nav {
 width: 300px;
 float: right;
 margin-top: 70px;
 z-index: 100;
}
#global-nav ul {
 list-style: none;
}
#global-nav > ul > li {
 float: left;
 width: 50%;
}
#global-nav > ul > li > a {
 display: block;
 color: #fff;
 text-align: center;
 padding: 2px 5px;
}

#footer .main {
 margin: 0px auto 20px;
 padding: 140px 15px 20px;
 background-color: #18B7CD;
}
#footer .logo {
 width: 124px;
 top: -40px;
 left: 50%;
 margin-left: -62px;
 z-index: 2;
}
#footer .info {
 padding-top: 20px;
 font-weight: bold;
 color: #fff;
 line-height: 1.5;
 max-width: 705px;
}
#footer .info span {
 line-height: 1.5;
}
#footer .copyright {
 padding: 20px 10px;
 text-align: center;
 font-size: 14px;
 color: #000;
 line-height: 1.3;
}
#footer ul {
 list-style: none;
 width: 330px;
 margin: 30px auto;
}
#footer ul li {
 float: left;
 width: 33.33%;
}
#footer ul li a {
 display: block;
 color: #000;
 text-align: center;
}

.top-text {
 width: 67.578125%;
 position: absolute;
 top: 50%;
 margin-left: 16.2109375%;
}
.top-box-1 {
 background-color: #18B7CD;
 padding: 60px 15px;
}
.top-box-1 div {
 max-width: 1040px;
 color: #fff;
 font-weight: bold;
}
.top-box-1 h2 {
 font-size: 40px;
 line-height: 1.2;
}
.top-box-1 p {
 font-size: 20px;
 line-height: 2.5;
}
.top-box-1 .text {
 max-width: 680px;
 margin-top: 40px;
}
.top-img-1 {
 position: absolute;
 width: 375px;
 top: 165px;
 left: 700px;
}
.btn {
 background: url(images/btn-bg.png) center center no-repeat;
 width: 236px;
 height: 60px;
 font-size: 18px;
 font-weight: bold;
 display: block;
 padding: 20px;
}
.top-box-1 a {
 margin-top: 50px;
 color: #000;
}
.top-box-1 td {
 vertical-align: top;
}
.top-box-1 td .disp_ib {
 line-height: 1.5;
 vertical-align: top;
 padding-bottom: 5px;
}
.top-box-2 {
 background: url(images/top-bg-2.png) center top;
 padding: 60px 15px;
}
.top-box-2 .blog {
 max-width: 660px;
}
.top-box-2 h2 {
 font-size: 34px;
}
.top-box-2 .list {
 min-height: 300px;
 margin-top: 50px;
}
.top-img-2-1 {
 width: 277px;
 position: absolute;
 top: 30px;
 left: 50%;
 margin-left: -600px;
}
.top-img-2-2 {
 width: 194px;
 position: absolute;
 bottom: 10px;
 left: 50%;
 margin-left: 400px;
}

.list nonews {
 margin-top: 30px;
}
.list ul {
 list-style: none;
 margin-left: 20px;
}
.list li {
 padding: 30px 5%;
 font-size: 20px;
 border-bottom: solid 1px #000;
}
.list li:first-child {
 border-top: solid 1px #000;
}

.list li .date {
 display: block;
 float: left;
 width: 100px;
 height: 20px;
 margin-right: 5%;
}
.list li a {
 color: #000;
 display:block;
 height: 20px;
 overflow: hidden;
/* padding-right: 28px;
 background: url(images/right-arrow.png) right center no-repeat;*/
}
.top-box-3 .info {
 width: 600px;
 height: 180px;
 padding: 30px;
 position: absolute;
 top: 50%;
 margin-top: -90px;
 left: 50%;
 margin-left: -300px;
 border-radius: 6px;
 overflow: hidden;
}
.top-box-3 .info .mask {
 position: absolute;
 background-color: #fff;
 opacity: 0.8;
 filter: alpha(opacity: 80);
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
.top-box-3 td {
 vertical-align: top;
}
.top-box-3 td .disp_ib {
 line-height: 1.5;
 vertical-align: top;
 padding-bottom: 5px;
}

#top-title {
 background: url(images/title-bg.png) left top repeat-y;
 padding: 18px;
 text-align: center;
 font-size: 34px;
 font-weight: bold;
}

#main {
 background-image: url(images/page-bg.jpg);
 background-color: #b9eaf1;
 background-repeat: no-repeat;
 background-position: center top;
 padding: 50px 15px 100px;
}
.page {
 max-width: 1000px;
 margin: 0px auto;
 border-radius: 6px;
 padding: 50px 5%;
 background-color: #fff;
}
.postbox {
 float: left;
 margin-right: -330px;
 width: 100%;
}
.postbox > div {
 margin-right: 370px;
 border-radius: 6px;
 padding: 50px 5%;
 background-color: #fff;
 min-height: 400px;
}
.postbox article {
 border-top: dashed 1px #333;
 padding-top: 40px;
 margin-top: 30px;
}
.postbox article:first-child {
 border-top: none;
 margin-top: 0px;
 padding-top: 0;
}
.post .date {
 display: inline-block;
 margin-bottom: 15px;
}
.post .entry-title {
 font-size: 30px;
 line-height: 1.3;
 padding: 5px 0 15px;
 border-bottom: solid 1px #999;
 margin-bottom: 15px;
 color: #000;
}
.post p {
 line-height: 2.5;
}
.postlinks {
 margin-top: 40px;
}
#sidebar {
 width: 330px;
 float: right;
 font-size: 16px;
}
#sidebar .blog-title {
 background: url(images/blog-title-bg.png) left top repeat-y;
 background-color: #fee600;
 padding: 10px;
 font-size: 16px;
 margin-bottom: 20px;
}
#sidebar ul {
 list-style: none;
}
#sidebar li {
 border-top: dashed 1px #000;
 padding: 20px 0;
}
#sidebar li:first-child {
 border-top: none;
}
#sidebar li .date {
 display: block;
 float: left;
 width: 70px;
 height: 16px;
 margin-right: 10px;
}
#sidebar li a {
 color: #000;
 display:block;
 height: 16px;
 overflow: hidden;
}
.col_r {
 color: #FF0000;
}
#formtbl {
 width: 100%;
 margin: 0 auto;
 border-collapse: collapse;
 font-size: 20px;
}
#formtbl th {
 width: 200px;
 padding: 25px 10px;
 padding-left: 20px;
 vertical-align: top;
 text-align: left;
 line-height: 1.4;
}
#formtbl td {
 padding: 20px 20px 20px 10px;
 vertical-align: top;
}
#formtbl input[type='text'],
#formtbl input[type='tel'],
#formtbl input[type='email'],
#formtbl textarea {
 width: 99%;
 border: none;
 padding: 10px;
 font-size: 20px;
 background-color: #F2F2F2;
}
.formbtn {
 background: url(images/btn-bg.png) left center no-repeat;
 border: none;
 border-radius: 6px;
 width: 230px;
 display: inline-block;
 color: #000;
 font-size: 20px;
 padding: 15px 5px;
 margin: 0 15px;
 text-align: center;
 cursor: pointer;
}
.wpcf7c-conf {
background-color: #ddd!important;
}
span.wpcf7-not-valid-tip {
 margin-top: 10px;
 margin-bottom: 10px;
}
.acceptance {
 max-width: 520px;
 text-align: center;
 margin: 40px auto 0;
}

@media screen and (max-width: 960px) {
.top-box-3 .bg {
 width: 960px;
 left: 50%;
 margin-left: -480px;
 position: relative;
}
}
@media screen and (max-width: 899px) {
#top-head .inner {
 height: 100px;
 padding-top: 10px;
}
#top-head .logo {
 width: 99px;
 top: -5px;
}
#top-head .team-title {
 width: 300px;
 margin-top: 10px;
 margin-left: 110px;
}
#top-head .header_bg {
 width: 340px;
}
#global-nav {
 margin-top: 50px;
}
.postbox {
 float: none;
 margin-right: auto;
}
.postbox > div {
 margin-right: auto;
}
#sidebar {
 float: none;
 width: auto;
 margin-top: 40px;
}
}
@media screen and (max-width: 767px) {
body.open {
 overflow: hidden;
}
#top-head {
 position: fixed;
 width: 100%;
 padding-left: 0;
 padding-right: 0;
 background-color: transparent;
}
#top-head.open {
 height: 100%;
}
#top-head.open .inner {
 height: 100%;
 background-color: rgba(0,0,0,0.2);
}
#top-head.open #mobile-head {
 min-height: 100%;
 overflow: auto;
}
#top-head > .mask {
 height: 100px;
 z-index: 102;
 opacity: 1;
 filter: alpha(opacity=100);
}
#top-head .inner {
 padding-top: 6px;
 padding-left: 10px;
}
#top-head .header_bg {
 z-index: 103;
}
#top-head .box {
 z-index: 103;
 margin-right: 72px;
}
#mobile-nav {
display:block;
}
#global-nav {
 position: absolute;
 width: 100%;
 max-height: 100%;
 overflow: auto;
 float: none;
 clear: both;
 font-size: 0;
 top: -1000px;
 margin-top: -102px;
 padding-top: 102px;
 left: 0;
 -webkit-transition: .5s ease-in-out;
 -moz-transition: .5s ease-in-out;
 transition: .5s ease-in-out;
}
#global-nav ul li {
float: none;
width: auto;
background-color: #fff;
border-top: solid 1px #000;
}
#global-nav ul li:first-child {
border-top: none;
}
#global-nav ul li a {
color: #000;
text-align: left;
height: 60px;
padding: 22px 30px 22px 15px;
font-size: 16px;
position: relative;
}
#global-nav ul li a:after {
 content: '>';
 position: absolute;
 top: 50%;
 margin-top: -8px;
 right: 10px;
}

/* #nav-toggle */
.open #nav-toggle span:nth-child(1) {
  top: 15px;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 15px;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg);
}
/* #global-nav */
.open #global-nav {
  /* #global-nav top + #mobile-head height */
  -moz-transform: translateY(1102px);
  -webkit-transform: translateY(1102px);
  transform: translateY(1102px);
}

#footer ul {
 display: none;
}
#topimg {
margin-top: 100px;
}
}
@media screen and (max-width: 639px) {
.sp639_n {
 display: none;
}
.sp639_i {
 display: inline;
}
#top-head .mask {
height: 52px;
}
#top-head .inner {
 height: 52px;
 padding-top: 5px;
}
#top-head .logo {
 width: 50px;
 top: -3px;
}
#top-head .team-title {
 width: 160px;
 margin-top: 5px;
 margin-left: 60px;
}
#top-head .header_bg {
 width: 205px;
}
#mobile-nav {
 top: 0;
 right: 0;
}
.open #global-nav {
  /* #global-nav top + #mobile-head height */
  -moz-transform: translateY(1052px);
  -webkit-transform: translateY(1052px);
  transform: translateY(1052px);
}
#footer .logo {
 width: 93px;
 top: -30px;
}
#footer .main {
 padding-top: 100px;
}
#top-title {
 margin-top: 52px;
 font-size: 28px;
}
#topimg {
margin-top: 52px;
}
.top-box-1 h2 {
 font-size: 28px;
}
.top-box-1 p {
 font-size: 16px;
 line-height: 2;
}
.top-box-2 h2 {
 font-size: 28px;
}
.list li {
 font-size: 16px;
 padding: 20px 15px;
}
.list li .date {
 float: none;
 margin-bottom: 10px;
 height: 16px;
}
.list li a {
 height: 16px;
}
.top-box-3 p {
 font-size: 16px;
}
.top-box-3 .info {
 width: 93.75%;
 left: 0;
 margin-left: 3.125%;
 top: 15%;
 margin-top: auto;
 height: auto;
}
.top-box-3 table,
.top-box-3 tr,
.top-box-3 tbody,
.top-box-3 td {
 display: block;
}
.postbox > div {
 padding-top: 35px;
 padding-bottom: 35px;
}
.post .entry-title {
 font-size: 24px;
}
.post p {
 font-size: 16px;
}
.formbtn {
 display: block;
 margin: 20px auto;
}
}
@media screen and (max-width: 420px) {
.sp420_tbl,
.sp420_tbl tr,
.sp420_tbl thead,
.sp420_tbl tbody,
.sp420_tbl th,
.sp420_tbl td {
 display: block;
 width: auto !important;
}
#formtbl th {
 padding-bottom: 0;
 padding-left: 5px;
}

}
