@charset "UTF-8";
/*--------------------------------------------------------
SP（640px以下の解像度のスクリーン含む）
--------------------------------------------------------*/
@media only screen and (max-width : 1024px) {
/*--------------------------------------------------------
非表示
--------------------------------------------------------*/
.pc_only {
display: none;
}
.sp_only {
display: block;
}
/*--------------------------------------------------------
layout
--------------------------------------------------------*/
/*--------------------------------------------------------
サイト全体の共通設定
-------------------------------------------------------*/
html {
overflow-y: scroll;
overflow-x: hidden;
}
html, body {
	font-size: 6pt;
width: 100%;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
p,dt { line-height: 120%; }
/*透過キャンセル*/
a:hover img,
.btn_a a:hover {
opacity: 1.0;
filter: alpha(opacity=100);
-ms-filter: "alpha( opacity=100 )";
}
/*--------------------------------------------------------
コンテンツ配置リセット
--------------------------------------------------------*/
html { overflow: auto; }
body { overflow: hidden; }
#header-in,
#g_nav ul,
.section-in,
#ft_nav ul,
#footer-in,
#breadcrumbs ol,
#contents #wrapper,
#contents main,
#side,
#contents_dojo .box_l,
#contents_dojo .box_r,
#promo_movie iframe,
footer p.copy {
box-sizing: border-box;
width: 100%;
padding: 0 2rem;
}

/*--------------------------------------------------------
btn
--------------------------------------------------------*/
.btn_a a {
font-size: 1.8rem;
font-weight: bold;
padding: 1.5rem 3rem;
width: 77%;
}
#pagetop {
display: none;
position: fixed;
bottom: 2rem;
right: 2rem;
}
#pagetop a {
display: block;
width: 34px;
height: 34px;
}

/*--------------------------------------------------------
header
--------------------------------------------------------*/
header {
position: relative;
background-color: rgba(48,70,112,0.95);
}
header h1 {
font-size: 2.6rem;
}
header h1 a {
float: none;
width: 40%;
height: inherit;
background: url("../img/tool/logo_hd.png") top center no-repeat;
background-size: 100% auto ;
margin:  2rem 30%;
}

/*--------------------------------------------------------
main_visual
--------------------------------------------------------*/
#main_visual {
width: 100%;
margin:  0 auto;
position: relative;
height: inherit;
}
/*SP-naviの為カルーセルのpagerのz-indexを調整*/
.bx-wrapper .bx-controls-direction a {
z-index: 1 !important;
}
/*--------------------------------------------------------
main_title
--------------------------------------------------------*/
#contents main {
margin-top: 1rem;
}

/*--------------------------------------------------------
footer
--------------------------------------------------------*/
footer address {
color: #fff;
font-style: inherit;
padding: 2rem 0;
}
footer h2 {
text-align: center;
margin-bottom: 0.5rem;
font-size: 1.6rem;
}
footer p {
font-size: 1.4rem;
text-align: center;
}
footer #footer_banner {
position: relative;
text-align: center;
top: 0rem;
margin-bottom: 0.5rem;
}
#footer_banner a img {
box-sizing: border-box;
margin-left: 0;
margin-bottom: 1.5rem;
max-width: 100%;
}
footer p.copy {
padding-top: 2rem;
padding-bottom: 2rem;
}
/*フッターのみのSNSアイコン*/
#footer-in {
padding-top: 2.5rem;
}
#ft_nav_sns {
text-align: center;
}
#ft_nav_sns li  {
display: inline-block;
}
#ft_nav_sns li a {
display: block;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
width: 28px;
height: 28px;
margin: 0 1rem 0 ;
}
#ft_nav_sns li:nth-child(1) a {
background: url("../img/tool/ico_twitter.png") top left no-repeat;
background-size:100% 100%;
}
#ft_nav_sns li:nth-child(2) a {
background: url("../img/tool/ico_facebook.png") top left no-repeat;
background-size:100% 100%;
}
#ft_nav_sns li:nth-child(3) a {
background: url("../img/tool/ico_instagram.png") top left no-repeat;
background-size:100% 100%;
}
#ft_nav_sns li:nth-child(4) a {
background: url("../img/tool/ico_dojosearsh.png") top left no-repeat;
background-size:100% 100%;
}

/* ----------------------------------------------------------------------------------------------------------------
INDEX
---------------------------------------------------------------------------------------------------------------- */
/*--------------------------------------------------------
All format
--------------------------------------------------------*/
main section {
background-color: #fff;
text-align: center;
padding: 2.5rem 0;
}
main section h2 {
margin-bottom: 2.5rem;
}
main section .btn_a {
margin-top: 2.5rem;
}

/*--------------------------------------------------------
contents_news
--------------------------------------------------------*/
#contents_news ul {
padding: 0;
margin-bottom: 2rem;
}
#contents_news li .date {
display: block;
margin-right: 0;
margin-bottom: 0.5rem;
}
#contents_news .btn_b a {
width: 77%;
margin: 0 auto;
}
/*--------------------------------------------------------
contents_about
--------------------------------------------------------*/
#contents_about h3 {
margin-bottom: 2rem;
font-size: 1.8rem;
text-align: left;
}
#contents_about h3 br,
#contents_about p br {
display: none;
}
#contents_about p {
text-align: left;
}
/*--------------------------------------------------------
contents_banners
--------------------------------------------------------*/
#contents_banners li:nth-child(n + 2) {
width: 49.8%;
}
#contents_banners li:nth-child(1) a {border: 0px #fff solid; margin-bottom: 2rem;}
#contents_banners li:nth-child(2) a {border: 2px #fff solid; margin-right: 0rem;}
#contents_banners li:nth-child(3) a {border: 2px #fff solid; margin-right: 0rem;}
#contents_banners li:nth-child(4) a {border: 2px #fff solid; margin-right: 0rem;}
#contents_banners li:nth-child(5) a {border: 2px #fff solid; margin-right: 0rem;}

#contents_banners li a:hover p {
display: none;
}

/*--------------------------------------------------------
contents_dojo
--------------------------------------------------------*/
#contents_dojo .box_l,
#contents_dojo .box_r {
padding-right: 0;
padding-left: 0;
margin-bottom: 2rem;
}
#contents_dojo .box_r {
margin-bottom: 0;
}
#contents_dojo .box_r img {
box-sizing: border-box;
border: 8px solid #dadada;
}
#contents_dojo .btn_b {
position: absolute;
top: inherit;
bottom: 0;
right: 0;
left: 0;
}
#contents_dojo .btn_b a {
width: 68.5%;
margin: 0 auto ;
}
#contents_dojo .btn_a {
padding-bottom: 7rem;
}

/*--------------------------------------------------------
contents_dojo
--------------------------------------------------------*/
#promo_photo {
background: none;
padding-bottom: 0;
}

/*--------------------------------------------------------
promo_movie
--------------------------------------------------------*/
#promo_movie h3 {
font-size: 1.5rem;
margin-bottom: 2rem;
line-height: 1.3;
}
#promo_movie iframe {
box-sizing: border-box;
padding: 0;
height: auto;
}
.youtubebox {
position: relative;
width: 100%;
padding-top: 56.25%;
}
.youtubebox iframe {
position: absolute;
top: 0;
right: 0;
width: 100% !important;
height: 100% !important;
}

/*--------------------------------------------------------
promo_others
--------------------------------------------------------*/
#promo_others a {
margin-bottom: 2rem;
}

/* ----------------------------------------------------------------------------------------------------------------
SP navi
---------------------------------------------------------------------------------------------------------------- */
/*--------------------------------------------------------
SP navi setting
--------------------------------------------------------*/
html {
position: relative;
overflow-x: hidden;
}
body {
overflow-x: hidden;
margin: 0;
}
#container {
position: relative;
top: 0;
left: 0;
overflow: hidden;
margin: 0 auto;
max-width: 100%;
}
#slide_menu {
position: fixed;
top: 0;
right: -100%;
width: 100%;
height: 100%;
z-index: 300;
/* メニューが多い時にスクロールさせる */
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
}
/* メニュー展開時背面固定用class */
.fixed {
position: fixed !important;
width: 100% !important;
height: 100% !important;
}

/*--------------------------------------------------------
SP navi design
--------------------------------------------------------*/
#slide_menu { 
background: #f7f7f7;
}
#slide_menu ul {
/* inline-block横並び隙間対策 */
letter-spacing: -.40em;
/* inline-block高さを揃える */
display: -webkit-box;
display: -moz-box;
display: -ms-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: -ms-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;
}
#slide_menu li {
display: inline-block;
font-size: 0rem;/* inline-block横並び隙間対策 */
letter-spacing: normal;/* inline-block横並び隙間対策 */
box-sizing: border-box;
border-bottom: solid 1px #cbcbcb;
border-right: solid 1px #cbcbcb;
width: 50%;
margin: 0;
padding: 0.3rem 1.2rem;
text-align: center;
vertical-align: middle;
}
#slide_menu li.noline {
border-right: none;
}
#slide_menu li a {
box-sizing: border-box;
display: block;
padding: 1.3rem 0;
color: #17315f;
font-size: 1.3rem;
font-weight: bold;
text-decoration: none;
}
#slide_menu li.group_titile {
box-sizing: border-box;
display: block;
width: 100%;
padding: 1.3em;
color: #FFFFFF;
font-size: 1.4rem;
font-weight: bold;
text-align: center;
text-decoration: none;
background-color: #65a7e7;
}
/* btn-open */
#spnavi .btn_navi {
display: block;
width: 26px;
height: 26px;
outline: none;
border: none;
cursor: pointer;
position: fixed;
top: 3em;
right: 2em;
z-index: 10;
}
#spnavi .btn_navi img {
vertical-align: top;
font-size: 0;
line-height: 0;
border: 0;
-ms-interpolation-mode: bicubic;
max-width: 100%;
}
/* btn-close */
#spnavi .btn_navi_close {
display: block;
width: 22px;
height: 22px;
outline: none;
border: none;
cursor: pointer;
position: absolute;
top: 2em;
right: 2em;
}
#spnavi .btn_navi_close img {
vertical-align: top;
font-size: 0;
line-height: 0;
border: 0;
-ms-interpolation-mode: bicubic;
max-width: 100%;
}
/* ----------------------------------------------------------------------------------------------------------------
CONTENTS
---------------------------------------------------------------------------------------------------------------- */
/*--------------------------------------------------------
breadcrumbs
--------------------------------------------------------*/
#breadcrumbs ol {
padding: 0.5em 2em;
}
#breadcrumbs li {
font-size: 1.2rem;
}
#breadcrumbs li a:hover {
text-decoration: none;
}

/*--------------------------------------------------------
contents_base
--------------------------------------------------------*/
#contents main {
padding: 0;
margin-bottom: 0;
margin-top: 2rem;
}
#maintitle h1 {
font-size: 2rem;
padding: 1.5rem 2rem;
}
.title_a {
font-size: 1.8rem;
border-radius: 3px;
margin-bottom: 2rem;
}
#contents main h2 {
font-size: 1.8rem;
border-radius: 3px;
margin-bottom: 2rem;
line-height: 1.35;
}
#contents main h2 span {
font-size: 1.4rem;
}
#contents main h2 span:before {
content: "\A" ;
white-space: pre ;
}
#contents main h3 {
font-size: 1.8rem;
}
.title_c {
font-size: 1.6rem;
padding: 0.2rem 0.7rem ;
border: 2px solid #325999;
}
#contents main .textbox01,
#contents main .imgbox01 {
box-sizing: border-box;
display: block;
width: 100%;
overflow: hidden;
margin: 0;
}
#contents main .textbox01 {
margin-bottom: 1.5em;
}
#contents main .imgbox01 {
text-align: center;
	margin-bottom: 15px;
}
#contents main .imgbox01 img {
display: inline-block;
box-sizing: border-box;
border: 5px solid #e4e4e4;
width: 80%;
margin: 0 auto;
}
#contents main .imgbox01 img:nth-child(n+2) {
margin-top: 0;
margin-left: 4%;
}
.box_a {
padding: 1.2em 1.5em 1.5em;
}
#contents main .box_a h2 {
font-size: 1.8rem;
padding-bottom: 0.15em;
border-bottom: 2px solid #7f9bbe;
margin-bottom: 1.5rem;
}
#contents main p.attention {
line-height: 1.3;
}
/* prev/next */
#contents main .prev,
#contents main .next  {
display: block;
float: none;
width: 100%;
box-sizing: border-box;
border-radius: 5px;
padding: 0.7em 1.5em 1em;
background-color: #f4f4f5;
text-align: center;
}

#contents main a.prev,
#contents main a.next {
font-size: 1.4rem;
font-weight: bold;
text-decoration: none;
margin-bottom: 0;
}
#contents main a.prev {
margin-bottom: 1.5rem;
}

/*--------------------------------------------------------
table
--------------------------------------------------------*/
/*セルの縦積み*/
table td,
table th {
box-sizing: border-box;
display: block;
width: 100%;
text-align: left;
	font-size: 8pt;
	
}

/*--------------------------------------------------------
form
--------------------------------------------------------*/
input[type="text"],
textarea,
select,
input[type="file"] {
font-size: 1.6rem;
}
select {
font-size: 1.6rem;
height: inherit;
}
.form_btn input {
display: inline-block;
margin: 0 0.5rem;
}
.form_btn .btn_b,
.form_btn .btn_c {
box-sizing: border-box;
font-size: 2.0rem;
padding: 1.5rem 2.5rem;
width: 85%;
margin: 1rem 0;
}
input[type="submit"],
input[type="reset"]  {
-webkit-appearance: none;
}
/*--------------------------------------------------------
grid
--------------------------------------------------------*/
/* gridmenu */
section#gridmenu {
margin-bottom: 3rem;
}
section#gridmenu h1 {
font-size: 2.4rem;
margin-bottom: 2rem;
}
section#gridmenu ul {
overflow: inherit;
}
section#gridmenu li {
display: block;
width: 100%;
text-align: center;
color: #FFFFFF;
}
section#gridmenu li .textbox h2 {
font-size: 2.2rem;
}
section#gridmenu li .textbox p {
font-size: 1.6rem;
height: auto;
margin-bottom: 1.5rem;
}
section#gridmenu li .textbox .btn_b a {
padding: 1rem 3rem;
}

/* ----------------------------------------------------------------------------------------------------------------
CONTENTS_ZENDOREN
---------------------------------------------------------------------------------------------------------------- */

#main_visual_box {
width: 100%;
overflow: hidden;
position: relative;
}
#breadcrumbs ol,
#maintitle h1 {
margin: 0 auto;
width: 1100px;
}
	
	/*セルの縦積みキャンセル*/
table.scroll {
width:100%;
}
table.scroll td,
table.scroll th {
box-sizing: border-box;
display: table-cell;
width: inherit;
text-align: left;
}
@media screen and (max-width: 640px) {
.sp {
    display: inline;
  }
}


/* ----------------------------------------------------------------------------------------------------------------
END
---------------------------------------------------------------------------------------------------------------- */
}
