@charset "UTF-8";
/*
 * CSS Document 
   - artsmile ceramic LP 
*/

*{
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-size: 1.0em;
    color: #646464;
    letter-spacing: 0.14em;
    line-height: 1.8em;
    font-weight: 500;
    box-sizing: border-box;
    word-wrap: break-word;
	scroll-behavior: smooth;
}
img{
    max-width: 100%;
    height: auto;
}
p{
    font-size: 13px;
}
sup{
	color: inherit;
	font-size: 0.5em;
	vertical-align: super;
}
i{color: inherit;}
.sp{
    display: none!important;
}
.wrap{
    width: 1000px;
    margin: 0 auto;
	position: relative;
}
.linkwrap{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}
.clearfix::after{
  content: "";
  display: block;
  clear: both;
}
.t_center{text-align: center;}
.gold{color: #c2a051;}
.anno {
    font-size: 0.8em;
    margin-top: 30px;
}
/* ---------------------------
	
	header

 --------------------------- */
header{
	box-sizing: border-box;
	transition: all .5s;
	vertical-align: bottom;
}
.fixed{
 	position: fixed;
 	top: 0;
 	left: 0;
 	z-index: 90;
 	width: 100%;
 	background: rgba(255,255,255,.9);
}
header .head-bar{
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

header .logo, header .tel, header .reserve, header .menu-btn{
	display: block;
    float: left;
    font-weight: bold;
    height: 60px;
    line-height: 60px;
    text-align: center;
    border-top: 1px #c2a051 solid;
    border-bottom: 1px #c2a051 solid;
    border-left: 1px #c2a051 solid;
}

header .logo{
	background: #c2a051;
	width: 30%;
	line-height: 53px;
}
header .logo img{
	max-width: 220px;
	width: 80%;
	vertical-align: middle;
}
header .tel,header .reserve{
	color: #c2a051;
	font-size: 1.0em;
	width: 30%;}
header .menu-btn{
	width: 10%;
	border-right: 1px #c2a051 solid;}

header .tel, header .reserve{
	transition: all .2s;
}
header .tel:hover, header .reserve:hover{
	background: #c2a051;
	color: #fff;
	text-decoration: underline;
}

nav ul {
    text-align: center;
	margin: 15px 0;
}
nav ul, li {
    list-style: none;
}
nav ul li {
    display: inline-block;
    padding: 20px 0;
}
nav ul a {
    display: block;
    padding: 0 20px;
    color: #c2a051;
    border-right: 1px solid #c2a051;
	font-size: 0.97em;
}
nav ul li:first-child a {
    border-left: 1px solid #c2a051;
}
nav ul a:hover{text-decoration:line-through;}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
  	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 37.75px;
    height: 22px;
	margin-top: 10px;
	max-width: 50px;
}
.menu-trigger span {
	position: absolute;
   	left: 0;
   	width: 100%;
   	height: 2px;
   	background-color: #c2a051;
}

.menu-trigger span:nth-of-type(1) {
	top: 0;
	-webkit-transform: translateY(10px) rotate(-27deg);
	transform: translateY(10px) rotate(-27deg);
}
.menu-trigger span:nth-of-type(2) {
	opacity: 0;
	top: calc(50% - 1px);
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
  	-webkit-transform: translateY(-10px) rotate(27deg);
  	transform: translateY(-10px) rotate(27deg);
}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: none;
	transform: none;
}
.menu-trigger.active span:nth-of-type(2) {opacity: 1.0;}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: none;
	transform: none;
}

.menu-trigger::after{
	content: 'MENU';
	color: #c2a051;
    font-size: 10px;
    position: absolute;
    margin: 0 auto;
    display: block;
    text-align: center;
    bottom: -110%;
    white-space: nowrap;
	width: 37.75px;
}
.Gnav{
    display: block;
    visibility: visible;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    opacity: 1.0;
    transition: .3s;
}
.Gnav.active{
    visibility: hidden;
    opacity: 0;
	display: none;
}


/* ---------------------------
	
	main

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

.main_v{
	background: #76c7c4;
	display: block;
	width: 100%;
	height: calc(100vh - 137px);
	min-height: 733.55px;
	position: relative;
}
.main_vleft{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
}
.main_vleft .mv01,.main_vleft .mv02, .main_vleft .mv03{
	height: calc(100%/3);
	width: 30vw;
}
.main_vleft .mv01{ 
	background: url(../img/mv01.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right;
}
.main_vleft .mv02{ 
	background: url(../img/mv02.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right;
}
.main_vleft .mv03{ 
	background: url(../img/mv03.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right;
}


.main_vright{
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
}
.main_vright .mv04,.main_vright .mv05, .main_vright .mv06{
	height: calc(100%/3);
	width: 30vw;
}
.main_vright .mv04{ 
	background: url(../img/mv04.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right;
}
.main_vright .mv05{ 
	background: url(../img/mv05.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right;
}
.main_vright .mv06{ 
	background: url(../img/mv06.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right;
}


.main_v img{
	position: absolute;
	top: 10%;
	left: calc(50% - 90px);
	margin: 0 auto;
}
.main_v p{
	position: absolute;
	top: 30%;
	left: calc(50% - 85.5px);
	margin: 0 auto;
	-webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
	color: #fff;
	font-size: 2.0em;
}


/* sec1 -------------
 ----------------- */
.sec01{
	background: #fbfbfb;
	padding: 100px 0;
	position: relative;
}
.sec01::before{
	content: '';
	position: absolute;
	bottom: -20vh;
	left: 0;
	width: 0;
  	height: 0;
  	border-left: 50vw solid transparent;
  	border-right: 50vw solid transparent;
  	border-top: 20vh solid #fbfbfb;
	z-index: 1;
}
.row_in{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;}

.row_in .row_inbox{
	flex-basis: calc(100%/3 - 20px);
	text-align: center;
	height: 266.5px;
	position: relative;
}
.row_in .row_inbox:nth-child(4),.row_in .row_inbox:nth-child(5),.row_in .row_inbox:nth-child(6){
	margin-top: 50px;
}
.row_in .row_inbox div{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.row_in .row_inbox img{
	margin-bottom: 10px;
	width: 250px;
}

.sec01 .title{
	color: #c2a051;
	font-size: 2.0em;
	text-align: center;
	position: relative;
	display: table;
    margin: 0 auto;
}
.sec01 .title::before, .sec01 .title::after{
	content: '■';
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
  	transform: translateY(-50%);
}
.sec01 .title::before{
	left: -1.5em;
}
.sec01 .title::after{
	right: -1.5em;
}
.sec01 p{
	font-size: 1.0em;
}


/* sec2 -------------
 ----------------- */
.sec02{
	background: #76c7c4;
	padding: 250px 0 150px;
	position: relative;
}
.sec02::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 50vw;
  	height: 100%;
	background: #b4b4b4;
}
.sec02 p.title{
	color: #fff;
	font-size: 2.78em;}
.sec02 p.under_box{
	background: #fff;
    color: #76c7c4;
    display: inline-block;
    font-size: 1.02em;
    padding: 8px 15px;
	margin-top: 20px;
}
.sec02 p.under_box span{
	color: inherit;
}
.sec02 p.txt{
	color: #fff;
	font-size: 1.0em;
	margin-top: 30px;
}
.sec02 .wrap{
	position: relative;
}

.sec02 .wrap::after{
	content: '';
    position: absolute;
    bottom: -180px;
    right: -5px;
    background: url(../img/case_all.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 580px;
    height: 295px;
    z-index: 1;
}




/* sec3 -------------
 ----------------- */
.sec03{
	background: #fbfbfb;
    padding: 100px 0;
}
.sec03 .wrap{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	counter-reset: number 0;
}
.sec03 .title{
	color: #c2a051;
	font-size: 2.0em;
	text-align: center;
	position: relative;
	display: table;
    margin: 0 auto;
}
.sec03 .title::before, .sec03 .title::after{
	content: '■';
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
  	transform: translateY(-50%);
}
.sec03 .title::before{
	left: -1.5em;
}
.sec03 .title::after{
	right: -1.5em;
}

.standard{
	flex-basis: calc(100%/2 - 10px);
	text-align: center;
	margin-top: 60px;
	background: #f2f9fb;
	padding: 80px 0 40px;
	position: relative;}
.standard::before{
    color: #fff;
    font-size: 2.5em;
    line-height: 2.1;
    background: #76c7c4;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
    z-index: 1;
	counter-increment: number 1;
	content: counter(number, decimal-leading-zero) " ";}
.standard::after{
	content: '';
    position: absolute;
    top: 50px;
    left: 0;
    border-left: 245px solid transparent;
    border-right: 245px solid transparent;
    border-top: 30px solid #76c7c4;}
.standard img{
	height: 130px;
	width: auto;
	margin-top: 10px;}
.standard p.tech_name{
	color: #76c7c4;
	font-size: 1.7em;
	font-weight: bold;
	margin-top: 20px;
	height: 100px;
	display: flex;
    justify-content: center;
    align-items: center;
}
.standard p.tech_txt{
	font-size: 0.87em;
	font-weight: 600;
    padding: 0 45px;
    letter-spacing: 3.5px;
	margin-top: 30px;
}
.standard .check{
	border-top: 7px solid #fbfbfb;
	padding: 0 45px;
	margin-top: 40px;
	height: 176px;
}
.standard .check ul{
	font-size: 0.86em;
	margin: 70px 0 0;
	text-align: left;
	position: relative;
}
.standard .check ul::after{
	content: 'セルフチェック';
	color: #76c7c4;
	position: absolute;
	top: -40px;
	left: 0;
	display: block;
	font-weight: bold;
	text-align: center;
    width: 100%;
}
.standard .check ul li{
	margin-top: 10px;
    padding-left: 28px;
    position: relative;
}
.standard .check ul li::before{
	content: '◻︎';
    font-size: 2.0em;
    vertical-align: bottom;
	position: absolute;
	top: 0;
	left: 0;
}


/* sec4 -------------
 ----------------- */
.sec04{
	background: #f2f9fb;
    padding: 0 0 100px;
	position: relative;
}
.sec04::before {
    content: '';
    position: absolute;
    bottom: -20vh;
    left: 0;
    width: 0;
    height: 0;
    border-left: 50vw solid transparent;
    border-right: 50vw solid transparent;
    border-top: 20vh solid #f2f9fb;
    z-index: 1;
}
.sec04 .ethetic{
	background: #76c7c4;
	position: relative;
	width: 100vw;
}
.sec04 .ethetic::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-right: 50vw solid transparent;
    border-bottom: 20vh solid #f2f9fb;
    z-index: 1;
}
.sec04 .ethetic::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-left: 50vw solid transparent;
    border-bottom: 20vh solid #f2f9fb;
    z-index: 1;
}
.sec04 .ethetic p{
	color: #fff;
    display: block;
    font-size: 2.0em;
    margin: 0 auto;
    padding: 100px 0;
		-webkit-writing-mode: vertical-rl;
    	-ms-writing-mode: tb-rl;
    	writing-mode: vertical-rl;
}
.left{float: left;}
.right{float: right;}
.half{
	width: calc(50% - 20px);
	margin-top: 100px;
}
.half.txt.left{
	margin-left: 40px;
}
.half.txt.right{
	margin-right: 40px;
}
.half p {
	font-size: 0.9em;
	margin-top: 40px;
}
.half p strong{
	font-size: 1.1em;
	font-weight: bold;
	margin-top: 40px;
}
.half p.lead{
	color: #76c7c4;
	font-size: 1.6em;
	font-weight: bold;
	line-height: 1.0;
	margin-top: 0;
}

.sec04 .title{
	color: #c2a051;
	font-size: 2.0em;
	text-align: center;
	position: relative;
	display: table;
    margin: 100px auto 0;
}
.sec04 .title::before, .sec04 .title::after{
	content: '■';
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
  	transform: translateY(-50%);
}
.sec04 .title::before{
	left: -1.5em;
}
.sec04 .title::after{
	right: -1.5em;
}

.half div{
	background: #fff;
	padding: 40px 25px;
	margin-top: 40px;
}
.half div p{
	margin-top: 0;
}
.half div p span{
	color: #76c7c4;
	font-weight: bold;
}
.half div .arrow{
	width: 0;
  	height: 0;
  	border-left: 30px solid transparent;
  	border-right: 30px solid transparent;
  	border-top: 30px solid #dcdcdc;
	padding: 0;
    margin: 37px auto;
}

.jidv{
	display: block;
	margin-top: 100px;
	text-align: center;
}
.jidv:hover img {
  opacity: 1;
  -webkit-animation: flash 1.5s;
  animation: flash 1.5s;
}
@-webkit-keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}


/* sec5 -------------
 ----------------- */
.sec05{
	background: #76c7c4;
	padding: 250px 0 150px;
	position: relative;
}
.sec05::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 50vw;
  	height: 100%;
	background: url(../img/bg_full.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.sec05 p.title{
	color: #fff;
	font-size: 2.7em;}
.sec05 p.txt{
	color: #fff;
	font-size: 1.0em;
	margin-top: 30px;
}
a.btn{
	position: relative;
	display: block;
	margin: 40px 0 0;
	width: 480px;
	background: #c2a051;
	border: none;
	color: #fff;
	padding: 10px;
	text-align: center;
}
a.btn2{
	position: relative;
	display: block;
	margin: 40px auto 0;
	width: 480px;
	background: #c2a051;
	border: none;
	color: #fff;
	padding: 10px;
	text-align: center;
}
a.btn::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-left: 24px solid transparent;
    border-top: 48px solid #76c7c4;
}
a.btn2::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-left: 24px solid transparent;
    border-top: 48px solid #fff;
}
a.btn::after,a.btn2::after{
	content: '';
    position: absolute;
    top: 18px;
    right: 70px;
    background: url(../img/arrow_w.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 70px;
    height: 10px;
	transition: all .2s;
}
a.btn:hover::after,a.btn2:hover::after{
	right: 15px;}

.cover_box{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50vw;
	height: calc(100% - 20vh);
}
.cover_box::after{
	content: '';
    position: absolute;
    box-sizing: content-box;
    bottom: 0;
    right: -281px;
    width: 281px;
    height: 100%;
    background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #76c7c4 50.5%) no-repeat top left/100% 100%;
}


/* sec6 -------------
 ----------------- */
.sec06{
	background: #fbfbfb;
    padding: 100px 0;
}
.sec06 .wrap{
	counter-reset: number 0;
}
.sec06 .title{
	color: #c2a051;
	font-size: 2.0em;
	text-align: center;}

table.flow_t{
	width: 100%;
	border-collapse: separate;
    border-spacing: 5px;
	margin-top: 40px;
}
table.flow_t th,table.flow_t td{
	font-size: 13px;
	width: calc(100%/3);
}
table.flow_t th{
	position: relative;
}
table.flow_t td{
	background: #fff;
    padding: 80px 30px 20px;
	position: relative;
	border-bottom: 1px solid #76c7c4;
}
table.flow_t td::before {
    color: #fff;
    font-size: 1.5em;
    line-height: 60px;
    background: #76c7c4;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    z-index: 1;
	text-align: center;
    counter-increment: number 1;
    content: "STEP " counter(number, decimal-leading-zero);
}
table.flow_t th.a01{
	background: #f5d7e7;
    padding: 10px 30px;
}
table.flow_t th.a02{
	background: #dcdcdc;
    padding: 10px 30px;
}
table.flow_t th.a03{
	background: #f5d7e7;
    padding: 10px 30px;
}
table.flow_t th.a04{
	background: #dcdcdc;
    padding: 10px 30px;
}
table.flow_t th.a05{
	background: #dcdcdc;
    padding: 10px 30px;
}
table.flow_t th.a06{
	background: #f5d7e7;
    padding: 10px 30px;
}

table.flow_t th.a01::before,
table.flow_t th.a03::before,
table.flow_t th.a05::before,
table.flow_t th.a02::before,
table.flow_t th.a04::before,
table.flow_t th.a06::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
  	height: 0;
  	border-left: 21.5px solid transparent;
  	border-top: 21.5px solid #fbfbfb;
}
table.flow_t th.a01::after,
table.flow_t th.a03::after,
table.flow_t th.a05::after,
table.flow_t th.a02::after,
table.flow_t th.a04::after,
table.flow_t th.a06::after{
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
  	height: 0;
  	border-left: 21.5px solid transparent;
  	border-bottom: 21.5px solid #fbfbfb;
}

/* sec7 -------------
 ----------------- */
.sec07{
	background: #f2f9fb;
    padding: 100px 0;
	position: relative;
}
.sec07::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
  	height: 0;
  	border-right: 60px solid transparent;
  	border-top: 1065.98px solid #76c7c4;
}
.sec07::after{
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
  	height: 0;
  	border-left: 60px solid transparent;
  	border-bottom: 1065.98px solid #76c7c4;
}
.sec07 .title{
	color: #c2a051;
	font-size: 2.0em;
	margin-bottom: 40px;
	text-align: center;}

.sep_img{width: calc(60% - 30px);}
.sep_txt{
	width: calc(40% - 30px);
	margin-left: 60px;
}
.sep_txt .lead{
	background: #76c7c4;
	color: #fff;
	font-size: 0.9em;
	padding: 4px;
	margin: 20px 0;
	text-align: center;
}
.name{
	color: #76c7c4;
	font-size: 1.0em;
	margin-top: 30px;
	text-align: center;
}
ruby{
	color: #76c7c4;
	display: block;
	font-size: 2.8em;
	font-weight: bold;
	margin-top: 20px;
	text-align: center;
}
rt,rp{
	color: inherit;
	font-size: 0.3em;
	font-weight: normal;
}


/* sec8 -------------
 ----------------- */
.sec08{
	padding: 100px 0;
	position: relative;
}
.sec08 .title{
	color: #c2a051;
	font-size: 2.0em;
	text-align: center;
	position: relative;
	display: table;
    margin: 0 auto 40px;
}
.sec08 .title::before, .sec08 .title::after{
	content: '■';
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
  	transform: translateY(-50%);
}
.sec08 .title::before{
	left: -1.5em;
}
.sec08 .title::after{
	right: -1.5em;
}

.sec08 .title:nth-of-type(2){
	margin-top: 100px;
}
.sec08 p strong{
	font-weight: bold;
}
table.price_list{
	border-collapse: separate;
	border-spacing: 5px;
	width: 100%;
	text-align: left;
}
table.price_list thead th{
	background: #76c7c4;
	color: #fff;
	font-size: 1.0em;
	padding: 40px 20px;
	text-align: center;
	vertical-align: middle;
} 
table.price_list tbody th{
	background: #f1f9fa;
	color: #76c7c4;
	font-size: 0.9em;
	font-weight: bold;
	padding: 30px 20px;
	vertical-align: middle;
} 
table.price_list tbody td{
	background: #fbfbfb;
	font-size: 0.8em;
	padding: 30px 20px;
	vertical-align: middle;
}
table.sp_price_list{
	border-collapse: separate;
	border-spacing: 5px;
	width: 100%;
}
table.sp_price_list th{
	background: #76c7c4;
	color: #fff;
	display: block;
	font-size: 1.0em;
	padding: 40px 20px;
	text-align: center;
	vertical-align: middle;
} 
table.sp_price_list td{
	background: #fbfbfb;
	display: block;
	font-size: 0.8em;
	padding: 30px 20px;
	vertical-align: middle;
}
ul.pay{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	margin-top: 40px;
}
ul.pay li{
	flex-basis: calc(100%/5 - 5px);
	text-align: center;
	background: #76c7c4;
	color: #fff;
	font-size: 0.8em;
	padding: 35px 0 20px;
	position: relative;
}
ul.pay li img{
	display: block;
	margin: 0 auto 20px;
	height: 65px;
}

/* sec9 -------------
 ----------------- */
.sec09{
	background: #f1f9fa;
	padding: 100px 0;
	position: relative;
}
.sec09 .title{
	color: #c2a051;
	font-size: 2.0em;
	text-align: center;
	position: relative;
	display: table;
    margin: 0 auto 40px;
}
.sec09 .title::before, .sec09 .title::after{
	content: '■';
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
  	transform: translateY(-50%);
}
.sec09 .title::before{
	left: -1.5em;
}
.sec09 .title::after{
	right: -1.5em;
}
.acc_txt{width: calc(60% - 20px);}
.acc_img{
	width: calc(40% - 20px);
	margin-left: 40px;
}
table.time{
	border-collapse: separate;
	border-spacing: 2px;
	width: 100%;
	margin: 15px 0;
}
table.time thead th{
	background: #76c7c4;
	color: #fff;
	font-size: 1.0em;
	padding: 5px 10px;
	text-align: center;
	vertical-align: middle;
}
table.time tbody th,table.time tbody td{
	background: #fff;
	color: #76c7c4;
	font-size: 1.0em;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
}
.sec09 p strong{
	font-weight: bold;
}

/* sec10 -------------
 ----------------- */
.sec10{
	padding: 100px 0;
	position: relative;
}
.sec10 .title{
	color: #c2a051;
	font-size: 2.0em;
	text-align: center;
	position: relative;
	display: table;
    margin: 0 auto 40px;
}
.sec10 .title::before, .sec10 .title::after{
	content: '■';
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
  	transform: translateY(-50%);
}
.sec10 .title::before{
	left: -1.5em;
}
.sec10 .title::after{
	right: -1.5em;
}

/* sec_thanks -------------
 ----------------- */
.sec_thanks{
	padding: 100px 0;
	position: relative;
	height: calc(100vh - 242px);
}
.sec_thanks .title{
	color: #c2a051;
	font-size: 2.0em;
	text-align: center;
	position: relative;
	display: table;
    margin: 0 auto 40px;
}
.sec_thanks p{
	text-align: center;
}

/* sec_case -------------
 ----------------- */
.sec_case{
	padding: 0 0 100px;
	position: relative;
}
.sec_case .case_mv{
	background: url(../img/case/case_mv.png);
	display: block;
	width: 1000px;
	height: 350px;
	position: relative;
}
.sec_case .case_mv div{
	position: absolute;
	top: calc(50% - 125px);
	left: 0;
	right: 0;
	background: rgba(255,255,255,.7);
	display: block;
	height: 250px;
	margin: 0 auto;
	width: 700px;
}
.sec_case .case_mv div p{
	color: #c2a051;
	font-size: 50px;
	letter-spacing: 2.0px;
	line-height: 250px;
	margin: 0;
	position: relative;
	text-shadow: 
    rgb(255,255,255) 2px 0px 0px, rgb(255,255,255) -2px 0px 0px,
    rgb(255,255,255) 0px -2px 0px, rgb(255,255,255) 0px 2px 0px,
    rgb(255,255,255) 2px 2px 0px, rgb(255,255,255) -2px 2px 0px,
    rgb(255,255,255) 2px -2px 0px, rgb(255,255,255) -2px -2px 0px,
    rgb(255,255,255) 1px 2px 0px, rgb(255,255,255) -1px 2px 0px,
    rgb(255,255,255) 1px -2px 0px, rgb(255,255,255) -1px -2px 0px,
    rgb(255,255,255) 2px 1px 0px, rgb(255,255,255) -2px 1px 0px,
    rgb(255,255,255) 2px -1px 0px, rgb(255,255,255) -2px -1px 0px,
    rgb(255,255,255) 1px 1px 0px, rgb(255,255,255) -1px 1px 0px,
    rgb(255,255,255) 1px -1px 0px, rgb(255,255,255) -1px -1px 0px;
	z-index: 1;
}
.sec_case .case_mv div p::before{
	content: 'CASE';
	position: absolute;
	top: 0;
	left: 0;
	color: rgba(255,255,255,.4);
	display: block;
	font-size: 150px;
	width: 100%;
	height: 100%;
	text-shadow: none;
	z-index: 0;
}

.sec_case p{
	margin-top: 30px;
	text-align: center;
}

.sec_case .case_in{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	counter-reset: number 0;
}

.sec_case .case_in .case_inbox{
	flex-basis: calc(100%/3 - 20px);
    text-align: center;
    height: 300px;
    position: relative;
	margin-top: 100px;
	-webkit-filter: grayscale(0%);
	filter: grayscale(10%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.sec_case .case_in .case_inbox:hover{
	-webkit-filter: grayscale(100%);
  	filter: grayscale(100%);
}
.sec_case .case_in .case_inbox::before{
	content: 'before';
	background: rgba(255,255,255,.4);
	display: block;
	position: absolute;
	top: 0;
	padding: 0 10px;
	z-index: 1;
	color: #c2a051;
	text-shadow: 
    rgb(255,255,255) 2px 0px 0px, rgb(255,255,255) -2px 0px 0px,
    rgb(255,255,255) 0px -2px 0px, rgb(255,255,255) 0px 2px 0px,
    rgb(255,255,255) 2px 2px 0px, rgb(255,255,255) -2px 2px 0px,
    rgb(255,255,255) 2px -2px 0px, rgb(255,255,255) -2px -2px 0px,
    rgb(255,255,255) 1px 2px 0px, rgb(255,255,255) -1px 2px 0px,
    rgb(255,255,255) 1px -2px 0px, rgb(255,255,255) -1px -2px 0px,
    rgb(255,255,255) 2px 1px 0px, rgb(255,255,255) -2px 1px 0px,
    rgb(255,255,255) 2px -1px 0px, rgb(255,255,255) -2px -1px 0px,
    rgb(255,255,255) 1px 1px 0px, rgb(255,255,255) -1px 1px 0px,
    rgb(255,255,255) 1px -1px 0px, rgb(255,255,255) -1px -1px 0px;
}
.sec_case .case_in .case_inbox::after{
	content: 'after';
	background: rgba(255,255,255,.4);
	display: block;
	position: absolute;
	bottom: 0;
	padding: 0 10px;
	color: #c2a051;
	text-shadow: 
    rgb(255,255,255) 2px 0px 0px, rgb(255,255,255) -2px 0px 0px,
    rgb(255,255,255) 0px -2px 0px, rgb(255,255,255) 0px 2px 0px,
    rgb(255,255,255) 2px 2px 0px, rgb(255,255,255) -2px 2px 0px,
    rgb(255,255,255) 2px -2px 0px, rgb(255,255,255) -2px -2px 0px,
    rgb(255,255,255) 1px 2px 0px, rgb(255,255,255) -1px 2px 0px,
    rgb(255,255,255) 1px -2px 0px, rgb(255,255,255) -1px -2px 0px,
    rgb(255,255,255) 2px 1px 0px, rgb(255,255,255) -2px 1px 0px,
    rgb(255,255,255) 2px -1px 0px, rgb(255,255,255) -2px -1px 0px,
    rgb(255,255,255) 1px 1px 0px, rgb(255,255,255) -1px 1px 0px,
    rgb(255,255,255) 1px -1px 0px, rgb(255,255,255) -1px -1px 0px;
}
.sec_case .case_in .case_inbox a{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	color: #fff;
	line-height: 300px;
	text-decoration: underline;
}
.sec_case .case_in .case_inbox div:nth-child(2){
	height: 50%;
	width:100%;
	overflow: hidden;
}
.sec_case .case_in .case_inbox div:last-child{
	height: 50%;
	width:100%;
	overflow: hidden;
}
.sec_case .case_in .case_inbox div img{
	min-width: 100%;
}	
/*-- case13 --*/
.sec_case .case_in .case_inbox:first-child div:nth-child(2) img{ margin-top: -30px;}
.sec_case .case_in .case_inbox:first-child div:last-child img{ margin-top: -25px;}
/*-- case01 --*/
.sec_case .case_in .case_inbox:nth-child(2) div:nth-child(2) img{ margin-top: -30px;}
.sec_case .case_in .case_inbox:nth-child(2) div:last-child img{ margin-top: -50px;}
/*-- case02 --*/
.sec_case .case_in .case_inbox:nth-child(3) div:nth-child(2) img{ margin-top: -30px;}
.sec_case .case_in .case_inbox:nth-child(3) div:last-child img{ margin-top: -35px;}
/*-- case03 --*/
.sec_case .case_in .case_inbox:nth-child(4) div:nth-child(2) img{ margin-top: -40px; margin-left: -5px; min-width: 110%;}
.sec_case .case_in .case_inbox:nth-child(4) div:last-child img{ margin-top: -15px;}
/*-- case04 --*/
.sec_case .case_in .case_inbox:nth-child(5) div:nth-child(2) img{ margin-top: -20px;}
.sec_case .case_in .case_inbox:nth-child(5) div:last-child img{ margin-top: -30px;}
/*-- case05 --*/
.sec_case .case_in .case_inbox:nth-child(6) div:nth-child(2) img{ margin-top: -30px;}
.sec_case .case_in .case_inbox:nth-child(6) div:last-child img{ margin-top: -25px;}
/*-- case06 --*/
.sec_case .case_in .case_inbox:nth-child(7) div:nth-child(2) img{ margin-top: -40px;}
.sec_case .case_in .case_inbox:nth-child(7) div:last-child img{ margin-top: -30px;}
/*-- case07 --*/
.sec_case .case_in .case_inbox:nth-child(8) div:nth-child(2) img{ margin-top: -10px;}
.sec_case .case_in .case_inbox:nth-child(8) div:last-child img{ margin-top: 0;}
/*-- case08 --*/
.sec_case .case_in .case_inbox:nth-child(9) div:nth-child(2) img{ margin-top: -20px;}
.sec_case .case_in .case_inbox:nth-child(9) div:last-child img{ margin-top: -30px;}
/*-- case09 --*/
.sec_case .case_in .case_inbox:nth-child(10) div:nth-child(2) img{ margin-top: -10px;}
.sec_case .case_in .case_inbox:nth-child(10) div:last-child img{ margin-top: -20px;}
/*-- case10 --*/
.sec_case .case_in .case_inbox:nth-child(11) div:nth-child(2) img{ margin-top: -30px;}
.sec_case .case_in .case_inbox:nth-child(11) div:last-child img{ margin-top: -30px;}
/*-- case11 --*/
.sec_case .case_in .case_inbox:nth-child(12) div:nth-child(2) img{ margin-top: -30px;}
.sec_case .case_in .case_inbox:nth-child(12) div:last-child img{ margin-top: -20px;}
/*-- case12 --*/
.sec_case .case_in .case_inbox:nth-child(13) div:nth-child(2) img{ margin-top: -35px;}
.sec_case .case_in .case_inbox:nth-child(13) div:last-child img{ margin-top: -30px;}
/*-- case12 --*/
.sec_case .case_in .case_inbox:nth-child(14) div:nth-child(2) img{ margin-top: -35px;}
.sec_case .case_in .case_inbox:nth-child(14) div:last-child img{ margin-top: -30px;}
/*-- case12 --*/
.sec_case .case_in .case_inbox:nth-child(15) div:nth-child(2) img{ margin-top: -35px;}
.sec_case .case_in .case_inbox:nth-child(15) div:last-child img{ margin-top: -30px;}


/*-- case中途半端な時だけ --*/
/* .sec_case .case_in .case_inbox:nth-child(14)::before,.sec_case .case_in .case_inbox:nth-child(14)::after{content: none;}
.sec_case .case_in .case_inbox:nth-child(14) div { height: 100%;}
.sec_case .case_in .case_inbox:nth-child(14) div img{ height: 100%; width: 100%;}
.sec_case .case_in .case_inbox:nth-child(15)::before,.sec_case .case_in .case_inbox:nth-child(15)::after{content: none;}
.sec_case .case_in .case_inbox:nth-child(15) div { height: 100%;}
.sec_case .case_in .case_inbox:nth-child(15) div img{ height: 100%; width: 100%;} */


.risk_box {
    padding: 0;
	position: fixed;
	bottom: 1.4vh;
	left: 0;
	right: 0;
	background: rgba(255,255,255,1.0);
	border: 2px rgba(0,0,0,1.00) solid;
	display: block;
	margin: 0 auto;
	width: 1000px;
}
.risk_box label{
	display: block;
	font-size: 14px;
	vertical-align: text-bottom;
	padding: 10px;
	cursor: pointer;
}
.risk_box label span{
	font-size: 10px;
	padding-left: 8px;
}
.risk_box input {
    display: none;
}
.risk_box .risk_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}
.risk_box input:checked ~ .risk_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}
.risk_show p{
	font-size: 10px;
	font-weight: normal;
	vertical-align: text-bottom;
	padding-left: 10px;
	margin-top: 0;
	text-align: left;
}
.risk_show p span{
	font-weight: bold;
}
.risk_show p.tre_title{
	background: #000;
	color: #fff;
	display: inline-block;
	padding: 3px 8px;
	margin-left: 8px;
	margin-top: 0;
}
.risk_show p.anno{font-size:0.7em;}

/* ---------------------------
	
	contact

 --------------------------- */
table.contact{
	border-collapse: separate;
	border-spacing: 5px;
	text-align: left;
}
table.contact th{
	color: #76c7c4;
	padding: 20px;
	vertical-align: top;
	width: 25%;
}
table.contact th.must{
	position: relative;
}
table.contact th.must::after{
	content: '必須';
	position: absolute;
	top: 20px;
	right: 0;
	background: #76c7c4;
	color: #fff;
	font-size: 0.8em;
	padding: 0 13px;
	text-align: center;
}
table.contact td{
	padding: 20px 20px 0;
	vertical-align: top;
	width: 75%;
}
table.contact td.diff{
	padding: 0;
}

table.contact td .white-wrap.date {
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    padding: 0 0 0 20px;
	margin: 20px 20px 0;
    box-sizing: border-box;
    font-size: 15px;
	border: 1px solid #dcdcdc;
}
table.contact td .white-wrap {
    background: #fbfbfb;
    height: 70px;
    position: relative;
}
select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    background: url(../img/arrow-form.png) no-repeat #fff;
    background-position: calc(100% - 4px) center;
    background-size: 6px;
    font-size: 15px;
    padding: 0 40px 0 20px;
    height: 32px;
    border: solid 1px;
    border-radius: 0;
    margin: 0 10px 0 20px;
	border: 1px solid #dcdcdc;
	vertical-align: middle;
}
input,textarea{
	border: 1px solid #dcdcdc;
	background: #fbfbfb;
	padding: 10px 20px;
}
input[name=name],input[name=tel],input[name=mail]{
	width: 100%;
	height: 50px;
}
input[type="date"]{
	width: 50%;
}

input[type="submit"]{
	background: #c2a051;
	border: none;
	color: #fff;
	padding: 10px;
	width: 100%;
	display: block;
	margin: 40px auto 0;
	width: 500px;
}
.confirm{
	position: relative;
	display: block;
	margin: 40px auto 0;
	width: 500px;
}
.confirm::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-left: 24px solid transparent;
    border-top: 48px solid #fff;
}
.confirm::after{
	content: '';
    position: absolute;
    top: 18px;
    right: 70px;
    background: url(../img/arrow_w.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 70px;
    height: 10px;
	transition: all .2s;
}
.confirm:hover::after{
	right: 15px;}

.contactText{
	color: #c2a051;
    font-size: 1.4em;
    text-align: center;
	display: block;
}
/* ---------------------------
	
	footer

 --------------------------- */
footer{background: #76c7c4; padding: 30px 0;}
small{
	color: #fff;
    display: block;
    font-size: 0.8em;
    text-align: center;
}
.ft_cont{display: none;}