﻿@charset "utf-8";

/* TOP CSS */

/* --------------------------------------

Base settings

---------------------------------------*/
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html
{
    width: 100%;
    position: relative;
    /* overflow-x: hidden; */
}

body{
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W6", "HIragino Kaku Gothic Pro W6", "HIragino Kaku Gothic Pro",メイリオ, Meiryo ,sans-serif;
	text-align:left;
	color:#313131;
	font-size:16px;
	line-height:1.8;
	position:relative;
	width:100%;
	overflow-x:hidden;
	padding-top:163px;
}


.pc-hyde,#toggle{display:none;}
.line0{line-height:0;}
::selection{background:#ffd6d6;}
.mustcenter{ margin:0 auto!important;}
.bg-bk{	background:#282828;}
.bg-gray{	background:#f4f4f4;}
.bg-dark{	background:#ccc;}
.bg-darkgray{	background:#7F7F7F;}
.bg-pink{	background:#FFD1D2;}
.bg-blue{	background:#DEEBF7;}
.bg-green{	background:#E2F0D9;}
.bg-yellow{background:#fffde4;}
.bg-beige{ background: #efede8;}
.bg-grad{	background:linear-gradient(to right, #b92623 0%, #e52925 100%)!important; color:#fff;background:-ms-linear-gradient(left, #b92623, #e52925);}
.txtgrad
{
    color: #b92623;
	display:inline-block;
	background: linear-gradient(to right, #b92623 0%, #e52925 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
    background:-ms-linear-gradient(left, #b92623, #e52925);
}
.ie .txtgrad{ background: none;}

.fa-file-pdf-o{ font-size:20px!important; vertical-align:middle; margin-top:-4px; margin-left:6px; color:#d82824;}
@import url('file:///C:\Users\hp\Documents\www\css\sp-layout.css');

/*-------- headline --------*/


h2
{
	font-size:30px;
	line-height:1.5;
	padding-bottom:20px;
	border-bottom: 3px solid #b92623!important;
    margin-bottom: 30px;
	position:relative;
}

h3,h4
{
	font-size:24px;
	line-height:1.5;
	margin-bottom:24px;
	position:relative;
}

.arrowttl
{
	border:none;
	border-bottom: 1px solid #b92623!important;
	position:relative;
	padding:50px 0;
	background:#fff;
    text-align: center;
}
.arrowttl:after
{
	content:"";
	display:block;
	position:absolute;
	margin:0 auto;
	left:0;
	right:0;
	bottom:-10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 7.5px 0 7.5px;
	border-color: #b92523 transparent transparent transparent;
}

.labelttl
{
	border:none;
	background:#f4f4f4;
	border-left:3px solid #d82824;
	padding:20px;
	margin-bottom:30px;
}


.borderttl
{
	border:none;
	border-left:3px solid #d82824;
	padding:2px 16px;
}

.numttl
{
	border:none;
	position:relative;
	margin-bottom:16px;
	font-size:22px;
}

.numttl span.num
{
	display:inline-block;
	color:#fff;
	font-family:Arial, Helvetica, sans-serif;
	padding:0 4px;
	margin-right:10px;
	background:#d82824;
	letter-spacing:-1px;
}

.highlighted-item {
	font-weight: bold;
	color: #333;
	background-color: #f0f8ff;
	padding: 10px;
	margin: 10px 0;
	border-left: 5px solid #d82824;
}


/*-------- box --------*/

.wrapper
{
	 max-width:1000px;
    width: 92%;
    margin: 0 auto;
	position:relative;
}

.box
{
	padding-top:60px;
	padding-bottom:60px;
}

.borderbox
{
	padding-bottom:30px;
	margin-bottom:30px;
	border-bottom:1px dashed #ddd;
}


.shadow
{
	box-shadow: 0px 0px 14px #eee;
	border:solid 1px #eee;
	background:#fff;
}

.shadow:hover
{
	background:#fff;
}

.vmiddle
{
	position:absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	z-index:99;
}

.flexbox
{	
	-webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
  
}

.flexbox.start
{
	-webkit-box-pack: start;
     -ms-flex-pack: start;
   justify-content: flex-start;
}

.flexbox.new
{
	-webkit-box-pack: start;
     -ms-flex-pack: start;
   justify-content: flex-start;
}


/* tablebox */

.tablebox
{
	display:table;
}


.tablebox .item
{
	display:table-cell;
	vertical-align:middle;
}


/* flowbox */

.flowbox .item
{
	background:#f4f4f4;
	border-radius: 5px;        /* CSS3草案 */  
    -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 5px;   /* Firefox用 */
	padding:24px;
	position:relative;
}

.flowbox .item:after
{
	content:"";
	position:absolute;
	display:block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7.5px 0 7.5px 10px;
	border-color: transparent transparent transparent #b92523;
	right:-5%;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	z-index:99;
}

.flowbox .item:last-of-type:after
{
	display:none;
}


/* cautionbox */

.cautionbox h3
{
	background:#ffe157;
	padding:10px 30px;
	font-size:20px;
	margin-bottom:0;
}

.cautionbox h3 .fa
{
	font-size:30px;
	vertical-align:middle;
	margin-right:8px;
	margin-top:-4px;
}

.cautionbox .detail
{
	padding:27px;
	background:#fffde4;
	border-right:6px solid #ffe157;
	border-bottom:6px solid #ffe157;
	border-left:6px solid #ffe157;
}

/* yellowbox */

.yellowbox
{
	padding:50px;
	background:#fffde4;
	border:6px solid #ffe157;
	position:relative;
	z-index:0;
}

.yellowbox h2
{
	font-size:24px;
	text-align:center;
	border:none;
	padding-bottom:0;
	margin-bottom:0;
}

.yellowbox .fa
{
	font-size:24px;
	margin-right:10px;
}

/* item */

.flexbox.balance .item{flex:1;}

.col2 > .item{	width:48.5%; }
.col3 > .item{	width:32%; }
.col4 > .item{	width:24%; }


.flexbox.start.col3 .item{	margin-right:.6%;margin-left:.6%;}
.flexbox.start.col4 .item{	margin-right:1.3%;}

.flexbox.start .item:last-of-type{ margin-right:0;}

.flexbox.new.col2 .item{	margin-right:.6%;margin-left:.6%;}
/*-------- btn --------*/

.btn
{
	display:block;
	width:100%;
	font-size:16px;
	text-align:center;
	background:#f4f4f4;
	position:relative;
	padding:6px 0;
}

.btn:after
{
	content:"";
	display:block;
	width:10px;
	height:15px;
	background:url(../img/ico/arrow-r.svg) no-repeat center center;
	background-size:contain;
	position:absolute;
	top: 50%;
	right:4%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	z-index:99;
}

.bg-grad .btn
{
	border:#fff solid 1px!important;
	color:#fff!important;
	background:none!important;
}

.bg-grad .btn:after
{
	content:""!important;
	background:url(../img/ico/arrow-r-white.svg) no-repeat center center!important;
	background-size:contain!important;
}


/* big */

.btn.big
{
	color:#b92623;
	border:1px solid #b92623;
	background:none;
	padding:12px 0;
	font-size:18px;
	max-width:500px;
	margin:0 auto;
}

.btn.big:after
{
	content:"";
	background:url(../img/ico/arrow-r-red.svg) no-repeat center center;
	background-size:contain;
}


/* anchor */

.anchor
{
	margin-bottom:60px;
}

.anchor .btn
{
	color:#b92623;
	background:none;
	padding:16px 0;
	border:1px solid #b92623;
}

.anchor .btn:after
{
	right:0;
	left:0;
	top:auto;
	-webkit-transform: none;
	transform: none;
	bottom:6px;
	margin:0 auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 4.5px 0 4.5px;
	border-color: #b92523 transparent transparent transparent;
}

/* conv */

.btn.conv
{
	background:linear-gradient(to right, #b92623 0%, #e52925 100%);
    background:-ms-linear-gradient(left, #b92623, #e52925);
	color:#fff;
	font-size:18px;
	padding:16px 0;
}

.btn.conv:before
{
	content:"";
	position:absolute;
	display:block;
	width:100%;
	height:100%;
	background:url(../img/ico/dot.gif);
	bottom:-5px;
	right:-5px;
	z-index:-1;
}

.btn.conv:hover:before
{
	opacity:0;}

.btn.conv:after
{
	content:"";
	background:url(../img/ico/arrow-r-white.svg) no-repeat center center;
	background-size:contain;
}

.btn.convblue
{
    width:90%;
	background:linear-gradient(to right, #4ea9de 0%, #65b3e0 100%);
    background:-ms-linear-gradient(left, #4ea9de, #65b3e0);
    color:#fff;
	font-size:18px;
    margin:5% 5%;
}
.btn.convblue:hover:before
{
	opacity:0;}

.btn.convblue:after
{
	content:"";
	background:url(../img/ico/arrow-r-white.svg) no-repeat center center;
	background-size:contain;
}

.btn.conv.finish
{
	background:linear-gradient(to right, #796d6d 0%, #998a8a 100%);
    background:-ms-linear-gradient(left, #796d6d, #998a8a);
	color:#fff;
	font-size:18px;
	padding:16px 0;
}


/* news btn */

.btn.prev,
.btn.center,
.btn.next
{
	width:50%;
	display:inline-block;
}

.btn.prev:after
{
	content:"";
	display:block;
	width:10px;
	height:15px;
	background:url(../img/ico/arrow-r.svg) no-repeat center center;
	background-size:contain;
	position:absolute;
	top: 50%;
	left:4%;
	right:auto;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	z-index:99;
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	margin-top:-8px;
}

.btntop {
    width: 70px;
    height: 70px;
    line-height: 70px;
    text-align: center;
    position: fixed;
    display: block;
    background: #fff;
    border-radius: 500px;
    -webkit-border-radius: 500px;
    -moz-border-radius: 500px;
    right: 50px;
    bottom: 50px;
    filter: drop-shadow(3px 3px 4px rgba(0,0,0,.2));
    z-index: 99;
}




/*-------- list --------*/

ul.border
{
	border-top:1px dashed #ddd;
}

ul.border li
{
	border-bottom:1px dashed #ddd;
}

ul.border li a
{
	padding:10px 0;
	display:inline-block;
}



/*-------- img --------*/


img{max-width:100%; height:auto;}

.thumbnail
{
	line-height:0;
	overflow:hidden;
	position:relative;
}

a .thumbnail:hover img
{
//  -webkit-transform: rotate(8deg) scale(1.4);
//  transform: rotate(8deg) scale(1.4);
}

a .thumbnail img
{
	width:100%;
	height:auto;
	 -webkit-transform: rotate(0) scale(1);
  transform: rotate(0) scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}

.thumbbox .thumbnail
{
	width:28%;
}

.thumbbox .thumbnail img
{
	object-fit: cover;
	font-family: 'object-fit: cover;';
	width:130%;
	height:130%;
	position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.thumbbox .thumbnail.dracad img
{
  -webkit-transform: translate(-60%, -50%);
  transform: translate(-60%, -50%);
  max-width: 150%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.thumbbox .detail
{
	padding:0;
	width:68%;
}

/*-------- input --------*/

input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
.formarea select
{
	border:none;
	background:#f8f8f8;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea
{
	padding:8px 10px;
	width:100%;
}

select
{
	padding:8px 10px;
	min-width:40%;
}

:placeholder
{
	color:#999;
}

button
{
	cursor:pointer;
}

button.btn.conv
{
	border:none;
	font-weight:bold;
}


/*-------- label --------*/

.label
{
	width:160px;
	background:#282828;
	display:inline-block;
	margin: 0 8px;
	color:#fff;
	text-align:center;
	padding:0px;
}


.label.dracad{	background:linear-gradient(to right, #3954a2 0%, #5569ce 100%);
background:-ms-linear-gradient(left, #3954a2, #5569ce);}
.label.iarm{	background:linear-gradient(to right, #a33b39 0%, #c84441 100%);
background:-ms-linear-gradient(left, #a33b39, #c84441);}
.label.save{	background:linear-gradient(to right, #52a239 0%, #68be46 100%);
background:-ms-linear-gradient(left, #52a239, #68be46);}
.label.house{	background:linear-gradient(to right, #96bd4b 0%, #96bd4b 100%);
background:-ms-linear-gradient(left, #96bd4b, #96bd4b);}
.label.kensyo{	background:linear-gradient(to right, #a2399e 0%, #be46b6 100%);
background:-ms-linear-gradient(left, #a2399e, #be46b6);}
.label.labs{	background:linear-gradient(to right, #d09524 0%, #d7a838 100%);
background:-ms-linear-gradient(left, #d09524, #d7a838);}
.label.event{	background: linear-gradient(to right, #F36C21 0%, #C0392B 100%);
background: -ms-linear-gradient(left, #F36C21, #C0392B);}
.label.end {    background: linear-gradient(to right, #999999 0%, #cccccc 100%);
background: -ms-linear-gradient(left, #999999, #cccccc);
}

.label.topic {
    color:#fff;
    background:#4ea9de;
}

.label.topic2{
    color:#fff;
    background:#ff6347;
}

/*-------- snav --------*/

.snav
{
	font-size:12px;
	background:#fff;
}

.snav a
{
	color:#313131;
	text-decoration:underline;
	font-size:16px;
}

.snav h3
{
	font-size:20px;
	border-bottom:1px solid #b92623;
	color:#999;
	padding-bottom:16px;
	margin-bottom:0;
}

.snav .item ul
{
	text-align:left;
}

.snav .item > ul > li
{
	border-bottom:1px dashed #ddd;
	padding:14px 0;
}

.snav .item > ul > li a
{
	display:block;
	line-height:1.3;
}

.snav .item > ul li li a
{
	position:relative;
	background:#efede8;
	font-size:14px;
	font-weight:normal;
	margin-top:12px;
	line-height:2;
}

.snav .item > ul li li a:before
{
	content:"∟";
	text-decoration:none;
	font-size:12px;
	position:relative;
	display:inline-block;
	background:#b92623;
	padding:6px;
	margin-right:8px;
	color:#fff;
}

.snav.news
{
    text-align:center;

}

/* --------------------------------------

header

---------------------------------------*/

header
{
	position:fixed;
	width:100%;
	top:0;
	left:0;
	z-index:99999;
}


/*-------- cnav --------*/

header .cnav
{
	background: linear-gradient(to right, #b92623 0%, #e52925 100%);
    background:-ms-linear-gradient(left, #b92623, #e52925);
}

header .cnav ul li
{
    border-right:2px solid #282828;
}

header .cnav ul li:first-child
{
	border-left:2px solid #282828;
}

header .cnav ul li a
{
	display:block;
	width:100%;
	color:#fff;
	font-size:14px;
	text-align:center;
	padding:10px 0;
}



/*-------- logoarea --------*/


header .logoarea
{
	background:#fff;
	position:relative;
}

header .logoarea .logo
{
	margin-top:26px;
}


/* gnav */

header .gnav
{
	width:70%;
}

header .gnav > ul
{
	width:100%;
	text-align:right;
	-webkit-box-pack: end;
     -ms-flex-pack: end;
   justify-content: flex-end;
}

header .gnav > ul > li
{
	display:block;
	padding:25px 0 25px 25px;
	width:auto;
}

header .gnav > ul > li.pc-hyde
{
    display: none;
}

header .gnav > ul > li a
{
	display:block;
	font-size:16px;
	color:#313131;
}


header .gnav > ul > li.has-child > a:after
{
	content:"";
	display:inline-block;
	vertical-align:middle;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 4.5px 0 4.5px;
	border-color: #b92523 transparent transparent transparent;
	margin-left:4px;
}

/* snav */

header .gnav > ul > li.has-child .snav
{
	display:none;
	position: absolute;
    top:77px;
}

header .gnav > ul > li.has-child .snav h3
{
	text-align:left;}

header .gnav > ul > li.has-child .snav > ul li
{
    border-bottom: 1px dashed #fff;
}

header .gnav > ul > li.has-child .snav > ul li a
{
    font-size: 14px;
    font-weight: normal;
    text-align: left;
    display: block;
    padding: 10px;
    background: #efede8;
}

header .snav .wrapper
{
    background: #fff;
    padding: 30px;
}




/* --------------------------------------

mainvisual

---------------------------------------*/

/* front */


.front .mainvisual .swiper-container-horizontal>.swiper-pagination-bullets
{
	-webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-wrap: nowrap; /* Safari */
	flex-wrap:         nowrap;
	bottom:0;
}


.front .mainvisual .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet
{
	
    height: 10px;
    display: block;
    border-radius: 0;
    background: #000;
    opacity: .4;
	margin: 0 1px;
	flex: 1;
}

.front .mainvisual .swiper-pagination-bullet-active {
    opacity: 1;
    background: #b92623!important;
}



/* sub */

.sub .mainvisual
{
	background:#f4f4f4;
	padding:50px 0;
}

.sub .mainvisual h1,
.sub .mainvisual .ttl
{
	font-size:30px;
	font-weight:bold;
	line-height:1.5;
}

/* sub - products */

.sub.products .mainvisual
{
	background:none;
	padding:0;
    position: relative;
}

.sub.products.iarm .mainvisual
{
	background:url(../img/iarm/image_iarm.jpg) no-repeat right center;
	background-size:50%;
}

.sub.products.dracad .mainvisual
{
	background:url(../img/dracad/image_dracad_b.jpg) no-repeat right top;
	background-size:50%;
}

.sub.products.dracad .mainvisual_2025
{
	background:url(../img/dracad/image_dracad_b_2025.jpg) no-repeat right top;
	background-size:50%;
}
.sub.products.dracad .mainvisual_dra22
{
	background:url(../img/dracad/image_dracad_b_22.jpg) no-repeat right top;
	background-size:50%;
}
.sub.products.dracad .mainvisual_dra21
{
	background:url(../img/dracad/image_dracad_b_21.jpg) no-repeat right top;
	background-size:50%;
}

.sub.products.draviewer .mainvisual
{
	background:url(../img/draviewer/image_draviewer.jpg) no-repeat right center;
	background-size:50%;
}

.sub.products.draar .mainvisual
{
	background:url(../img/draar/image_DRAAR.jpg) no-repeat right center;
	background-size:50%;
}

.sub.products.gazosenbun .mainvisual
{
	background:url(../img/gazosenbun/image_gazosenbun.jpg) no-repeat right center;
	background-size:50%;
    position: relative;
}

.sub.products.caddata .mainvisual
{
	background:url(../img/caddata/image_caddata.jpg) no-repeat right center;
	background-size:50%;
    position: relative;
}

.sub.products.labs .mainvisual
{
	background:url(../img/labs/image_labs.jpg) no-repeat right center;
	background-size:50%;
    position: relative;
}

.sub.products.kensyo .mainvisual
{
	background:url(../img/kensyo/image_kensyo.jpg) no-repeat right center;
	background-size:50%;
    position: relative;
}

.sub.products.save .mainvisual,
.sub.products.save.house .mainvisual
{
	background:url(../img/save/image_save.jpg) no-repeat right center;
	background-size:50%;
}

.sub.products.save.building .mainvisual
{
	background:url(../img/save/image_save_building.jpg) no-repeat right center;
	background-size:50%;
}

.sub.products.house .mainvisual
{
	background:url(../img/house/image_house.jpg) no-repeat right center;
	background-size:50%;
}

.sub.products.dracad .mainvisual:after,
.sub.products.draviewer .mainvisual:after,
.sub.products.draar .mainvisual:after,
.sub.products.kensyo .mainvisual:after,
.sub.products.house .mainvisual:after,
.sub.products.save .mainvisual:after,
.sub.products.labs .mainvisual:after,
.sub.products.iarm .mainvisual:after,
.sub.products.gazosenbun .mainvisual:after,
.sub.products.caddata .mainvisual:after
{
    content: "";
    width: 30%;
    height: 100%;
    background: -moz-linear-gradient(left, #fff, transparent);
    background: -webkit-linear-gradient(left, #fff, transparent);
    background: linear-gradient(to right, #fff, transparent);
    background:-ms-linear-gradient(right, transparent, #fff);
    position: absolute;
    display: block;
    top: 0;
    left: 50%;
}


.sub.products .mainvisual .wrapper
{
	height:320px;
}

.sub.products .mainvisual h1
{
	font-size:18px;
}

.sub.products .mainvisual h1 strong
{
	display:block;
	padding-bottom:10px;
}

.sub.products .mainvisual h1 .en
{
	font-family:"Times New Roman", Times, serif;
	font-size:42px;
	display:inline-block;
	padding-left:10px;
}

.sub.products .mainvisual h1 img
{
	height:50px;
	width:auto;
}


/* --------------------------------------

breadcrumb

---------------------------------------*/

main
{
    border-top: 3px solid #e52925;
}

/* sub */

.sub main .breadcrumb
{
	color:#999;
	font-size:14px;
	padding:18px;
}

.sub main .breadcrumb a
{
	color:#999;
	font-weight:normal;
}

/* sub - products */

.sub.products main .breadcrumb
{
	position:relative;
}

.sub.products main .breadcrumb .txtlink
{
	display:block;
	right:0;
	text-align:right;
}

.sub.products main .breadcrumb .txtlink a
{
	color:#0084ff;
	font-weight:bold;
	margin-left:20px;
	font-size:15px;
}

.sub.products main .breadcrumb .txtlink a .fa
{
	margin-right:6px;
	font-size:18px;
	vertical-align:middle;
}


/* --------------------------------------

main

---------------------------------------*/


main
{
	border-bottom: 1px solid #b92623;
}

main .detail
{
	padding:30px;
}

main .col3 .detail,
main .col4 .detail
{
	padding:20px;
	position:relative;
	color:#313131;
	font-size:14px;
}

main .col3 .detail h3,
main .col4 .detail h3
{
	font-size:20px;
	margin-bottom:16px;
}

main .productbox h3 img
{
	height:30px;
	width:auto;
	margin-top:10px;
}

main .productbox .shadow .detail .btn
{
	color:#0084ff;
}

main .productbox > .item:hover .thumbnail img
{
//  -webkit-transform: rotate(8deg) scale(1.4);
//  transform: rotate(8deg) scale(1.4);
}

main .productbox .shadow .detail strong
{
	letter-spacing:-1px;
    font-size: 14px;/*190514*/
}

main .productbox .shadow .detail .matchHeight strong
{
    font-size: 16px;/*190514*/
}


main .col2.productbox .shadow .detail
{
	position:relative;
	color:#313131;
}

main .infoarea .ttl
{
	border-bottom: 1px solid #b92623!important;
	position:relative;
	padding:50px 0;
	font-weight:normal;
}

main .infoarea .wrapper
{
	position:relative;
}

main .infoarea h3
{
	font-weight:normal;
	font-size:32px;
}

main .infoarea li a
{
	color:#313131;
	padding:30px 0;
	display:block;
	position:relative;
}

main .infoarea li a:after
{
	content:"";
	display:block;
	width:10px;
	height:15px;
	background:url(../img/ico/arrow-r.svg) no-repeat center center;
	background-size:contain;
	position:absolute;
	top: 50%;
	right:0;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	z-index:99;
}

/* front */


.front main h2
{
	text-align:center;
	border:none;
}

.front main .topnews
{
	color:#fff;
	font-weight:bold;
}

.front main .topnews .wrapper
{
	position:relative;
	padding:20px 0;
}


.front main .topnews .news .fa
{
	font-size:24px;
	vertical-align:middle;
	margin-right:6px;
}

.front main .topnews .notice
{
	position:absolute;
	display:block;
	top:0;
	right:0;
	background:#efede8;
	color:#b92623;
	text-align:center;
	padding:0 16px;
	line-height:68px;
}

.front main .topnews .notice .fa
{
	font-size:20px;
	vertical-align:middle;
	margin-right:6px;
}

.front main .promoarea.bg-gray
{
	padding:38px 0;
}

.front main .casearea,
.front main .youtubearea
{
	text-align:center;
	padding-left:4%;
	padding-right:4%;
	font-weight:bold;
}

.front main .casearea h2,
.front main .youtubearea h2
{
	padding-bottom:0;
	margin-bottom:0;
    border: none!important;
}

.front main .casearea
{
	background:url(../img/case/image_case.jpg) no-repeat center  center;
	background-size:cover;
	border-right:2px solid #fff;
	color:#fff;
}

.front main .casearea .btn
{
	color:#fff;
	border:1px solid #fff;
}

.front main .casearea .btn:after
{
	content:"";
	background:url(../img/ico/arrow-r-white.svg) no-repeat center center;
	background-size:contain;
}

.front main .productarea
{
	position:relative;
	overflow:hidden;
}

.front main .productarea:after
{
	content:"";
	display:block;
	position:absolute;
	bottom:-50%;
	right:-50%;
	width:200%;
	height:100%;
	background: #f4f4f4;
	z-index:-1;
	transform: rotate( -20deg ) ;
}

.front main .col2.productbox .shadow .thumbnail img
{
	object-fit: cover;
	font-family: 'object-fit: cover;';
	width:100%;
	height:100%;
}

.front main .col2.productbox .shadow .thumbnail.dracad img
{
  -webkit-transform: translate(0%, 0%));
  transform: translate(0%, 0%);
  max-width: 200%;
  max-height: 100%;
  width: auto;
}

.front main .col2.productbox .shadow .thumbnail.iarm img
{
  -webkit-transform: translate(-25%, 0%));
  transform: translate(-25%, 0%);
  max-width: 200%;
  max-height: 100%;
  width: auto;
}


.front main .col2.productbox .item .item
{
	width:50%;
}

.front main .col4 .shadow .thumbnail img
{
	object-fit: cover;
	font-family: 'object-fit: cover;';
	width:100%;
	height:170px;
}

.front main .col2.productbox .shadow .detail
{
	min-height:316px;
}

.front main .col2.productbox .shadow .detail .btn
{
	position:absolute;
	bottom:30px;
	left:30px;
	width:calc(100% - 60px);
	color:#0084ff;
}

.front main .col4.productbox .shadow .detail strong
{
	line-height:1.3;
	display:block;
}

.front main .infoarea .txtlink
{
	position:absolute;
	display:block;
	text-align:right;
	right:0;
	top:-86px;
}

.front main .infoarea .txtlink:after
{
	content:"";
	background:url(../img/ico/arrow-r-blue.svg) no-repeat center center;
	background-size:contain;
	position:relative;
	top:0;
	-webkit-transform: none; /* Safari用 */
	transform: none;
	display:inline-block;
	width:10px;
	height:15px;
	margin-left:14px;
	vertical-align:middle;
}

/* sub */

.sub main .contents
{
	padding-top:60px;
}


.sub main .productbox h3
{
	margin-bottom:16px;
}

.sub main .productbox h3 img
{
	height:30px;
	width:auto;
	margin-top:10px;
}

.sub main .col2.productbox .shadow .thumbnail img
{
  position: relative;
  overflow: hidden;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	width:100%;
	height:200px;
}

.sub.recommend  main .col2.productbox .shadow .thumbnail img
{
	height:220px;
}

.sub main .col2.productbox .shadow .thumbnail.dracad img
{

}

.sub main .productbox > .item .thumbnail img
{
	-webkit-transform:none;
	transform:none;
	-webkit-transition:none;
	transition:none;
}
.sub main .productbox > .item:hover .thumbnail img
{
  -webkit-transform:none;
	transform:none;
	-webkit-transition:none;
	transition:none;
}

.sub main .thumbbox .detail h3,
.sub main .thumbbox .detail h4
{
	margin-bottom:16px;
}

.sub main .thumbbox .detail h3 img,
.sub main .thumbbox .detail h4 img
{
	height:28px;
	width:auto;
}


.sub main .formarea .btn.conv
{
	margin-bottom:30px;
}

.sub main .formarea,
.sub main .formarea .shadow
{
	position:relative;
	z-index:0;}


.sub main .flexbox.red
{
    color:#313131;
}

.sub main .flexbox.red .thumbbox
{
    border: solid 1px #b92623;
    cursor: pointer;
    background: #fff;
    position: relative;
}

.sub main .flexbox.red .thumbnail
{
	width:34%;
}

.sub main .flexbox.red a.thumbbox .thumbnail:hover img
{   
    transition:none!important;
    -webkit-transition: none!important;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.sub main .flexbox.red a.thumbbox .thumbnail.dracad:hover img
{   
    transition:none!important;
    -webkit-transition: none!important;
    -webkit-transform: translate(-60%, -50%);
    transform: translate(-60%, -50%);
    max-width: 150%;
    max-height: 100%;
    width: auto;
    height: auto;
}

.sub main .flexbox.red .detail
{
    width: 64%;
    right: 0;
    padding: 19px 3% 10px;
    text-align: center;
}

.flexbox.start .item.cg
{
  position:relative;
}

main .col3 .detail.cg
{
  position:static; //sticky;
}

.link
{
  position: absolute;
  margin-left:10px;
  margin-top: 10px;
  width:100px;
  height:100px;
  border:solid 2px #0084ff;
  -webkit-border-radius: 500px;
  -moz-border-radius: 500px;
  border-radius: 500px;
  z-index: 99;
}

@media print, screen and (min-width: 833px) {
main .col3 .detail.cg
{
  position:absolute;
  bottom:0;
  right:0;
}

}


.sub main table.form th .label
{
    background: red;
    color: #fff;
    font-weight: bold;
    width: auto;
    padding: 0 2px;
    font-size: 12px;
}

/* sub - case */

.sub.case main .col2
{
	display:table;
}

.sub.case main .col2 > .item
{
	display:table-cell;
	vertical-align:middle;
}

.sub.case main .detail
{
	padding:50px 60px;
}

.sub.case main .noborder
{
	border-bottom:none!important;
}

/* sub - products */

.sub.products main .pnav
{
	background:#f4f4f4;
    min-height: 8px;
}

.sub.products main .pnav ul
{
	box-shadow: 0px 0px 5px #ddd;
}

.sub.products main .pnav .item
{
	text-align:center;
}

.sub.products main .pnav .item a
{
	display:block;
	padding:16px 0;
	color:#b92623;
}

.sub.products main .pnav .item:nth-child(odd) a
{
	background:#eee;
}

.sub.products main .pnav .item.on a
{
	background:#b92623;
	color:#fff;
}


.sub.products main .bg-gray h2
{
	font-size:24px;
}

.sub.products main .point4 .point
{
    position:relative;
}


.sub.products main ul.point4 .point:before,
.sub.products main .point4 .point h3:before
{
	display:inline-block;
	font-size:40px;
	font-weight:bold;
	font-family:Arial, Helvetica, sans-serif;
	color:#dcdcdc;
	letter-spacing:-1px;
	vertical-align:middle;
	line-height:1;
	padding-right:10px;
    
}

.sub.products main ul.point4 .point
{
    padding-right: 60px;
    padding-left: 60px;
}

.sub.products main ul.point4 .point:before
{
    left: 0;
    position:absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	z-index:99;
}


.sub.products main ul.point4 .point:nth-of-type(1):before,
.sub.products main .point4 .point:nth-of-type(1) h3:before { content:"01";}
.sub.products main ul.point4 .point:nth-of-type(2):before,
.sub.products main .point4 .point:nth-of-type(2) h3:before { content:"02";}
.sub.products main ul.point4 .point:nth-of-type(3):before,
.sub.products main .point4 .point:nth-of-type(3) h3:before { content:"03";}
.sub.products main ul.point4 .point:nth-of-type(4):before,
.sub.products main .point4 .point:nth-of-type(4) h3:before { content:"04";}


.sub.products main ul.point4 li a
{
	display:inline-block;
}

.sub.products main ul.point4 li a:after
{
	content:"";
	display:block;
	width:10px;
	height:15px;
	background:url(../img/ico/arrow-r.svg) no-repeat center center;
	background-size:contain;
	position:absolute;
	top: 50%;
	right:4%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	z-index:99;
}

.sub.products main .point4 .point h3
{
	position:relative;
	display:table;
	width:100%;
}

.sub.products main .point4 .point h3 span
{
	display:table-cell;
	vertical-align:middle;
    letter-spacing: -1px;
}

.sub.products main .point4 .point h3:before
{
	font-size:76px;
	letter-spacing:-4px;
	display:table-cell;
	vertical-align:middle;
	width:.2em;
}



.sub.products main .case .thumbnail
{
	position:relative;
}

.sub.products main .case .thumbnail img
{
	width: 100%;
	height:100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.sub.products main .case h3 .red
{
	display:block;
	font-size:16px;
}


.sub.products main .convarea
{
	position:relative;
	padding:100px 0 80px;
}

.sub.products main .convarea:before
{
	content:"";
	display:block;
	position:absolute;
	bottom:-80%;
	left:-100%;
	width:200%;
	height:200%;
	background: #f8f8f8;
	z-index:-2;
	transform: rotate( 16deg ) ;
}


.sub.products main .convarea:after
{
	content:"";
	display:block;
	position:absolute;
	bottom:-80%;
	right:-100%;
	width:200%;
	height:200%;
	background: #f4f4f4;
	z-index:-2;
	transform: rotate( -16deg ) ;
}

.sub.products main .convarea h2
{
	font-size:34px;
	font-weight:normal;
	text-align:center;
	padding-bottom:70px;
	margin-bottom:0;
	border:none!important;
}


.sub.products main .convareaSub
{
	position:relative;
	padding:100px 0 80px;
}

.sub.products main .convareaSub h2
{
	font-size:34px;
	font-weight:normal;
	text-align:center;
	padding-bottom:70px;
	margin-bottom:0;
	border:none!important;
}


.sub.products main .campain a,
.sub.products main .important a
{
	background:#fffde4;
	border:solid 3px #ffe157;
	position:relative;
	padding:16px 16px 16px 80px;
	display:block;
}

.sub.products main .campain a:before,
.sub.products main .important a:before
{
	content:"\f0a1";
	font-family: FontAwesome;
	font-size:24px;
	padding:0 20px;
	line-height:66px;
	position:absolute;
	top:-3px;
	left:-3px;
	display:block;
	text-align:center;
	background:#ffe157;
	color:#313131;
}

.sub.products main .campain a:after,
.sub.products main .important a:after
{
	content:"";
	display:block;
	width:10px;
	height:15px;
	background:url(../img/ico/arrow-r-gray.svg) no-repeat center center;
	background-size:contain;
	position:absolute;
	top: 50%;
	right:2%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	z-index:99;
}

.sub.products main .recommend a
{
	background:#fffde4;
	border:solid 3px #ffe157;
	position:relative;
	padding:16px 16px 16px 80px;
	display:block;
}

.sub.products main .recommend a:before
{
	content:"\f0a1";
	font-family: FontAwesome;
	font-size:24px;
	padding:0 20px;
	line-height:66px;
	position:absolute;
	top:-3px;
	left:-3px;
	display:block;
	text-align:center;
	background:#ffe157;
	color:#313131;
}

.sub.products main .recommend a:after
{
	content:"";
	display:block;
	width:10px;
	height:15px;
	background:url(../img/ico/arrow-r-gray.svg) no-repeat center center;
	background-size:contain;
	position:absolute;
	top: 50%;
	right:2%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	z-index:99;
}
.sub.products main #movie .labelttl .fa
{
	font-size:30px;
}

.sub.products main #movie .ttl
{
	font-size:24px;
	padding-bottom:20px;
}

.sub.products main #movie .flg
{
	position:relative;
	cursor:pointer;
	
}

.sub.products main #movie .flg:after
{
	content:"＋";
	color:#d82824;
	font-size:24px;
	line-height:40px;
	font-weight:bold;
	display:block;
	position:absolute;
	top: 50%;
	right:2%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	z-index:99;
}


.sub.products main #movie .flg.active:after
{
	content:"－";
}


.sub.products main h2.faq
{
	position:relative;
	font-size:24px;
}

.sub.products main h2.faq:before
{
	content:"Q";
	display:inline-block;
	font-family:Arial, Helvetica, sans-serif;
	color:#d82824;
	font-size:28px;
	margin-right:16px;
}


.sub.products main #func th .label
{
    width: auto;
    padding: 0 4px;
    background: #b92623;
    margin-left: 0
}


/* sub - products - dracad */

.sub.products.dracad main #func th
{
    width:auto;
}

.sub.products.dracad main #func td
{
    text-align: center;
    width: 14%
}

.sub.products.dracad main #func td .red-vivid
{
    font-size: 14px;
}

.sub.products.dracad main #asprice .item.bg-gray
{
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    padding: 16px;
}

.sub.products.dracad main #asprice .item.bg-gray h3
{
    color: #fff;
    background: #b92623;
    border-radius: 500px;        /* CSS3草案 */  
    -webkit-border-radius: 500px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 500px;   /* Firefox用 */
    line-height: 1.8;
    margin-bottom: 0;
}

.sub.products.dracad main #asprice .item.bg-gray p:nth-of-type(1)
{
    border-bottom: 1px dashed #ddd;
    margin-bottom: 14px;
}

.sub.products.dracad main #asprice .item.bg-gray strong
{
    font-family:Arial, Helvetica, sans-serif;
    font-size: 50px;
    display: inline-block;
    padding-right: 6px
}

.sub.products.dracad main .btn.beige
{
    display: block;
    padding: 20px;
    text-align: center;
    font-size: 14px;
    text-shadow:0px 0px 4px #fff;
}

.sub.products.dracad main .btn.beige .vmiddle
{
    left: 0;
    right: 0
}

/* sub - products - save */

.sub.products.save main .mainvisual a,
.sub.products.house main .mainvisual a
{
    font-size: 18px;
}


.sub.products.save main .subvisual h2
{
    text-align:center;
	border:none!important;
	margin-bottom:0;
	padding-bottom:40px;
    font-size: 30px!important;
}

.sub.products.save main .subvisual .item h3 {
    color: #fff;
    background: #b92623;
    border-radius: 500px;
    -webkit-border-radius: 500px;
    -moz-border-radius: 500px;
    line-height: 1.8;
    text-align: center;
    font-size: 20px;
}

.sub.products.save main .subvisual .col3 .item
{
    padding: 0 20px;
    border-right: 1px dashed #ddd;
}

.sub.products.save main .subvisual .col3 .item:last-of-type
{
    border: none;
}

.sub.products.save main .subvisual .col3 .item .thumbbox
{
    box-shadow: 0 0 20px #ddd;
}

.sub.products.save main .subvisual .col3 .item .thumbbox .detail
{
    position: relative;
}

.sub.products.save main .subvisual .col3 .item .thumbbox .detail:after
{
    content: "";
    display: block;
    position: absolute;
    right:0;
	left:0;
	top:auto;
	-webkit-transform: none;
	transform: none;
	bottom:14px;
	margin:0 auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 4.5px 0 4.5px;
	border-color: #b92523 transparent transparent transparent;
}

.sub.products.save main .subvisual strong.red
{
    font-size: 24px;
    padding-left: 40px
}


/* sub - products - save - building */

.sub.products.save.building main h2 .label
{
    font-size: 16px;
    width: auto;
    padding: 6px 7px;
    vertical-align: middle
}

.sub.products.save.building main #pickfunc-normal h2 .label
{
    background: #00acb1
}

.sub.products.save.building main #pickfunc-model h2 .label
{
    background: #5ab43a
}

/* sub - products - other */

.sub.products.iarm main #movie .cont,
.sub.products.save.building main #movie .cont,
.sub.products.save.house main #movie .cont
{
	display:none;
}

/* sub - event */

.sub.event main article .ttl
{
	border-bottom:1px solid #d82824;
	text-align:center;
	position:relative;
}

.sub.event main article .ttl:before
{
	content:"";
	position:absolute;
	display:block;
	background:url(../img/bgcross.gif) no-repeat right center;
	width:calc((100% - 1000px) / 2);
	height:100%;
	top:0;
	left:0;
	z-index:-1;
}

.sub.event main article .ttl:after
{
	content:"";
	position:absolute;
	display:block;
	background:url(../img/bgcross.gif) no-repeat right center;
	width:calc((100% - 1000px) / 2);
	height:100%;
	top:0;
	right:0;
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	z-index:-1;
}

.sub.event main article .ttl h1
{
	font-size:32px;
	line-height:1.5;
	margin-bottom:20px;
}

main .productbox .shadow .detail .matchHeight strong
{
    font-size: 20px;/*190514*/
}

a.btn_01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  box-sizing: border-box;
  color: #333;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-decoration: none;
  position: relative;
}
a.btn_01 span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
  height: 50px;
  background: #fff;
  border: 1px solid #000;
  box-sizing: border-box;
  top: -6px;
  left: -6px;
  transition-duration: 0.2s;
}
a.btn_01:hover span {
  left: -1px;
  top: -1px;
}

/* sub - single */

.sub.single main .contents:before
{
	content:"";
	display:block;
	position:absolute;
	margin:0 auto;
	left:0;
	right:0;
	top:-0px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 7.5px 0 7.5px;
	border-color: #b92523 transparent transparent transparent;
}

.sub.single main article .ttl
{
	border-bottom:1px solid #d82824;
	text-align:center;
	position:relative;
}

.sub.single main article .ttl:before
{
	content:"";
	position:absolute;
	display:block;
	background:url(../img/bgcross.gif) no-repeat right center;
	width:calc((100% - 1000px) / 2);
	height:100%;
	top:0;
	left:0;
	z-index:-1;
}

.sub.single main article .ttl:after
{
	content:"";
	position:absolute;
	display:block;
	background:url(../img/bgcross.gif) no-repeat right center;
	width:calc((100% - 1000px) / 2);
	height:100%;
	top:0;
	right:0;
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	z-index:-1;
}

.sub.single main article .ttl h1
{
	font-size:32px;
	line-height:1.5;
	margin-bottom:20px;
}

/* お問合せフォームSS */
.sub main article .formarea h2
{
	text-align:center;
	border:none!important;
	margin-bottom:0;
	padding-bottom:40px;
    font-size: 30px!important;
}


/* sub - single - case */

.sub.single.case main article .ttl h1
{
	font-size:40px;
	line-height:1.5;
	margin-bottom:0px;
}

.sub.single.case main article .ttl .borderbox
{
	padding-bottom:40px;
	margin-bottom:30px;
}

.sub.single.case main article aside.col3.wrapper
{
	padding:24px;
	display:table;
	width:100%;
}

.sub.single.case main article aside.col3.wrapper .item,
.sub.single.case main article aside.col3.wrapper .thumbnail,
.sub.single.case main article aside.col3.wrapper .detail
{
	display:table-cell;
	vertical-align:middle;
}

.sub.single.case main article aside.col3.wrapper .detail
{
	padding:0 0 0 20px;
}

.sub.single.case main article aside.col3.wrapper .btn
{
	padding:16px 0;
}


/* sub - single - seminar_school */

.sub.single.seminar_school main article .ttl h1
{
	font-size:40px;
	line-height:1.5;
	margin-bottom:0px;
}

.sub.single.seminar_school main article .ttl .borderbox
{
	padding-bottom:40px;
	margin-bottom:30px;
}

.sub.single.seminar_school main article aside.col3.wrapper
{
	padding:24px;
	display:table;
	width:100%;
}

.sub.single.seminar_school main article aside.col3.wrapper .item,
.sub.single.seminar_school main article aside.col3.wrapper .thumbnail,
.sub.single.seminar_school main article aside.col3.wrapper .detail
{
	display:table-cell;
	vertical-align:middle;
}

.sub.single.seminar_school main article aside.col3.wrapper .detail
{
	padding:0 0 0 20px;
}

.sub.single.seminar_school main article aside.col3.wrapper .btn
{
	padding:16px 0;
}


/* sub - corporate */

.sub.corporate main .subvisual
{
    background: url(/img/corporate/ceo.jpg) no-repeat center top;
    background-size: cover;
    color: #000;
    text-shadow:0px 0px 4px #fff;
}

.sub.corporate main .subvisual .wrapper
{
    min-height: 450px;
}

.sub.corporate main .subvisual .detail
{
    padding-right:410px;
}

.sub.corporate main .subvisual h2
{
    letter-spacing: -1px;
}

.sub.corporate main .sign img
{
    height: 50px;
    width: auto;
}

.sub.corporate main .subvisual nav
{
    position: absolute;
    display: block;
    width: 50%;
    bottom:-90px;
    right: 0;
    text-shadow:none;
}

.sub.corporate main .subvisual nav .btn
{
    border: 1px solid #b92623;
    color: #b92623;
    padding: 16px 0;
    background: #fff;
}

.sub.corporate main .subvisual nav .btn:hover
{
    background: #fff;
}

.sub.corporate main .subvisual nav .btn:after
{
    display: none;
}

.sub.corporate main .subvisual nav .on .btn
{
    color: #fff;
    background: #b92623;
}

/* sub - corporate - recruit */

.sub.corporate.recruit main .subvisual
{
    background: url(/img/corporate/recruit.jpg) no-repeat center top;
    background-size: cover;
}

.sub.corporate.recruit main .subvisual .detail
{
    padding-left:410px;
    padding-right: 0;
}

.sub.corporate.recruit main #statue h2
{
    margin-bottom: 0;
}


.sub.corporate.recruit main #statue h2,
.sub.corporate.recruit main #flow h2
{
    margin-top: -50px;
    z-index: -1;
}

.sub.corporate.recruit main #statue h3 .txtgrad
{
    display: inline-block;
    font-size: 80px;
    vertical-align: middle;
	font-weight:bold;
	font-family:Arial, Helvetica, sans-serif;
	letter-spacing:-1px;
	line-height:1;
	padding-right:20px;
        
}


.sub.corporate.recruit main #statue .flexbox.col2
{
    position: relative;
    z-index: -2;
}

.sub.corporate.recruit main #statue .flexbox.col2 .item
{
    position: relative;
    min-height: 300px;
}

.sub.corporate.recruit main #statue .flexbox.col2 .item .vmiddle
{
    width: 80%;
    max-width: 700px;
    left: 0;
    right: 0;
    margin: 0 auto;
}


.sub.corporate.recruit main #recruitment .tab
{
    overflow: hidden;
}

.sub.corporate.recruit main #recruitment .tab:after
{
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background: #b92623;
    position: relative;
    top: -2px;
    left: 1px;
}

.sub.corporate.recruit main #recruitment .tab .item a
{
    display: block;
    text-align: center;
    padding: 16px 0;
    font-size: 18px;
    color: #b92623;
}

.sub.corporate.recruit main #recruitment .tab .item.on a
{
    color: #fff;
    background: #b92623;
}

.sub.corporate.recruit main #recruitment .content
{
    display: none;
}

.sub.corporate.recruit main #entry .flexbox.col2 .item
{
    background: #fff;
    color: #313131;
}


.sub.corporate.recruit main #entry .flexbox.col2 .item h3
{
    font-size:20px;
    border-bottom: 1px dashed #ddd;
    padding-bottom: 20px;
}

.sub.corporate.recruit main #entry .flexbox.col2 .item a.big
{
    font-size: 30px;
    font-weight: bold;
    color: #313131;
}


/* sub - seminar_school */

.sub.seminar_school main .label
{
    font-size: 16px;
    vertical-align: middle;
}

.sub.seminar_school main .borderbox.flexbox{
    border-top: 0;
    border-bottom:1px dashed #ddd;
    padding-top: 30px;
    padding-bottom: 0
}


.sub.seminar_school main .borderbox.flexbox .item
{
    width: 30%;
    position: relative;
}

.sub.seminar_school main .borderbox.flexbox .item p
{
}

.sub.seminar_school main .borderbox.flexbox .item.date
{
    width: 10%;
    text-align: center;
    background: #edf5f7;
    font-weight: bold;
    line-height: 1;
    font-family:Arial, Helvetica, sans-serif;
}

.sub.seminar_school main .borderbox.flexbox .item.date p
{
    color: #fff;
    background: #4ea9de;
    font-size: 14px;
    padding: 4px;
    margin-bottom: 8px;
}

.sub.seminar_school main .borderbox.flexbox .item.date strong
{
    display: block;
    font-size: 30px;
}

.sub.seminar_school main .borderbox.flexbox .item.detail
{
    width: 55%;
    padding: 16px 10px;
}

.sub.seminar_school main .borderbox.flexbox .item.detail.long
{
    width: 100%;
    padding: 16px 10px;
}

.sub.seminar_school main .borderbox.flexbox .item .btn
{
}
.sub.seminar_school main #currentevent .item
{
	background: #f4f4f4;
	margin-bottom: 20px;
    width: 30%;
}

.sub.seminar_school main #currentevent .date
{
    width: 100%;
    text-align: center;
    background: #edf5f7;
    font-weight: bold;
    line-height: 1;
    font-family:Arial, Helvetica, sans-serif;
}

.sub.seminar_school main #currentevent .date p
{
    color: #fff;
    background: #4ea9de;
    font-size: 14px;
    padding: 4px;
    margin-bottom: 8px;
}

.sub.seminar_school main #currentevent .place
{
    width: 20%;
	color: #fff;
    text-align:center;
    background: #89BDDE;
    font-weight: bold;
    line-height: 1;
	font-size: 14px;
    font-family:Arial, Helvetica, sans-serif;
	padding: 4px;
}

.sub.seminar_school main #currentevent .item.description
{
	width: 80%;
	padding: 16px 10px;
}
.sub.seminar_school main #currentevent .item.invitation
{
	width: 20%;
    position: relative;
    margin: 4% 10%;
}
/*.sub.seminar_school main #currentevent .btn
{
	width: 80%;
}*/


/* school */

.sub.seminar_school main #school .label
{
    margin-left: 0;
}

.sub.seminar_school main #school .detail
{
    padding: 0 10px;
}



/* sub - support */

.sub.support main .flowbox .fa
{
    font-size: 78px;
    display: block;
    text-align: center;
    margin-bottom: 20px
}

.sub main a.beige
{
    display: flex;
    padding: 0;
    color: #313131;
    margin-bottom: 30px;
    background: #efede8;
}

.sub main a.beige:after
{
    content:"";
	background:url(/img/ico/arrow-r-red.svg) no-repeat center center;
	background-size:contain;
}


.sub.support main a.beige .item
{
    background: #b92623;
    color: #fff;
    width: 23%;
    position: relative;
    display: block;
    font-size: 66px;
    line-height: 1;
    text-align: center;
}

.sub.support main a.beige .item .vmiddle
{
    margin: 0 auto;
    right: 0;
    left: 0
}


.sub.support main a.beige .detail
{
    width: 77%;
    padding: 30px 16px;
    text-align: left
}

.sub.support main a.beige .detail h3
{
    margin:0; 
}

/* sub - posts  */

/*.sub.post main .col2
{
    padding: 20px;
}
.sub.case main .col2,
.sub.post main .col2 > .item
{
	display:table-cell;
	vertical-align:middle;
}

.sub.post main .detail
{
	padding:30px;

}

.sub.post main .noborder
{
	border-bottom:none!important;
}*/

/* sub - single - post */
.sub.single.post main article p,
.sub.single.post main article li
{
	font-family:none;
}

.sub.single.post main article .ttl h1
{
	font-size:40px;
	line-height:1.5;
	margin-bottom:0px;
}

.sub.single.post main article .label 
{
	margin: 10px 5px;
}

.sub.single.post main article .ttl .borderbox
{
	padding-bottom:40px;
	margin-bottom:30px;
}

.sub.single.post main article aside.col3.wrapper
{
	padding:24px;
	display:table;
	width:100%;
}

.sub.single.post main article aside.col3.wrapper .item,
.sub.single.post main article aside.col3.wrapper .thumbnail,
.sub.single.post main article aside.col3.wrapper .detail
{
	display:table-cell;
	vertical-align:middle;
	color: #313131;
}

.sub.single.post main article aside.col3.wrapper .detail
{
	padding:0 0 0 20px;
}

.sub.single.post main article aside.col3.wrapper .btn
{
	padding:16px 0;

}

.sub.single.post main .convarea
{
	position:relative;
	padding:100px 0 80px;
}

.sub.single.post main .convarea:before
{
	content:"";
	display:block;
	position:absolute;
	bottom:-80%;
	left:-100%;
	width:200%;
	height:200%;
	background: #f8f8f8;
	z-index:-2;
	transform: rotate( 16deg ) ;
}


.sub.single.post main .convarea:after
{
	content:"";
	display:block;
	position:absolute;
	bottom:-80%;
	right:-100%;
	width:200%;
	height:200%;
	background: #f4f4f4;
	z-index:-2;
	transform: rotate( -16deg ) ;
}

.sub.single.post main .convarea h2
{
	font-size:34px;
	font-weight:normal;
	text-align:center;
	padding-bottom:70px;
	margin-bottom:0;
	border:none!important;
}



/* --------------------------------------

footer

---------------------------------------*/

footer
{
    background: #fff;
}

/*-------- aside.bg-grad --------*/


footer aside.bg-grad
{
	text-align:center;
}

footer aside.bg-grad h3
{
	font-size:22px;
}

footer aside.bg-grad .fa
{
	font-size:50px;
	margin-bottom:30px;
}


/*-------- aside.bg-bk --------*/


footer aside.bg-bk .btn
{
	color:#999;
	border:1px solid #777;
	background:none;
	padding:12px 0;
	font-size:14px;
}

footer aside.bg-bk .btn:after
{
	content:"";
	background:url(../img/ico/arrow-r-gray.svg) no-repeat center center;
	background-size:contain;
}



/*-------- sns --------*/

footer aside.sns
{
	text-align:center;
}

footer aside.sns h3
{
	color:#999;
	font-size:16px;
	font-style:italic;
	font-family:Arial, Helvetica, sans-serif;
	font-weight:normal;
}

footer aside.sns a
{
	display:inline-block;
	color:#313131;
	font-size:26px;
	background:#fff;
	width:50px;
	height:50px;
	line-height:50px;
	text-align:center;
	margin:0 10px;
}

/*-------- nav.bg-bk --------*/


footer nav.bg-bk
{
	color:#999;
	background:#000;
	font-size:14px;
	padding:30px 0;
}


footer nav.bg-bk li
{
	display:inline;
}
footer nav.bg-bk a
{
	color:#999;
	display:inline-block;
	position:relative;
	font-weight:normal;
}

footer nav.bg-bk ul li:after
{
	content:"｜";
	display:inline-block;
}

footer nav.bg-bk ul li:last-child:after
{
	display:none;
}

footer nav.bg-bk small
{
	font-size:14px;
}

/*-------- youtube --------*/
.movie-contentarea {
	position: relative;
	padding-bottom: 56.25%; /* アスペクト比16:9の場合 */
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin-bottom: 2rem; /* YouTubeの下に余白をつける */
}

#whatisiarm .movie-contentarea iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}