@charset "UTF-8";

/*---------- ページ全体の指定 ----------*/

body {
margin:0;
padding:0;
font-size:100%;
color:#111;
background-color:#fff;
font-family: "Noto Sans Japanese";
}


/*---------- リンク設定 ----------*/

a:link {color:#37859a;text-decoration:underline;}
a:visited {color:#37859a;text-decoration:underline;}
a:hover {color:#139eb1;text-decoration:none;}
a{-webkit-transition:0.3s ease-in-out;-moz-transition:0.3s ease-in-out;-o-transition:0.3s ease-in-out;transition:0.3s ease-in-out;}
a img {border-style:none;}
img {vertical-align:bottom;image-rendering:-webkit-optimize-contrast;}
a:hover img{filter:brightness(1.2);}
a img {border-style:none;-webkit-transition:all .3s;transition:all .3s;}


/*---------- ベーステキストの指定 ----------*/

p {
font-size:105%;
line-height:180%;
}
@media screen and (min-width:769px){
p {font-size:18px;letter-spacing:1px;}
}


/*---------- 見出し ----------*/

h1{}
h2{}
h3{}
h4{}


/*---------- PC・スマホの非表示指定 ----------*/

@media screen and (max-width:768px){.spnone{display:none;}}
@media screen and (min-width:769px){.pcnone{display:none;}}



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

header{
width:100%;
height:65px;
margin:0;
padding:0;
position:fixed;
top:0;
left:0;
z-index:9990;
}
.change-color {
background:rgba(255,255,255,0.6);
transition: 0.3s;　
}
.head_box{margin:0 20px;padding:0;}
.logo {margin:0;padding:10px 0 0 0;text-align:center;}
.logo img{width:130px;}

@media screen and (min-width:1025px) {
header{height:80px;}
.head_box {
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.logo {text-align:left;}
.logo img{width:160px;}
}



/*------------------------------ グローバルメニュー ------------------------------*/

header nav {
margin:0;
padding:0;
font-size:90%;
font-weight:bold;
line-height:100%;
}
ul.menu {
margin:0;
padding:0 0 0 15px;
list-style:none;
z-index:9999;
}
ul.menu li {
margin:0;
padding:0;
border-bottom:solid 1px #444;
text-align:left;
}
ul.menu li:last-child {
border-bottom:none;
}
ul.menu li a {
display:block;
margin:0;
padding:14px 15px 12px 0;
color:#fff;
text-decoration:none;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}
ul.menu li a:hover {color:#999;}
ul.menu li:last-child a {
margin:15px 15px 0 0;
padding:15px 15px;
color:#fff;
background:#ff511c;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
text-align:center;
}
ul.menu li:last-child a:hover {
text-decoration:none;
color:#ff511c;
background:#fff;
}

@media screen and (min-width:769px) {
header nav {
padding:27px 0 0 0;
text-align:right;
font-size:16px;
letter-spacing:1px;
}
ul.menu {padding:0;display:flex;}
ul.menu li {position:relative;border-bottom:none;}
ul.menu li a {
padding:5px 15px;
color:#3c3c43;
text-decoration:none;
-webkit-transition:all .3s;
transition:all .3s;
}
ul.menu li a:first-child {padding:5px 0 5px 15px;}
ul.menu li:last-child a {
margin:0 0 0 20px;
padding:3px 15px 5px 15px;
color:#fff;
background:#ff511c;
border:1px solid #ff511c;
}
ul.menu li:last-child a:hover {
text-decoration:none;
color:#ff511c;
background:#fff;
border:1px solid #ff511c;
}
}



/*---------- ハンバーガーメニュー部分 ----------*/

.click {
background:transparent url(img/btn.png) no-repeat 0 0;
background-size:70px 35px; /* 三本線と×の画像のサイズ指定 */
width:35px; /* 三本線と×の画像の表示サイズ指定 */
height:35px; /* 三本線と×の画像の表示サイズ指定 */
display:block;
position:absolute;
top:15px; /* 上からの位置 */
right:10px; /* 右からの位置／leftにすると左側に設置可能 */
cursor:pointer;
z-index:9999;
}
@media screen and (min-width:769px) {
.click {top:22px;}
}
.peke {background-position:-35px 0;}
@media only screen and (max-width:1024px){
.drawr {
display:none;
background-color:rgba(0,0,0,0.8);
position:absolute;
top:0;
right:0; /* leftにすると左側から表示に変更可能 */
width:310px;
padding:45px 0 20px 0;
z-index:9990;
}
}
@media screen and (min-width: 1025px) {.click {display:none;}}
@media screen and (min-width: 1025px) {.peke {}}
@media screen and (min-width: 1025px) {.drawr {}}


/*------------------------------ メインビジュアル部分 ------------------------------*/

.mv{
margin:0;
padding:80px 0 0 0;
text-align:center;
background-image:url("img/bg.jpg") ;
background-position:bottom center;
background-size:cover;
}
.mv_box{
margin:0 20px;
padding:0;
}
.mv_txt{margin:0;padding:0 0 15px 0;}
.mv_txt img{width:100%;}
.mv_pict{margin:0;padding:0;text-align:center;animation: zoomIn 3.0s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;}
.mv_pict img{width:60%;}
@media screen and (min-width:769px) {
.mv{
margin:0;
padding:100px 0 0 0;
text-align:center;
background-image:url("img/bg.jpg") ;
background-position:bottom center;
background-size:cover;
}
.mv_box{
width:1080px;
margin:0 auto;
padding:0;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.mv_txt{width:700px;padding:0;}
.mv_txt img{width:100%;}
.mv_pict{width:380px;margin:0;padding:0;animation: zoomIn 3.0s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;}
.mv_pict img{width:100%;}
}
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}


/*------------------------------ ループスライダー ------------------------------*/

.slider_title{
margin:0;
padding:0;
font-size:140%;
font-weight:900;
line-height:140%;
text-align:center;
}
.slider_caption{
margin:0;
padding:2px 0 15px 0;
font-size:80%;
line-height:150%;
text-align:center;
}
.slider{
margin:0;
padding:0 0 15px 0;
}
.slider_item{
margin:0;
padding:0 5px;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}
.slider_item img{width:100%;}
@media screen and (min-width:769px){
.slider_title{padding:40px 0 0 0;font-size:28px;line-height:150%;}
.slider_caption{font-size:14px;}
.slider_item{padding:0 15px;}
}




/*------------------------------ 共通部分 ------------------------------*/

.category_jpn{
margin:0;
padding:0;
font-size:180%;
font-weight:900;
line-height:150%;
text-align:center;
}
.category_eng{
margin:0 ;
padding:10px 0 20px 0;
font-size:100%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#ff511c;
font-family: 'Roboto Condensed', sans-serif;
}
@media screen and (min-width:769px){
.category_jpn{font-size:48px;}
.category_eng{padding:15px 0 30px 0;font-size:18px;}
}

.device_bg{
margin:0;
padding:40px 0 45px 0;
background:#2e2e2e;
}
.device_title{
margin:0 20px 15px 20px;
padding:0;
text-align:center;
}
.device_title img{width:100%;}
@media screen and (min-width:769px){
.device_bg{padding:60px 0 65px 0;}
.device_title img{width:540px;}
}

/*------------------------------ 動画 ------------------------------*/

#movie{
margin:0;
padding:45px 20px 55px 20px;
background:#fff9f5;
}
.movie_title{
margin:0 auto;
padding:0 0 15px 0;
text-align:center;
}
.movie_title img{width:100%;}
.movie{
margin:0 auto;
padding:0;
}
.video{
margin:0;
padding:0;
position:relative;
width:100%;
padding-top:56.25%;
}
.video iframe{
position:absolute;
top:0;
right:0;
width:100%;
height:100%;
}
@media screen and (min-width:769px){
#movie{padding:90px 0;}
.movie_title{padding:0 0 30px 0;}
.movie_title img{width:768px;}
.movie{width:768px;}
}

/*------------------------------ お悩み ------------------------------*/

#worries{
margin:0;
padding:60px 20px 45px 20px;
}
.worries_box{margin:0 auto;padding:0;}
.worries_pict{margin:0;padding:0 0 10px 0;text-align:center;}
.worries_pict img{width:60%;}
.worries_txt{
margin:0;
padding:0;
}
.worries_item{
margin:30px auto 0 auto;
padding:0;
}
table.check{
width:100%;
border-collapse:collapse;
margin:0;
}
table.check th{
width:30px;
font-size:110%;
line-height:150%;
padding:10px 0 5px 0;
color:#ff511c;
vertical-align:top;
text-align:left;
}
table.check td{
font-size:110%;
line-height:150%;
font-weight:bold;
padding:10px 0 5px 0;
border-bottom:dotted 1px #999;
vertical-align:top;
}
@media screen and (min-width:769px) {
#worries{padding:90px 0;}
.worries_box{
width:1080px;
margin:0 auto;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.worries_pict{width:37%;padding:0;}
.worries_pict img{width:100%;}
.worries_txt{width:58%;}
.worries_item{width:768px;margin:30px auto 0 auto;}
table.check th{width:40px;font-size:20px;}
table.check td{font-size:20px;letter-spacing:1px;}
}


/*------------------------------ 必要性 ------------------------------*/

#necessity{
margin:0 auto;
padding:60px 20px;
background:#fafafa;
}
.necessity_head{
margin:0;
padding:0;
font-size:140%;
line-height:150%;
text-align:center;
color:#ff511c;
}
.necessity_item{
margin:0 auto;
padding:0;
}
@media screen and (min-width:769px) {
#necessity{padding:90px 0;}
.necessity_head{font-size:28px;}
.necessity_item{width:768px;}
}


/*------------------------------ 5つの理由 ------------------------------*/

#reason{
margin:0;
padding:60px 0 30px 0;
background:#fff9f5;
border-top:solid 4px #ff511c;
}
.reason_top{
margin:0;
padding:0 0 45px 0;
text-align:center;
}
.reason_top img{width:100%;}
.reason_number{
margin:0;
padding:5px 0 15px 0;
font-size:100%;
font-weight:bold;
line-height:150%;
text-align:center;
}
.reason_number span{
margin:0;
padding:3px 10px;
color:#fff;
background:#ff511c;
}
.reason_subtitle{
margin:0;
padding:0;
font-size:140%;
font-weight:900;
line-height:150%;
text-align:center;
}
.reason_title{
margin:0 0 15px 0;
padding:0;
font-size:160%;
font-weight:900;
line-height:150%;
text-align:center;
}
.reason_box{
margin:0 20px 45px 20px;
padding:10px 25px;
background:#fff;
border-radius:10px;
border:solid 2px #111;
}
.reason_pict{
margin:0 20px 20px 20px;
padding:0;
text-align:center;
}
.reason_pict img{width:100%;}
@media only screen and (min-width:320px) and (max-width:768px){.reason_picture{display:none;}}
@media screen and (min-width:769px) {
#reason{padding:90px 0 30px 0;}
.reason_top{padding:0 0 75px 0;}
.reason_top img{width:768px;}
.reason_number{font-size:18px;}
.reason_subtitle{font-size:36px;}
.reason_title{margin:0 0 30px 0;font-size:42px;}
.reason_box{
width:768px;
margin:0 auto 90px auto;
padding:40px 120px 45px 120px;
}
.reason_pict {display:none;}
.reason_picture{padding:0 0 15px 0;}
.reason_picture img{width:100%;}
}


/*------------------------------ 実績 ------------------------------*/

#achievement{
margin:0;
padding:60px 20px;
}
.achievement_box{margin:0 auto;padding:0;}
.achievement_item{margin:0 auto;padding:0;}
.achievement_category{
margin:0;
padding:0 0 5px 0;
font-size:120%;
font-weight:bold;
line-height:180%;
border-bottom:solid 1px #111;
}
.achievement_item ul{
margin:0;
padding:5px 0 0 0;
list-style:none;
}
.achievement_item ul li{
margin:0;
padding:10px 0 0 20px;
font-size:100%;
line-height:150%;
position:relative;
}
.achievement_item ul li:before {
 display: block;
content: "・";
position:absolute;
left:0;
}
.space_top{margin:25px 0 0 0;}
.space_youtube{margin:25px 0 0 0;}
@media screen and (min-width:769px) {
#achievement{padding:90px 0;}
.achievement_box{
width:1180px;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.achievement_item{width:46%;}
.achievement_category{font-size:18px;}
.achievement_item ul li{font-size:18px;letter-spacing:1px;}
.space_top{margin:30px 0 0 0;}
.space_youtube{margin:0;}
}


/*------------------------------ サービス ------------------------------*/

#service{
margin:0;
padding:60px 20px 15px 20px;
background:#f2f2f2;
}
.service_box{margin:0;padding:10px 0 0 0;}
.service_item{margin:0 0 45px 0;padding:0;}
.service_pict{margin:0;padding:0;}
.service_pict img{width:100%;}
.service_title{
margin:0;
padding:0 0 15px 0;
font-size:160%;
font-weight:900;
line-height:150%;
text-align:center;
font-family: "Noto Sans Japanese";
}
.service_txt{
margin:0;
padding:15px 0 0 0;
font-size:100%;
line-height:180%;
}
@media screen and (min-width:769px) {
#service{padding:90px 0 45px 0;}
.service_box{
margin:0 2%;
padding:20px 0 0 0;
display:flex;
flex-wrap:wrap;
justify-content:center;
}
.service_item{width:28%;margin:0 2% 60px 2%;}
.service_title{font-size:28px;}
.service_txt{font-size:16px;}
}


/*------------------------------ お客様の声 ------------------------------*/

#voice{
margin:0;
padding:90px 0;
background:#f9f9f9;
}


/*------------------------------ 料金 ------------------------------*/

#price{margin:0;padding:60px 20px 45px 20px;}
.price_area{margin:0 auto;padding:0;}
table.comparison{
width:100%;
border-collapse:separate;
margin:10px 0 0 0;
min-width:300px;
}
table.comparison th{
width:25%;
padding:15px 0;
font-size:80%;
line-height:150%;
background:#dff0f4;
}
table.comparison th.terra_none{background-color:#fff;}
table.comparison th.terra_bg{color:#fff;background:#00a2c5;}
table.comparison td{
padding:15px 5px;
font-size:80%;
line-height:150%;
text-align:center;
border-bottom:solid 1px #ddd;
}
.lefttxt{
margin:0;
padding:0;
font-size:90%;
text-align:left;
}
.smallspace{padding-top:5px;}
table.comparison td.category{
padding:15px;
font-weight:bold;
background:#e6f4f4;
text-align:left;
border-bottom:solid 1px #fff;
}
@media screen and (min-width:240px) and ( max-width:768px) {
.obverse{margin:20px 0;padding:0;overflow-x: scroll;}
}
@media screen and (min-width:769px) {
#price{padding:90px 0;}
.price_area{width:768px;}
.obverse{margin:20px 0;padding:0;}
table.comparison th{font-size:16px;}
table.comparison td{font-size:16px;}
}


/*------------------------------ 流れ ------------------------------*/

#flow{margin:0;padding:60px 20px 45px 20px;}
.flow_area{margin:0 auto;padding:25px 0 15px 0;}
.flow{
margin:0;
padding:0 20px 30px 20px;
border-radius:10px;
border:solid 2px #111;
}
.flow_number{
margin:-22px 0 0 0;
padding:10px 0 15px 0;
font-size:24px;
font-weight:bold;
line-height:100%;
text-align:center;
font-family: 'Roboto Condensed', sans-serif;
}
.flow_number span{
padding:5px 14px;
color:#fff;
background:#ff511c;
border-radius:50%;
}
.flow_title{
margin:0;
padding:5px 0 20px 0;
font-size:160%;
font-weight:900;
line-height:150%;
text-align:center;
font-family: "Noto Sans Japanese";
}
.flow_detail{margin:0;padding:0;}
.flow_pict{
margin:0 0 20px 0;
padding:25px 0;
background:#fff9f5;
border-radius:5px;
text-align:center;
}
.flow_pict img{width:80%;}
.flow_txt{
margin:0;
padding:0;
font-size:100%;
line-height:180%;
}
.flow_space{
margin:15px 0 0 0;
padding:0;
}
.flow_caption{
margin:0;
padding:15px 0 0 0;
font-size:80%;
line-height:180%;
color:#666;
}
.flow_arrow{
margin:20px auto 42px auto;
padding:0;
text-align:center;
width: 0;
height: 0;
border-left:45px solid transparent;
border-right:45px solid transparent;
border-top:25px solid #e2f6f6;
}
@media screen and (min-width:769px) {
#flow{padding:90px 0 110px 0;}
.flow_area{
width:840px;
margin:0 auto;
padding:25px 0 0 0;
}
.flow{padding:0 75px 45px 75px;}
.flow_title{padding:0;font-size:36px;}
.flow_detail{
padding:25px 0 0 0;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.flow_pict{
width:35%;
margin:0;
padding:15px 0;
display:flex;
align-items:center;
}
.flow_pict img{width:100%;}
.flow_txt{width:60%;font-size:18px;letter-spacing:1px;}
.flow_caption{font-size:14px;}
}


/*------------------------------ よくあるご質問 ------------------------------*/

#faq{
margin:0;
padding:45px 20px;
background:#f2f2f2;
}
.faq {
margin:0;
padding:0;
}
.faq dt {
margin:0 0 15px 0;
padding:15px;
font-size:105%;
font-weight:bold;
line-height:160%;
cursor:pointer;
background-color:#fff;
border-radius:5px;
}
.faq dt span{color:#ff511c;}
.faq dt:hover{color:#ff511c;text-decoration:none;}
.faq dd {
margin:-15px 0 0 0;
padding:1px 0 10px 50px;
display:none;
position:relative;
}
.faq dd:after {
position:absolute;
top:15px;
left:15px;
content:"A.";
font-size:24px;
color:#ff511c;
font-family: 'Roboto Condensed', sans-serif;
}
@media screen and (min-width:769px){
#faq{padding:90px 0;}
.faq {width:768px;margin:0 auto;padding:15px 0 0 0;}
.faq p{font-size:16px;}
.faq dt {
margin:0 0 15px 0;
padding:15px 15px 15px 20px;
font-size:18px;
letter-spacing:1px;
}
.faq dd {margin:-15px 0 0 0;padding:1px 0 10px 50px;}
.faq dd:after {top:15px;left:20px;font-size:24px;}
}


/*------------------------------ 会社概要 ------------------------------*/

#company{
margin:0;
padding:60px 20px 45px 20px;
}
.company_txt{margin:0 auto;padding:0;}
.ceo_box{
margin:30px 0 0 0;
padding:45px 0 0 0;
border-top:dashed 1px #ccc;
}
.ceo_photo{
margin:0;
padding:0 0 15px 0;
text-align:center;
}
.ceo_photo img{width:60%;}
.ceo_detail{margin:0;padding:0;}
.ceo_degree{
margin:0;
padding:0;
font-size:90%;
font-weight:bold;
line-height:150%;
text-align:center;
}
.ceo_name{
margin:0;
padding:0;
font-size:160%;
font-weight:900;
line-height:150%;
text-align:center;
}
.ceo_eng{
margin:0;
padding:0;
font-size:80%;
line-height:150%;
color:#999;
text-align:center;
font-family: 'Roboto Condensed', sans-serif;
}
@media screen and (min-width:769px){
#company{padding:90px 0 75px 0;}
.company_txt{width:768px;}
.ceo_box{
margin:45px 0 0 0;
padding:45px 0 30px 0;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.ceo_photo{width:35%;padding:0;}
.ceo_photo img{width:100%;}
.ceo_detail{width:60%;}
.ceo_degree{font-size:16px;line-height:180%;text-align:left;}
.ceo_name{font-size:36px;line-height:180%;text-align:left;}
.ceo_eng{font-size:16px;line-height:180%;text-align:left;}
}


/*------------------------------ 無料相談フォーム ------------------------------*/

#contact{
margin:0;
padding:60px 20px;
background:#f9f9f9;
}
.contact_area{margin:0 auto;padding:0;}
.contact_subtitle{
margin:0;
padding:0;
font-size:100%;
line-height:150%;
text-align:center;
}
.contact_title{
margin:0;
padding:0;
font-size:180%;
font-weight:900;
line-height:150%;
text-align:center;
}
.contact_eng{
margin:0;
padding:10px 0 15px 0;
font-size:100%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#ff511c;
font-family: 'Roboto Condensed', sans-serif;
}
.form_txt{
margin:0;
padding:0;
text-align:center;
}
.form_title{
margin:30px 0 20px 0;
padding:10px 0;
font-size:140%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#fff;
background:#333;
}
table.form {
width:100%;
border-collapse:separate;
margin:0;
}
table.form th {
font-size:100%;
line-height:180%;
padding:10px 0 5px 0;
text-align:left;
border-bottom:solid 1px #e5e5e5;
display:block;
}
table.form td {
font-size:100%;
line-height:180%;
padding:10px 0 10px 0;
display:block;
}
.form_caption{
margin:0;
padding:5px 0 0 0;
font-size:80%;
line-height:160%;
color:#999;
}
.req {
margin:0;
padding:0;
float:right;
text-align:right;
}
.req span {
margin:0;
padding:1px 5px 2px 5px;
font-size:75%;
font-weight:normal;
line-height:100%;
color:#ff511c;
background:#fff;
border:solid 1px #ff511c;
border-radius:2px;
}
input[type="text"], textarea, select, input[type="tel"], input[type="email"], input[type="number"], input[type="password"] {
border:0;
padding:15px 10px;
font-size:100%;
border:solid 1px #eee;
appearance:none;
border-radius:3px;
box-shadow:inset 1px 4px 9px -6px rgba(0, 0, 0, 0.5);
box-sizing:border-box;
font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}
input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, textarea:focus, input[type="number"]:focus {box-shadow:0 0 7px #999;}
input[type="text"], input[type="email"], textarea {width:100%;}
/* Chrome, Safari */ ::-webkit-input-placeholder {color:#999;}
/* Firefox */ ::-moz-placeholder {color:#999;}
/* Firefox 18以前 */ :-moz-placeholder {color:#999;}
/* IE */ :-ms-input-placeholder {color:#999;}
input[type="submit"], input[type="button"], button[type="submit"] {
border-radius:0;
appearance:button;
border:none;
box-sizing:border-box;
cursor:pointer;
transition:all .5s;
border-radius:50px;
color:#fff;
background-color:#ff511c;
font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration, button[type="submit"]::-webkit-search-decoration {
display:none;
}
input[type="submit"]::focus, input[type="button"]::focus, button[type="submit"]::focus {outline-offset:-2px;color:#fff;}
.entry {margin:0;padding:15px 0 0 0;text-align:center;}
.entry a:link {color:#fff;text-decoration:none;}
.entry a:visited {color:#fff;text-decoration:none;}
.entry a:hover {color:#fff;text-decoration:none;}
.button {
width:90%;
margin:0 auto;
padding:25px 0;
font-size:125%;
font-weight:bold;
display:block;
transition:0.3s ease-in-out;
background:#ff511c;
}
.button:hover {
filter:brightness(115%);
transition:0.3s ease-in-out;
}
@media screen and (min-width:769px){
#contact{padding:90px 0;}
.contact_area{width:768px;}
.contact_subtitle{font-size:18px;}
.contact_title{font-size:48px;}
.contact_eng{font-size:18px;}
.form_title{margin:45px 0 20px 0;font-size:21px;}
table.form th {font-size:16px;padding:10px 15px 10px 0;display:table-cell;}
table.form td {font-size:16px;line-height:180%;padding:10px 0 10px 10px;display:table-cell;}
.form_caption{font-size:14px;line-height:180%;}
.req span {font-size:12px;}
.entry {margin:0;padding:45px 0 0 0;text-align:center;}
.button {width:420px;font-size:21px;}
}


/*------------------------------ フローティング ------------------------------*/

.floating {
display:block;
width:100%;
position:fixed;
left:0;
bottom:0;
z-index:9999;
text-align:center;
margin:0;
padding:10px 0;
background:rgba(0,0,0,0.3);
}

.device{
margin:0;
padding:0 30px;
text-align:center;
}
.device a:link {color:#fff;text-decoration:none;}
.device a:visited {color:#fff;text-decoration:none;}
.device a:hover {color:#ff511c;text-decoration:none;}
.btn {
width:100%;
margin:0 auto;
padding:15px 0;
font-size:110%;
font-weight:bold;
display:block;
background:#ff511c;
border:solid 1px #ff511c;
border-radius:10px;
}
.btn:hover {
background:#fff;
-webkit-transition:0.3s ease-in-out;
-moz-transition:0.3s ease-in-out;
-o-transition:0.3s ease-in-out;
transition:0.3s ease-in-out;
}
@media screen and (min-width:769px){
.device{padding:0;}
.btn {width:600px;padding:25px 0;font-size:24px;}
}



/*------------------------------ ページ一番上へ ------------------------------*/

#pagetop {
position:fixed;
bottom:80px;
right:15px;
}
#pagetop i {padding-top:6px}
#pagetop a {
display:block;
z-index:9999;
padding:5px 4px 3px 4px;
border-radius:30px;
width:35px;
height:35px;
background-color:#ccc;
color:#fff;
text-decoration:none;
text-align:center;
}
#pagetop a:hover {
text-decoration:none;
opacity:0.7;
}
@media screen and (min-width:769px){
#pagetop {bottom:107px;right:20px;}
}


/*------------------------------ フッター ------------------------------*/

#footer{
margin:0 0 78px 0;
padding:30px 0;
font-size:80%;
line-height:150%;
text-align:center;
color:#fff;
background:#111;
font-family: 'Roboto Condensed', sans-serif;
}
@media screen and (min-width:769px){
#footer{
margin:0 0 108px 0;
padding:30px 0;
font-size:12px;
}
}



/*---------- 文字装飾 ----------*/

.bold{font-weight:bold;}
.normal{font-weight:normal;}
.ul{text-decoration:underline;}
.red {font-weight:bold;color:#c30d23;}
.org {font-weight:bold;color:#ff511c;}
.through{text-decoration:line-through;}
.ym{font-weight:bold;background:linear-gradient(transparent 60%, #ffe24d 60%);}
.om{font-weight:bold;background:linear-gradient(transparent 60%, #f5c299 60%);}
.caption{font-size:75%;color:#666666;font-weight:normal;line-height:180%;}


/*---------- 文字位置 ----------*/

.center{text-align:center;}
.right{text-align:right;}

