@charset "utf-8";

/*----------------------------------------------------
	共通
----------------------------------------------------*/
html {
  font-size: 62.5%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-size: 1.6em;
  color:#333333;
  -webkit-text-size-adjust: 100%;
  font-family: "游ゴシック", YuGothic, Yu Gothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ ゴシック", MS Gothic, sans-serif;
}

img { border:0; vertical-align:bottom; }
ul { padding:0; }


/* 汎用
----------------------------------------------------*/
/* clearfix */
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clear { clear: both; }

.tC { text-align: center; }
.tR { text-align: right; }
.tL { text-align: left; }

.tBold { font-weight:bold; }
.tLarge { font-size:120%; }
.tLLarge { font-size:140%; }
.tSmall { font-size:80%; }

.tMin { font-family: "游明朝", YuMincho, Yu Mincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ 明朝","MS Mincho", serif; }
.tMaru { font-family: "ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", MS Gothic, sans-serif; }
.Mono { font-family: "Osaka－等幅", Osaka-mono, "ＭＳ ゴシック", "MS Gothic", monospace; }

/* 上方向のmargin */
.mt_sm { margin-top: 15px; }
.mt_md { margin-top: 30px; }
.mt_lg { margin-top: 60px; }

/* 下方向のmargin */
.mb_sm { margin-bottom: 15px; }
.mb_md { margin-bottom: 30px; }
.mb_lg { margin-bottom: 60px; }

/* .row の左右のネガティブマージンを0にする */
.row--nopadding {
  margin-left: 0;
  margin-right: 0;
}
 
/* .row--nopadding の中にあるカラムの左右のパディングを0にする */
.row--nopadding > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
}

/* レシポンシブ用インラインフレーム */
.iframeS { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
.iframeS iframe,
.iframeS object,
.iframeS embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.iframeL { position: relative; padding-bottom: 96%; padding-top: 30px; height: 0; overflow: hidden; }
.iframeL iframe,
.iframeL object,
.iframeL embed { position: absolute; top: 0; left: 0; max-width: 100%; max-height: 100%; }

@media (min-width:768px) { .iframeL iframe { height: 100%; } }

.point { font-weight: bold; color: #ff0000; }

/*----------------------------------------------------
	header#globalHeader
----------------------------------------------------*/
h1 {
}

/*----------------------------------------------------
	topicpath
----------------------------------------------------*/
.breadcrumb { display: none; }

/* PC */
@media (min-width:576px) {
/* [ul] */ .breadcrumb { display: block; overflow: hidden; list-style-type: none; font-size: 1.2rem; padding-top:20px; border-top:#cccccc 1px solid; }
/* [li] */ .breadcrumb li { float: left; }
/* [>] */ .breadcrumb li:after { content: ">"; padding: 0 8px; }
/* 一番最後の[li] */ .breadcrumb li:last-child:after { content: none; }
}

/*----------------------------------------------------
	#main
----------------------------------------------------*/
#main {
  margin: 40px auto 60px;
}

#side {
  background-color:#10b6e6;
  padding: 40px 25px;
}
#side a { color:#ffffff; text-decoration:none; }
#side p { font-size: 1.4rem; padding: 10px 0; }

/* ページトップへ戻る */
.pageTop { }


/*----------------------------------------------------
	#topMenu
----------------------------------------------------*/
#topMenu { display: none; }

/* PC */
@media (min-width:576px) {
#topMenu {
  display: block;
  border-bottom:#cccccc 1px solid;
  position: relative;
  overflow: hidden;
  padding:10px 0;
  margin-top:20px;
  margin-bottom:20px;
}

#topMenu li:after { content: "　｜　"; padding: 0 8px; }
#topMenu li:last-child:after { content: none; }
#topMenu ul { position: relative; left: 50%; float: left; list-style: none; }
#topMenu li { position: relative; left: -50%; float: left; }
#topMenu li a { color: #333333; text-decoration: none; }
#topMenu li a:hover { border-bottom: 7px #10b6e6 solid; padding-bottom:18px; transition: all 0.3s; }
}


/*----------------------------------------------------
	#sideMenu
----------------------------------------------------*/
#sideMenu {
  border:#cccccc 1px solid;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
padding:20px;
}

ul#sideMenu {
  list-style:none;
}

ul#sideMenu li {
  border-bottom:#cccccc 1px solid;
  padding:7px 0;
}

/* PC */
@media (min-width:576px) {
#sideMenu {margin: 40px 0; }
/* ↓カラム間のガター幅が60px、カラムの左右の余白が30pxになる（例） */
.row-60 .col-sm-9 { padding: 0 30px; }
.row-60 .col-sm-3 { padding: 0 30px; }
/* カラムの左右の余白を15pxに戻す */
.row-60 { margin: 0 -30px; }
}

/*----------------------------------------------------
	#globalmenu
----------------------------------------------------*/
#navToggle { position: absolute; right: 10px; top: 10px; cursor: pointer; width: 60px; height: 60px; z-index: 2; }
#globalNav { background:#10b6e6; }
.openNav { display: none; }
.dropmenu { *zoom: 1; list-style-type: none; width: 100%; display: block; margin:0; }
.dropmenu:before,
.dropmenu:after { content: ""; display: table; }
.dropmenu:after { clear: both; }
.dropmenu li { position: relative; width: 100%; padding: 0; text-align: center; border-top: 1px solid #ffffff; }
.dropmenu li:first-child { border-top: none; }
.dropmenu li a { display: block; text-decoration:none; }
.dropmenu li a:hover { background: #58cced; }
.dropmenu li ul li a { padding: 10px; line-height: 1.4; background: #0937a9; text-align: left; color:#ffffff; }
.dropmenu li ul li:first-child { border-top: none; }
.dropmenu li ul li a:hover { background: #ffffff; color:#0937a9; }
.dropmenu li ul { display: none; }
.dropmenu li:hover ul  { display: block; width: 100%; list-style:none; }

/* PC */
@media (min-width:576px) {
#globalNav {  }
#navToggle  { display: none; }
.openNav { display: block; }
.dropmenu li { width: 16.6%; float: left; border-top: none; }
.dropmenu li a { border-left: 1px solid #ffffff; }
.dropmenu li:last-child a { border-right: 1px solid #ffffff; }
.dropmenu li ul { list-style: none; position: absolute; z-index: 9999; top: 100%; }
.dropmenu li ul li { width: 200%; border-top: 1px solid #ffffff; }
.dropmenu li:last-child ul { left: -100%; width: 100%; }
}

/*----------------------------------------------------
	button
----------------------------------------------------*/
a.button { text-decoration: none; text-align: center; }
.button { display: inline-block; -webkit-transition: .3s ease-in-out; transition: .3s ease-in-out; }
.button:hover { -webkit-animation: bounce 2s ease-in-out; animation: bounce 2s ease-in-out; }


@-webkit-keyframes bounce {
	5%  { -webkit-transform: scale(1.1, .8); }
	10% { -webkit-transform: scale(.8, 1.1) translateY(-5px); }
	15% { -webkit-transform: scale(1, 1); }
}

@keyframes bounce {
	5%  { transform: scale(1.1, .8); }
	10% { transform: scale(.8, 1.1) translateY(-5px); }
	15% { transform: scale(1, 1); }
}


/*----------------------------------------------------
	textButton
----------------------------------------------------*/
.textButton {
  -webkit-appearance: none;
  color: #ffffff;
  padding: 15px 20px;
  border-style: none;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  background-color: #10b6e6;
 }

.textButton:hover {
  background-color: #58cced;
  text-decoration: none;
  transition: all 0.5s;
}

.textButton a { color: #ffffff; text-decoration: none; display:block; }
.textButton a:hover { color: #014c8c; }


/*----------------------------------------------------
	mailform
----------------------------------------------------*/
textarea {
	width:99%;
}

.required {
	font-size: 12px; /* IE*/
	font-size: 1.2rem;
	color:#ffffff;
	background-color:#ff0000;
	padding:3px 5px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	margin:0 10px;
}

/*----------------------------------------------------
	table
----------------------------------------------------*/
table.tb {
width: 100%;
line-height: 1.6;
border-collapse: separate;
border-spacing: 0px 10px;
margin: 15px 0;
}

.tb th,
.tb td {
padding: 10px 18px;
width: 100%; 
display: block; 
}

.tb th {
 white-space: nowrap;
 background: #10b6e6;
 color: #ffffff;
}

.tb td {
	background-color:#f1f1f1;
}

@media (min-width:576px) {
.tb th,
.tb td { display: table-cell; width: auto; }
}
/* スマートフォン */
@media (max-width:576px) {
.tb thead { display: none; }
}

/* テーブル（横ヘッダのみ） */
table.tbLine {
width: 100%;
line-height: 1.6;
margin: 20px auto;
border-collapse: separate;
border-spacing: 0px 10px;
}

.tbLine th,
.tbLine td {
padding: 15px 20px;
width: 100%; 
display: block; 
}

.tbLine th {
white-space: nowrap;
border-bottom: 3px solid #10b6e6;
background: #f1f1f1;
}

.tbLine td {
background: #f1f1f1;
}

@media (min-width:576px) {
.tbLine th,
.tbLine td { display: table-cell; width: auto; }

.tbLine th {
border-right: 3px solid #10b6e6;
border-bottom: none;
}
}


/* 料金テーブル */
table.price {
width: 100%;
line-height: 1.6;
margin: 10px 0;
}

.price th,
.price td {
padding: 10px 20px;
border: #999999 1px solid;
}

.price th {
 white-space: nowrap;
 background: #f1f1f1;
}

.price td {
 text-align: right;
}

/* スマートフォン */
@media (max-width:576px) {
.price thead { display: none; }
.price tr { border-top: 1px solid #999999; }
.price th,
.price td { display: block;  width: 100%; border-right: 1px solid #999999; border-bottom: 1px solid #999999; border-top: none; }
.price td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
}
}


/* スクロールテーブル */
.table-wrap table { width:715px; margin-top:30px; }
.table-wrap { overflow: scroll; position:relative; }
.table-wrap:before{
content: "\008868\00306f\005de6\0053f3\00306b\0030b9\0030af\0030ed\0030fc\0030eb\003067\00304d\00307e\003059"; /* 文字化け対策のためUnicode変換 */
color:#ffffff; background-color:#000000; position: absolute; padding: 3px; }


/*----------------------------------------------------
	footer#globalFooter
----------------------------------------------------*/
footer#globalFooter {
  clear: both;
  width: 100%;
  padding: 50px 0;
  border-top: 5px solid #10b6e6;
  font-size: 1.4rem;
}

footer#globalFooter p.copyright {
  clear: both;
  padding: 20px 0 0 0;
  font-size: 1.2rem;
  text-align: center;
}

/*----------------------------------------------------
 スタイル
----------------------------------------------------*/

/* リンク */
a { text-decoration:none; color:#0E00FF; }
a:link {}
a:visited {}
a:hover {}
a:active {}

/* 見出し */
#main h1 {
position: relative;
padding-bottom: .3em;
font-size: 2.6rem;
font-weight:normal;
letter-spacing:.2em;
}

#main h1::before,
#main h1::after {
position: absolute;
bottom: -4px;
left: 0;
content: '';
height: 4px;
}

#main h1::before {
z-index: 2;
width: 15%;
background-color: #10b6e6;
}

#main h1::after {
width: 100%;
background-color: #cff0fa;
}

#main h2 {
font-size: 2.2rem;
padding: .5em 1em;
background: -webkit-repeating-linear-gradient(45deg, #10b6e6, #10b6e6 5px, #28bde8 5px, #28bde8 10px);
background: repeating-linear-gradient(45deg, #10b6e6, #10b6e6 5px, #28bde8 5px, #28bde8 10px);
color: #fff;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
margin: 1em 0;
font-weight:normal;
letter-spacing:.2em;
}

#main h3 {
  font-size: 2.2rem;
  margin-top: 1.5em;
  font-weight:normal;
}

#main h4 {
  font-size: 2.0rem;
  margin-top: 1.5em;
}

#main h5 {
  font-size: 1.8rem;
  margin-top: 1.5em;
}


#main p {
line-height: 1.6;
padding: 5px 0;
}

hr {
  height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 1px dotted #cccccc;
  margin-top: 40px;
}

#main .block {
  background: #f1f1f1;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  padding: 10px;
  margin: 20px 0;
}

/* PC */
@media (min-width:576px) {
#main .block {
  padding: 10px 20px;
}
}

/* リスト */
#main .list_ul {
  margin: 10px 40px;
  list-style: none;
}

#main .list_ul li {
  list-style-position: outside;
  padding: 2px 0;
  line-height: 1.8;
}

#main .list_ul li:before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 100%; /* ここを消すと四角になる */
  background: #10b6e6; /* 丸の色 */
  position: relative;
  left: -15px;
  top: -3px;
  display: inline-block;
}

/* 数字リスト */
#main .list_ol {
margin: 10px 10px 30px;
}

#main ol.list_ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
}
 
#main .list_ol li {
  margin-bottom: 10px;
  padding-left: 30px;
  position: relative;
}
#main .list_ol li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #10b6e6;
  color: #ffffff;
  display: block;
  float: left;
  line-height: 24px;
  margin-left: -30px;
  text-align: center;
  height: 24px;
  width: 24px;
  border-radius: 50%;
}

/* PC */
@media (min-width:576px) { #main .list_ol { margin: 10px 40px 30px; } }

span.no {
color: #333333;
font-weight: normal;
padding-left: 10px;
}

#main .list_ol li {
list-style-position: outside;
padding: 5px 0;
line-height: 1.8;
}