@charset "utf-8";


.en{
font-family: 'Oswald', sans-serif;
}

span.jp{
font-family: futura-pt, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.pcdn {
display: none;
}

.spdn {
display: block;
}

p{margin:0 0 1em 0;}

p.mtnone{
margin: 0;
}

p.mt10{
margin-top: 10px;
}

p.mt15{
margin-top: 15px;
}

p.mt20{
margin-top: 20px;
}

* {
padding: 0;
margin: 0;
box-sizing: border-box;
font-feature-settings: 'palt';
}

html {
font-size: 62.5%; /* 基準を10pxにする　※フォントは「rem」で指定する */
height: 100%;
}

body {
color: #333;
background-color: #FFFFFF;
font-family: futura-pt, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: 500;
word-wrap: break-word;
height: 100%;
font-size:1.8rem; /* 全体のフォントサイズを18pxにする */
line-height:1.8;
-webkit-text-size-adjust: 100%;
}

section,
article {
display: block;
}

img {
vertical-align: top;
image-rendering: -webkit-optimize-contrast;
-webkit-backface-visibility: hidden;
-webkit-transform: translateZ(0);
}

a img {
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}

a:hover img {
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}

strong {
font-weight: normal;
}

li {
list-style-type: none;
}

a {
color: #333;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
a:hover {
color: #333;
text-decoration: none;
}

table {
border-collapse: collapse;
}
table td {
border-collapse: collapse;
}

.clfix:after{
content: ".";
display: block;
height: 0;
font-size:0;
clear: both;
visibility:hidden;
}

/*
ヘッダー
-------------------------------------------*/
header {
width: 100%;
background-color: #FFF;
position: fixed;
z-index: 300;
}

header h1  {
max-width: 1030px;
width:96%;
margin:15px auto 0 ;
font-family: "Playfair Display", serif;
}

header h1 a {
display: block;
position: absolute;
color:#333;
font-size: 2.8rem;
text-decoration: none;
}


@media screen and (max-width:960px){
header h1  {
margin:3px auto 0;
}

header h1 a {
font-size: 2.4rem;
}

}

header h1 a img {
display: block;
position: absolute;
}

header .h_btn a {
display: block;
text-align: center;
position: absolute;
text-decoration: none;
color: #FFF;
letter-spacing: 1px;
border: 1px solid #333;
background: #333;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
}

header .h_btn a:hover {
background: #FFF;
color: #333;
}

header .h_tel a {
display: block;
text-align: center;
position: absolute;
text-decoration: none;
color: #333;
letter-spacing: 1px;
}
header .h_btn a i,
header .h_tel a i {
padding-left: 5px;
padding-right: 5px;
}
#g_navi ul li a.ac_menu {
cursor: pointer;
overflow: hidden;
}

.pankuzu {
background-color: #F6F6F6;
margin-bottom: 40px;
font-size: 14px;
line-height: 30px;
color: #555;
width: 100%;
padding-top: 10px;
padding-bottom: 10px;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #E5E5E5;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #FFF;
}

.pankuzu ul {
width: 96%;
max-width: 1100px;
margin-right: auto;
margin-left: auto;
}

.pankuzu li {
display: inline-block;
}

.pankuzu li a {
text-decoration: none;
color: #999;
}

.pankuzu li a::after {
content: ">";
padding-left: 10px;
padding-right: 10px;
}

.pankuzu li a:hover {
color: #333;
}

.pankuzu li i {
padding-right: 5px;
}


header h1 a {
font-size: 2.4rem;
}

/*
メインコンテンツ
-------------------------------------------*/
.newcontent {
position: relative;
padding: 60px 0;
background: #FFF;
}

.newcontent:before {
display: block;
width: 50%;
height: 70%;
position: absolute;
top: 0;
left: 0;
background-color: #f0f0f0;
content: '';
}

.newcontent-box-txt h2 {
clear: both;
position: relative;
margin: 20px 0 30px 0;
padding: 0 0 10px 0;
font-size: 1.9rem;
font-weight: bold;
line-height: 1.2;
letter-spacing: 1px;
color: #333;
text-align: left;
border-bottom: 1px solid #ccc;
}

h2 span{
padding: 0 15px 0 15px;
font-size: 2.8rem;
font-weight: normal;
}

h2 span.shorttxt:before{
position: absolute;
content: " ";
display: block;
border-bottom: solid 1px #333;
bottom: -1px;
width: 25%;
}

h2 span.longtxt:before{
position: absolute;
content: " ";
display: block;
border-bottom: solid 1px #333;
bottom: -1px;
width: 15%;
}

.newcontent-box-txt h2:before{
display: block;
width: 8vw;
height: 1px;
position: absolute;
top: 50%;
left: -15px;
-webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%);
transform: translateX(-100%);
background-color: #1b1b1b;
content: '';
}

.newcontent-box-txt h3{
margin:0 0 15px 0;
font-size:2.4rem;
line-height: 1.4;
}

.cont_wrap .newcontent-box-txt p.newcontent-box-author{
margin:0 0 20px 0;
font-weight: bold;
font-size: 1.7rem;
line-height:1.3;
}


.cont_wrap .newcontent-box-txt p{
font-size:1.6rem;
font-weight: normal;
}

.cont_wrap .newcontent-box-txt p span{
font-size:1.8rem;
}

.newcontent .newcontent-box{
width: 96%;
max-width: 1024px;
margin: 0 auto;
}

.newcontent .newcontent-box-wrap{
position: relative;
display: flex;
padding: 20px 0 30px 0;
}

.cont_wrap .newcontent-box-imgwrap{
margin:0 15% 0 5%;
}

.cont_wrap .newcontent-box-img {
width: 100%;
max-width: 800px;
}

.cont_wrap .newcontent-box-img img{
width: 100%;
padding: 0;
box-shadow: 15px 15px 15px 0px rgba(0, 0, 0, .2);
}

.cont_wrap .newcontent-box-txt{
width: 100%;
}

.cont_wrap .newcontent-box-txt > div{
padding: 0 15px;
}

.cont_wrap .newcontent-box-button{
float: right;
margin:40px 0 0 0;
overflow: hidden;
}

.newcontent-box-button a{
display: block;
position: relative;
padding:10px 35px;
background: #333;
border: 1px solid #333;
font-size: 1.6rem;
color: #FFF;
text-decoration: none;
font-weight: bold;
}


.newcontent-box-button a:hover{
color: #333;
background: #FFF;
}

.newcontent-box-button a:hover::before{
transform-origin: left top;
transform: scale(1, 1);
}

.content {
width: 100%;
margin:0 auto;
}

.content h2{
max-width: 1024px;
width: 100%;
margin:0 auto;
text-align: center;
}


.cont_wrap {
max-width: 1024px;
width: 100%;
margin:0 auto;
overflow: hidden;
}

div.bookslist{
padding: 0 0 40px 0;
background: #FFF;
}


div.bookslist > h2 {
clear: both;
max-width: 1024px;
width: 96%;
position: relative;
margin: 0 auto 10px;
padding: 0 0 10px 0;
font-size: 2.0rem;
font-weight: bold;
line-height: 1.2;
letter-spacing: 1px;
color: #333;
text-align: left;
border-bottom: 1px solid #ccc;
}

div.bookslist > h2 b{
position: relative;
}

div.bookslist > h2 b:after {
content: "";
display: block;
width: 100%;
height: 1px;
background: #333;
position: absolute;
bottom: -11px;
left: 0;
}

div.bookslist > h2 span{
padding: 0 15px 0 15px;
font-size: 2.8rem;
font-weight: normal;
}


div.bookslist div.bookslist-box-button{
width: 96%;
max-width: 400px;
margin: 40px auto 0;
text-align: center;
}



div.bookslist div.bookslist-box-button a{
display: inline-block;
position: relative;
width: 100%;
padding: 10px 35px;
background: #333;
border: 1px solid #111;
font-size: 1.6rem;
color: #FFF;
text-decoration: none;
font-weight: bold;
}


div.bookslist div.bookslist-box-button a:hover{
color: #333;
background: #FFF;
}


div.bookslist ul.bookslist-box{
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
-webkit-justify-content: space-between; /* Safari */
justify-content: space-between;
width: 100%;
max-width: 1024px;
margin: 20px auto 0;
padding:0 3%;
text-align: center;
}

div.bookslist ul.bookslist-box li{
width: 30%;
padding:0 0 30px 0;
transition: all .6s;
}

div.bookslist ul.bookslist-box li:hover{
box-shadow: 0 0 15px 1px rgba(0, 0, 0, .1);
transform:scale(1.03,1.03);
}

div.bookslist ul.bookslist-box li:last-child{
}

div.bookslist ul.bookslist-box li a{
color:#333;
text-decoration: none;
}

div.bookslist ul.bookslist-box .bookslist-box-phbox{
width: 80%;
padding: 30px 40px 0 40px;
margin:0 auto 30px;
background:#FFF;
}

div.bookslist ul.bookslist-box picture{
overflow: hidden;
width: 100%;
padding: 0 0 5px 0;
text-align: center;
}

div.bookslist ul.bookslist-box div.bookslist-box-date{
position:absolute;
bottom:0;
left: 0;
right: 0;
font-size: 1.3rem;
color: #666;
}

div.bookslist ul.bookslist-box picture img{
width: 100%;
}

div.bookslist ul.bookslist-box div.bookslist-box-txt{
width: 100%;
overflow: hidden;
position: relative;
min-height: 160px;
}

div.bookslist ul.bookslist-box div.bookslist-box-txt p{
font-weight: normal;
line-height: 1.4;
margin: 0 auto 15px;
}

div.bookslist ul.bookslist-box div.bookslist-box-txt p:first-child{
font-size:1.8rem;
font-weight: bold;
line-height: 1.4;
}

div.bookslist ul.bookslist-box div.bookslist-box-txt p:last-child{
font-weight: normal;
font-size: 1.5rem;
}


#sub_top {
background-color: #EEE;
background-repeat: no-repeat;
background-position: center center;
height: 330px;
padding-top: 180px;
width: 100%;
background-size: cover;
}

#sub_top h2{
position: absolute;
top:0%;
left: 50%;
margin-top:180px;
transform: translate(-50%, 0);
text-align: center;
color: #FFF;
font-size: 2.0rem;
letter-spacing: 0.05em;
line-height: 1.5;
font-weight: bold;
-moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
-webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
-ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}

#sub_top span{
font-size:3.64rem;
font-family: 'Oswald', sans-serif;
letter-spacing: 0.05em;
}

#index_top{
height: 100%;
width: 100%;
position: relative;
overflow: hidden;
max-height: 400px;
background-image: url("main-bg.png");
background-position: right;
background-size: cover;
}

#index_top:after{
content: '';
background-color: rgba(0,0,0,0.1);
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
}


#index_top ul.sm-slider {
position: relative;
}

#index_top #top_catch{
position: absolute;
width: 96%;
max-width: 1024px;
margin: 0 auto;
bottom: 10%;
right: 0;
left: 0;
z-index: 10;
text-align: left;
color: #FFF;
}


#index_top #top_catch p{
font-size: 1.8rem;
line-height: 1.7;
font-weight: bold;
}

#index_top #top_catch h2{
margin: 0 0 30px 0;
font-size: 3.8rem;
letter-spacing: 2px;
font-weight: bold;
line-height: 1.3;
}

.content h3 {
margin: 30px auto;
width: 96%;
max-width: 1024px;
padding: 0 15px 10px 0;
font-size: 2.6rem;
line-height: 30px;
position: relative;
font-weight: bold;
color: #333;
clear: both;
border-bottom: 1px solid #ccc;
}

.content h3::before  {
position: absolute;
content: " ";
display: block;
border-bottom: solid 1px #333;
bottom: -1px;
width: 13%;
}

.content h3 span  {
display: block;
padding: 0 0 0 15px;
}


.content h4 {
font-size: 20px;
color: #555;
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: #333;
letter-spacing: 0.1em;
padding: 10px 20px;
font-weight: bold;
clear: both;
margin-top: 20px;
margin-right: 30px;
margin-bottom: 20px;
margin-left: 30px;
}

.content p {
font-size:1.6rem;
padding: 0;
}

.content ul {
display: flex;
justify-content: space-around;
}

.content .ul_news li {
width: 100%;
max-width: 500px;
line-height: 30px;
padding-top: 20px;
padding-bottom: 20px;
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: #CCC;
font-size: 16px;
padding-right: 10px;
padding-left: 10px;
}
.content .ul_news li span {
color: #999;
padding-right: 20px;
}

div.newsbox {
padding:70px 0 60px 0;
background: #f9f9f9;
}

div.newsbox h2.newsbox-title{
clear: both;
max-width: 1024px;
width: 96%;
position: relative;
margin: 0 auto 20px;
padding: 0 0 10px 0;
font-size: 2.0rem;
font-weight: bold;
line-height: 1.2;
letter-spacing: 1px;
color: #333;
text-align: left;
border-bottom: 1px solid #ccc;
}

div.newsbox h2.newsbox-title span{
padding: 0 15px 0 15px;
font-size: 2.8rem;
font-weight: normal;
}

div.newsbox h2.newsbox-title span.small{
padding: 0 5px;
font-size: 1.6rem;
font-weight: bold;
color：333;
}


div.newsbox div.newsbox-list{
width: 100%;
max-width: 960px;
margin: 15px auto 0;
}

div.newsbox div.newsbox-list > a{
display: block;
width:100%;
padding: 30px 35px;
margin: 0 0 0 0;
border-bottom:1px dotted #999;
font-size: 1.7rem;
color:#333;
text-decoration: none;
}

div.newsbox div.newsbox-list > a:hover{
background:#FFF;
}

div.newsbox div.newsbox-list ul.newsbox-list-info{
display: flex;
justify-content:
flex-start;
}


div.newsbox div.newsbox-list span.newsbox-icon{
display: inline-block;
min-width: 80px;
padding:5px;
margin:0 20px 0 0 ;
font-size: 1.4rem;
line-height: 1.0;
text-align: center;
color:#FFF;
background:#333;
}

div.newsbox div.newsbox-list span.newsbox-date{
display: inline-block;
padding:5px;
margin:0 15px 0 0;
font-size: 1.6rem;
line-height: 1.0;
vertical-align: middle;
font-weight: bold;
}

div.newsbox div.newsbox-list li.newsbox-txt{
display: inline-block;
padding: 5px;
font-size: 1.6rem;
line-height: 1.3;
vertical-align: middle;
}


div.contact{
padding: 60px 0 80px;
background-size:cover;
background-position:center;
position: relative;
color:#FFF;
background:#222;
}

div.contact-wrap{
position: relative;
max-width: 960px;
width: 100%;
z-index: 1;
font-size: 1.6rem;
line-height:1.5;
}

div.contact-wrap > h2{
clear: both;
display: block;
overflow: hidden;
position: relative;
margin: 0 auto 30px;
padding: 0 0 15px 0;
font-size: 1.7rem;
font-weight: bold;
line-height: 1.4;
letter-spacing: 1px;
color: #FFF;
text-align: center;
background: linear-gradient(90deg, #FFF 0% 50%, #606060 50%);
background-repeat: no-repeat;
background-size: 3rem 0.4rem;
background-position: bottom;
}


div.contact-wrap > h2 span{
padding: 0 15px;
font-size: 3.2rem;
font-weight: normal;
}

div.contact-wrap p.contact-maintxt{
margin:0 0 60px 0;
text-align:center;
font-size:1.8rem;
font-weight:bold;
}

div.contact-wrap div.contact-box{
overflow:hidden;
display: flex;
width: 100%;
max-width: 620px;
margin: 0 auto;
justify-content: center;
align-items: center;
}

div.contact-wrap div.contact-rbox{
width: 48%;
margin-left: auto;
background:rgba(0,0,0,0.2);
border: 1px solid #FFF;
text-align: center;
}

div.contact-wrap div.contact-rbox > a{
display: block;
padding:28px 0;
}

div.contact-wrap div.contact-rbox div.contact-rbox-phnumber{
width: 100%;
margin: 0 auto;
}

div.contact-wrap div.contact-rbox div.contact-rbox-phnumber p{
margin: 0;
padding:0;
}

div.contact-wrap div.contact-rbox p.contact-rbox-time{
margin: 0;
text-align: center;
font-size: 1.33rem;
}

div.contact-wrap div.contact-rbox p:first-child{
font-size: 1.6rem;
}

div.contact-wrap div.contact-rbox a{
font-size: 2.3rem;
font-weight: bold;
color: #FFF;
text-decoration: none;
}

div.contact-wrap div.contact-rbox a:hover{
background:#FFF;
color: #333;
}

div.contact-wrap div.contact-rbox p a i{
font-size: 2.0rem;
}


div.contact-wrap div.contact-lbox{
width: 48%;
align-items: center;
border: 1px solid #FFF;
}

div.contact-wrap div.contact-lbox > a{
display: block;
padding: 40px 0;
font-size: 1.8rem;
font-weight: bold;
color:#FFF;
text-align: center;
text-decoration: none;
background:rgba(0,0,0,0.2);
}

div.contact-wrap div.contact-lbox > a:hover{
background: #FFF;
color:#333;
}

div.contact-wrap div.contact-lbox > a p{
margin: 0;
}

div.contact-wrap div.contact-lbox > a p span{
margin: 0;
font-weight: normal;
font-size: 1.4rem;
letter-spacing: 1px;
}

div.companyinfowrap{
clear: both;
width:100%;
margin:0 auto;
padding:45px 0;
text-align: center;
font-size: 1.7rem;
color:#FFF;
background:#000;
}

div.companyinfobox p.companyinfobox-logo{
margin: 0 0 10px 0;
font-family: "Playfair Display", serif;
font-size: 2.4rem;
font-weight: bold;
letter-spacing: 1px;
}

div.companyinfobox{
font-size:1.6rem;
line-height: 1.4;
}

div.companyinfobox p:last-child{
margin: 0;
padding: 0;
}

div.companyinfobox p:last-child span{
font-size: 1.5rem;
}

/*
コンテンツ大ボタン
-------------------------------------------*/
.content .btn_001 a {
font-size: 20px;
color: #FFF;
text-align: center;
border: 5px solid #F6F6F6;
text-decoration: none;
display: block;
width: 88%;
background-color: #333333;
margin-top: 20px;
margin-right: auto;
margin-bottom: 30px;
margin-left: auto;
line-height: 30px;
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
padding-top: 15px;
padding-bottom: 15px;
position: relative;
max-width: 500px;
clear: both;
}
.content .btn_001 a i {
padding-right: 10px;
}
.content .btn_001 a:hover {
color: #333333;
text-align: center;
background-color: #FFF;
width: 90%;
border-top-color: #333333;
border-right-color: #333333;
border-bottom-color: #333333;
border-left-color: #333333;
}

.img_center {
display: block;
margin-left: auto;
margin-right: auto;
padding-bottom: 20px;
}

.img_left {
float: left;
padding-right: 30px;
padding-left: 30px;
padding-bottom: 20px;
}
.img_right {
float: right;
padding-right: 30px;
padding-left: 30px;
padding-bottom: 20px;
}

.content .img_left p {
font-size: 12px;
margin: 0px;
}

/*-----トップへ戻るボタン------*/

.to_top {
position: fixed;
right: 10px;
z-index: 200;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}

.to_top a {
padding: 15px;
height: 50px;
width: 50px;	
text-decoration: none;
color: #FFF;
text-align: center;
display: block;
border-radius: 50px;
-webkit-border-radius: 50px;
-moz-border-radius: 50px;
opacity: 0.8;
filter: alpha(opacity=80);
-ms-filter: "alpha( opacity=80 )";
font-size: 2.0rem;
line-height: 1.0;
background-color: #000;
}

.to_top a:hover {
opacity: 1.0;
filter: alpha(opacity=100);
-ms-filter: "alpha( opacity=100 )";
}

/*
フッター
-------------------------------------------*/

footer {
background-color:#FFF;
color: #333;
clear: both;
width: 100%;
display: block;
padding: 60px 0;
}

footer::after{
content: ".";
display: block;
height: 0;
font-size:0;
clear: both;
visibility:hidden;
}

footer div.cont_wrap{
display: flex;
justify-content: space-between;
align-items: center;
width:90%;
max-width: 1024px;
}

div.footer-nav-companyinfo{
margin: 0 5% 0 0;
font-size: 1.4rem;
line-height: 1.5;
}

p.footer-nav-companylogo{
font-family: "Playfair Display", serif;
font-weight: bold;
}

div.footer-nav p.footer-nav-sitename {
margin:0 0 15px 0;
font-size: 1.5rem;
text-align: right;
}

div.footer-nav p.footer-nav-sitename a{
font-weight: bold;
text-decoration: none;
color: #333;
}

div.footer-nav p.footer-nav-sitename a:hover{
color: #999;
}

div.footer-nav-companyinfo p:first-child {
margin:0 0 5px 0;
font-size: 2.0rem;
}

div.footer-nav-companyinfo p:last-child {
margin:0 ;
}

div.footer-nav{
text-align: right;
font-size: 1.6rem;
line-height: 1.3;
}

div.footer-nav ul{
display: inline-block;
margin: 0 auto;
overflow: hidden;
text-align: center;
}

div.footer-nav ul li{
display: inline-block;
float: left;
font-size:1.4rem;
font-weight: bold;
letter-spacing: 0.1em;
}

div.footer-nav ul li a{
color: #333;
text-decoration: none;
}

div.footer-nav ul li a:hover{
color: #999;
text-decoration: none;
}

div.footer-nav ul li:after{
content:"｜";
padding:0 15px;
}

div.footer-nav ul li.last:after{
content:"";
padding: 0;
}

div.footer-nav p{
clear: both;
text-align: center;
font-size: 1.4rem;
font-weight: bold;
}

address {
margin:0 auto;
padding: 0;
font-size: 1.3rem;
font-style: normal;
text-align: right;
}

footer ul.f_bn {
display: block;
float: left;
}
footer .f_bn li {
display: inline;
}
footer .f_bn li a {
display: inline-block;
font-size: 14px;
letter-spacing: 1px;
padding: 10px;
text-decoration: none;
color: #FFF;
border: 1px solid #FFF;
opacity: 0.5;
filter: alpha(opacity=50);
-ms-filter: "alpha( opacity=50 )";
margin-left: 10px;
font-weight: bold;
}
footer .f_bn li a:hover {
opacity: 1.0;
filter: alpha(opacity=100);
-ms-filter: "alpha( opacity=100 )";
}
footer .f_bn li a i {
padding-right: 5px;
}

footer .box_pr {
clear: both;
width: 100%;
display: block;
padding-top: 10px;
padding-bottom: 10px;
text-align: center;
font-size: 10px;
color: #CCC;
}

.box_pr ul li {
display: inline;
padding: 5px;
}

.box_pr ul li a {
color: #CCC;
}

/*
各種テーブル
-------------------------------------------*/
.content table.table_01 {
width: 90%;
margin-top: 20px;
margin-right: auto;
margin-bottom: 40px;
margin-left: auto;
}
.content table.table_01 th,
.content table.table_01 td {
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: #CCC;
padding: 20px;
}
.content table.table_01 th {
font-size: 1.6rem;
white-space: nowrap;
font-weight: normal;
letter-spacing: 1px;
width: 23%;
text-align: left;
}
.content table.table_01 td {
font-size: 1.6rem;
line-height: 30px;
background-color: #FFF;
}
.content table.table_01 td.td_price {
font-size: 1.6rem;
text-align: center;
white-space: nowrap;
color: #008C69;
font-weight: bold;
}

.content table.table_02 {
width: 96%;
margin-top: 20px;
margin-right: auto;
margin-bottom: 30px;
margin-left: auto;
max-width: 600px;
}
.content table.table_02 th,
.content table.table_02 td {
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: #CCC;
padding: 20px;
}
.content table.table_02 th {
font-size: 18px;
white-space: nowrap;
font-weight: normal;
letter-spacing: 1px;
width: 33%;
background-color: #F6F6F6;
}
.content table.table_02 td {
font-size: 16px;
line-height: 30px;
background-color: #FFF;
}
.content table.table_02 td .price {
font-size: 20px;
text-align: center;
white-space: nowrap;
color: #000000;
font-weight: bold;
padding-right: 5px;
padding-left: 5px;
}


#mailform table.m_form {
width: 90%;
margin-right: auto;
margin-left: auto;
}
#mailform table.m_form th {
text-align: right;
border-right-width: 4px;
border-bottom-width: 1px;
border-right-style: solid;
border-bottom-style: dotted;
border-right-color: #CCC;
border-bottom-color: #CCC;
font-size: 14px;
font-weight: normal;
padding-top: 15px;
padding-right: 10px;
padding-bottom: 10px;
padding-left: 10px;
}
#cont_base #mailform table.m_form th p {
font-size: 10px;
line-height: 14px;
color: #999;
margin: 0px;
padding: 0px;
}
#cont_base #mailform table.m_form th span {
color: #FF0000;
padding-left: 5px;
padding-right: 5px;
}
#mailform table.m_form td {
padding: 10px;
background-color: #FFF;
border-bottom-style: dotted;
border-bottom-color: #CCC;
border-bottom-width: 1px;
font-size: 14px;
}
form input.form_btn {
background-color: #333;
color: #FFF;
padding-top: 7px;
padding-right: 20px;
padding-bottom: 7px;
padding-left: 20px;
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border: 3px solid #EEE;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
form input.form_btn:hover {
background-color: #FFF;
color: #333;
border-top-color: #333;
border-right-color: #333;
border-bottom-color: #333;
border-left-color: #333;
cursor: pointer;
}
.small {
font-size: smaller;
color: #666;
}
.chui {
color: #F03600;
}
#cont_base .content .navi_sitemap li {
padding-left: 20px;
}
.table_01 caption {
font-size: 14px;
line-height: 30px;
background-color: #E5E5E5;
color: #333;
letter-spacing: 1px;
padding-top: 5px;
padding-bottom: 5px;
border: 1px solid #FFF;
box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
}
.table_01 th span {
font-size: 12px;
color: #CCC;
}


/*
FAQ
-------------------------------------------*/

.content dl.faq {
margin-bottom: 30px;
padding-top: 10px;
padding-right: 10px;
padding-bottom: 20px;
padding-left: 10px;
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: #CCC;
}
.content dl.faq dt {
font-size: 22px;
line-height: 30px;
position: relative;
font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
padding-top: 10px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 50px;
background-color: #F6F6F6;
color: #333;
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}
.content dl.faq dt span {
font-size: 20px;
font-weight: bold;
color: #FFF;
background-color: #333;
text-align: center;
display: block;
width: 50px;
padding-top: 10px;
height: 40px;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
position: absolute;
top: -20px;
left: -10px;
z-index: 10;
}
.content dl.faq dt span::before{
content: "";
position: absolute;
bottom: -5px;
right: -3px;
margin-left: -12px;
border-right: 12px solid transparent;
border-top: 20px solid #333;
border-left: 12px solid transparent;
z-index: 0;
transform: rotate(-40deg);
}
.content dl.faq dd {
padding-top: 10px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 20px;
}

/*
グーグルマップ
-------------------------------------------*/

.g_map_base {
background-color: #FFF;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}

.g_map {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}

.g_map iframe,
.g_map object,
.g_map embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*
トップ下部ピックアップ
-------------------------------------------*/
.pick_up {
height: 30%;
max-height: 500px;
width: 100%;
position: absolute;
bottom: 0px;
background-color: rgba(0, 0, 0, 0.7);
}
.pick_up .sc_btm a {
line-height: 50px;
color: #333;
background-color: #FFF;
height: 100px;
width: 100px;
display: block;
margin-right: auto;
margin-left: auto;
border-radius: 50px;
-webkit-border-radius: 50px;
-moz-border-radius: 50px;
font-size: 12px;
text-decoration: none;
letter-spacing: 2px;
background-image: url(sc_btm.png);
background-position: center center;
background-repeat: no-repeat;
position: absolute;
bottom: -50px;
left: 50%;
margin-left: -50px;
z-index: 80;
text-align: center;
}
.pick_up .sc_btm a:hover {
color: #000;
height: 110px;
width: 110px;
border-radius: 55px;
-webkit-border-radius: 55px;
-moz-border-radius: 55px;
margin-top: -10px;
margin-left: -55px;
}

.pick_up ul {
display: block;
margin-left: auto;
margin-right: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
max-width: 1400px;
padding: 30px;
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-box-lines: multiple;
-moz-box-lines: multiple;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}

.pick_up ul li {
width: 30%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
position: relative;
}
.pick_up ul li a {
display: block;
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
overflow: hidden;
}
.pick_up ul li a img {
width: auto;
max-width: 100%;
-webkit-transition: 1.0s ease-out;
-moz-transition: 1.0s ease-out;
transition: 1.0s ease-out;
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}
.pick_up ul li a:hover img {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-o-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
opacity: 1.0;
filter: alpha(opacity=100);
-ms-filter: "alpha( opacity=100 )";
}
.pick_up ul li a:hover {
box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 7px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 7px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 7px 0px;
}

a .btn_check {
color: #FFF;
font-size: 14px;
line-height: 40px;
text-decoration: none;
text-align: center;
display: block;
width: 50%;
margin-top: -15px;
margin-left: -25%;
border: 2px solid #FFF;
position: absolute;
left: 50%;
top: 50%;
font-weight: bold;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
a:hover .btn_check {
color: #000;
background-color: #FFF;
}
a .btn_check i {
padding-right: 10px;
padding-left: 5px;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
a:hover .btn_check i {
padding-right: 5px;
padding-left: 10px;
}
.balloon {
position: absolute;
top: -60px;
left: 50%;
margin-left: -50px;
display: inline-block;
width: 100px;
height: 100px;
line-height: 100px;
vertical-align: middle;
text-align: center;
color: #FFF;
font-size: 18px;
font-weight: bold;
border-radius: 50%;
box-sizing: border-box;
z-index: 100;
background-color: #FF6633;
}

.balloon:before{
content: "";
position: absolute;
bottom: -15px;
left: 50%;
margin-left: -12px;
border-right: 12px solid transparent;
border-top: 20px solid #FF6633;
border-left: 12px solid transparent;
z-index: 0;
}


/*
実績一覧
-------------------------------------------*/
ul.works_list {
display: block;
margin-left: auto;
margin-right: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
max-width: 1024px;
padding: 40px 30px 80px;
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-box-lines: multiple;
-moz-box-lines: multiple;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}

ul.works_list li {
overflow: hidden;
padding: 0 0 30px 0;
width: 27%;
position: relative;
text-align: left;
margin-bottom: 30px;
background:#FFF;
line-height: 1.3;
transition: all .6s;
}

ul.works_list li:hover {
box-shadow: 0 0 15px 1px rgba(0, 0, 0, .1);
transform:scale(1.02,1.02);
}

ul.works_list li picture{
display: block;
padding: 20px 40px 40px 40px;
text-align: left;
}

ul.works_list li p.works_list--categoly{
display: inline-block;
text-align: left;
margin: 40px 0 0 40px;
padding: 4px 10px;
border: 1px solid #333;
font-size: 1.4rem;
}

ul.works_list li a{
display: block;
text-decoration: none;
color: #333;
}

ul.works_list li img {
width: auto;
max-width: 100%;
}

ul.works_list li div.bookslist-box-txt{
min-height: 120px;
text-align: center;
}

ul.works_list li div.bookslist-box-txt p{
margin:0 0 10px 0;
}

ul.works_list li div.bookslist-box-txt p:first-child{
font-weight: bold;
}

ul.works_list li div.bookslist-box-date{
font-size: 1.4rem;
color: #666;
line-height: 1.5;
text-align: center;
}

ul.works_list li div.bookslist-box-date span{
font-size: 2.0rem;
font-family: 'Oswald', sans-serif;
}


@media screen and (min-width:960px){
body {
font-size: 1.8rem;
}
.sm-slider, .sm-slider::after {
top: 100px !important;
}


/*
会社概要
-------------------------------------------*/
p.about-txt{
text-align: center;
font-size: 1.7rem;
line-height: 1.7;
}

p.about-txt:first-child{
margin:80px 0 20px;

}

p.about-txt-margin{
margin:40px 0 80px;
}

div.accessbox{
margin:80px auto;
}

ul.relationgrope{
width: 94%;
max-width: 920px;
margin: 0 0 0 40px;
display: flex;
justify-content: left;
}

ul.relationgrope > li{
list-style: none;
display: inline-block;
margin: 0 4% 0 0;
text-indent: 1em;
font-size: 1.6rem;
}

ul.relationgrope > li::before {
content: "・ ";
}

ul.relationgrope li a{
text-decoration: none;
color:#333;
}



/*
ヘッダー
-------------------------------------------*/
header {
height: 125px;
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
position: fixed;
transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
}


header h1 a img {
top: 20px;
left: 10px;
}

header .h_btn {
width: 100%;
max-width: 1030px;
margin: 0 auto;
position: relative;
}

header .h_btn a {
width: 160px;
top: 12px;
right: 2%;
line-height: 38px;
padding-top: 2px;
font-size: 14px;
font-weight: bold;
z-index: 2000;
}
header .h_tel a {
width: 180px;
top: 20px;
right: 180px;
line-height: 38px;
padding-top: 2px;
font-size: 14px;
}
header .h_tel a strong {
font-size: 18px;
}
header.fixed {
height: 100px;
}

header.fixed h1 a img {
height: 40px;
top:5px;
}
header.fixed .h_btn a,
header.fixed .h_tel a {
top: 5px;
}


.menu_btn,
.btn_close {
display: none;
}

/*
PCグローバルナビ
-------------------------------------------*/
#g_navi {
width: 100%;
display: block;
margin:0 auto;
height: 60px;
position: absolute;
z-index: 1000;
left: 0px !important;
bottom: 0px;
font-size: 1.6rem;
letter-spacing: 1px;
font-weight: bold;
}

#g_navi ul.navi_base {
width: 96%;
max-width: 1024px;
margin:0 auto;
display: block;
padding: 5px 0 0 0;
}

#g_navi ul li{
display: inline-block;
padding-right: 30px
}

#g_navi ul li:last-child{
padding-right: 0
}

#g_navi li a {
padding-top: 8px;
height: 35px;
display: block;
color: #333;
text-decoration: none;
text-align: center;
line-height: 20px;
position: relative;
float: left;
}

#g_navi li a::before {
display: block;
height: 2px;
position: absolute;
bottom: 2px;
width: 70%;
left: 15%;
background-color: #FFF;
content: '';
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}

#g_navi li a:hover::before {
background-color: #333;
bottom:0px;
}

#g_navi li a:hover,
#g_navi li a.active,
#g_navi ul li:hover > a {
color: #999;
}

#g_navi ul li:hover > a.ac_menu,
#g_navi li a.ac_menu:hover {
position: relative;
}

#g_navi li a.ac_menu::after {
content: "";
position: absolute;
bottom: -10px;
left: 50%;
margin-left: -15px;
border-right: 15px solid transparent;
border-bottom: 20px solid #FFF;
border-left: 15px solid transparent;
z-index: 300;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}

#g_navi ul li:hover > a.ac_menu::after,
#g_navi li a.ac_menu:hover::after {
border-bottom: 20px solid #333;
}

#g_navi ul li div {
position: absolute;
z-index: 2000;
top: 50px;
left: 0px;
opacity: 0;
visibility: hidden;
transition: .3s;
width: 100%;
height: auto;
background-color: #333;
}
#g_navi ul li ul{
width: 96%;
padding-left: 2%;
max-width: 1100px;
margin-left: auto;
margin-right: auto;
}

#g_navi li ul li a {
width: 21%;
padding-left: 3%;
padding-top: 9px;
padding-bottom: 9px;
line-height: 22px;
height: 22px;
color: #FFF;
text-align: left;
margin-top: 10px;
margin-bottom: 10px;
margin-left: 1%;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
}
#g_navi li ul li a::after {
content: "+";
color: #FFF;
position: absolute;
display: block;
left: 15px;
top: 8px;
font-size: 9px;
}
#g_navi li ul li a:hover::after {
color: #333;
}
#g_navi ul li ul li a:hover{
color: #000;
background-color: #FFF;
box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
}
#g_navi li li a::before {
display: none;
}


#g_navi ul li:hover div{
visibility: visible;
opacity: 1;
}

#g_navi div.ac_list {
display: block !important;
}


header.fixed #g_navi {
height: 40px;
}

header.fixed #g_navi ul li div {
top: 40px;
}

header.fixed #g_navi li a {
padding-top: 10px;
height: 30px;
}

header.fixed #g_navi li ul li a {
padding-top: 9px;
height: 22px;
}

#index_top {
max-height: 560px;
background-image: url("main-bg.png");
background-position: right;
background-size: cover;
}


/*
サブトップ
-------------------------------------------*/
#sub_top.faq {
background-image: url(sub_top_faq.jpg);
}

#sub_top.works {
position: relative;
background-image: url("sub-main-large-bg.png");
}

#sub_top.works::before  {
content: "";
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: rgba(0, 0, 0, 0.1);
}


#sub_top.contact {
	position: relative;
	background-image: url("sub-main-large-bg.png");
}

#sub_top.company {
position: relative;
background-image: url("sub-main-large-bg.png");
}

#sub_top.company::before  {
content: "";
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: rgba(0, 0, 0, 0.1);
}

#sub_top.sample {
background-image: url(sub_top_sample.jpg);
}
/*
フッター
-------------------------------------------*/

address {
letter-spacing: 1px;
display: block;
}

.no_pc {
display: none;
}

}

@media screen and (min-width:1200px){
header .h_btn a {
right: 0;
}
header .h_tel a {
right: 50%;
margin-right: -400px;
}
header h1 a img {
left:50%;
margin-left: -600px;
}

}

@media screen and (max-width:960px){

body {
font-size: 1.8rem;
}

body.fixed {
overflow: hidden;
}

img {
max-width: 100% !important;
height: auto;
width /***/:auto;
margin-left:auto;
margin-right:auto;
}

#sub_top h2{
	margin-top:80px;
	}

.content h4 {
margin-right: 10px;
margin-left: 10px;
}

ul.works_list li {
width: 31%;
}

/*
メニューボタン
-------------------------------------------*/

.menu_btn {
display: block;
height: 30px;
width: 40px;
text-align: center;
padding-top: 5px;
padding-bottom: 5px;
position: fixed;
z-index: 5000;
top: 5px;
right: 5px;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
cursor: pointer;
}
.menu_btn:hover {
cursor: pointer;
}

.menu_btn span {
width: 28px;
height: 2px;
display: block;
position: absolute;
left: 50%;
top: 50%;
margin-left: -14px;
background-color: #555;
}
.menu_btn span {
transition: all 0.3s;
transform: rotate(0deg);
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
}
.menu_btn span.top {
transform: translateY(-8px);
-webkit-transform: translateY(-8px);
-moz-transform: translateY(-8px);
}
.menu_btn span.bottom {
transform: translateY(8px);
-webkit-transform: translateY(8px);
-moz-transform: translateY(8px);
}


.menu_btn:hover span.top {
transform: translateY(-10px);
-webkit-transform: translateY(-10px);
-moz-transform: translateY(-10px);
}
.menu_btn:hover span.bottom {
transform: translateY(10px);
-webkit-transform: translateY(10px);
-moz-transform: translateY(10px);
}


.menu_btn.opened  span.middle {
background: rgba(255, 255, 255, 0);
transform: translateX(30px);
-webkit-transform: translateX(30px);
-moz-transform: translateX(30px);
}
.menu_btn.opened  span.top {
transform: rotate(-45deg) translateY(0px);
-webkit-transform: rotate(-45deg) translateY(0px);
-moz-transform: rotate(-45deg) translateY(0px);
}
.menu_btn.opened  span.bottom {
transform: rotate(45deg) translateY(0px);
-webkit-transform: rotate(45deg) translateY(0px);
-moz-transform: rotate(45deg) translateY(0px);
}

/*
グローバルナビ
-------------------------------------------*/
#g_navi {
position: fixed;
width: 80%;
height: 100%;
top: 0px;
left: 100%;
padding-top: 50px;
overflow: auto;
z-index: 3000;
background-color: #FFF;
box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
font-size: 14px;
letter-spacing: 1px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#g_navi ul {
display: block;
margin: 0px;
padding: 0px;
clear: both;
}

#g_navi ul li:first-child {
border-top-width: 1px;
border-top-style: solid;
border-top-color: #EEE;
}

#g_navi ul li {
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #EEE;
}

#g_navi ul li a {
color: #333;
text-decoration: none;
display: block;
padding-top: 16px;
padding-right: 30px;
padding-bottom: 14px;
padding-left: 20px;
line-height: 22px;
vertical-align: middle;
}
#g_navi ul li a:hover {
color: #999;
}


/*
アコーディオン
--------------------------------------------------*/


#g_navi ul li a.ac_menu {
position: relative;
background-image: none;
}
#g_navi ul li a.ac_menu::after {
font-size: 11px;
display: block;
height: 20px;
width: 20px;
content: "▼";
text-align: center;
line-height: 20px;
position: absolute;
top: 16px;
right: 10px;
color: #555;
}
#g_navi ul li a.ac_menu.active {
color: #999;
}
#g_navi ul li a.ac_menu.active::after {
content: "▲";
}
#g_navi div.ac_list {
display: none;
}
#g_navi ul li ul li {
border-bottom: none;
}
#g_navi ul li li:first-child {
border-top: none;
}
#g_navi ul li ul li a {
border-bottom: none;
}
#g_navi ul li ul li a::before {
content: "・";
padding-right: 5px;
color: #999;
}

#g_navi ul li ul li a:hover {
color: #999;
}

/*
メニューシャドウ
-------------------------------------------*/
.bg_bl {
background-color: #FFF;
height: 100%;
width: 100%;
opacity: 0.80;
filter: alpha(opacity=80);
-ms-filter: "alpha( opacity=80 )";
display: block;
position: fixed;
z-index: 2000;
}


/*
ヘッダー
-------------------------------------------*/
.sm-slider, .sm-slider::after {
top: 50px !important;
}

header {
height: 52px;
}

header h1 a img {
top: 5px;
left:5px;
height: 40px;
}

header .h_btn a {
width: 120px;
top: 10px;
right: 50px;
line-height: 29px;
padding-top: 1px;
font-size: 12px;
}
header .h_tel a {
width: 120px;
top: 10px;
right: 180px;
line-height: 29px;
padding-top: 1px;
font-size: 12px;
}
header .h_menu {
display: none;
}

header #info {
display: none;
}

/*
サブトップ
-------------------------------------------*/
#sub_top{
height: 200px;
padding-top: 80px;
}

#sub_top.faq {
background-image: url(sub_top_faq_sp.jpg);
}
#sub_top.works {
background-image: url(sub-main-small-bg.png);
background-position: right;
}
#sub_top.contact {
background-image: url(sub-main-small-bg.png);
background-position: right;
}
#sub_top.company {
background-image: url(sub-main-small-bg.png);
background-position: right;
}
#sub_top.sample {
background-image: url(sub-main-small-bg.png);
}


/*
フッター
-------------------------------------------*/
address {
text-align: right;
padding-top: 10px;
display: block;
clear: both;
}

footer ul.f_bn {
float: none;
}

footer .f_bn li a {
font-size: 11px;
padding: 8px;
}

.no_sp {
display: none;
}

}

@media (max-width: 800px) {

.pcdn {
display: block;
}

.spdn {
display: none;
}

#index_top #top_catch {
position: absolute;
width: 80%;
max-width: 1024px;
margin: 0 ;
bottom: 10%;
right: 0;
left: 4%;
z-index: 10;
text-align: left;
color: #FFF;
}

#index_top #top_catch h2{
margin: 0 0 30px 0;
font-size: 3.0rem;
letter-spacing: 2px;
font-weight: bold;
line-height: 1.3;
}

#index_top #top_catch p{
font-size: 1.6rem;
line-height: 1.6;
font-weight: bold;
}

.newcontent .newcontent-box-wrap {
position: relative;
display: block;
padding: 0 0 30px 0;
}

.newcontent::before {
display: block;
width: 90%;
height: 43%;
position: absolute;
top: 0;
left: 0;
background-color: #f0f0f0;
content: '';
}

.cont_wrap .newcontent-box-imgwrap {
width: 55%;
max-width: 360px;
margin: 0 auto 80px;
}

div.bookslist ul.bookslist-box {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
width: 96%;
max-width: 1024px;
margin: 20px auto 0;
padding: 0 3%;
text-align: center;
flex-wrap: wrap;
}

div.bookslist ul.bookslist-box li {
width: 46%;
margin: 0 0 30px 0;
padding: 0 20px 30px 20px;
transition: all .6s;
}

div.bookslist ul.bookslist-box .bookslist-box-phbox {
padding: 30px 15px 0 15px;
}

div.newsbox div.newsbox-list {
width: 96%;
max-width: 960px;
margin: 15px auto 0;
}

footer div.cont_wrap {
display: block;
justify-content: space-between;
align-items: center;
width: 90%;
max-width: 1024px;
}

div.footer-nav-companyinfo {
margin: 0 0 30px 0;
font-size: 1.4rem;
line-height: 1.5;
}

div.footer-nav {
text-align: left;
font-size: 1.6rem;
line-height: 1.3;
}

div.footer-nav ul li {
letter-spacing: 0;
}

div.footer-nav ul li::after {
content: "｜";
padding: 0 5px;
}

div.footer-nav p.footer-nav-sitename {
margin:5px 0 15px 0 ;
text-align: left;
}

address {
text-align: left;
padding-top: 10px;
}

}


@media screen and (max-width:640px){

header h1 a img {
top:5px;
height: 30px;
}

header .h_btn a {
width: 50px;
font-size: 18px;
border-top-style: none;
border-bottom-style: none;
}
header .h_tel a {
width: 50px;
font-size: 18px;
right: 100px;
}
header .h_tel a span,
header .h_btn a span {
display: none;
}

#mailform table.m_form th,
#mailform table.m_form td {
width: 100% !important;
display: block;
text-align: center;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#mailform table.m_form th {
border-right-style: none;
padding-bottom: 5px;
}

#index_top{
height: 100%;
width: 100%;
position: relative;
overflow: hidden;
max-height: 350px;
background-image: url("main-bg.png");
background-position: right;
background-size: cover;
}

#index_top #top_catch h2{
font-size: 2.6rem;
}

#index_top #top_catch p{
font-size: 1.3rem;
}

#sub_top {
height: 150px;
line-height: 150px;
padding-top: 0;
background-position: center 50px;
}

#sub_top h2 {
width: 96%;
font-size: 1.8rem;
margin-top: 60px;
}

#sub_top span{
font-size:2.8rem;
}

.content {
padding-top: 20px;
padding-bottom: 20px;
}

.content p {
margin: 20px auto ;
}

ul.works_list li {
width: 47%;
}

.img_left,
.img_right {
float: none;
display: block;
margin-left: auto;
margin-right: auto;
padding-left: 10px;
padding-right: 10px;
padding-bottom: 10px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

.pick_up ul {
padding: 15px;
}
.pick_up ul li {
width: 31%;
}
.balloon {
top: -35px;
margin-left: -25px;
width: 50px;
height: 50px;
line-height: 50px;
font-size: 14px;
}

a .btn_check {
width: 80%;
margin-left: -40%;
}

.newcontent::before {
display: block;
width: 90%;
height: 37%;
content: '';
}

div.bookslist ul.bookslist-box .bookslist-box-phbox {
width: 80%;
padding: 30px 15px 0 15px;
margin: 0 auto 30px;
background: #FFF;
}

div.contact-wrap div.contact-box {
overflow: hidden;
display: block;
width: 100%;
max-width: 620px;
margin: 0 auto;
justify-content: center;
align-items: center;
}
div.contact-wrap div.contact-lbox {
width: 50%;
margin: 0 auto 30px;
}

div.contact-wrap div.contact-rbox {
width: 50%;
margin:0 auto;
}



}

@media screen and (max-width:480px){

body {
/*  background-color: #ffffdd; */
font-size:1.6rem;
line-height:1.6;
}

.pcdn {
display: block;
}

.spdn {
display: none;
}

input,
textarea {
max-width: 300px !important;
}

header h1 a {
font-size: 2.2rem;
}

header h1 a {
top: 0;
line-height: 2.3;
}

.content table.table_01 th,
.content table.table_01 td {
width: 100% !important;
display: block;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

.content table.table_01 th {
background-color: #F6F6F6;
}


#index_top {
	height: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;
	max-height: 320px;
	background-image: url("main-bg-sp.png");
	background-position: right;
	background-size: cover;
  }

#index_top #top_catch {
position: absolute;
width: 96%;
max-width: 280px;
margin: 0;
bottom: 5%;
right: 0;
left: 3%;
z-index: 10;
text-align: left;
color: #FFF;
}


#index_top #top_catch h2{
margin: 0 0 15px 0;
font-size: 2.0rem;
letter-spacing: 1px;
}

#sub_top {
font-size: 16px;
}

#sub_top h2 {
position: absolute;
width: 100%;
margin-top: 70px;
top:0%;
left: 50%;
transform: translate(-50%, 0);
text-align: center;
color: #FFF;
font-size: 1.6rem;
letter-spacing: 0.05em;
line-height: 1.4;
font-weight: bold;
-moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
-webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
-ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}

@media screen and (max-width: 640px){
#sub_top h2 {
width: 96%;
}

}

#sub_top h2 span{
font-size: 2.4rem;
letter-spacing: 0.05em;
}

.pankuzu {
margin-bottom: 10px;
}


.content h2 {
font-size: 24px;
}
.content h2 span {
font-size: 12px;
}

.content h3 {
width: 96%;
margin:40px auto 25px;
font-size: 2.1rem;;
}

a .btn_check {
font-size: 12px;
line-height: 30px;
}
a .btn_check i {
padding-right: 5px;
padding-left: 2px;
}
a:hover .btn_check i {
padding-right: 2px;
padding-left: 5px;
}

ul.works_list {
width: 96%;
margin: 30px auto 0;
padding: 0 3%;
}	

ul.works_list li p.works_list--categoly {
display: block;
width: 60%;
text-align: center;
margin: 0 auto 15px;
padding:3px 8px;
font-size:1.3rem;
}

ul.works_list li {
width: 46%;
padding: 0 0 30px 0;
text-align: left;
}

ul.works_list li:hover {
transform:scale(1,1);
box-shadow:none;
}

ul.works_list li picture {
width: 80%;
padding: 0px 10px;
margin: 0 auto 30px;
background: #FFF;
}

ul.works_list li div.bookslist-box-txt{
text-align: left;
}

ul.works_list li div.bookslist-box-txt p:first-child{
	font-size:1.5rem;
	}

ul.works_list li div.bookslist-box-txt p{
font-size:1.2rem;
font-weight: normal;
}

.newcontent {
position: relative;
padding: 20px 0;
background: #FFF;
}

.newcontent::before {
display: block;
width: 93%;
height: 32%;
position: absolute;
top: 0;
left: 0;
background-color: #f0f0f0;
content: '';
}

.newcontent .newcontent-box-wrap {
position: relative;
display: block;
margin: 0 auto 40px;
padding: 20px 0 10px 0;
}

.cont_wrap .newcontent-box-imgwrap {
width: 60%;
margin: 0 auto 40px;
}

.cont_wrap .newcontent-box-img img {
width: 100%;
padding: 0;
box-shadow: 10px 10px 15px 0px rgba(0, 0, 0, .15);
}

h2 span {
padding: 0 15px 0 15px;
font-size: 2.3rem;
}

.newcontent-box-txt h3 {
margin: 0 0 15px 0;
font-size: 1.9rem;
line-height: 1.4;
}

.cont_wrap .newcontent-box-txt p.newcontent-box-author {
font-size: 1.6rem;
}

.cont_wrap .newcontent-box-txt p {
font-size: 1.5rem;
}

.cont_wrap .newcontent-box-button {
	margin: 20px 0 0 0;
  }

.newcontent-box-button a {
	display: block;
	position: relative;
	padding: 8px 20px;
	background: #333;
	border: 1px solid #333;
	font-size: 1.5rem;
	color: #FFF;
	text-decoration: none;
	font-weight: bold;
  }

div.bookslist {
width: 96%;
margin: 0 auto;
padding:0 0 40px 0;
}

div.bookslist > h2 {
width: 100%;
font-size: 1.9rem;
line-height: 1.2;
}

div.bookslist > h2 span {
padding: 0 15px 0 15px;
font-size: 2.3rem;
font-weight: normal;
}

div.bookslist ul.bookslist-box {
display: flex;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
width: 100%;
max-width: 1024px;
}

div.bookslist ul.bookslist-box li {
width: 46%;
padding: 0 0 30px 0;
transition: all .6s;
}

div.bookslist ul.bookslist-box li:hover {
transform:scale(1,1);
box-shadow:none;
}

div.bookslist ul.bookslist-box .bookslist-box-phbox {
width: 80%;
padding: 0px 10px;
margin: 0 auto 30px;
background: #FFF;
}

div.bookslist ul.bookslist-box div.bookslist-box-txt {
text-align: left;
font-size: 1.4rem;
}

div.bookslist ul.bookslist-box div.bookslist-box-txt p:first-child {
font-size: 1.5rem;
font-weight: bold;
line-height: 1.4;
}

div.bookslist ul.bookslist-box div.bookslist-box-txt p {
font-size: 1.3rem;
}

div.bookslist div.bookslist-box-button {
width: 90%;
margin: 15px auto 0;
}

div.bookslist div.bookslist-box-button a{
	display: inline-block;
	position: relative;
	width: 80%;
	padding: 8px 15px;
	background: #333;
	border: 1px solid #111;
	font-size: 1.5rem;
	color: #FFF;
	text-decoration: none;
	font-weight: bold;
	}

div.newsbox {
padding: 0;
background: #f9f9f9;
}

div.newsbox h2.newsbox-title {
clear: both;
max-width: 1024px;
width: 96%;
position: relative;
margin: 0 auto;
padding: 10px 0;
font-size: 1.9rem;
font-weight: bold;
line-height: 1.2;
letter-spacing: 1px;
color: #333;
text-align: left;
border-bottom: 1px solid #ccc;
}

div.newsbox h2.newsbox-title span {
padding: 0 15px 0 15px;
font-size: 2.3rem;
}

div.newsbox div.newsbox-list {
width: 100%;
max-width: 960px;
margin: 0 auto 20px;
}

div.newsbox div.newsbox-list ul.newsbox-list-info {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}

div.newsbox div.newsbox-list ul.newsbox-list-info > li:last-child{
margin-top: 10px;
}

div.newsbox div.newsbox-list > a {
display: block;
width: 94%;
margin: 0 auto;
padding: 30px 20px 15px;
}

div.newsbox div.newsbox-list li.newsbox-txt {
font-size: 1.5rem;
}

div.contact {
padding: 30px 0 50px;
background-size: cover;
background-position: center;
position: relative;
color: #FFF;
background: #222;
}

div.contact-wrap > h2 span {
font-size: 2.6rem;
}

div.contact-wrap p.contact-maintxt {
margin: 0 0 30px 0;
font-size: 1.4rem;
}

div.contact-wrap div.contact-box {
overflow: hidden;
display: block;
width: 100%;
max-width: 620px;
margin: 0 auto;
}

div.contact-wrap div.contact-lbox {
width: 65%;
margin: 0 auto 30px;
}

div.contact-wrap div.contact-lbox > a {
padding: 22px 0;
font-size:1.6rem;
}

div.contact-wrap div.contact-rbox > a {
display: block;
padding: 10px 0;
}

div.contact-wrap div.contact-rbox {
width: 65%;
margin: 0 auto;
}

div.contact-wrap div.contact-rbox p:first-child {
font-size: 1.35rem;
}

div.contact-wrap div.contact-rbox a {
font-size: 2.0rem;
font-weight: bold;
color: #FFF;
}
div.contact-wrap div.contact-rbox p.contact-rbox-time{
	font-size:1.25rem;
}

div.companyinfobox p.companyinfobox-logo {
font-size: 2.2rem;
}

div.companyinfobox {
font-size: 1.5rem;
line-height: 1.4;
}

div.companyinfobox p:last-child span {
font-size: 1.4rem;
}


footer {
padding: 70px 0;
}

footer div.cont_wrap {
display: block;
width: 90%;
max-width: 1024px;
}

div.footer-nav-companyinfo {
margin: 0 0 35px 0;
}

div.footer-nav ul li {
display: inline-block;
float: left;
font-size: 1.4rem;
font-weight: bold;
letter-spacing: 0em;
line-height: 1.8;
}

div.footer-nav ul li::after {
content: "｜";
padding: 0px 5px;
}

div.footer-nav p.footer-nav-sitename {
margin:5px 0 15px 0;
font-size: 1.5rem;
text-align: left;
}

address {
text-align: left;
}

}

/*
エフェクト
-------------------------------------------*/
.effect {
opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "alpha( opacity=0 )";
transform: translateY(20px);
-webkit-transform: translateY(20px);
-moz-transform: translateY(20px);
-webkit-transition: 1.0s ease-out;
-moz-transition: 1.0s ease-out;
transition: 1.0s ease-out;
}
.effect.d_02 {
transition-delay:0.2s;
-webkit-transition-delay:0.2s;
}
.effect.d_04 {
transition-delay:0.4s;
-webkit-transition-delay:0.4s;
}
.effect.d_06 {
transition-delay:0.6s;
-webkit-transition-delay:0.6s;
}
.effect.d_08 {
transition-delay:0.8s;
-webkit-transition-delay:0.8s;
}
.effect.start {
opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha( opacity=100 )";
transform: translateY(0px);
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
}
.content p.check {
color: #FF3333;
}
.content p.p_st {
font-size: 20px;
color: #CA28B1;
}


/*------------------------------*/

.content .box_att {
margin-top: 30px;
padding: 25px;
border: 1px dashed #999;
}

.content .box_att h2 {
font-weight: normal;
font-size: 22px;
color: #555;
}
.content .box_att p {
font-size: 14px;
margin: 0px;
color: #555;
}

@media screen and (max-width: 960px){
div.about-box{
width: 90%;
margin:60px auto;
}

p.about-txt:first-child{
margin:0 0 40px 0 ;
text-align: center;
font-size: 1.7rem;
line-height: 1.7;
}

p.about-txt {
text-align: center;
font-size: 1.7rem;
line-height: 1.7;
}

.content h3{
width: 96%;
}

ul.relationgrope {
width: 94%;
margin: 0 0 80px 40px;
flex-wrap: wrap;
justify-content:left;

}

ul.relationgrope li{
margin: 0 3% 0 0;
font-size: 1.6rem;
}

ul.relationgrope > li::before {
content: "・ ";
}

ul.relationgrope li a{
text-decoration: none;
}

}

@media screen and (max-width: 640px){
div.about-box {
margin: 20px auto 40px;
}
}

@media screen and (max-width: 480px){
div.about-box {
margin: 20px auto 40px;
}

p.about-txt:first-child, p.about-txt{
text-align: left;
font-size: 1.6rem;
line-height: 1.6;
}

ul.relationgrope {
width: 94%;
margin: 0 0 80px 30px;
flex-wrap: wrap;
line-height: 2.0;
}

dl dt sup{
	font-size: 1.0rem;
	color:#B91818;
}