@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/
body {
	font-size: 14px;
	color: #333;
	font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	line-height: 1.6;
	background: #fff;
}

.inner {
	position: relative;
	width: 100%;
	max-width: 1260px;
	margin: 0 auto;
}

header {
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	border-bottom:1px solid #dcdcdc;
	z-index: 10;
}

nav {
	width:100%;
}

#contents {
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	margin: 0;
}

#main {
	box-sizing: border-box;
    width:100%;
	padding: 0;
}

section {
    width:100%;
	margin: 0;
	padding: 0 0 4em;
}

@media screen and (max-width:768px){
	section {
	    width:100%;
		margin: 0;
		padding: 0 0 2em;
	}
}

footer {
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
}

a {
	color: #004831;
	text-decoration: underline;
}
a:hover {
	color: #2a8064;
	text-decoration: none;
}

h2 {
	margin: 0;
	padding: 16px 10px 14px;
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	background: #004831;
	border-bottom:8px solid #a0c81e;
}

h3 {
	margin: 0 0 0.75em;
	padding: 6px 12px 3px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	background: #004831;
}

h4 {
	margin-bottom: 0.25em;
	font-size: 16px;
	color: #2a8064;
	border-bottom: 3px solid #2a8064;
}

.heading-h2 {
	margin: 0 0 2em;
	padding: 0;
	text-align: center;
}
.heading-h2 img {
	width: 250px;
}

@media screen and (max-width:979px) {
	.heading-h2 {
		margin: 0 0 1.5em;
		padding: 0;
		text-align: center;
	}
	.heading-h2 img {
		width: 200px;
	}
}

@media screen and (max-width:768px) {
	.heading-h2 {
		margin: 0 0 1em;
		padding: 0;
		text-align: center;
	}
	.heading-h2 img {
		width: 150px;
	}
	
	h3 {
		font-size: 16px;
	}
}

p {
	margin: 0 0 1em 0;
}

img {
	vertical-align: bottom;
}

em {
	font-weight: bold;
}

strong {
	font-weight: bold;
	color: #e50000;
}

pre {
	margin: 1em 0;
	padding: 1em;
}

blockquote {
	margin-bottom: 1em;
	padding: 1em;
	border: 1px dotted #999;
	border-left: 5px solid #ccc;
}

ul,ol,dl {
	margin: 0 0 1em 0;
}
ul li {
	list-style: disc;
}
ol li {
	list-style: decimal;
}
li {
	margin-left: 1.5em;
}

dt {
	margin-bottom: 0.5em;
	border-bottom: 1px dotted #999;
}
dt:before {
	content: "\0025a0";
}
dd {
	margin-bottom: 1em;
}

table {
	width: 100%;
	margin-bottom: 1em;
	border-collapse: collapse;
	border: 1px solid #ccc;
	background: #fff;
}
th {
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #ccc;
	background: #eee;
}
td {
	padding: 10px;
	text-align: left;
	border: 1px solid #ccc;
}

/*================================================
 *  ヘッダー
 ================================================*/
header {
	padding: 10px 0;
}

header h1 {
    margin: 0;
}
header h1 img {
    height: 75px;
	vertical-align: middle;
}

/* ヘッダーロゴ */
.header_logo {
    display: flex;              /* フレックスボックスにする */
    align-items:stretch;        /* 縦の位置指定 */
	justify-content:left;
    margin-bottom: 0.75em;
}

.logo-item {
    width: auto;
    margin:  0;
    padding: 0 10px;
}
.logo-item img {
    height: 75px;
    margin: 0;
	padding: 0;
	vertical-align: middle;
}

@media screen and (min-width:768px){
	.header_logo {
		background-image: url(../img/header_photo.png);
		background-repeat:  no-repeat;
		background-position: right center;
		background-size: contain;
	}
}

@media screen and (max-width:1024px){
	header {
		padding: 10px 0;
	}
	
	header h1 img {
		height: 58px;
	}

	.logo-item img {
		height: 58px;
	}
}

@media screen and (max-width:979px) {
	header h1 img {
		height: 55px;
	}

	.logo-item img {
		height: 55px;
	}
}

@media screen and (max-width:768px) {
	header h1 img {
		height: 50px;
	}

	.logo-item img {
		height: 50px;
	}
}

@media screen and (max-width:500px) {
	header {
		padding: 10px 0 5px;
	}
	header h1 img {
		height: 35px;
	}

	.header_logo {
		justify-content:center;
		margin-bottom:  0.5em;   
	}

	.logo-item {
		padding: 0 5px;
	}
	.logo-item img {
		height: 35px;
	}
}

/* ==========================
  アコーディオンメニュー
========================== */
.bl_accordion {
	margin: 0 0 0.75em;
}
.bl_accordionTitle {
	position: relative;
	margin: 0;
	padding: 6px 90px 4px 20px;
	font-size: 18px;
	font-weight: bold;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#deefff+0,98bede+100;Blue+3D+%2310 */
	background: linear-gradient(to bottom,  rgba(222,239,255,1) 0%,rgba(152,190,222,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	transition: 0.3s;
	cursor: pointer;
}
.bl_accordionTitle::before {
	content: "";
	width: 17px;
	height: 3px;
	background-color: #000;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 17px;
	transition: 0.3s;
}
.bl_accordionTitle::after {
	content: "";
	width: 3px;
	height: 17px;
	background-color: #000;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 24px;
	transition: 0.3s;
}
.bl_accordionTitle.active::after {
	opacity: 0;
}
.bl_accordionTitle:hover::after,
.bl_accordionTitle:hover::before,
.bl_accordionTitle.active::after,
.bl_accordionTitle.active::before {
	background-color: #fff;
}
.bl_accordionTitle:hover,
.bl_accordionTitle.active {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#b8c6df+0,6d88b7+100;Grey+Blue+3D+%231 */
	background: linear-gradient(to bottom,  rgba(184,198,223,1) 0%,rgba(109,136,183,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	color: #fff;
}
.bl_accordionContent {
	padding: 0 20px;
	opacity: 0;
	height: 0;
	line-height: 0;
	transition: 0.3s;
	text-align: center;
}
.bl_accordionContent ul {
	margin: 0;
}
.bl_accordionContent ul li {
	padding: 0;
	border-bottom: 1px dotted #999;
	list-style: none;
}
.bl_accordionContent li {
	margin-left: 0;
}
.bl_accordionContent li a {
    display: block;
	padding: 8px 0;
	text-decoration: none;
}
.bl_accordionContent li a:hover {
	background-color: #eee;
}
.bl_accordionContent > * + * {
	margin-top: 0;
}
.bl_accordionContent img {
	height: 0;
}
.bl_accordionContent.open {
	padding: 10px 20px 20px;
	opacity: 1;
	line-height: normal;
	height: auto;
	font-size: 16px;
	text-align: center;
}
.bl_accordionContent.open > * + * {
	margin-top: 10px;
}
.bl_accordionContent.open img {
	height: auto;
}

header.nav-hide .header-nav {
	display: none;
}

@media screen and (max-width: 767px) {
	header.nav-hide .header-nav {
		display: none;
	}
}

@media screen and (max-width:500px){
	.bl_accordion {
		margin: 0 0 0.5em;
	}

	.bl_accordionTitle {
		font-size: 18px;
		padding: 6px 90px 3px 12px;
	}
	.bl_accordionTitle::before {
		width: 17px;
		right: 17px;
	}
	.bl_accordionTitle::after {
		height: 17px;
		right: 24px;
	}

	.bl_accordionContent p {
		line-height: 1.8;
	}

	.bl_accordionContent.open {
		font-size: 14px;
	}
}

/* ==========================
  タブ以外のコンテンツの中身
========================== */
.ly_inner {
	width: 100%;
	max-width: 1260px;
	margin: 0 auto;
	padding: 0;
	background-color: #fff;
}

.md_textblock > * + * {
	margin-top: 10px;
}
.md_markList {
	list-style-type: disc;
	margin-left: 1.4rem;
}

/* ====================================
  ここからPC幅
==================================== */
@media screen and (min-width: 768px) {
  .hp_displaySP {
    display: none !important;
  }
}

/* ====================================
  ここからスマホ幅
==================================== */
@media screen and (max-width: 767px) {
  .hp_displayPC {
    display: none !important;
  }
}

/*================================================
 *  ヘッダーナビゲーション
 ================================================*/
.header-nav {
	clear: both;
    z-index:998;
    margin:0;
}
.header-nav ul {
    margin:0;
    padding:0;
}
.header-nav ul li {
    position:relative;
    margin:0;
    padding:0;
    list-style:none;
}

.header-nav ul li a {
    display:block;
    margin:0;
    padding: 0.25em 0 0.5em;
    color:#333;
    font-size:12px;
    font-weight:bold;
    line-height:1;
    text-decoration:none;
}
.header-nav ul li:hover > a {
    color:#666;
}
.header-nav ul li+li:before {
    position: absolute;
    display: block;
    content: "";
    top: 50%;
    height: 30px;
    margin-top: -20px;
    border-right: 0 solid #ccc;
}
.header-nav ul li img {
    display:block;
    margin:0 auto 0.5em;
    padding:0;
    width:35px;
	border-radius: 5px;
}

/* 1段目 */
.header-nav ul.gnav > li {
    position:relative;
    width:10%;
    float:left;
    margin:0;
    padding:0;
    text-align:center;
    list-style:none;
}

.gnav {
    display:block !important;
}

@media print, screen and (max-width:767px) {
	.header-nav {
	    padding:0;
	}
	.header-nav ul li a {
	    font-size:11px;
	}
	.header-nav ul li img {
	    width:25px;
		border-radius: 4px;
	}
}

@media print, screen and (max-width:500px) {
	.header-nav ul.gnav > li {
		width:20%;
	}
}

/* スライダー上テキスト */
.catch1 {
	clear: both;
	padding: 10px 0 0;
}
.catch1 p {
	margin: 0;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}
.catch1 p span {
	margin: 0;
	padding: 0;
	font-size: 18px;
	font-weight: bold;
	color: #e50000;
}

@media screen and (max-width:1024px){
	.catch1 p {
		font-size: 18px;
		line-height: 1.6;
	}
	.catch1 p span {
		font-size: 16px;
	}
}

@media screen and (max-width:979px) {
	.catch1 p {
		font-size: 14px;
	}
	.catch1 p span {
		font-size: 12px;
	}
}

@media screen and (max-width:500px){
	.catch1 {
		padding: 5px 0 0;
	}	
	.catch1 p {
		font-size: 14px;
	}
	.catch1 p span {
		font-size: 12px;
	}
}

/* スライダー下テキスト */
.catch2 {
	margin: 0;
}
.catch2 p {
	margin: 0;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
}

.catch3 p {
	margin: 0 0 1.2em;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}

@media screen and (max-width:979px) {
	.catch2 p {
		font-size: 20px;
	}

	.catch3 p {
		font-size: 22px;
	}
}

@media print, screen and (max-width:768px) {
	.catch2 p {
		font-size: 18px;
	}

	.catch3 p {
		font-size: 20px;
	}
}

@media print, screen and (max-width:500px) {
	.catch2 p {
		font-size: 16px;
	}

	.catch3 p {
		font-size: 18px;
	}
}

/*================================================
 *  緊急連絡先内容について
 ================================================*/
#details {
	overflow:hidden;
	width:100%;
	margin: 0;
	text-align: center;
}

.details {
	overflow:hidden;
	width:100%;
	margin: 0;
}
.details p {
	font-size: 20px;
	font-weight: bold;
}

.kakomi {
    display:inline-block;
	overflow:hidden;
    margin:0 0 0.5em;
	padding: 0.5em 1em 0.4em;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.0;
	color:#ff6e32;
	border:2px solid #ff6e32;
}

.kome {
    display:inline-block;
	overflow:hidden;
    margin:auto;
	text-align: left;
}
.kome ul {
	margin: 0;
}
.kome li {
	margin:0;
	padding:0;
	font-size: 20px;
	font-weight: bold;
	list-style:none;
	color:#ff6e32;
}

@media screen and (max-width:768px) {
	.details p {
		font-size: 18px;
	}
	
	.kakomi {
		font-size: 22px;
	}
	
	.kome li {
		font-size: 18px;
	}
}

@media screen and (max-width:500px) {
	.details p {
		font-size: 14px;
	}
	
	.kakomi {
		font-size: 18px;
	}
	
	.kome li {
		font-size: 14px;
	}
}

/*================================================
 *  当サービスを利用しての違法性がない見解
 ================================================*/
#illegality {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.illegality {
	overflow:hidden;
	width:100%;
	font-size: 16px;
	line-height: 1.8;
}
.illegality ul {
	margin:0 0 1em;
}
.illegality ul.normal {
	margin:0 0 4em;
}

.note_title {
	width:100%;
	margin:0 0 1.5em;
	font-size: 20px;
	line-height: 1;
	text-align: center;
}
.note_title span {
	padding: 3px 10px 2px;
	font-weight: bold;
	color: #e50000;
	border: 2px solid #e50000;
}

.note_titleBox {
	position: relative;
	display: inline-block;
	margin:0;
	padding-top: 55px;
}

.note_text {
	font-size: 14px;
}

.why {
	position: absolute;
	top: 0;
	left: 3%;
	margin:0;
}
.why img {
	width:90px;
}

.check-box li {
	position: relative;
	margin-left: 0;
	padding-left: 25px;
	list-style:none;
}

.check-box li:before {
	content: "";
	position: absolute;
	top: .3em;
	left: 5px;
	-webkit-transform: rotate(50deg);
	-ms-transform: rotate(50deg);
	transform: rotate(50deg);
	width: 5px;
	height: 10px;
	border-right: 2px solid #e50000;
	border-bottom: 2px solid #e50000;
}

.check-box li:after {
	content: "";
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #8b6b4e;
	border-radius: 2px;
}

/* 続きを読む */
.cp_box {
	position: relative;
}
.cp_box input {
	display: none;
}
/*開くためのボタンとテキストを隠すグラデーションの設定*/
.cp_box label {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 1;
	bottom: -10px;
	width: 100%;
	height: 100px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	/* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
	background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
/* 開いた時にグラデーションを消す */
.cp_box input:checked + label {
	background: inherit;
}
.cp_box input:checked + label {
	/* display: none ; 閉じるボタンを消す場合コメントアウトを外す */
}
.cp_box .cp_container {
	overflow: hidden;
	height: 160px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
}
/*続きをよむボタン*/
.cp_box label:after,
.cp_box label::before {
	content: '';
	position: absolute;
	line-height: 2.5rem;
}

/* ★ 点滅アニメーションをつける */
.cp_box label:after {
	z-index: 2;
	bottom: 20px;
	width: 13em;
	content: '続きをよむ';
	color: #fff;
	background: #036;
	border-radius: 20px;
	animation: blink-bg 0.8s infinite; /* ← ここを追加 */
}

@keyframes blink-bg {
	0%, 100% {
		background: #036; /* 通常色 */
	}
	50% {
		background: #69f; /* 少し明るい色（お好みで変更OK） */
	}
}

.cp_box label::before {
	bottom: 38px;
	left: calc(50% - 3.5em);
	z-index: 3;
	width: 10px;
	height: 5px;
	background: #fff;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}

/*閉じるボタン*/
.cp_box input:checked + label:after {
	content: '閉じる';
}
.cp_box input:checked + label:before {
	left: calc(50% - 2.5em);
	transform: scale(1, -1);
}
.cp_box input:checked ~ .cp_container {
	height: auto;
	padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
	transition: all 0.5s;
}

.underline_wavy {
	padding-bottom: 5px;
	text-decoration-line: underline;
	text-decoration-style: wavy;
	text-decoration-color: #e50000;
}

@media screen and (max-width:1024px) {
	.why img {
		width:85px;
	}

	.cp_box .cp_container {
		height: 220px;
	}
}

@media screen and (max-width:979px) {
	.why img {
		width:85px;
	}
}

@media screen and (max-width:768px) {
	.illegality {
		font-size: 14px;
		line-height: 1.6;
	}
	.illegality ul.normal {
		margin:0;
	}

	.note_titleBox {
		padding-top: 50px;
	}

	.note_title {
		padding-top: 50px;
		font-size: 18px;
	}

	.why img {
		width:80px;
	}

	.cp_box .cp_container {
		height: 180px;
	}
}

@media screen and (max-width:500px) {
	.note_title {
		font-size: 16px;
	}

	.why img {
		width:76px;
	}

	.cp_box .cp_container {
	 	height: 270px;
	}
}

/*================================================
 *  当事業者が信頼度の高い理由
 ================================================*/
#reason {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.reason {
	overflow:hidden;
	position:relative;
	margin-right:-1%;
	margin-top:20px;
	margin-bottom:20px;
}

.reasonColumn {
	display:inline;
	width:24%;
	float:left;
	margin-right:1%;
}

.reasonCon {
	position:relative;
	display:block;
	box-sizing:border-box;
	overflow:hidden;
	padding: 10px 15px;
	background:#fff;
	border:2px solid #ff6e32;
	border-radius:4px;
}
.reasonCon p {
	margin:0;
	font-size: 16px;
	font-weight: bold;
	color:#ff6e32;
}
.reasonCon img {
	display:block;
	width:100px;
	margin:0 auto;
}
.reasonCon ul {
	margin-bottom:0;
}

.blinking {
	margin:0;
	font-size: 18px;
	font-weight: bold;
	color:#f00;
}

/* 点滅 */
.blinking {
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

@media screen and (max-width:500px) {
	.blinking {
		font-size: 13px;
	}
}

@media screen and (max-width:500px) {
	.reason {
		margin-right:0;
		margin-bottom:0.5em;
	}

	.reasonColumn {
		display:block;
		box-sizing:border-box;
		width:100%;
		float:none;
		margin-right:0;
		margin-bottom:10px;
	}
}

/*================================================
 *  緊急連絡先対応について
 ================================================*/
#about {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.about {
	font-size: 16px;
	line-height: 1.8;
}
.about ul {
	overflow:hidden;
}
.about img {
	width:400px;
}

.about .imgL {
	margin-bottom:0;
}
.about .imgL img {
	margin:0 1em 0 0;
}

@media screen and (max-width:768px) {
	.about {
		font-size: 14px;
		line-height: 1.6;
	}
	.about img {
		width:300px;
	}
}

@media screen and (max-width:500px) {
	.about ul {
		clear:both;
	}
	.about img {
		width:100%;
		padding: 0 0 10px;
	}
}

/*================================================
 *  お申込み方法は３通り
 ================================================*/
#process {
	overflow:hidden;
	width:100%;
	margin: 0;
    background: #f0ffd2;
}

.process {
	display: block;
	margin: 0 auto;
	text-align: center;
}
.process ol {
	display: inline-block;
	margin-left: -2em;
	padding-left: 0;
	list-style: none;
}
.process ol li {
	margin-bottom: 0;
	text-align: left;
	border-bottom: 1px dotted #999;
	list-style-position: inside;
}

.processText {
	position:relative;
	display: inline-block;
	margin: 0 0 1.5em;
	padding: 25px 25px 20px;
    border:3px solid #004831;
	border-radius: 10px;
    background: #fff;
}
.processText li {
	font-size: 30px;
	font-weight: bold;
	line-height: 2;
}

.arrow_box {
    position:relative;
    width:90px;
    height:30px;
	margin: 10px 0 0;
    background:#e50000;
    text-align:center;
    border:3px solid #e50000;
    color:#fff;
    font-size:18px;
    font-weight:bold;
    border-radius:40px;
    -webkit-border-radius:40px;
    -moz-border-radius:40px;
}
.arrow_box:after,.arrow_box:before {
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    top:100%;
    left:30%;
}
.arrow_box:after {
    border-color: rgba(255, 0, 0, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:5px;
    border-right-width:5px;
    margin-left: 12px;
    border-top-color:#e50000;
}
.arrow_box:before {
    border-color: rgba(255, 0, 0, 0);
    border-top-width:16px;
    border-bottom-width:16px;
    border-left-width:8px;
    border-right-width:8px;
    margin-left: 12px;
    margin-top: 3px;
    border-top-color:#e50000;
}

.result {
	display:inline-block;
	margin: 0 0 1.5em;	
	padding: 15px 20px 12px;
	font-size: 30px;
	font-weight: bold;
	line-height: 1;
    color:#fff;
    background: #e50000;
}

.processNote {
	display: block;
	margin: 0 auto;	
	padding: 0;
	font-size: 20px;
	line-height: 1.6;
	text-align: center;
}	
.processNote .text {
	display: inline-block;
	margin: 0;
	text-align: left;
}

@media screen and (max-width:979px) {
	.processText {
		padding: 20px 20px 10px;
	}
	.processText li {
		font-size: 22px;
		line-height: 1.8;
	}
	
	.arrow_box{
	    position:relative;
	    width:85px;
	    height:28px;
		margin: 0;
	    font-size:16px;
	}
	
	.arrow_box:after{
	    margin-left: -5px;
	}
	.arrow_box:before{
	    margin-left: -5px;
	}
}

@media screen and (max-width:768px) {
	.processText li {
		font-size: 20px;
		line-height: 1.6;
	}
	
	.arrow_box{
	    position:relative;
	    width:80px;
	    height:25px;
		margin: 0;
	    font-size:14px;
	}
	.arrow_box:after,.arrow_box:before{
	    left:25%;
	}
	.arrow_box:after{
	    border-top-width:12px;
	    border-bottom-width:12px;
	    border-left-width:6px;
	    border-right-width:6px;
	    margin-left: -7px;
	}
	.arrow_box:before{
	    border-top-width:16px;
	    border-bottom-width:16px;
	    border-left-width:8px;
	    border-right-width:8px;
	    margin-left: -7px;
	    margin-top: 2px;
	}

	.result {
		font-size: 26px;
	}

	.processNote {
		font-size: 18px;
	}
}

@media screen and (max-width:500px) {
	.processText {
		padding: 15px 15px 5px;
	}
	.processText li {
		font-size: 18px;
		line-height: 1.6;
	}
	
	.arrow_box{
	    position:relative;
	    width:75px;
	    height:25px;
		margin: 0;
	    font-size:14px;
	}
	.arrow_box:after,.arrow_box:before{
	    left:20%;
	}
	.arrow_box:after{
	    border-top-width:8px;
	    border-bottom-width:8px;
	    border-left-width:6px;
	    border-right-width:6px;
	    margin-left: -4px;
	}
	.arrow_box:before{
	    border-top-width:12px;
	    border-bottom-width:12px;
	    border-left-width:6px;
	    border-right-width:6px;
	    margin-left: -5px;
	    margin-top: 3px;
	}

	.result {
		font-size: 22px;
	}

	.processNote {
		font-size: 16px;
	}
}

/*================================================
 *  緊急連絡先情報提供時間（方法）
 ================================================*/
#method {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.method {
	margin-right:-2%;
}

.methodColumn {
	display:inline;
	width:48%;
	float:left;
	margin-right:2%;
}

.methodCon {
	position:relative;
	display:block;
	box-sizing:border-box;
	overflow:hidden;
	padding: 10px 15px;
	background:#fff;
	border:1px solid #a0c81e;
	border-radius:4px;
}
.methodCon img {
	display:block;
	width:100%;
	margin:0 0 10px;
}
.methodCon p {
	margin:0;
	font-size: 16px;
	line-height: 1.6;
}

@media screen and (max-width:500px) {
	.method {
		margin-right:0;
		margin-bottom:0.5em;
	}

	.methodColumn {
		display:block;
		box-sizing:border-box;
		width:100%;
		float:none;
		margin-right:0;
		margin-bottom:10px;
	}
	
	.methodCon p {
		margin:0;
		font-size: 14px;
		line-height: 1.6;
	}
}

/*================================================
 *  ご契約内容（注意事項）
 ================================================*/
#contract {
	overflow:hidden;
	width:100%;
	margin: 0;
    background: #f0ffd2;
}

.contract {
	font-size: 16px;
	line-height: 1.8;
}
.contract ul {
	margin: 0;
}

@media screen and (max-width:768px) {
	.contract {
		font-size: 14px;
		line-height: 1.6;
	}
}

@media screen and (max-width:500px) {

}

/*================================================
 *  ジョイント・ライフ５つの魅力
 ================================================*/
#charm {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.charm {
	font-size: 16px;
	line-height: 1.8;
}
.charm table {
	margin-bottom: 0;
}
.charm table {
	width: 100%;
	border-collapse: collapse;
	border: none;
	background: #fff;
}
.charm th {
	padding: 10px 15px 5px 0;
	text-align: center;
	vertical-align: middle;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px dotted #999;
	background: none;
}
.charm td {
	padding: 10px 0;
	text-align: left;
	vertical-align: middle;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px dotted #999;
}

.circle {	
	position: relative;
	display: inline-block;
	width: 100px;
	height: 100px;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	background: #017a4f;
}
.circle span {
	position: absolute;
	display: inline-block;
	left: 0;
	top: 52%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width :100px;
	margin: 0;
	padding: 0;
    font-size:18px;
    font-weight:bold;
	line-height: 1.4;
	text-align:center;
	color: #fff;
}
.circle span.small {
	position: absolute;
	display: inline-block;
	left: 0;
	top: 52%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width :100px;
	margin: 0;
	padding: 0;
    font-size:13px;
    font-weight:bold;
	line-height: 1.4;
	text-align:center;
	color: #fff;
}

@media screen and (max-width:768px) {
	.charm {
		font-size: 14px;
		line-height: 1.6;
	}
	
	.circle {	
		width: 80px;
		height: 80px;
	}
	.circle span {
		width :80px;
	    font-size:14px;
	}
	.circle span.small {
		width :80px;
	    font-size:10px;
	}
}

/*================================================
 *  質の高い納得のサービスをご提供！
 ================================================*/
#service {
	overflow:hidden;
	width:100%;
	margin: 0;
    background: #f0ffd2;
}

.service {
	overflow:hidden;
	margin: 0;
	padding: 0;
	text-align:center;
}

.price {
	margin: 0;
	text-align: center;
}

.price_textR {
	margin: 0 0 1em;
    font-size:22px;
    font-weight:bold;
	line-height: 1.4;
    color: #e50000;
}

.price_textL {
	margin: 0 0 0.75em;
    font-size:38px;
    font-weight:bold;
	line-height: 1.4;
}

.price_textM {
	margin: 0 0 0.5em;
    font-size:34px;
    font-weight:bold;
	line-height: 1;
}
.price_textM span {
    font-size:18px;
}

.priceBox {
	margin: 0;
}
.priceBox img {
	width: 100%;
	max-width: 980px;
}

.kome {
	overflow:hidden;
	margin: 0 0 1em;
	padding: 0;
	text-align:center;
}
.kome p {
	display: inline-block;
	margin: 0;
	padding: 0;
    font-size:18px;
	line-height: 1.6;
	text-align:left;
}

.komeBox {
	display: inline-block;
	margin: 0 0 0.75em;
	padding: 6px 10px 4px;
	text-align:center;
	border:2px solid #f00;
}
.komeBox p {
	margin: 0;
	padding: 0;
    font-size:20px;
    font-weight:bold;
	line-height: 1;
	color: #f00;
}

.komeRed {
	overflow:hidden;
	margin: 0 0 2em;
	padding: 0;
	text-align:center;
}
.komeRed:last-child {
	margin: 0;
}
.komeRed p {
	display: inline-block;
	margin: 0;
	padding: 0;
    font-size:18px;
	line-height: 1.6;
	text-align:left;
	color: #f00;
}

@media screen and (max-width:979px) {
	.service {
		font-size: 14px;
		line-height: 1.6;
	}

	.priceBox img {
		width: 100%;
	}
	
	.price_textR {
	    font-size:18px;
	}
	
	.price_textL {
	    font-size:32px;
	}

	.price_textM {
	    font-size:28px;
	}
	.price_textM span {
	    font-size:16px;
	}

	.kome p {
	    font-size:16px;
		line-height: 1.6;
	}

	.komeBox p {
	    font-size:18px;
	}

	.komeRed p {
	    font-size:16px;
		line-height: 1.6;
	}
}

@media screen and (max-width:500px) {
	.serviceBox {
		display: block !important;
	}

	.serviceText {
		display: block !important;
	}

	.priceBox img {
		width: 100%;
	}

	.price_textR {
	    font-size:16px;
	}
	
	.price_textL {
	    font-size:26px;
	}

	.price_textM {
	    font-size:24px;
	}
	.price_textM span {
	    font-size:14px;
	}

	.kome p {
	    font-size:12px;
		line-height: 1.6;
	}

	.komeBox p {
	    font-size:14px;
	}

	.komeRed p {
	    font-size:12px;
		line-height: 1.6;
	}
}

/*================================================
 *  ご内容
 ================================================*/
#offer {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.midashi {
	margin: 0 0 2em;
	text-align: center;
}
.midashi img {
	width: 70%;
}

.offer {
	font-size: 16px;
	line-height: 1.8;
}
.offer table {
	width: 100%;
	margin: 0 auto 2em;
	border-collapse: separate;
	border-spacing: 0 15px;
	border: none;
}
.offer table th,
.offer table td {
	padding: 15px;
	font-size: 16px;
}
.offer table th {
	background: #004831;
	vertical-align: middle;
	text-align: left;
	width: 100px;
	overflow: visible;
	position: relative;
	color: #fff;
}
.offer table th:after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: #004831;
	border-width: 10px;
	margin-top: -10px;
}

/* firefox */
@-moz-document url-prefix() {
	.offer table th::after {
		float: right;
		padding: 0;
		left: 30px;
		top: 10px;
		content: " ";
		height: 0;
		width: 0;
		position: relative;
		pointer-events: none;
		border: 10px solid transparent;
		border-left: #004831 10px solid;
		margin-top: -10px;
	}
}

.offer table td {
	width: 360px;
	padding-left: 20px;
	background: #e2efbc;
}

.chartBox {
	text-align: center;
}
.chartBox img {
	width: 100%;
}

@media screen and (max-width:768px) {
	.offer {
		font-size: 14px;
		line-height: 1.6;
	}
	.offer table {
		margin: 0 auto 1em;
	}
	.offer table th {
		padding: 10px;
		font-size: 14px;
	}
	.offer table td {
		padding: 10px 20px;
		font-size: 14px;
	}
}

@media screen and (max-width:500px) {
	.midashi {
		margin: 0 0 1em;
	}
	.midashi img {
		width: 95%;
	}

	.chartBox img {
		width: 100%;
	}
}

/*================================================
 *  ここまでのまとめ
 ================================================*/
#summary {
	overflow:hidden;
	width:100%;
	margin: 0;
    background-color: #f0ffd2;
}

.summary ul {
	margin: 0;
}
.summary li {
	font-size: 16px;
	line-height: 1.8;
}

@media screen and (max-width:768px) {

}

@media screen and (max-width:500px) {
	.summary li {
		font-size: 14px;
		line-height: 1.6;
	}
}

/*================================================
 *  お支払い方法に関して
 ================================================*/
#payment {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.payment {
	font-size: 16px;
	line-height: 1.8;
}
.payment table {
	margin-bottom: 0;
	border-collapse: collapse;
	border: 1px solid #fff;
}
.payment table th {
	width:30%;
	color: #fff;
	border: 1px solid #fff;
	background: #a0c81e;
}
.payment table td {
	border: 1px solid #fff;
	background: #f0ffd2;
}

@media screen and (max-width:768px) {
	.payment {
		font-size: 14px;
		line-height: 1.6;
	}
}

/*================================================
 *  トピックパス（パンくずリスト）
 ================================================*/
#topicpath {
	font-size: 12px;
	padding: 15px 10px 10px;
	background: #fcfcfc;
}

#topicpath .inner {
	width: 1200px;
	margin: 0 auto;
}

@media screen and (max-width:768px) {
	#topicpath {
		padding: 10px 5px;
	}
}

/*================================================
 *  事業所情報
 ================================================*/
#company {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.company {
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.company table {
	font-size: 16px;
}
.company th {
	padding: 15px;
}
.company td {
	padding: 15px;
}

@media screen and (max-width:768px) {
	.company table {
		font-size: 14px;
	}
	.company th {
		padding: 10px 15px;
	}
	.company td {
		padding: 10px 15px;
	}
}

/*================================================
 *  プライバシーポリシー
 ================================================*/
#privacy {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.privacy1 {
	overflow: hidden;
	margin: 0 0 2em;
	padding: 0;
}

.privacy2 {
	overflow: hidden;
	margin: 0;
	padding: 0;
}

/*================================================
 *  お問い合わせ
 ================================================*/
#contact {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.contact {
	overflow: hidden;
	margin: 0;
	padding: 0;
}

/*================================================
 *  お申込み
 ================================================*/
#apply {
	overflow:hidden;
	width:100%;
	margin: 0;
}

.apply {
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.heading-h2 span {
	font-size: 18px;
}

/* 契約内容（注意事項） */
#keiyaku {
	overflow:hidden;
	width:100%;
	margin: 0;
    background: #f0ffd2;
}

.keiyaku {
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.keiyaku p span {
	color: #e50000;
}

/*================================================
 *  お問い合わせ／お申込み フォーム
 ================================================*/
button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}
button,
input[type="reset"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}

.form {
	margin:0 0 3em;
	padding:0;
}
.form:last-child {
	margin-bottom:0;
}
.form ul {
	text-align:left;
}

.umu {
	font-size:14px;
	line-height: 1.4em;
	color: #d00;
}

input#submit_btn {
	display:inline-block;
	padding:15px 20px;
	font-size: 16px;
	font-weight: bold;
	color:#004831;
	text-decoration:none;
	border-radius:5px;
	border:1px solid #004831;
	background:#fff;
	transition:all 0.2s ease 0s;
}
input#submit_btn:hover {
	font-weight: bold;
	color:#fff;
	background:#a0c81e;
	border:1px solid #a0c81e;
	transition:all 0.2s ease 0s;
}

input#reset_btn {
	display:inline-block;
	padding:15px 20px;
	font-size: 16px;
	font-weight: bold;
	color:#004831;
	text-decoration:none;
	border-radius:5px;
	border:1px solid #004831;
	background:#fff;
	transition:all 0.2s ease 0s;
}
input#reset_btn:hover {
	font-weight: bold;
	color:#fff;
	background:#a0c81e;
	border:1px solid #a0c81e;
	transition:all 0.2s ease 0s;
}

input#back_btn {
	display:inline-block;
	padding:15px 20px;
	font-size: 16px;
	font-weight: bold;
	color:#004831;
	text-decoration:none;
	border-radius:5px;
	border:1px solid #004831;
	background:#fff;
	transition:all 0.2s ease 0s;
}
input#back_btn:hover {
	font-size: 16px;
	font-weight: bold;
	color:#fff;
	background:#a0c81e;
	border:1px solid #a0c81e;
	transition:all 0.2s ease 0s;
}

input {
    cursor: pointer;
    cursor: hand;
}

td input {
    height:25px;
	margin:3px 0;
}

input, select, textarea {
    font-size: 16px;
	border:1px solid #999;
}

select {
    height:30px;
	margin:3px 0;
    font-size: 16px;
}

input[type="radio"],input[type="checkbox"]{
    position: relative;
    top: -2px;
	margin-right: -2px;
}

/* --- フォーム部品のサイズ --- */
.contact_form #age {
    width: 6%;
}

#furikomi-yotei3_month, #furikomi-yotei3_day {
    width: 5%;
}
#add, #use1-add1, #use1-add2, #use1-add3, #use1-add4,
#workplace1, #workplace2,#workplace3, #workplace4, #use-other,
#zokugara1-friend, #zokugara2-relatives, #zokugara3-other {
    width: 98%;
}
#apply-add {
	width: 98%;
}
#apply-time_other {
    width: 30%;
}
#nationality_other {
    width: 70%;
}
#name, #name2, #nationality, #kibou_zokugara5_other {
    width: 50%;
}
#tel, #purpose_other {
    width: 60%;
}
#email {
    width: 98%;
}

/* --- （複数行のテキスト入力欄） --- */
#zokugara4_specify {
    box-sizing: border-box;
    width: 100%;
    height: 10em;
}

#zokugara5_specify {
    box-sizing: border-box;
    width: 100%;
    height: 10em;
}

#message {
    box-sizing: border-box;
    width: 100%;
    height: 10em;
}

.required {
	color: #d00;
}

.msg {
	margin:0 0 1em;
	color: #d00;
}

span.msg {
	color: #d00;
}

span.keiyakuKome {
	display:block;
	margin:0 0 -1em;
	line-height: 2.2;
}

th.understand {
	padding: 10px 0;
}
.understand {
	text-align: center !important;
	background:#fff0f5;
}

table.contact_form {
	font-size: 16px;
}
table.contact_form th {
	width: 30%;
	padding: 15px;
}
table.contact_form td {
	padding: 15px;
}

table.apply_form {
	font-size: 16px;
}
table.apply_form th {
	width: 32%;
	padding: 15px;
}
table.apply_form td {
	padding: 15px;
}

.apply_btn {
	text-align: center;
}

.contact_btn {
	text-align: center;
}

/* --- ダウンロードはコチラ --- */
.download_pdf {
	overflow: hidden;
	margin: 0 0 2em;
	padding: 0;
	text-align: center;
}

input#download_btn {
	display:inline-block;
	padding:15px 20px;
	font-size: 16px;
	font-weight: bold;
	color:#004831;
	text-decoration:none;
	border-radius:5px;
	border:1px solid #004831;
	background:#fff;
	transition:all 0.2s ease 0s;
}
input#download_btn:hover {
	font-size: 16px;
	font-weight: bold;
	color:#fff;
	background:#a0c81e;
	transition:all 0.2s ease 0s;
}

.styled {
    border: 0;
    line-height: 2.5;
    padding: 15px 25px;
    font-size: 16px;
    text-align: center;
	line-height: 1.6;
    color: #fff;
    text-shadow: 1px 1px 1px #000;
    border-radius: 10px;
    background-color: rgba(220, 0, 0, 1);
    background-image: linear-gradient(to top left,
	rgba(0, 0, 0, .2),
	rgba(0, 0, 0, .2) 30%,
	rgba(0, 0, 0, 0));
	box-shadow: inset 2px 2px 3px rgba(255, 255, 255, .6),
	inset -2px -2px 3px rgba(0, 0, 0, .6);
}
.styled:hover {
    background-color: rgba(255, 0, 0, 1);
}
.styled:active {
    box-shadow: inset -2px -2px 3px rgba(255, 255, 255, .6),
                inset 2px 2px 3px rgba(0, 0, 0, .6);
}

.border-red {
    border-bottom: solid 1px #e50000;
}

@media screen and (max-width:768px) {
	.contact {
		padding: 0 0 2em;
	}

	.apply {
		padding: 0 0 2em;
	}

    table.apply_form th {
        width: 40%;
    }
}

@media screen and (max-width:500px) {
	.contact_form #age {
	    width: 12%;
	}
    
	#furikomi-yotei3_month, #furikomi-yotei3_day {
	    width: 10%;
	}
	#add {
        box-sizing: border-box;
	    width: 100%;
	}
	#apply-add {
        box-sizing: border-box;
	    width: 100%;
	}
    #name, #name2, #email, #tel, #add, #kibou_zokugara5_other {
        box-sizing: border-box;
        width: 100%;
    }

	#nationality_other {
        box-sizing: border-box;
	    width: 100%;
	}
    
    table.contact_form th {
        box-sizing: border-box;
        width: 100%;
    }
	
    table.apply_form th {
        box-sizing: border-box;
        width: 100%;
    }
	
	.download_pdf {
		margin: 0 0 1.5em;
	}
    
	.umu {
		font-size:12px;
	}
}

/*================================================
 *  フッター
 ================================================*/
footer {
	clear: both;
}

.copyright {
	clear: both;
	padding: 10px 0;
	font-size: 11px;
	text-align: center;
	color: #99ac81;
	background: #004831;
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
	position: fixed;
	bottom: 15px;
	right: 15px;
}
.totop a {
	display: block;
	text-decoration: none;
}
.totop img {
	width: 60px;
	background: #666;
	border-radius: 5px;
}
.totop img:hover {
	width: 60px;
	background: #555;
	border-radius: 5px;
}

@media screen and (max-width:500px) {
	.totop img {
		width: 50px;
	}
	.totop img:hover {
		width: 50px;
	}
}

/*================================================
 *  クラス
 ================================================*/
.pc {
    display: block;
}

.sp {
    display: none;
}

/* 中央寄せ */
.center {
	text-align: center;
}

.down_arrow img {
	width:100px;
	margin:0 auto 0.5em;
	text-align: center;
}

@media screen and (max-width:768px) {
	.down_arrow img {
		width:80px;
	}
}

@media screen and (max-width:500px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

	.down_arrow img {
		width:70px;
	}
}

/* opens and closes */
.read {
    overflow: hidden;
    position: relative;
    margin-bottom: 20px;
    padding: 0 0 30px;
    height: auto;
}

.read_more {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30px;
    padding-top: 70px;
    text-align: center;
    line-height: 2em;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 70%);
    cursor: pointer;
}

.is-open .read_more {
    background: transparent;
}

.read_more::before {
    color: #555;
    content: '＋続きを読む';
    font-size: 12px;
    display: inline-block;
    position: absolute;
    width: 100%;
    text-align: center;
    bottom: 0;
    left: 0;
}

.is-active .read_more::before {
    content: '－閉じる';
}

/* 500px以上の場合のスタイルを無効にする */
@media screen and (min-width: px) {
    .read {
        overflow: visible;
        position: static;
        margin-bottom: 4em;
        padding: initial;
        height: initial;
    }
}

@media screen and (min-width: 500px){
    .br-sp {display: none; }
}

/* 写真左寄せ */
.imgL {
	clear:both;
	overflow:hidden;
	margin-bottom:50px;
}
.imgL img {
	float:left;
	margin:0 1em 0.5em 0;
}

/* 写真右寄せ */
.imgR {
	clear:both;
	overflow:hidden;
	margin-bottom:50px;
}
.imgR img {
	float:right;
	margin:0 0 1em 0.5em;
}

/* 2カラム（スマートフォンでは1カラム) */
.twoCol {
	overflow:hidden;
	margin-bottom:50px;
}
.twoColInner {
	overflow:hidden;
	margin-right:-2%;
}
.twoColInner div {
	width:48%;
	float:left;
	margin-right:2%;
}
.twoColInner div:nth-child(2n+1) {
	clear:both;
}
.twoColInner img {
	width:100%;
	margin-bottom:0.5em;
	border-radius:5px;
}

.red {
	color:#e50000;
}

.redB {
	font-weight: bold;
	color:#e50000;
}

span.emphasis {
	font-weight: bold;
	color:#ff6e32;
}

/*================================================
 *  タブレット
 ================================================*/
/* スクロールバーを考慮して20px大きいサイズで切り替え */
@media screen and (max-width:1024px) {
	.inner {
		box-sizing:border-box;
		width: 100%;
		padding: 0 10px;
	}
}

@media screen and (max-width:979px) {
    header > .headerInner {
		width: 100%;
    	margin: 0 0 5px;
		padding: 0 10px;
    }

	nav ul {
			width:100%;
	}
	
	h2 {
		margin: 0;
		padding: 14px 10px 12px;
		font-size: 26px;
		border-bottom:6px solid #a0c81e;
	}
	
	header .threeCol {
		margin-bottom: 10px;
		padding: 0;
	}

	#contents {
		width:100%;
		margin: 0;
		padding: 0;
	}

	#topicpath .inner {
		width: 100%;
	}

	footer {
		width: 100%;
	}
}

/*================================================
 *  スマートフォン
 ================================================*/
@media screen and (max-width:767px) {
	.lock {
		position: fixed;
		z-index: -1;
		width: 100%;
		height: 100%;
		top: 0;
		right: 0;
	}
	
	header {
		padding: 10px 0;
	}
	
	h2 {
		margin: 0;
		padding: 12px 10px 10px;
		font-size: 24px;
		border-bottom:5px solid #a0c81e;
	}
	
	header .threeCol {
		margin-bottom: 10px;
	}

	/* メインメニュー */
	nav {
		display:block;
		position:relative;
		width:100%;
	}
	nav h3 {
		cursor:pointer;
		margin-bottom:0;
		color:#fff;
		background:#999;
		border:none;
	}
	nav h3:after {
		position:absolute;
		content:"\0025bc";
		top:3px;
		right:5px;
	}
	nav h3.menuOpen:after {
		position:absolute;
		content:"\0025b2";
		top:3px;
		right:5px;
	}
	nav ul {
		width:100%;
	}

	nav li {
		width:33.33%;
		margin:0;
		padding:0;
		list-style:none;
	}
	nav li:first-child a {
		width:100%;
	}

	nav li a {
		display:block;
		width:100%;
		border-bottom:1px dotted #ddd;
		text-decoration:none;
	}
	
	.slide {
		margin: 10px 0;
	}
}

@media screen and (max-width:500px) {
    header > .headerInner {
		width: 100%;
    	margin: 0;
    }

	.header_left {
		width: 100%;
	}
	
	.header_right {
		width: 100%;
	}
	
	h2 {
		font-size: 22px;
		line-height: 1.4;
	}
	
	header .threeCol {
		margin-bottom: 5px;
	}
	
    .table_sp { margin: 0 0 20px; }
    .table_sp th,
    .table_sp td{
        width: auto;
        display: block;
        border: none;
    }
    .table_sp th {border-top: 1px #ccc solid; border-bottom: 0;}
    .table_sp td {border-top: 1px #ccc solid; border-bottom: 0;}
    .table_sp tr:first-child th {border-top: none;}
}

@media screen and (min-width: 500px){
    .br-sp {display: none; }
}

