@charset "utf-8";



*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}


/*-----------------------------------------------------
	reset
-----------------------------------------------------*/
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video,section,main {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}



body {
	line-height: 1;
	word-wrap:break-word;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

:root {
    --root-font-size: 16;
}

p {
  font-size: calc( 16 / var(--root-font-size) * 1rem );
}

/* ----------------------------------------------------------------------
SP first
---------------------------------------------------------------------- */
	
.SPnone{display:none;}
.PCnone{display:block;}

body {
  position:relative;
  padding:0;
  margin: 0;
  font-family: sans-serif;
  color:#333;
  line-height:1.4;
}


img{
	max-width:100%;
}

.responsive-img{
	width:100%;
}
	
img{
	vertical-align: bottom;
}

.img-right{
width:30%;
float:right;
margin-left:20px;
}

img.flt_r{
float:none;
margin-left:auto;
margin-right:auto;
margin-bottom:10px;
display: block;
}

.img-center{
	text-align:center;
	 display: block;
 margin-left: auto;
 margin-right: auto;;
}


p{margin: 0 0 30px 0;}

strong{font-weight:bold;}

h1{
}

h2{
}

h3{

}
h4{
	
}

hr{
border: 0;
    height: 1px;
	background:#fff;
	margin:60px 40px;
}



/*-----------------------------------------------------
	フォーム
-----------------------------------------------------*/
p.required{margin:20px 0 10px;}

input[type="text"],
input[type="email"],
input[type="checkbox"],
input[type="radio"],
input[type="password"],
input[type="url"],
input[type="tel"],
textarea,
select{
     font-family:sans-serif;
     }

input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="tel"],
textarea,
select{
    margin:3px 5px 3px 0;
    padding:2px;
    background:#fff;
     background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 100%);
     background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,1)), color-stop(100%, rgba(238,238,238,1)));
     background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 100%);
     background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 100%);
     background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 100%);
     background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 100%);
     filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0 );    background: -moz-linear-gradient(top, #fff, #eee);
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));

    border:1px solid #aaa;
    box-shadow:2px 2px  0 #efefef,/*右下*/
                   2px -2px 0 #efefef,/*右上*/
                   -2px -2px 0 #efefef,/*左上*/
                   -2px 2px 0 #efefef,/*左下*/
                   1px 1px 1px #ccc inset;
     -moz-border-radius: 3px;
     -webkit-border-radius: 3px;
     border-radius: 3px;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus{
     background:#fff6cd;
     background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,246,205,1) 100%);
     background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,1)), color-stop(100%, rgba(255,246,205,1)));
     background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,246,205,1) 100%);
     background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,246,205,1) 100%);
     background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,246,205,1) 100%);
     background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,246,205,1) 100%);
     filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fff6cd', GradientType=0 );    background: -moz-linear-gradient(top, #fff, #fff6cd);
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff6cd));

    border:1px solid #ca924a;
    box-shadow:2px 2px  0 #fcdf91,/*右下*/
                   2px -2px 0 #fcdf91,/*右上*/
                   -2px -2px 0 #fcdf91f,/*左上*/
                   -2px 2px 0 #fcdf91,/*左下*/
                   1px 1px 1px #ccc inset;
     -moz-border-radius: 3px;
     -webkit-border-radius: 3px;
     border-radius: 3px;
}



input[type="checkbox"],
input[type="radio"]{
     margin:3px 5px 3px 0;
     padding:2px;
     -moz-border-radius: 3px;
     -webkit-border-radius: 3px;
     border-radius: 3px;
}

select{padding:2px;margin:3px 5px 3px 0;}

input[type="checkbox"]{margin-right:5px;}

input[type="submit"]{
     box-shadow:none;
     box-shadow:1px 1px 3px #666,
                    1px 1px 0 #6bd356 inset;
     background:#17940e;
    background: -moz-linear-gradient(top, #2db712, #17940e);
    background: -webkit-gradient(linear, left top, left bottom, from(#2db712), to(#17940e));
    border:1px solid #0f7e07;
    color:#fff;
    font-weight:bold;
    padding:8px 30px;
     font-size:18px;
    text-shadow:1px 1px 0 #0f7e07;
     cursor:pointer;
     -moz-border-radius: 3px;
     -webkit-border-radius: 3px;
     border-radius: 3px;
     margin:20px;
     font-family:sans-serif;
     }
input[type="submit"]:hover{
     background:#2db712;
    background: -moz-linear-gradient(top, #17940e, #2db712);
    background: -webkit-gradient(linear, left top, left bottom, from(#17940e), to(#2db712));
     box-shadow:1px 1px 3px #666,
                    -1px -1px 0 #6bd356 inset;
     position:relative;
    text-shadow:-1px -1px 0 #0f7e07;
     }

input,textarea{
     line-height:1.6;
}
input[type="checkbox"]{
     margin:0;
     padding: 0;
     }




/* ---------------------------------------------------------
floatクリア
--------------------------------------------------------- */

span.clear {
     height: 1px;
     margin: 0;
     padding: 0;
     font-size: 1px;
     line-height: 1px;
     display: block;
     clear: both;
}
.clear {
     height: 1px;
     margin: 0;
     padding: 0;
     font-size: 1px;
     line-height: 1px;
     display: block;
     clear: both;
}

.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

/*---------------------------------
               font
---------------------------------*/
.fnt10{font-size:1rem;}
.fnt11{font-size:1.1rem;}
.fnt12{font-size:1.2rem;}
.fnt14{font-size:1.4rem;}
.fnt16{font-size:1.6rem;}
.fnt18{font-size:1.8rem;}
.fnt20{font-size:2.0rem;}
.fnt22{font-size:2.2rem;}
.fnt24{font-size:2.4rem;}
.fnt26{font-size:2.6rem;}
.fnt28{font-size:2.8rem;}
.fnt30{font-size:3.0rem;}
.fnt32{font-size:3.2rem;}
.fnt34{font-size:3.4rem;}
.fnt36{font-size:3.6rem;}

.fbig{font-size:2.6rem;line-height:1.4;font-weight:bold;}

.bold{font-weight:bold;}
.under{border-bottom:1px solid;}
.italic{font-style:italic;}
.mark{background:#ffff00;}

.sukima{line-height:0}
.hissu{font-size:10px;font-weight:normal;color:#ff0000}



.kome{padding-left:1em;text-indent:-1em;}

	


/*画像マウスオーバー*/

a img { transition: 0.5s;}
a img:hover {opacity: 0.6;transition: 0.5s;}


a{ transition: 0.5s; color:#0033ff;}
a:hover {opacity: 0.6;transition: 0.5s;}

/*---------------------------------
               color
---------------------------------*/
.red2{color:#e32a17;}
.red{color:#cc0000;}
.orange{color:#ff9900;}
.orange2{color:#ff3300;}
.white{color:#fff;}
.gray{color:#999;}
.green{color:#009966;}
.blue{color:#102c75;}
.pink{color:#ff5b9d;}
.yellow{color:#FFF600;}


.bg_gray{background:#eee;}
.bg_baige{background:#f4f0e4;}
.bg_pink{background:#ffdfdf}
.bg_white{background:#fff}
.bg_black{background:#000;}

/*---------------------------------
               align
---------------------------------*/
.text_right{text-align:right;}
.text_left{text-align:left;}
.text_center{text-align:center;}

/*---------------------------------
               float
---------------------------------*/
.flt_r{float:right;}
.flt_l{float:left;}

img.flt_r{
float:right;
	margin-left:10px;
	margin-bottom:10px;
}

img.flt_l{
float:left;
	margin-right:10px;
	margin-bottom:10px;
}


/*----------------------------------
               margin
----------------------------------*/
.mt0{margin-top:0px}
.mt5{margin-top:5px}
.mt10{margin-top:10px}
.mt15{margin-top:15px}
.mt20{margin-top:20px}
.mt30{margin-top:30px}
.mt40{margin-top:40px}
.mt50{margin-top:50px}

.mb0{margin-bottom:0px}
.mb5{margin-bottom:5px}
.mb10{margin-bottom:10px}
.mb15{margin-bottom:15px}
.mb20{margin-bottom:20px}
.mb30{margin-bottom:30px}
.mb40{margin-bottom:40px}
.mb50{margin-bottom:50px}

.mr0{margin-right:0px !important;}
.mr5{margin-right:5px}
.mr10{margin-right:10px}
.mr15{margin-right:15px}
.mr20{margin-right:20px}
.mr30{margin-right:30px}
.mr40{margin-right:40px}
.mr50{margin-right:50px}

.ml0{margin-left:0px}
.ml5{margin-left:5px}
.ml10{margin-left:10px}
.ml15{margin-left:15px}
.ml20{margin-left:20px}
.ml30{margin-left:30px}
.ml40{margin-left:40px}
.ml50{margin-left:50px}

.pd10{padding:10px;}
.pd20{padding:20px;}
.pd30{padding:30px;}
.pb10{padding-bottom:10px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}
.pt10{padding-top:10px;}
.pt20{padding-top:20px;}
.pt30{padding-top:30px;}
.pl10{padding-left:10px;}
.pl20{padding-left:20px;}



/* ----------------------------------------------------------------------

 Youtubeやvimeoをレスポンシブ対応に

---------------------------------------------------------------------- */
.movie {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 10px;
	width:80%;
    height: 0;
    overflow: hidden;
	margin:0 auto 30px;
}
 
.movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


	
/* ----------------------------------------------------------------------
 PC setting
---------------------------------------------------------------------- */

@media only screen and (min-width: 768px) {
.SPnone{display:block;}
.PCnone{display:none;}

.img-right{
float:right;
margin-left:10px;
}

.responsive-img{
	width:auto;
	max-width:100%;
}

}
