@charset "utf-8";
/* CSS Document */

/* Reset
----------------------------------------------------*/
html {overflow-y: scroll;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {margin: 0;padding: 0;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal;}
table,th,td {font-size: 100%;line-height: 1.6;}
caption,th {text-align: left;font-weight: normal;}
object,embed {vertical-align: top;}
hr,legend {display: none;}
h1,h2,h3,h4,h5,h6 {font-size: 100%;font-weight: normal;}
img,abbr,acronym,fieldset {border: 0;}
ul,li {list-style-type: none;}
img,a img{border:none;background:transparent;vertical-align:bottom;}

/* font
----------------------------------------------------*/
body {
	font: 16px "游ゴシック体", "Yu Gothic", YuGothic, Meiryo, arial, clean, verdana, "ＭＳ Ｐゴシック", Osaka, sans-serif;
	color: #333;
}
html>/**/body { font-size: 10px; } /* Except IE */
* html body { /* IE6用フォント指定 */
	font: 16px "ＭＳ Ｐゴシック", Meiryo, arial, clean, verdana, Osaka, sans-serif;
}

/*--- default */
body {
	text-align: center;
}

/* Link
----------------------------------------------------*/
a {
	color: #00F;
}
a:hover {
	text-decoration: none;
}


/* float,clear
----------------------------------------------------*/
.fleft {
	float: left;
}
.fright {
	float: right;
}
.clear {
	clear: both;
}
.clearfix { /* clearfix */
	zoom: 1;
}
.clearfix:after {
	content:'';
	display: block;
	clear: both;
}


/* margin
---------------------------------------- */
.mt10 { margin-top:10px;}
.mt15 { margin-top:15px;}
.mt20 { margin-top:20px;}
.mt30 { margin-top:30px;}

.mr10 { margin-right:10px;}
.mr15 { margin-right:15px;}
.mr20 { margin-right:20px;}
.mr30 { margin-right:30px;}

.m10 { margin-bottom:10px;}
.m15 { margin-bottom:15px;}
.mb20 { margin-bottom:20px;}
.mb25 { margin-bottom:25px;}
.mb30 { margin-bottom:30px;}
.mb40 { margin-bottom:40px;}
.mb50 { margin-bottom:50px;}
.mb60 { margin-bottom:60px;}
.mb70 { margin-bottom:70px;}
.mb80 { margin-bottom:80px;}
.mb90 { margin-bottom:90px;}

.ml10 { margin-left:10px;}
.ml15 { margin-left:15px;}
.ml20 { margin-left:20px;}
.ml25 { margin-left:25px;}
.ml30 { margin-left:30px;}
.ml40 { margin-left:40px;}



/* padding
---------------------------------------- */
.pt10 { padding-top:10px;}

.pr10 { padding-right:10px;}

.pb20 { padding-bottom:20px;}
.pb90 { padding-bottom:90px;}

.pl10 { padding-left:10px;}




/* text
---------------------------------------- */
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.center {
	text-align: center;
}
.txt_narrow {
	letter-spacing: -1px;
}
.txt_space {
	letter-spacing: 1px;
}
.txt_indent {
	text-indent: 1em;
}


/* その他
---------------------------------------- */
/*画像透過*/
.area-link:hover,
a.imgHover:hover img{
	opacity:0.75;
	filter: alpha(opacity=75);
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.area-link a:hover {
    opacity: 1 !important;
}


#wrapper {
    width: 100%;
    font-size: 16px;
    /*background: #F3F3F3;*/
    background: url("https://www.gentosha-book.com/html/images/common/bg.png");
    padding: 60px 0 0 0;
}
.section {
    width: 1000px;
    margin: 0 auto;
    clear: both;
}
.section + .section {
    margin-top: 50px;
}

header {
    width: 100%;
}
.header_inner {
    width: 1000px;
    margin: 0 auto;
    overflow: hidden;
    padding: 18px 0 16px 0;
}
.header_inner a {
    float: left;
}
.header_inner a img {
    max-height: 35px;
}



.main {
    text-align: center;
    background: url("../images/main_back.jpg") no-repeat center 0;
    width: 100%;
}
.main .main_inner {
    padding: 30px 0;
}
.main .main_inner img {
    max-width: 1000px;
}



.menuBox {
}
.menuBox .menuItem {
    float: left;
    width: 490px;
    margin: 0 20px 40px 0;
    background: #FFF;
    padding: 15px 15px 20px 15px;
    box-sizing: border-box;
}
    .menuBox .menuItem:nth-child(2n) {
        margin-right: 0;
    }
.menuBox .menuItem {
    text-align: left;
}
.menuBox .menuItem h2 {
    text-align: center;
    position: relative;
    padding: 40px 0 10px 0;
    font-size: 26px;
    font-weight: bold;
}
.menuBox .menuItem h2 span {
    position: absolute;
    display: block;
    top: -45px;
    left: 25px;
}
.menuBox .menuItem h2 span img {
    max-height: 90px;
}
.menuBox .menuItem .menuItem_inner {
    margin-bottom: 20px;
}
.menuBox .menuItem .menuItem_inner img {
    float: left;
    max-width: 120px;
}
.menuBox .menuItem .menuItem_inner .menuItem_cont {
    float: right;
    width: 320px;
}
.menuBox .menuItem .menuItem_inner .menuItem_cont li {
    background: url("../images/icon_ar.png") no-repeat 0 5px;
    padding-left: 15px;
}
.menuBox .menuItem .menuItem_inner .menuItem_cont li + li {
    margin-top: 5px;
}
.menuBox .menuItem a {
    text-decoration: none;
    background: #B81C22;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    border-radius: 5px;
    padding: 10px;
    display: block;
    width: 50%;
    margin: 0 auto;
}
.menuBox .menuItem a:hover {
    opacity: 0.7;
}
.menuBox .menuItem .menuItem_inner2 {
    overflow: hidden;
    background: #EFEFEF;
    padding: 15px;
	width: 300px;
	float: right;
    margin-bottom: 50px;
}
.menuBox .menuItem .menuItem_inner2 .menuItem_cont {
    width: 100%;
    clear: both;
}

.menuBox .menuItem .menuItem_inner2 img {
    max-width: 95px;
}
.menuBox .menuItem .menuItem_inner2 + ul {
    float: none !important;
    width: 100% !important;
	clear: both;
	padding-top: 10px;
}
/*.menuBox .menuItem:last-child img {
    max-width: 100%;
    display: block;
    text-align: center;
	float: none;
}*/
/*.menuBox .menuItem:last-child .menuItem_inner .menuItem_cont {
	width: 100%;
	float: none;
	margin-top: 15px;
}
*/
	

#faq {
}
#faq dl {
}
#faq dl + dl {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px dotted #CCC;
}
#faq dl dt {
    position: relative;
    padding: 20px 30px 20px 40px;
    text-align: left;
    background: #EADA04 url("../images/faq_q.png") no-repeat 10px 21px;
    background-size: 19px;
    font-weight: bold;
    /*color: #FFF;*/
}
/*#faq dl dt:before {
    display: inline-block;
    position: absolute;
    width: 2px;
    height: 10px;
    top: 5px;
    right: 25px;
}
#faq dl dt:after {
    display: inline-block;
    position: absolute;
    width: 10px;
    height: 2px;
    top: 25px;
    right: 5px;
}*/
#faq dl dd {
    text-align: left;
    background: #FFF url("../images/faq_a.png") no-repeat 10px 15px;
    background-size: 19px;
    padding: 15px 15px 15px 40px;
}


.wrapper_bnr_under {
    text-align: center;
    margin-top: 50px;
    padding: 30px 0;
    width: 100%;
    background: #F8F3F1;
}


footer {
    width: 100%;
    background: #3e3a39;
    text-align: center;
    color: #FFF;
    font-size: 14px;
    padding: 30px 0;
}
footer .footer_inner {
    width: 1000px;
    margin: 0 auto;
}
footer .footer_inner span {
    clear: both;
    display: block;
    text-align: center;
    margin-bottom: 20px;
}
footer .footer_inner span img {
    height: 28px;
}
footer .footer_under {
    font-size: 12px;
    clear: both;
    margin-top: 20px;
    display: block;
}
.contactBox {
    position: fixed;
    right: 0;
    bottom: 0px;
    background: #FFF;
    /*padding: 15px;*/
    box-shadow: 0 1px 5px #DDD;
    /*border: 1px solid #C5A90C;*/
    width: 240px;
	z-index: 99;
}
.contactBox_inner {
}
.contactBox_inner .cB_ttl {
    background: #DC004F;
    text-align: center;
    margin-bottom: 10px;
    padding: 5px;
    color: #FFF;
}
.contactBox_inner .cB_tel a {
	pointer-events: none;
	color: #000;
	text-decoration: none;
}
.contactBox_inner .cB_tel strong {
    font-size: 22px;
    font-weight: bold;
    display: inline-block;
    margin-left: 5px;
}
.contactBox_inner .cB_time {
    font-size: 12px;
}
.contactBox_inner2 {
    clear: both;
    font-size: 12px;
    padding: 0;
}
.contactBox_inner2 a {
    display: block;
    width: calc(100% - 30px);
    padding: 10px;
    box-sizing: border-box;
    text-align: center;
    color: #000;
    font-size: 16px;
    font-weight: bold;
    background: #EADA04;
    text-decoration: none;
    margin: 10px 15px 15px 15px;
}
.contactBox_inner2 a:hover {
    opacity: 0.7;
}
.sp_contact {
    display: none;
}

.bnrarea ul li { margin-bottom: 10px;}
.bnrarea ul li img { max-width: 100%;}

@media all and (min-width: 0px) and (max-width: 1280px) {
    .contactBox {
        display: none;
    }
}

@media all and (min-width: 0px) and (max-width: 768px) {
.section,
.contactBox {
    margin-right: 5%;
    margin-left: 5%;
    width: 90% !important;
}


.contactBox {
    display: block;
    position: static;
    border: none;
    width: 100%;
    box-shadow: none;
    box-sizing: border-box;
    margin-top: 30px;
    margin-bottom: 30px;
}
.header_inner {
    width: 100%;
    padding: 10px;
}
.header_inner img {
    max-height: 34px;
}
.main .main_inner img {
    width: 100%;
}
#wrapper {
    /*padding-right: 5%;
    padding-left: 5%;*/
    box-sizing: border-box;
	padding-top: 20px;
}
.header_inner,
.section {
    width: 100%;
    box-sizing: border-box;
}
.menuBox .menuItem {
    float: none;
    width: 100%;
    margin: 0 0 40px 0;
}
footer .footer_inner {
    width: 100%;
    padding-right: 5%;
    padding-left: 5%;
    box-sizing: border-box;
}
footer .footer_inner a {
    color: #FFF;
    text-decoration: none;
}
.menuBox .menuItem h2 span {
    left: 0;
}
.menuBox .menuItem h2 span img {
    max-height: inherit;
    max-width: 100%;
}
.menuBox .menuItem .menuItem_inner img {
    float: none;
    max-width: 100%;
    display: block;
    margin: 0 auto 15px auto;
}
.menuBox .menuItem .menuItem_inner .menuItem_cont {
    float: none;
    width: 100%;
}
.wrapper_bnr_under {
    margin-top: 0;
    padding: 20px;
    /*margin-left: 5%;
    margin-right: 5%;
    width: 90%;*/
    box-sizing: border-box;
}
.wrapper_bnr_under img {
    width: 100%;
}
.menuBox .menuItem .menuItem_inner {
    height: auto !important;
}
	
.menuBox .menuItem a {
    width: 100%;
    box-sizing: border-box;
}
.sp_contact {
    position: fixed;
    bottom: 0;
    width: 100%;
    display: block !important;
    /*background: #F8EF9E;
    padding: 15px;*/
    box-sizing: border-box;
}
.sp_contact_ttl {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    display: block;
    background: #DC004F;
    color: #FFF;
    padding: 5px 0;
}
.sp_contact a {
    float: left;
    text-align: center;
    display: block;
    width: 50%;
    background: #EADA04;
    padding: 9px 0;
    font-size: 12px;
    font-weight: bold;
    color: #000;
    text-decoration: none;
}
.sp_contact a img {
    height: 26px;
}
.sp_contact a + a {
    float: right;
    box-sizing: border-box;
    border-left: 1px solid #FFF;
}
footer {
    padding: 30px 0 136px 0;
}
.contactBox_inner .cB_tel a {
    text-decoration: none;
    color: #333;
	pointer-events: auto;
}
.menuBox .menuItem h2 {
    padding: 40px 0 10px 0;
}
.contactBox_inner2 {
    padding: 0 0 1px 0;
}
.menuBox .menuItem .menuItem_inner2 {
	margin-bottom: 15px;
	float: none;
	width: auto;
}
}
