/* /////////////// reset /////////////// */
* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: middle;
	box-sizing: border-box;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 1em;
	font-weight: normal;
}

table {
	border-collapse: separate;
	border-spacing: 0px;
}

ol, ul {
list-style: none;
}

blockquote, q {
quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
abbr {
	border: none;
	text-decoration: none;
}
span.field-description[title] {
	border-bottom: 1px dotted #aaa;
	cursor: help;
}





fieldset,img,abbr,acronym {
    border: 0;
}

ol,ul {
    list-style: none;
}
q:before,q:after {
    content: '';
}
a {
    text-decoration: underline;
    outline: none;
}
hr {
	display: none;
}
a img,:link img,:visited img {
    border: none;
}


.clr {
	clear: both;
}
sup {
font-size: 50%;
vertical-align: top;
position: relative;
top: -0.5em;
}


article p {
	display: inline-block;
}


@media all and (-ms-high-contrast: none) {
	header p,
	article p,
	footer p {
		-ms-transform: rotate(0.1deg);
		-moz-transform: rotate(0.1deg);
		-webkit-transform: rotate(0.1deg);
		transform: rotate(0.1deg);
	}
	header p img,
	article p img,
	footer p img {
		-ms-transform: rotate(-0.1deg);
		-moz-transform: rotate(-0.1deg);
		-webkit-transform: rotate(-0.1deg);
		transform: rotate(-0.1deg);
	}
}

@supports (-ms-ime-align: auto) {
	header p,
	article p,
	footer p {
		-ms-transform: rotate(0.1deg);
		-moz-transform: rotate(0.1deg);
		-webkit-transform: rotate(0.1deg);
		transform: rotate(0.1deg);
	}
	header p img,
	article p img,
	footer p img {
		-ms-transform: rotate(-0.1deg);
		-moz-transform: rotate(-0.1deg);
		-webkit-transform: rotate(-0.1deg);
		transform: rotate(-0.1deg);
	}
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	header p,
	article p,
	footer p {
		-ms-transform: rotate(0.1deg);
		-moz-transform: rotate(0.1deg);
		-webkit-transform: rotate(0.1deg);
		transform: rotate(0.1deg);
	}
	header p img,
	article p img,
	footer p img {
		-ms-transform: rotate(-0.1deg);
		-moz-transform: rotate(-0.1deg);
		-webkit-transform: rotate(-0.1deg);
		transform: rotate(-0.1deg);
	}
}




img.photo-over:hover {
	opacity:0.6;
}

img.photo-scale {
	transition: all 0.5s;
	opacity:1.0;
	transform: scale(1.0,1.0);
}
img.photo-scale:hover {
	opacity:0.8;
	transform: scale(1.1,1.1);
}
.t-center {
	text-align: center;
}
.t-right {
  text-align: right;
}




/* リンクボタン */

.wrap {
  /* height: 45px; */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.wrap p {
	display: inline-block;
	margin: 0px !important;
	padding: 0px !important;
}
.t-center .wrap {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
a.link-button,
input.submit_button {
	/* width: 180px;
	height: 45px; */
	font-size: 14px;
	letter-spacing: 0.1em;
	color: #fff !important;
	background: linear-gradient(135deg, #33CCFF, #0099CC);
	border: none;
	border-radius: 45px;
	box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease 0s;
	cursor: pointer;
	outline: none;
	text-align: center;
	padding: 10px 50px;
	margin: 0px auto;
	display: table;
}

a.link-button {
	background: linear-gradient(135deg, #B79E80, #786956);
}

a.link-button:hover {
	background: linear-gradient(135deg, #ccffff, #5bf6ee);
	box-shadow: 0px 13px 20px rgba(46, 229, 157, 0.4);
	color: #0066cc !important;
	transform: translateY(-4px);
	text-decoration: none;
}
input.submit_button:hover,
input.submit_button.submit_back:hover {
	background: linear-gradient(135deg, #ccffff, #5bf6ee);
	box-shadow: 0px 13px 20px rgba(46, 229, 157, 0.4);
	color: #0066cc !important;
	transform: translateY(-4px);
	text-decoration: none;
}
















/* インプット要素 */
textarea,
input[type="number"],
input[type="text"],
select {
	width: 100%;
	padding: 8px 10px;
	font-size: 100%;
	border: 1px solid #ccc;
	line-height: 1.5em;
}
.select {
	border: 1px solid #ccc;
}


textarea.wauto,
input[type="number"].wauto,
input[type="text"].wauto,
select.wauto {
	width: auto;
}
textarea.width80,
input[type="number"].width80,
input[type="text"].width80,
select.width80 {
	width: 80%;
}

.select {
	border: 1px solid #ccc;
}



/* フォーカス時の色変更 */
textarea:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="text"]:focus {
    border: 1px solid #333;
}


input.submit_button {
	background: linear-gradient(135deg, #b7e5ff, #1c8dd8);
	font-size: 15px;
	letter-spacing: 0.05em;
	border-radius: 50px;
	padding: 12px 35px;
	/* margin: 0px 2px; */
}

input.submit_button.submit_back {
	background: linear-gradient(135deg, #b7e5ff, #666666);
}



/* ラジオボタン */

/*Radio Check*/
label.radio, label.radio_text, label.checkbox, label.checkbox_text {
	position      : relative;
	cursor        : pointer;
	display       : inline-block;
	overflow      : hidden;
	box-sizing    : border-box;
}
label.radio {
	width         : 26px;
	height        : 26px;
	border        : 1px solid #4e4e4e;
	border-radius : 100%;
}
label.radio_text {
	min-height   : calc(26px + 5px);
	margin-right : calc(26px + 5px);
	padding-left : calc(26px + 5px);
	line-height  : calc(26px + 5px);
}
label.checkbox {
	width      : 26px;
	height     : 26px;
	border     : 1px solid #B3B3B3;
	background : #fff;
}
label.checkbox_text {
	padding-left : calc(26px + 5px);
	line-height  : 26px;
	margin-right : 12px;
}
/** before after **/
label.radio:before, label.radio_text:before, label.checkbox_text:before,
label.checkbox:after, label.radio_text:after, label.checkbox_text:after{
	content  : '';
	position : absolute;
	box-sizing : border-box;
}
label.radio:before, label.radio_text:before{
	border-radius    : 100%;
}
label.radio:before, label.checkbox:after{
	top              : 0px;
	bottom           : 0px;
	left             : 0px;
	right            : 0px;
	margin           : auto;
}
label.checkbox:after, label.checkbox_text:after{
	transform         : rotate(45deg);
	-webkit-transform : rotate(45deg);
	-moz-transform    : rotate(45deg);
	border-right      : 3px solid #2d7cdd;
	border-bottom     : 3px solid #2d7cdd;
	top               : calc(50% - (((18px / 12 ) * 5) / 2));
	display           : block;
	margin-top        : calc(((18px / 12 ) * 5) * -1);
	width             : calc(((18px / 12 ) * 5));
	height            : 18px;
	z-index           : 1;
}
label.radio_text:before, label.radio_text:after{
	top              : 0px;
	bottom           : 0px;
	margin-top       : auto;
	margin-bottom    : auto;
}
label.radio:before {
	display          : block;
	width            : 14px;
	height           : 14px;
	z-index          : 1;
	background-color : #1c85c9; 
}
label.radio_text:before {
	width         : 26px;
	height        : 26px;
	border        : 1px solid #4e4e4e;
	left          : 0px;
	z-index       : 3;
}
label.checkbox_text:before {
	width    : 26px;
	height   : 26px;
	left     : 0px;
	top      : 0;
	border   : 1px solid #B3B3B3;
	z-index  : 3;
	box-sizing: border-box;
}
label.radio_text:after {
	width            : 14px;
	height           : 14px;
	border-radius    : 100%;
	left             : calc(((26px/2) - (14px) / 2));
	background-color : #1c85c9;
	z-index          : 1;
}
label.checkbox_text:after {
	left : calc((26px / 2) - (((18px / 12 ) * 5) / 2));
}
/** input **/
label.radio input[type="radio"], label.radio_text input[type="radio"], label.checkbox input[type="checkbox"], label.checkbox_text input[type="checkbox"]{
	-moz-appearance: none;
	-webkit-appearance: none;
	position   : absolute;
	z-index    : 2;
	margin     : 0px;
	width      : 26px;
	height     : 26px;
	box-sizing    : border-box;
	outline       : none;
}
label.radio input[type="radio"], label.radio_text input[type="radio"]{
	left       : calc(26px * -1);
	width      : 26px;
	height     : 26px;
	top           : 0px;
	bottom        : 0px;
	margin-top    : auto;
	margin-bottom : auto;
	border-radius : 100%;
}
label.checkbox input[type="checkbox"], label.checkbox_text input[type="checkbox"]{
	left       : calc(26px * -1);
	padding    : 0;
}
label.radio input[type="radio"] {
	display    : block;
	box-shadow : 26px 0px #FFF;
}
label.radio_text input[type="radio"] {
	box-shadow : 26px 0px #FFF;
}
label.checkbox input[type="checkbox"] {
	box-shadow : 26px 0px #FFF;
}
label.checkbox_text input[type="checkbox"] {
	display    : block;
	box-shadow : 26px 0px #FFF;
}
/** checked forcus */
label.checkbox_text input[type="checkbox"]:checked,
label.checkbox input[type="checkbox"]:checked,
label.radio_text input[type="radio"]:checked,
label.radio input[type="radio"]:checked{
	box-shadow : none;
}
label.checkbox_text input[type="checkbox"]:checked:focus,
label.checkbox input[type="checkbox"]:checked:focus{
	opacity: 0.1;
}
label.radio_text input[type="radio"]:focus,
label.radio input[type="radio"]:focus{
	opacity: 0.2;
}

label.checkbox_text input[type="checkbox"]:checked:focus {
	box-shadow : 26px 0px #666;
}
label.checkbox_text input[type="checkbox"]:focus {
	box-shadow : 26px 0px #EEE;
}
label.checkbox input[type="checkbox"]:checked:focus {
	box-shadow : 26px 0px #666;
}
label.checkbox input[type="checkbox"]:focus {
	box-shadow : 26px 0px #EEE;
}
label.radio_text input[type="radio"]:focus {
	box-shadow : 26px 0px #FFF;
}
label.radio input[type="radio"]:focus {
	box-shadow : 26px 0px #FFF;
}



.grecaptcha-badge {
	bottom: 60px !important;
}



@media print, screen and (min-width: 768px) {
input.submit_button {
	font-size: 16px;
	letter-spacing: 0.05em;
	border-radius: 55px;
	padding: 15px 50px;
}

.grecaptcha-badge {
	bottom: 80px !important;
}

}


@media print, screen and (min-width: 1024px) {

}


@media print, screen and (min-width: 1400px) {


}




/* Utilities ----------------------------------------------------------------- */
#scroll-arrow {
	background: rgba(0,0,0, 0.6);
	position: fixed;
	left: calc(50% - 40px);
	top: calc(100% - 80px);
	z-index: 1000;
	text-align: center;
	height: 80px;
	width: 80px;
}
#scroll-arrow a {
	z-index: 1001;
	display: inline-block;
	color: #fff !important;
	letter-spacing: .1em;
	text-decoration: none;
	transition: opacity 0.3s;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/* text-shadow: 0px 6px 8px rgba(0,0,0,0.9); */
	text-shadow: 0px 0px 10px rgba(0,0,0, 1.0), 0px 0px 20px rgba(0,0,0, 1.0);
	cursor: default;
	margin: 50px auto 0px;
	padding 0px;
	position: relative;
	width: 80px;
}

#scroll-arrow a span {
	position: absolute;
	z-index: 1002;
	width: 50px;
	height: 50px;

	animation: sdb05 1.5s infinite;
	box-sizing: border-box;
	background: url(../imgs/arrow_d.png)no-repeat center center;
	background-size: cover;
	top: -60px;
	left: 15px;
}
#scroll-arrow a:hover {
	text-decoration: none;
}


@keyframes sdb05 {
  0% {
    top: -60px;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: -40px;
    opacity: 0;
  }
}





/* page-top */
#page-top {
	position: fixed;
	bottom: -100px;
	right: 10px;
	font-size: 77%;
	z-index: 100;
}
#page-top a {
	background: #000;
	text-decoration: none;
	color: #fff;
	width: 40px;
	height: 40px;
	text-align: center;
	display: block;
	border-radius: 40px;
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
	box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
	opacity: 0.6;
	text-indent: -9999px;
	transition: all 0.5s;
}
#page-top a:hover {
	text-decoration: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
	opacity: 1.0;
	background: #60d3f2;
	box-shadow: 0px 5px 12px 1px rgba(0, 0, 0, 0.3);
}
#page-top a:after {
	content: '';
	width: 19px;
	height: 19px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 14px;
	left: 10px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
}






@media print, screen and (min-width: 768px) {

}


@media print, screen and (min-width: 1024px) {
#scroll-arrow {
	display: block;
}
.scrolldown a {
	top: 54%;
	left: 49%;
}


#page-top {
	position: fixed;
	bottom: -100px;
	right: 20px;
	font-size: 77%;
	z-index: 1000;
}
#page-top a {
	background: #000;
	text-decoration: none;
	color: #fff;
	width: 60px;
	height: 60px;
	text-align: center;
	display: block;
	border-radius: 60px;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
	box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
	opacity: 0.6;
	text-indent: -9999px;
	transition: all 0.5s;
}
#page-top a:hover {
	text-decoration: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
	opacity: 1.0;
	background: #60d3f2;
	box-shadow: 0px 5px 12px 1px rgba(0, 0, 0, 0.3);
}
#page-top a:after {
	content: '';
	width: 28px;
	height: 28px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 20px;
	left: 15px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
}
}


@media print, screen and (min-width: 1200px) {
.scrolldown a {
	top: 90%;
	left: 49%;
}
}


@media print, screen and (min-width: 1400px) {

}







a.button01,
.point-more {
	display: inline-block;
	padding: 0.8em 2em;
	text-decoration: none;
	position: relative;
	z-index: 3;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	background: #000;
	color: #fff !important;
	font-size: 110%;
	line-height: 1.1em;
	font-weight: bold;
	cursor:pointer;
	border: 1px solid #aaa;
}
a.button01:hover {
	color: #000 !important;
	text-decoration: none !important;
}
a.button01::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scale(0.5);
	transform: scale(0.5);
	border: 1px solid #000;
}
a.button01:hover::after {
	box-sizing: border-box;
	background: #eee;
	opacity: 0.9;
  -webkit-transform: scale(1);
  transform: scale(1);
	-webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.point-more.active {
	background: rgba(245, 245, 245, 1.0);
	color: #000 !important;
	border: 1px solid #aaa;
}



.respab10 {
	padding-bottom: 6px !important;
}
.respab20 {
	padding-bottom: 15px !important;
}
.font80 {
	font-size: 80%;
}

@media print, screen and (min-width: 768px) {
.respab10 {
	padding-bottom: 8px !important;
}
.respab20 {
	padding-bottom: 18px !important;
}

}


@media print, screen and (min-width: 1024px) {
.respab10 {
	padding-bottom: 10px !important;
}
.respab20 {
	padding-bottom: 20px !important;
}

}


@media print, screen and (min-width: 1400px) {
.respab10 {
	padding-bottom: 12px !important;
}
.respab20 {
	padding-bottom: 24px !important;
}

}



@media print{
.print-off {
    display: none;
}
body #print img {
  height: auto !important;
	width: 100% !important;
}
}