body {
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

input[type=checkbox] {
    margin-right: 5px;
    vertical-align: text-top;
    margin-top: 0;
}

.no-pad-left {padding-left: 0;}
.no-pad-right {padding-right: 0;}

.pos-relative {position: relative}
.pos-absolute {position: absolute}

.sp {display: none;}
.pc {display: block;}

.mt05 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt25 {margin-top: 25px;}
.mt30 {margin-top: 30px;}
.mt35 {margin-top: 35px;}
.mt40 {margin-top: 40px;}
.mt45 {margin-top: 45px;}
.mt50 {margin-top: 50px;}

.mb05 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb25 {margin-bottom: 25px;}
.mb30 {margin-bottom: 30px;}
.mb35 {margin-bottom: 35px;}
.mb40 {margin-bottom: 40px;}
.mb45 {margin-bottom: 45px;}
.mb50 {margin-bottom: 50px;}

.pt05 {padding-top: 5px;}
.pt10 {padding-top: 10px;}
.pt15 {padding-top: 15px;}
.pt20 {padding-top: 20px;}
.pt25 {padding-top: 25px;}
.pt30 {padding-top: 30px;}
.pt35 {padding-top: 35px;}
.pt40 {padding-top: 40px;}
.pt45 {padding-top: 45px;}
.pt50 {padding-top: 50px;}

.pb05 {padding-bottom: 5px;}
.pb10 {padding-bottom: 10px;}
.pb15 {padding-bottom: 15px;}
.pb20 {padding-bottom: 20px;}
.pb25 {padding-bottom: 25px;}
.pb30 {padding-bottom: 30px;}
.pb35 {padding-bottom: 35px;}
.pb40 {padding-bottom: 40px;}
.pb45 {padding-bottom: 45px;}
.pb50 {padding-bottom: 50px;}

.full-width {max-width: 100%}

.fw-bold {font-weight: bold !important;}
.fw-normal {font-weight: normal !important;}

.c-label {color: #3f9ed9; font-size: 11px !important;}

select {
    background: url("../img/select-dropdown.png") no-repeat right top;
    background-size: 25px 25px;
    border: 1px solid #000;
    height: 25px;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    -moz-appearance: none;
    -ms-appearance: none;
    width: 100%;
    padding-right: 25px;
}

select::-ms-expand {
    display: none;
}

.title {
    letter-spacing: 0.3em;
}

h2.title {
    width: 100%;
    padding: 6px 10px;
    color: #fff;
    font-size: 14px;
}

h3.title {
    color: #000;
    font-size: 14px;
}

h3.title.title-blue {
    border-bottom: 2px solid #3f9ed9;
    margin: 15px 0 10px;
}

h3.title::before {
    content: "";
    width: 20px;
    height: 20px;
    display: inline-block;
    margin-right: 15px;
    vertical-align: bottom;
}

h3.title.title-blue::before {
    background-color: #3f9ed9;
}

.box-orange {
    background-color: #ee7a1a;
}

.box-black {
    background-color: #000;
}

.box-blue {
    background-color: #3f9ed9;
}

.text-orange {
    color: #ee7a1a;
}

.text-black {
    color: #000;
}

.fontsize_1 {
    font-size: 100%;
}

.fontsize_2 {
    font-size: 90%;
}

.fontsize_3 {
    font-size: 80%;
}

.border-left-blue {
    border-left: 3px solid #3f9ed9;
}

.character {
    border-bottom: 2px dashed #a2a2a3;
    padding: 20px 0;
}

.character:last-child {
    border: none;
}

.character-thumbnail {
    max-height: 130px;
}

.list-characters {
    padding: 0 15px;
    max-height: 800px;
    overflow: auto;
}

.toggle-content {
    margin-top: 30px;
}

.toggle-item + .toggle-item {
    margin-top: 10px;
}

.toggle-item .content {
    display: none;
}

.toggle-item.show .content {
    display: block;
}

.toggle-item.show .title::after {
    content: '';
    top: 15px;
    display: block;
    width: 8px;
    height: 1px;
    background-color: #fff;
    right: 16px;
    padding: 0;
    margin: 0;
}

.toggle-item .title::after {
    content: '+';
    position: absolute;
    right: 10px;
    top: 8px;
    color: #fff;
}
.toggle-item .title::before {
    display: none;
}
.toggle-item .title {
    color: #fff;
    cursor: pointer;
    padding: 7px 5px 7px 30px;
    position: relative;
}

.toggle-item .content {
    padding: 20px 10px;
    word-wrap: break-word;
    line-height: 20px;
}

.toggle-item .content strong {
    margin: 25px 0 10px 0;
    display: block;
    font-size: 16px;
}

.toggle-item .content .sub_title {
    font-weight: bold;
    font-size: 110%;
    margin-bottom: 20px;
    padding:4px;
    background-color:#FFE4C0;
}

.toggle-item .content .question {
    border-bottom: 1px dashed #ccc;
    margin-bottom: 15px;
    padding-left: 25px;
    padding-bottom: 5px;
    position: relative;
    font-weight:bold;
}
.toggle-item .content .question:before {
    content: "Q.";
    color: #da3e5b;
    font-weight: bold;
    font-size: 120%;
    position: absolute;
    left: 0;
}

.toggle-item .content .answer {
    margin-bottom: 20px;
    margin-left:25px;
    line-height:1.6;
}

.toggle-item .content .stars {
    color: #ff9800;
    font-size: 120%;
    letter-spacing: 2px;
}

.toggle-item .content .schedule {
    margin-bottom: 20px;
    width: 100%;
}

.toggle-item .content .schedule tr:first-of-type td {
	background-color: #3e9eda !important;
	color: #fff;
    text-align: center;
}

.toggle-item .content .schedule tr td {
    border: 1px solid #ccc;
    padding: 5px;
    width: 15%;
}

.toggle-item .content .schedule tr td:first-of-type {
	background-color: #f1f1f1;
	font-weight: bold;
	color: #3e9edb;
    text-align: center;
    width: 50px;
}

.list-characters .character_name a {
    color: #333;
    text-decoration-color: #337ab7;
    -webkit-text-decoration-color: #337ab7;
    -moz-text-decoration-color: #337ab7;
}

.list-characters .name {
    color: #3f9ed9;
}

.container {
    width: 1024px;
}

.main-container {
    margin-bottom: 100px;
    min-width: 1024px;
}

.character-item {
    border-top: 2px solid #a2a2a3;
}

.character-item-detail .summary .name strong, .character-detail .summary .name strong {
    font-size: 30px;
}

.summary .name strong {
    font-size:  40px;
    font-weight:  normal;
    color: #3f9ed9;
}

.summary .name {
    font-size: 20px;
    margin-top: 10px;
}

.summary .name span {
    margin: 0 10px;
}

.character-detail .summary .name span {
    font-size: 17px;
}

.summary .name img {
    vertical-align: bottom;
}

.btn-search {
    background:  #28709b;
    text-decoration: none;
    width:  100%;
    margin:  20px 0 0;
    color:  #fff;
    padding: 3px;
}

.btn-search:focus {
    color: #fff;
}

.btn-search:hover {
    color: #fff;
}

.btn-search span {
    display:  block;
    border: 1px solid #8ba9c6;
    border-radius:  5px;
    padding: 5px;
    font-weight: 100;
    font-size: 15px;
    letter-spacing: 0.1em;
}

.btn-search:hover {
    color: #fff;
}

a.btn-search {
    background: #3f9ed9;
}

.btn-danger:focus {
    background-color: #d9534f;
    border-color: #d43f3a;
}
.btn-danger:hover {
    background-color: #ac2925;
    border-color: #761c19;
}
.btn-danger:active {
    background-color: #9a1a17 !important;
    border-color: #761c19;
}

.list-characters-detail {
    padding: 0 85px;
}

.list-characters-detail .img-character {
    width: 60px;
    margin-top: 10px;
}

.list-characters-detail .btn-search {
    margin-top: 45px;
}

.character-item-detail:not(:first-child) {
    margin-top: 15px;
}

.wrapper-characters-list-detail {
    max-height: 800px;
    overflow-y: auto;
    padding: 0 10px;
    overflow-x: hidden;
}

.box-search {
    padding: 35px 25px 20px 100px;
    color: #fff;
}

.s-label {
    font-weight: bold;
    font-size: 18px;
}

.white-select {
    background-color:  #fff;
    border: none;
    padding: 2px;
    padding-right: 32px;
}

label {
    font-weight:  100;
    font-size:  14px;
    margin-right: 15px;
}

@media screen and (max-width: 640px) {
    .other-conditions label {
        width: calc(50% - 20px);
    }
}

.box-result-total {
    background:  #88d1f5;
    margin: 5px 0 0;
    padding: 0px 15px;
    font-size: 22px;
    text-align: center;
}

.box-result-total .number {
    color: #ee7a1a;
    font-size: 38px;
}

.box-result-total .number_wrap {
    display: inline-block;
    margin-left: 10%; 
}

.slider {
    padding: 0 85px;
}

.swiper-button-prev {
    background: url(../img/controls.png) 0 -32px no-repeat;
    top: 65%;
    left: 20px;
    width: 32px;
    height: 32px;
    outline: 0;
}
.swiper-button-prev:hover {
    background-position: 0 0;
}

.swiper-button-next {
    background: url(../img/controls.png) -43px -32px no-repeat;
    top: 65%;
    right: 20px;
    width: 32px;
    height: 32px;
    outline: 0;
}

.swiper-button-next:hover {
    background-position: -43px 0;
}

.swiper-container img {
    max-width: 100%;
    margin: auto;
}

.swiper-wrapper li img:hover {
    cursor: pointer;
}

.swiper-wrapper li {
    width: 45px; /* 読み込み時の挙動対策 */
    position: relative;
    padding: 70px 0 20px;
    text-align: center;
}

.swiper-container .box-tooltip {
    background: #fff9b3;
    width: 100px;
    display: block;
    padding: 5px 15px;
    font-size: 11px;
    text-align: center;
    position: absolute;
    border: 1px solid #4c4341;
    top: 0;
    left: 50%;
    margin-left: -50px;
}

.swiper-container .box-tooltip::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 15px solid #4c4341;
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -5px;
}

.swiper-container .box-tooltip::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 18px solid #fff9b3;
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -6px;
}

.character-detail .summary {
    padding: 20px 10px;
}

.box-comment {
    background:  #ee7a1a;
    width:  150px;
    height:  150px;
    display:  table-cell;
    vertical-align:  middle;
    font-size:  30px;
    color:  #fff;
    border-radius: 50%;
    position: relative;
}

.box-comment span {
    font-size: 23px;
    font-weight: bold;
}

.box-comment::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 35px solid #ee7a1a;
    position: absolute;
    bottom: 0;
    transform: rotate(-45deg);
    right: 0;
}

.wrapper-box-comment {
    top: -105px;
    left: -80px;
}

.menu-top img {
    width: 25px;
}

.menu-top a {
    color:  #000;
    font-weight: bold;
}

.menu-top {
    padding: 25px 30px 0 0;
}

.menu-top a:first-child {
    margin-right: 15px;
}

.result-report {
    font-weight:  bold;
    font-size: 13px;
    margin-top: 10px;
}

.result-report strong {
    font-size:  20px;
    margin-right: 5px;
}

.mCS-my-theme .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    background-color: #b5b6b6;
    width: 15px;
}

.mCS-my-theme .mCSB_scrollTools .mCSB_draggerRail {
    background-color: #fff;
}

.summary .text-orange {
    font-weight: bold;
}

.tags span {
    margin-right: 20px;
}

div.gStyle  {
	background-color: #fff;
	color: #000;
	line-height: 1.5;
}

div.gStyle div.gStyleIn {
	margin: 0 auto;
	width: 960px;
/*	margin-top:3px;*/
}


/* kawaijuku-header */
.gStyle a    { color: #004979; }
.gStyle a:hover   { text-decoration: none!important; }

div#gHeader {
	border-top: solid 2px #0072ba;
	border-bottom: solid 1px #e5e5e5;
	padding: 0px 0 4px;
	min-width:960px;
}

div#gHeader p.groupLogo {
	float: right;
/*	margin: 4px 0 0 18px;*/
}
div#gHeader p.groupLogo2 {
	float: right;
/*	margin: 4px 0 0 0px;*/
}

div#gHeader p.groupContact {
	float: right;
	margin: 2px 0 0;
}

div#gHeader,
div#gFooter {
	zoom: 1;
}

div#gHeader:after,
div#gFooter:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	line-height: 0;
	visibility: hidden;
}

#btn_pagetop a:hover img {
    opacity: 0.8;
}
/*------------------------------*/


/* kawaijuku-footer */
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;
    -webkit-text-size-adjust: none;
}
ol, ul {
    list-style: none;
}
.cf:after{
    content: "";
    display: block;
    clear: both;
}

.gStyle p, .gStyle ul, .gStyle ol, .gStyle li {
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	margin: 0;
	padding: 0;
	text-decoration: none;
}

.gStyle img { 
	border: 0; 
	vertical-align: bottom;
}

.gStyle ol, .gStyle ul { list-style: none; } 

div#gFooter {
	padding: 14px 0;
	min-width:960px;
}

.footer_blue{
	background: #547ADB; 
	min-width:960px;
}

.footer_in {
	width:960px;
	margin:0 auto;
	overflow: auto;
	padding:0 0 5px;
	}

.footer_inline {
	width:100%;
	overflow:auto;
	margin:20px 0 20px 0;
/*	background: url('https://www.keinet.ne.jp/images/footer_line_vertical_w.png') repeat-y; */
	height:44px;
	}


.footer_inline ul li {
  display: inline-block;
  border-left: 1px solid #333;
  color:#fff;
  padding:0 1em;
}

.footer_inline ul li:first-child {
border-left:0 none;
padding-left:0;
}

.footer_inline ul li {
    border-color: #fff;
}


.footer_inline li a{
	color:#fff;
	font-size:15px;
	text-decoration:none;
}
.footer_inline li a:hover{ color:#FFFF73; }

.footer_inline p {
  color:#fff;
  font-size:80%;
  margin-top:5px;
}




/*
.footer__lane-w1 { width: 165px; }
.footer__lane-w2 { width: 210px; }
.footer__lane-w3 { width: 210px; }


.footer__lane {
	display: block;
	float: left;
	padding: 5px 10px 5px 20px;
	height:880px;
	background: url('https://www.keinet.ne.jp/images/footer_line_vertical.jpg') repeat-y;

}
.footer__lane_m {
	display: block;
	float: left;
	padding: 0 10px 5px 20px;
	margin-top: 32px;
}


.footer__lane li {
	box-sizing: border-box;
	display: block;
	list-style: none;
	width: 100%;
	margin: 5px 0 0;
	background: url("https://www.keinet.ne.jp/images/icon_square-white.gif") no-repeat 0 3px;
	padding: 0 0 0 17px;
	font-weight:bold;
	text-decoration:none;


}
.footer__lane li a{
	color:#fff;
	font-size:15px;
	text-decoration:none;
}
.footer__lane li a:hover{ color:#FFFF73; }


.footer__lane__lv2 { margin: 4px 0 0 24px; }
.footer__lane__lv2 li{
	margin-left: 5px;
	margin: 3px 0 0;
	background: url("https://www.keinet.ne.jp/images/icon_white-triangle.gif") no-repeat 0 5px!important;
	font-weight:normal;
	padding: 0 0 0 8px;
}
.footer__lane__lv2 li a:hover{ color:#FFFF73; }
.footer__lane__lv2 li a{
	font-size:13px!important;
	text-decoration:none;
	color:#fff;
}
*/


span.outsite{
	background: url("https://www.keinet.ne.jp/images/icon_outsite.png") 0 2px no-repeat;
	width:7px;
	height:10px;
	margin-left:3px;
	text-indent:-9999px;
	display: inline-block;
}

.footer_r-blue{
	background: #E4EAF8;
	border-bottom:solid 1px #E5E5E5;
	padding: 8px!important;
	text-align:center;
	min-width:960px;
}

div#gFooter p.groupLogo {
	float: left;
	margin: 9px 0;
}

div#gFooter div#gFooterGroups {
	float: right;
}

div#gFooter div#gFooterGroups p {
	margin: 0 0 7px;
}

div#gFooter div#gFooterGroups ul {
	line-height: 1.0;
}

div#gFooter div#gFooterGroups ul li {
	border-left: solid 1px #cccccc;
	display: inline;
	margin: 0 0 0 9px;
	padding: 0 0 0 10px;
}

div#gFooter div#gFooterGroups ul li.first {
	border: none;
	margin-left: 0;
	padding: 0;
}

div#gFooter div#gFooterGroups ul li a {
	white-space: nowrap;
}

#groupNav {
	font-size:12px;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

#groupNav li a{ text-decoration: underline!important; line-height:110%!important; }
#groupNav li a:hover{ text-decoration: none!important; line-height:110%!important; }


/* sp-mode */
@media screen and (max-width: 640px) { 
    a {
        text-decoration: underline;
    }
    .toggle-item .content .schedule {
        font-size: 90%;
    }
    .toggle-item .content .schedule tr td {
        width: 17%;
    }
    footer{
        padding:42px 0 0;
        margin:20px 0 0;
    }
    footer #footerInner{
        background:url("https://www.keinet.ne.jp/toku/voice/assets/img/bg_footer_inner.png") repeat-x left 2px #5379d9;
        background-size:1px 1px;
        -webkit-background-size:1px 1px;
        position:relative;
    }
    footer #footerInner #pageTop{
        background:url("https://www.keinet.ne.jp/toku/voice/assets/img/bg_footer_pagetop.png") no-repeat right top;
        background-size:88px 37px;
        -webkit-background-size:88px 37px;
        width:88px;
        height:36px;
        position:absolute;
        right:10px;
        top:-33px;
        text-align:center;
    }
    footer #footerInner #pageTop a{
        font-weight:bold;
        color:#ffffff;
        text-decoration:none;
        display:block;
        height:22px;
        padding:12px 0 0;
        font-size:10px;
    }
    footer #footerInner ul{
        padding:18px 0 0 10px;
        margin:0 !important;
        font-size:12px;
    }
    footer #footerInner ul li{
        background:url("https://www.keinet.ne.jp/toku/voice/assets/img/bg_link_allow_footer.png") left 6px no-repeat;
        background-size:10px 10px;
        -webkit-background-size:10px 10px;
        float:left;
        width:50%;
    /*	margin:0 0 20px; */
        margin:0 0 10px;
    }
    footer #footerInner ul li a{
        color:#ffffff;	
        padding:0 18px 0 15px;
    }
    footer #footerInner ul li a.blank{
        background:url("https://www.keinet.ne.jp/toku/voice/assets/img/ico_pc_footer.png") right 3px no-repeat;
        background-size:13px 10px;
        -webkit-background-size:13px 10px;
    }
    footer #copyRightWrap{
        background-color:#FFFFFF;
        color:#567ada;
        font-size:9px;
        padding:8px 0 7px;
    }
    footer #copyRightWrap #copyRight{
        text-align:center;
        line-height:1em;
    }
    footer #copyRightWrap #footerLogo{
        text-align:center;
        line-height:0;
        margin-top:6px !important;
    }

    aside{
        clear:both;
        margin:30px 0 0;
        text-align:center;
    }
    .localMenu + aside{
        clear:both;
        padding-top:0;
    }
    aside #footerAd{
        text-align:center;
    }

}


/*------------------------------*/
