@charset "utf-8";


/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table.table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table.table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

body {
color:#333;
font-size:16px;
font-family:"Century Gothic",arial, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
line-height:1.9;
-webkit-text-size-adjust: none;
border-bottom-width: 5px;
border-bottom-style: solid;
border-bottom-color: #006;
}


/* リンク設定
------------------------------------------------------------*/
a{
color:#39F;
text-decoration:none;
}
a:hover{
opacity:0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}
a:active,
a:focus {outline:0;}


/* 全体
------------------------------------------------------------*/
*{
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
     -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
        box-sizing: border-box;
}

#header,
#wrapper,
.inner{
max-width:960px;
padding:0;
margin: 0 auto;
}

#wrapper{
	margin-bottom: 50px;
}

i.fa{
	margin: 0 5px;
}

.bgc_006{
	background-color: #006;
}
.bgc_666{
	background-color: #666;
}


/**************************
/* ヘッダー
**************************/

.description{
	background-color: #006;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #DDD;
}
.description h1{
	font-size: 10px;
	color: #FFF;
	max-width:960px;
	padding: 5px 15px;
	margin:0 auto;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	font-weight: bold;
	line-height: 1.2;
}
#header .logo{
width: 250px;
margin: 20px 10px;
}
.logo a{
display: block;
line-height: 1;
}
.logo img{
width: 100%;
height: auto;
}




/**************************
/* メイン画像（トップページ+サブページ）
**************************/
#mainBanner{
	margin: 0 auto 35px auto;
	padding:0;
	width:100%;
	position:relative;
	line-height:0;
	z-index: 200;
	text-align: center;
	background-color: #EEE;
}

#mainBanner img{
max-width:100%;
height:auto;
}


/*--- スマホのみ表示タブメニュー ---*/
#sp_tab_nav {
display: none;
}
/*--- スマホのみ表示タブメニューここまで ---*/




/**************************
/* グリッド
**************************/
.gridWrapper{
padding-bottom:40px;
overflow: hidden;
}

.gridWrapper .grid{
	float:left;
	width:32%;
	margin: 0 0 0 2%;
}

.gridWrapper .grid2{
	float:left;
	width:48%;
	margin: 0 0 0 2%;
}


.gridWrapper .grid3{
	float:left;
	width:100%;
	margin: 0 0 0 2%;
}


.gridWrapper .grid:first-child{
	margin: 0;
}

.gridWrapper .box{
	padding: 15px;
	border:1px solid #DDD;
	color: #333;
	border-radius:8px;
	overflow: hidden;
}
.gridWrapper a .box:hover{
	background-color: #39F;
	color: #FFF;
}

.gridWrapper .box img{
width:100%;
height:auto;
border:4px solid #DDD;
}

.gridWrapper .box h3{
	padding:0;
	font-size: 120%;
	line-height: 1.2;
	border-left-width: 4px;
	border-left-style: solid;
	border-left-color: #006;
	margin: 10px 0;
	padding: 0 0 0 10px;
	text-align:left;
}

.gridWrapper .box p{
	line-height: 1.6;
}

.gridWrapper .box p.readmore{
	float:right;
	font-size: 13px;
	margin: 15px 0 5px 0;
	color: #FFF;
	background-color: #39F;
	padding: 5px 8px;
	border-radius: 5px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #28D;
	display: inline;
}
.gridWrapper a .box:hover p.readmore{
	background-color: #FFF;
	color: #39F;
	border-bottom-color: #CCC;
}


.gridWrapper .box2{
	padding: 15px;
	border:1px solid #DDD;
	color: #333;
	border-radius:8px;
	overflow: hidden;
}
.gridWrapper a .box2:hover{
	background-color: #39F;
	color: #FFF;
}

.gridWrapper .box2 img{
width:100%;
height:auto;
border:none
}

.gridWrapper .box2 h3{
	padding:0;
	font-size: 100%;
	font-weight: bold;
	line-height: 1.2;
	border-left-width: 4px;
	border-left-style: solid;
	border-left-color: #006;
	margin: 10px 0;
	padding: 0 0 0 10px;
	text-align:left;
}

.gridWrapper .box2 p{
	line-height: 1.6;
}

.gridWrapper .box2 p.readmore{
	float:right;
	font-size: 13px;
	margin: 15px 0 5px 0;
	color: #FFF;
	background-color: #39F;
	padding: 5px 8px;
	border-radius: 5px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #28D;
	display: inline;
}
.gridWrapper a .box2:hover p.readmore{
	background-color: #FFF;
	color: #39F;
	border-bottom-color: #CCC;
}




#subpage .grid{width:auto;}


/**************************
/* メイン コンテンツ
**************************/
#main{
	float:left;
	width:72%;
	padding-left: 15px;
}

section.content article{
padding: 20px 10px;
margin-bottom:50px;
overflow:hidden;
}

* html section.content article{height:1%;}

section.content p{margin-bottom:5px;}

section.content h3.heading ,
section.content h3.headingaka ,
section.content h4.heading ,
section.content h5.heading{
	font-weight:normal;
	padding:10px 15px;
	line-height:1.1;
	border-radius: 5px;
}
section.content h4.heading ,
section.content h5.heading{
	color:#333;
	margin: 30px 0 10px;
	font-size: 130%;
	font-weight: bold;
}

section.content h3.heading{
	color:#FFF;
	background:#006;
	font-size: 140%;
	position: relative;
	padding-left: 1.3em;	
} 


section.content h3.headingaka{
	color:#FFF;
	background:#c00;
	font-size: 140%;
	position: relative;
	padding-left: 1.3em;	
} 

section.content h3:before{
    content: "";
    position: absolute;
    background: #FFF;
    top: 25px;
    left: 0.5em;
    margin-top :-15px;
    height: 1em;
    width: 5px;
}
section.content h4.heading{
	background:#DDD;
}
section.content h5.heading{
	border-radius: 0;
	border-left-width: 5px;
	border-left-style: solid;
	border-left-color: #006;
}

h6 span{
     position: relative;
     display: inline-block;
     padding-bottom:0.5em;
     border-bottom: 1px solid black;
	 font-size:150%
}
      
h6 span::before,
h6 span::after {
     position: absolute;
     top: 100%;
     left:50%;
     transform:translateX(-50%);
     content: '';
     border: 10px solid transparent;
}
 
h6 span::before {
     border-top: 10px solid black;
}
 
h6 span::after {
     margin-top: -1px;
     border-top: 10px solid white;
}

section.content img{
height:auto;
}

.aligncenter{
display:block;
	margin: 3px auto 10px;
	max-width:100%;
}

.alignleft{
float:left;
clear:left;
margin:3px 10px 10px 0;
}

.alignright{
float:right;
clear:right;
margin:3px 0 10px 10px;
}

#gallery .grid img,
.border,
ul.list img{border:4px solid #DDD;}

#gallery article{
	font-size: 0px;
	padding:10px;
}
#gallery .grid{
	float:none;
	width:31.3%;
	margin:10px 1% 2px 1%;
	display: inline-block;
}
#gallery .grid img{
	width:100%;
}

img {
	max-width: 100%;
	height: auto;
}


 section.contPlusMassage {
    border: 5px solid #1a2b70;
	max-width:960px;
    padding: 30px;
    margin: 50px auto;
  }
  
  section.contPlusMassage h2 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
    transform: rotate(0.03deg) !important;
    font-size: 2.025rem !important;
    line-height: 4.375rem !important;
    font-weight: bold !important;
    font-feature-settings: "palt" !important;
    margin: 0 0 20px;
    font-weight: bold;
    padding: 0 20px 30px;
    color: #1a2b70;
    border-bottom: 4px double #1a2b70;
    position: relative;
  }
  



/**************************
/* テーブル
**************************/
table.table ,
table.table_2{
border-collapse:collapse;
margin:5px auto 15px auto;
width: 100%;
}
table.table a ,
table.table_2 a{
	text-decoration: underline;
}
table.table th{
background-color:#EEE;
text-align:right;
padding: 10px 15px;
white-space:nowrap;
color: #151515;
font-weight:normal;
letter-spacing:1px;
vertical-align: middle;
border-top-width: 1px;
border-right-width: 4px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: #DDD;
border-right-color: #39F;
border-bottom-color: #DDD;
border-left-color: #DDD;
}
table.table td{
border-collapse:collapse;
text-align:left;
padding: 10px 15px;
border:1px solid #DDD;
line-height:1.5;
vertical-align: middle;
}

table.table_2 th{
	background-color: #EEE;
	text-align: center;
	padding: 10px;
	white-space: nowrap;
	color: #151515;
	font-weight: normal;
	letter-spacing: 1px;
	vertical-align: middle;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 4px;
	border-left-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #DDD;
	border-right-color: #DDD;
	border-bottom-color: #39F;
	border-left-color: #DDD;
}
table.table_2 td{
border-collapse:collapse;
text-align:left;
padding: 5px 10px;
border:1px solid #DDD;
line-height:1.5;
vertical-align: middle;
}
table.table_2 td span.imp{
	margin: 0px 0px 0px 3px;
	font-weight: bold;
	color: #F00;
	font-size: 70%;
}

table.table2{
border-collapse:collapse;
margin:5px auto 15px auto;
width: 100%;
}
table.table2 th{
background-color:#EEE;
text-align:left;
padding: 10px 15px;
white-space:nowrap;
color: #151515;
font-weight:normal;
letter-spacing:1px;
vertical-align: middle;
border-top-width: 1px;
border-right-width: 4px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: #DDD;
border-right-color: #39F;
border-bottom-color: #DDD;
border-left-color: #DDD;
}
table.table2 td{
border-collapse:collapse;
text-align:left;
padding: 10px 15px;
border:1px solid #DDD;
line-height:1.5;
vertical-align: middle;
}


table.table3{
border-collapse:collapse;
margin:5px auto 15px auto;
width: 100%;
}
table.table3 th{
background-color:#EEE;
text-align:left;
padding: 10px 15px;
overflow:hidden;
white-space:nowrap;
color: #151515;
font-weight:normal;
letter-spacing:1px;
vertical-align: middle;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 4px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: #DDD;
border-right-color: #DDD;
border-bottom-color: #39F;
border-left-color: #DDD;
}
table.table3 td{
border-collapse:collapse;
text-align:left;
padding: 10px 15px;
border:1px solid #DDD;
line-height:1.5;
vertical-align: middle;
}

/**************************
/* フォーム
**************************/

section.formarea{
	margin-bottom:40px;
	overflow:hidden;
}
.form_box{
	border-radius: 8px;
	text-align: center;
	padding:15px 10px;
	vertical-align: middle;
	color: #FFF;
	text-align: center;
}
.form_title{
	margin-bottom: 5px;
	font-size: 48px;
	font-weight: bold;
	line-height: 1;
}

.form_input{
	margin-bottom: 5px;
}
.form_input .f_text{
	padding:2px 5px;
	margin-right: 5px;
	width: 250px;
	color: #666;
}

.form_txt{
	line-height: 1.3;
}

.bg_fukuzawa{
	background-image: url(images/mail_fukuzawa.png);
	background-repeat: no-repeat;
	background-position: -15px 5px;
}



/**************************
/* googleドライブ
**************************/

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
 
.video-container iframe,  
.video-container object,  
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/**************************
/* 吹き出し
**************************/


.balloon {
  position: relative; /* 三角の位置を固定するために設定 */
  width: 100%; /* 幅 */
  margin: 0 auto 20px; /* 上 左右 下のマージン */
  padding: 10px; /* ふきだし内の余白 */
  background: #6C3; /* 背景色 */
  text-align: center; /* テキストの揃え */
  border-radius: 8px; /* <-追加 */
}
.balloon::before { /* 三角の部分 */
  content: '';
  position: absolute; /* 位置固定 */
  bottom: -28px; /* 線幅の2倍 */
  left: 50%;
  margin-left: -14px; /* 線幅だけずらす */
  border: 14px solid transparent; /* 線幅の設定 */
  border-top-color: #6C3; /* 吹き出しの地と同じ色 */
}


.balloon2 {
  position: relative; /* 三角の位置を固定するために設定 */
  width: 100%; /* 幅 */
  margin: 0 auto 20px; /* 上 左右 下のマージン */
  padding: 10px; /* ふきだし内の余白 */
  background: #a22041; /* 背景色 */
  text-align: center; /* テキストの揃え */
  border-radius: 8px; /* <-追加 */
}
.balloon2::before { /* 三角の部分 */
  content: '';
  position: absolute; /* 位置固定 */
  bottom: -28px; /* 線幅の2倍 */
  left: 50%;
  margin-left: -14px; /* 線幅だけずらす */
  border: 14px solid transparent; /* 線幅の設定 */
  border-top-color: #a22041; /* 吹き出しの地と同じ色 */
}

.balloon3 {
  position: relative; /* 三角の位置を固定するために設定 */
  width: 100%; /* 幅 */
  margin: 0 auto 20px; /* 上 左右 下のマージン */
  padding: 10px; /* ふきだし内の余白 */
  background: #f08300; /* 背景色 */
  text-align: center; /* テキストの揃え */
  border-radius: 8px; /* <-追加 */
}
.balloon3::before { /* 三角の部分 */
  content: '';
  position: absolute; /* 位置固定 */
  bottom: -28px; /* 線幅の2倍 */
  left: 50%;
  margin-left: -14px; /* 線幅だけずらす */
  border: 14px solid transparent; /* 線幅の設定 */
  border-top-color: #f08300; /* 吹き出しの地と同じ色 */
}


.balloon4 {
  position: relative;
  margin: 2em 0 2em 40px;
  padding: 15px;
  background: #e8d3d1;
  border-radius: 30px;
}

.balloon4:before {  
  content: "";
  position: absolute;
  left: -38px;
  width: 13px;
  height: 12px;
  bottom: 0;
  background: #e8d3d1;
  border-radius: 50%;
}

.balloon4:after {
  content: "";
  position: absolute;
  left: -24px;
  width: 20px;
  height: 18px;
  bottom: 3px;
  background: #e8d3d1;
  border-radius: 50%;
}
.balloon4 p {
  margin: 0; 
  padding: 0;
}



.mybox{
 border: 1px solid #CCC;	/* 線の太さ・種類・色 */
 border-radius: 5px;
 padding: 45px 10px 10px 10px;	/* 内側の余白 上・右・左・下 */
 position: relative;
 z-index: 0;
}
.mybox:before{
 background-color:#CCC ;	/* タイトル部分背景色 */
 border-radius: 5px 5px 0px 0px;
 color: #000;	/* タイトル部分文字色 */
 content:'慶應合格者の書籍に対する感想';
 height: 25px;	/* タイトル部分高さ */
 padding: 5px 10px;
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 z-index: 2;
}
.mybox:after {
 border-style: solid;
 border-width: 10px 10px 0 10px;
 border-color: #CCC transparent transparent transparent;	/* 吹き出し三角部分の色 */
 content: "";
 position: absolute;
 top: 35px;
 left: 10px;
 width: 0px;
 height: 0px;
 z-index: 1;
}

.balloon5 {
    position: relative;
    margin: 2em auto;
    padding: 1em 1em 1em;
	width: 90%; 
    border: solid 3px #C0C0C0;
}
.balloon5 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    font-size: 17px;
    background: #C0C0C0;
    color:#000 ;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.balloon5 p {
    margin: 0; 
    padding: 0;
}


/**************************
//* スマート　囲み枠　1 *
**************************/


.kakomi-smart1 {
 position: relative;
 margin: 2em auto;
 padding: 1em 1em 1em;
 width: 90%; /* ボックス幅 */
 border-style: solid;
 border-color: #d0576b; /* 枠の色 */
 border-width: 5px 1px 1px;
 background-color: #f7f7f7; /* 背景色 */
 color: #666; /* テキスト色 */
 box-shadow: 1px 1px 3px #ccc; /* 影 */
}

.title-smart1 {
 padding: 2px 2px;
 background-color: #f7f7f7; /* タイトル背景色 */
 color: #d0576b; /* タイトル色 */
font-size: 2.1em;
 font-weight: bold;
}



.kakomi-smart2 {
 position: relative;
 margin: 2em auto;
 padding: 1em 1em 1em;
 width: 90%; /* ボックス幅 */
 border-style: solid;
 border-color: #f08300; /* 枠の色 */
 border-width: 5px 1px 1px;
 background-color: #ffffff; /* 背景色 */
 color: #666; /* テキスト色 */
 box-shadow: 1px 1px 3px #ccc; /* 影 */
}

.title-smart2 {
 padding: 2px 2px;
 background-color: #ffffff; /* タイトル背景色 */
 color: #f08300; /* タイトル色 */
font-size: 2.1em;
 font-weight: bold;
}



/**************************
///* 黒板風　2 *
**************************/


.kokuban-s {
 position: relative;
 margin: 2em auto;
 padding: 1em;
 width: 90%; /* ボックス幅 */
 background: #006633; /* ボックス背景色 */
 color: #fff; /* 文章色 */
 border: 8px solid #b2771f; /* 枠線 */
 border-radius: 3px; /* 角の丸み */
 box-shadow: 0 0 5px #333, 0 0 5px #555 inset;
}
.kokuban-s::before,
.kokuban-s::after {
 position: absolute;
 content: '';
 bottom: 0;
} 
.kokuban-s::before {
 width: 20px; 
 right: 10px;
 border: solid 3px #ffff00; /*チョーク（黄色）*/
 border-radius: 3px 2px 0 2px;
}
.kokuban-s::after {
 width: 15px; 
 right: 45px;
 border: solid 3px #fff; /*チョーク（白） */
 border-radius: 8px 5px 2px 5px;
}


.kokuban-s2 {
 position: relative;
 margin: 2em auto;
 padding: 1em 1em 1em;
 width: 90%; /* ボックス幅 */
 background-color: #fff; /* ボックス背景色 */
 color: #000000; /* 文章色 */
 border: 5px solid #C0C0C0; /* 枠線 */
 border-radius: 3px; /* 角の丸み */
 box-shadow: 0 0 8px #333, 0 0 2px #555 inset;
}
.kokuban-s2::before,
.kokuban-s2::after {
 position: absolute;
 content: '';
 bottom: 3px;
 width: 25px; 
 border-radius: 2px;
 box-shadow: 1px 1px 3px #666;
} 
.kokuban-s2::before {
 right: 55px;
 border: solid 3px #ff0000; /*飾ペン赤 */
}
.kokuban-s2::after {
 right: 20px;
 border: solid 3px #333; /*飾ペン黒 */
 transform: rotate(8deg); /*飾ペン角度 */
}


/**************************
/* 黒板風　タイトル　5 *
**************************/


.kokuban-t5 {
 position: relative;
 margin: 2em auto;
 padding: 3.2em 1em 1em;
 width: 90%; /* ボックス幅 */
 background-color: #006633; /* ボックス背景色 */
 color: #fff; /* 文章色 */
 border: 8px solid #b2771f; /* 枠線 */
 border-radius: 3px; /* 角の丸み */
 box-shadow: 0 0 5px #333;
}
.kokuban-t5::before,
.kokuban-t5::after {
 position: absolute;
 content: '';
 bottom: 0;
} 
.kokuban-t5::before {
 width: 17px; 
 right: 20px;
 border: solid 3px #ffff00; /*チョーク黄 */
 border-radius: 3px 2px 0 2px;
}
.kokuban-t5::after {
 width: 13px; 
 right: 55px;
 border: solid 3px #ff7fbf; /*チョークピンク */
 border-radius: 15px 10px 2px 5px;
}
.title-t5 {
 position: absolute;
 top: .5em;
 right: 0;
 left: 0;
 text-align: center;
 font-weight: bold;
 font-size: 1.1em;
 color: #ff7fbf; /* タイトル色 */
}
.title-t6 {
 position: absolute;
 top: .5em;
 right: 0;
 left: 0;
 text-align: left;
 font-weight: bold;
 font-size: 1.1em;
 color: #ff7fbf; /* タイトル色 */
}




/**************************
/* 全文表示
**************************/

.readmore-button-box a {
	margin: 0;
	padding: 6px 9px;
	color: #FFF;
	background-color: #39F;
	border-radius:5px;
	display: block;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #28D;
}

.readmore-button-box a:hover {
   background-color: #39F;     /* ボタンにマウスが乗ったら明るい赤色に変化 */
}

.readmore-button-box {
   text-align: center;
   background-image: linear-gradient( 180deg, rgba(255,255,255,0.3), white );   /* 上から下へ：[白色半透明]から[白色]へグラデーション */
   padding-top: 4.5em;   /* ボタンの上側でグラデーションを見せる距離(長さ) */
   margin-top: -6.5em;   /* ボックスを上側に重ねる距離(長さ) */
   position: relative;   /* ボックス全体を上に重ねるために必要 */
}

.readmore-area {
   display: none;   /* デフォルトでは非表示にしておく */
}



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

.accordion-switch {
    display: block;
    padding: 10px;
	cursor: pointer;
}

.accordion-switch:hover {
	color:#E48E00;
    text-decoration: underline;
	filter:alpha(opacity=60);
    opacity:0.6;
}

.accordion-switch + input {
    display: none;
}

.accordion-body {
    display: none;
    padding: 30px 10px;
    border-bottom: #666 1px solid;
}
.accordion-switch + input:checked + .accordion-body {
    display: block;
}

.accordion-switch2 {
    display: block;
    padding: 10px;
	border-top-color: #DDD;
    border-bottom: #39F 4px solid;
    border-left-color: #DDD;
    color: #151515;
    background: #EEE;
}

.accordion-switch2:hover {
	filter:alpha(opacity=60);
    opacity:0.6;
}

.accordion-switch2 + input {
    display: none;
}

.accordion-body2 {
    display: none;
    padding: 30px 10px;
	border:1px solid #DDD;
}
.accordion-switch2 + input:checked + .accordion-body2 {
    display: block;
}

/**************************
/* ライン
**************************/

hr.line1{
  border: none;
  border-top: 1px dotted #999;
}

hr.line2{
  border: none;
  border-top: 1px dotted #999;
}

hr.line3{
  border:none;
  border-top: double 3px #999;
}



/**************************
/* ボタン
**************************/


.nurutto_btn_red {
	display: inline-block;
	width: 80%;
	padding: 0.8em;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background:#F1322C;
	border-bottom:4px solid #AD2022;
	border-radius: 4px;
}
.nurutto_btn_red:hover {
	 cursor: pointer;
	 text-decoration: none;
	 background:#AD2022;
	 transform: translate3d(0, 0px, 0);
	 border-bottom: none;
}


/**************************
/* 点滅
**************************/

.blink {
	animation: blinking 1s ease-in-out infinite alternate;
}
 
@keyframes blinking {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/**************************
/* サイドバー
**************************/

#sidebar{
	float:right;
	width:25%;
	padding:0 15px 0 0;
	overflow:hidden;
	margin-bottom: 50px;
}
#sidebar h3.heading{
font-weight:normal;
padding:10px 15px;
line-height:1.2;
color:#333;
background:#E3E3E3;
border-left-width: 10px;
border-left-style: solid;
border-left-color: #39F;
border-radius: 5px 5px 0 0;
}
#sidebar article{
padding:0;
margin-bottom:20px;
overflow:hidden;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-right-color: #E3E3E3;
border-bottom-color: #E3E3E3;
border-left-color: #E3E3E3;
}


#sidebar ul{
padding:0;
}

#sidebar li{
margin:0;
list-style:none;
padding: 0;
font-size: 14px;
line-height: 1.3;
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: #DDD;
}

#sidebar li:last-child{
border:0;
}

#sidebar li a{
display:block;
padding: 15px;
overflow:hidden;
}
#sidebar li a:hover{
background-color: #39F;
color: #FFF;
}

#sidebar ul.list li{
	margin:0;
	padding:0;
	line-height:1.35;
}
ul.list li img{
	float:left;
	margin-right:10px;
	width: 60px;
}
ul.list li p{
	overflow:hidden;
}

#sidebar .sidebanner{
	font-size: 0px;
}
#sidebar .sidebanner p{
	width: 100%;
	padding: 0px;
	margin-bottom: 10px;
}
#sidebar .sidebanner p img{
	width: 100%;
	margin: 0px;
	padding: 0px;
border:4px solid #DDD;
}

/**************************
/* フッター
**************************/
.ft_menu {
	position: fixed;
	bottom: 20px;
	z-index: 9999;
	left: 50%;
}
.page-top a{
	background-color: #000;
	background-color: rgba(0,0,0,0.4);
	padding: 7px 10px;
	border-radius:10px;
	text-decoration: none;
	color: #FFF;
	text-align: center;
	line-height: 1;
	font-size: 8px;
	display: block;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	margin: 0 0 0 500px;
}
.ft_menu span .fa{
	font-size: 24px;
	line-height: 1.5;
	display: block;
}

#footer{
clear:both;
overflow:hidden;
padding: 10px;
background:#EEE;
}

* html #footer{height:1%;}

#footer .grid{
padding:10px 0 5px;
margin:0;
background:transparent;
}

#footer #info .logo{
	float: left;
	width: 200px;
	margin: 20px 0 0 0;
}
#footer #info .info{
float: right;
padding:15px 0 0 0;
text-align:right;
font-weight: bold;
line-height: 1.4;
}
#footer #info .info .tel{
font-size:26px;
}
#footer #info .info .tel .fa{
	font-size:22px;
	color: #F36;
}
#footer #info .info .open{
font-size:12px;
}

ul.footnav{
font-size:0;
clear:both;
padding: 20px 0 10px 0;
}

ul.footnav li{
margin: 2px;
padding:0;
font-size:11px;
line-height: 1.1;
display: inline-block;
}
ul.footnav li a{
	margin: 0;
	padding: 6px 9px;
	color: #FFF;
	background-color: #39F;
	border-radius:5px;
	display: block;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #28D;
}

address{
clear:both;
padding:10px;
text-align:center;
font-style:normal;
font-size:10px;
color:#333;
background:#DDD;
}




/* タブレット用・PC用（横幅：641px～）
------------------------------------------------------------*/
@media only screen and (min-width: 641px){

#wrapper{
	margin: 0 auto;
	width:98%;
	position:relative;
	background:#fff;
	padding-right: 1%;
	padding-left: 1%;
}

/**************************
/* メニュー
**************************/
nav#mainNav{
clear:both;
overflow:hidden;
position:relative;
background:#EEE;
border-bottom-width: 5px;
border-bottom-style: solid;
border-bottom-color: #39F;
}

nav#mainNav .inner{
width:100%;
padding:0 15px;
font-size:0;
}

nav#mainNav ul li{
	display: inline-block;
	position: relative;
	line-height: 1.2;
	width:16.666%;
}
nav#mainNav ul li a{
display: block;
text-align: center;
font-size:13px;
padding-top:15px;
color:#333;
width:100%;
padding-bottom: 15px;
}
nav#mainNav ul li a span{
color:#BBB;
font-size:10px;
display:block;
}

nav div.panel{
	display:block !important;
	}

a#menu{display:none;}

nav#mainNav li.active a,
nav#mainNav li a:hover{
color:#FFF;
background:#39F;
border-radius: 5px 5px 0 0;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}
nav#mainNav li.active a span,
nav#mainNav li a:hover span{
	color:#9CF;
	text-shadow: none;
}

}

@media screen and (max-width: 1200px) {
/* ---------------------------------------------------
1200px以下用　フッター
----------------------------------------------------- */
.ft_menu {
	left: inherit;
	right: 20px;
}
.page-top a{
	margin: 0;
}
	
}



/* タブレット用（横幅：641px～959px）
------------------------------------------------------------*/
@media only screen and (max-width:959px){


/**************************
/* メニュー　959px以下
**************************/
nav#mainNav ul li a{
font-size:11px;
}
nav#mainNav ul li a span{
font-size:9px;
}

/**************************
/* メイン コンテンツ
**************************/
#main{
	float:none;
	width:auto;
	padding:0;
}
#gallery .grid{
	width:23%;
}

/**************************
/* サイドバー　959px以下
**************************/
#sidebar{
	float:none;
	width:auto;
	padding:0;
	overflow:visible;
}

#sidebar article{
padding:0;
margin-bottom:20px;}

ul.list li img{
	width: 70px;
}

#sidebar .sidebanner p{
	width:23%;
	margin:10px 1% 2px 1%;
	display: inline-block;
}


/**************************
/* フッター　959px以下
**************************/
#footer .grid,
#footer ul.footnav{
width:100%;
text-align:center;
}

#footer .grid img{float:none;}
#footer .grid p{display:block;}


}



/* タブレット＆スマホ(横：ランドスケープ)用（横幅：481px～640px）
------------------------------------------------------------*/
@media only screen and (max-width:640px){


#wrapper{
	width:96%;
	padding-right: 2%;
	padding-left: 2%;
}

/**************************
/* ヘッダー　640px以下
**************************/
.description{
}
#header{
height:auto;
}

/**************************
/* メニュー　640px以下
**************************/

#header .logo{
width: 200px;
margin: 13px 10px;
}

nav#mainNav{
	clear:both;
	width:100%;
	margin:0 auto;
	padding:0;
	position: relative;
}
nav#mainNav .inner{
	font-size: 16px;
}
nav#mainNav a.menu{
	color: #FFF;
	width:70px;
	display:block;
	line-height:1;
	font-weight: bold;
	text-align:center;
	background-color: #39F;
	font-size: 10px;
	padding: 15px 0;
	position: absolute;
	z-index: 100;
	right: 0px;
	top: -62px;
}
nav#mainNav a#menu span{
	font-size: 24px;
	margin: 0px;
	padding: 0px;
}
nav#mainNav a.menu span:after {
	content: "▼";
}
nav#mainNav a.menuOpen span:after {
	content: "▲";
}
nav#mainNav a.menu span:after ,
nav#mainNav a.menuOpen span:after {
	font-size: 10px;
	display: block;
	color: #006;
	vertical-align: top;
}
nav#mainNav a#menu:hover{
	cursor:pointer;
	opacity:1;
	filter: none;
	-ms-filter: none;
}

nav .panel{
	display: none;
	width:100%;
	position: relative;
	right: 0;
	top:0;
	z-index: 1;
}

nav#mainNav ul li{
	background-color: #39F;
	float: none;
	clear:both;
	width:100%;
	height:auto;
	line-height:1;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}

nav#mainNav ul li a,
nav#mainNav ul li.current-menu-item li a{
	color: #FFF;
	display: block;
	padding:15px 10px;
	text-align:left;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #6BF;
	font-size: 14px;
}

nav#mainNav ul li a span{
	padding-left:10px;
	color: #006;
	text-shadow: none;
}


/**************************
/* グリッド　640px以下
**************************/
.gridWrapper .grid{
	width:100%;
	float:none;
	margin: 20px 0;
}

.gridWrapper .grid2{
	width:100%;
	float:none;
	margin: 20px 0;
}

.box img{
	float:left;
	margin-right:15px;
	max-width:180px;
}

.box h3{padding-top:0;
	overflow:hidden;}

.alignleft,.alignright{
float:none;
display:block;
margin:0 auto 10px;
}


/**************************
/* メイン コンテンツ　640px以下
**************************/

#gallery .grid{
	width: 31.3%;
}

/*--- スマホのみ表示タブメニュー ---*/

#sp_tab_nav {
	display: block;
	width: 100%;
	-webkit-transition: all none ease 0;
	-moz-transition: all none ease 0;
	-ms-transition: all none ease 0;
	-o-transition: all none ease 0;
	transition: all none ease 0;
	margin-bottom: 10px;
	background-color: #333;
	padding-top: 5px;
}
#sp_tab_nav > ul {
display: table;
table-layout: fixed;
width: 100%;
border-bottom-width: 5px;
border-bottom-style: solid;
border-bottom-color: #39F;
}
#sp_tab_nav > ul > li {
	display: table-cell;
	text-align: center;
	background-color: #333;
	cursor: pointer;
	font-size: 13px;
	border-radius: 5px 5px 0 0;
	vertical-align: middle;
}
#sp_tab_nav > ul > li > a {
	display: inline-block;
	width: 100%;
	line-height: 1.2;
	color: #fff;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	padding: 18px 5px;
}
#sp_tab_nav1,
#sp_tab_nav2,
#sp_tab_nav3 {
width:100%;
height:auto;
background-color: #fff;
}
#sp_tab_nav_field > div > ul {
width: 99%;
font-size: 0px;
margin: 0 0.5%;
}


#sp_tab_nav_field > div > ul > li {
display: inline-block;
width: 50%;
line-height: 40px;
font-size: 12px;
text-align: center;
}

#sp_tab_nav_field > div > ul > li:first-child {
width: 100%;
color: #F36;
font-weight: bold;
line-height: 1.3;
font-size: 14px;
padding: 15px;
border: none;
}

#sp_tab_nav_field > div > ul > li > a {
	display: inline-block;
	width: 98%;
	padding: 5px;
	color: #FFF;
	background-color: #39F;
	margin: 1%;
	border-radius: 5px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #28D;
}
/*--- スマホのみ表示タブメニューここまで ---*/




/**************************
/* フォーム　640px以下
**************************/

.form_title{
	font-size: 25px;
}
.form_input .f_text{
	font-size: 12px;
	width: 150px;
}
.form_txt{
	font-size: 12px;
}
.bg_fukuzawa{
	background-size: 130px auto;
}


/**************************
/* サイドバー　640px以下
**************************/
#sidebar .sidebanner p{
	width: 31.3%;
}


/**************************
/* フッター　640px以下
**************************/

#footer #info .logo{
	float:none;
	margin-right: auto;
	margin-left: auto;
}
#footer #info .info{
text-align:center;
float:none;
}

}



/* スマホ(縦)用（横幅：0～400px）
------------------------------------------------------------*/
@media only screen and (max-width:400px){
body {
font-size:85%;
}

/**************************
/* メイン コンテンツ　400px以下
**************************/
#gallery .grid{
	width:48%;
}



/**************************
/* グリッド　400px以下
**************************/

.box img{
	float:none;
	margin-right:5px;
	max-width:100%;
}


/**************************
/* サイドバー　400px以下
**************************/
#sidebar .sidebanner p{
	width: 48%;
}

/**************************
/* フォーム　400px以下
**************************/
.form_title{
	font-size: 20px;
}
.bg_fukuzawa{
	background-position: -25px 5px;
}

}

/**************************
/* 問い合わせと資料請求
**************************/


/*PCの場合にはメニューを表示させない*/
@media (min-width: 768px) {
   .for-sp{
      display:none;
    }
}


/*メニューをページ下部に固定*/
#sp-fixed-menu{
   position: fixed;
   width: 100%;
   bottom: 0px;
   font-size: 0;
   opacity: 0.9;
   z-index: 99;
}

/*メニューを横並びにする*/
#sp-fixed-menu ul{
   display: flex;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
}

#sp-fixed-menu li{
   justify-content: center;
   align-items: center;
   width: 50%;
   padding:0;
   margin:0;
   font-size: 14px;
   border-right: 1px solid #fff;
}

/*左側メニューを濃藍に*/
#sp-fixed-menu li:first-child{
   background: #0f2350;
}

/*左側メニューを茜色に*/
#sp-fixed-menu li:last-child{
   background: #b7282e;
}

/*ボタンを調整*/
#sp-fixed-menu li a{
   color: #fff;
   text-align: center;
   display:block;
   width: 100%;
   padding:20px;
}

