/*
Theme Name: variovac Theme
*/

/*=========================================*/
/* All */
/*=========================================*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900');

/*-- reset --*/

html, body, div, span, object,
h1, h2, h3, h4, h5, h6,
p, img, dl, dt, dd,
ol, ul, li,
fieldset, form, label, table, caption,
tbody, tfoot, thead,
article, aside, footer, header, menu, nav, section,
audio, video{
	margin:0;
	padding:0;
	border:0;
	outline:0;
	vertical-align:baseline;
	background:transparent;
}

.clearfix {zoom:1;}
.clearfix:after{content: "";display: block;clear: both;}
.clear{clear:both;}

ol, ul{
	list-style:none;
}

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

blockquote, q{
	quotes:none;
}

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

a:link{
	color: #2083b6;
	text-decoration: underline;
}

a:visited{
	color: #2083b6;
	text-decoration:underline;
}

a:hover,
a:active{
	color:#000000;
	text-decoration:none;
}

img{
	vertical-align:top;
	font-size:0;
	line-height:0;
}

html{
	overflow-x: hidden;
}

body{
    overflow-x: hidden;
	position: relative;
	width: 100%;
    background-color: #fff;
    font-size: 15px;
	line-height:180%;
	font-family: 'Noto Sans CJK JP', sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.04em;
	text-align:left;
	color:#444444;
}

.sp{
    display: none;
}

.pc{
}

.contents-box{
    max-width: 1200px;
    width: 100%;
    width: auto;
    margin: auto;
}


@media screen and (max-width:1240px){
.contents-box{
    margin: 0 20px;
}
}

@media screen and (max-width:800px){
body{
    font-size: 14px;
}

.sp{
    display: block;
}

.pc{
    display: none;
}
}

@media screen and (max-width:820px){
}

/*Chrome Opera*/
@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
}

/*=========================================*/
/* Header */
/*=========================================*/

.header{
	display: -webkit-flex;
	display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
	z-index:100;
    width: 100%;
	height: 107px;
    background-color:rgba(255,255,255,1.0);
	box-shadow: 0px 0px 15px rgba(0,0,0,0.15);
}

.header .logo{
	padding: 0px 0px 0 75px;
	text-align: left;
}

.header .logo a{
	width: 200px;
	display: block;
}

.header .logo img{
	width: 100%;
}

.global-navi{
    flex: 1;
    margin-right: 20px;
}

.global-navi ul{
	display: -webkit-flex;
	display: flex;
    justify-content: flex-end;
    align-items: center;
}

.global-navi li{
    position: relative;
    display: block;
	text-align: left;
	float: left;
}

.global-navi li.navi-contact{
    margin-left: 20px;
}

.global-navi a{
    display: block;
    height: 50px;
	padding: 0 20px;
	font-size:18px;
    font-weight: 400;
	letter-spacing: 0.04em;
    line-height: 50px;
	color: #575756;
	text-align: center;
	text-decoration:none;
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
	transition: all 0.5s;
}

.global-navi a:hover{
    background-color: #007caf;
	color: #fff;
	text-decoration:underline;
	transition: all 0.5s;
}

@media screen and (max-width:800px){
.header{
	height: 84px;
}

.header .logo{
	padding: 0px 0px 0 20px;
}

.header .logo a{
	width: 144px;
}

.global-navi{
	display: none;
}
}

@media screen and (max-width:640px){
}

/*=========================================*/
/* SP menu */
/*=========================================*/

.menu-btn {
    display: none;
    position: fixed;
    top:14px;
    right: 16px;
    cursor: pointer;
    width: 55px;
    height:55px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #2083b6;
    border-radius: 4px;
}

@media screen and (max-width:800px){
.menu-btn {
    display: flex;
}
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #3584bb;
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 0px 10px 33px;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    left: 11px;
    top: 16px;
}

.menu-content ul li.sub a {
    padding: 5px 0px 5px 48px;
}
.menu-content ul li.sub a::before {
    left: 26px;
}

.menu-content ul li.contact {
    margin-top: 10px;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #3584bb;
    transition: all 0.5s;/*アニメーション設定*/
}

#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}

/*=========================================*/
/* index kv */
/*=========================================*/

.index-kv{
    overflow: hidden;
    position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
    height: 720px;
    margin-top: 107px;
    background: #f5f7f9;
}

.slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    margin: auto;
}

.slides {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 1.2s ease-in-out;
}

.slide {
    min-width: 100%;
    height: 100%;
    position: relative;
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.caption {
    position: absolute;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
    justify-content:flex-start;
	align-items:center;
    bottom: 0;
    width: calc(100% - 70px);
    height: 143px;
	background-image:url("images/kv-caption-back.png");
	background-position:bottom;
	background-repeat:repeat-x;
	background-size: 146px;
    color: #575756;
    padding: 0px 35px;
    font-size: 52px;
}

.nav-dots {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 20px;
    z-index: 10;
}

.nav-dots button {
    width: 85px;
    height: 3px;
    background: #b9b9b9;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}

.nav-dots button.active {
    background: #2083b6;
}

@media screen and (max-width:800px){
.index-kv{
    height: 200px;
    margin-top: 84px;
    border-bottom: solid 2px #f2f2f2;
}

.caption {
    width: calc(100% - 40px);
    height: 95px;
	background-size: 93px;
    padding: 0px 20px;
    font-size: 20px;
}

.nav-dots {
    bottom: 10px;
    gap: 20px;
}

.nav-dots button {
    width: 10px;
    height: 12px;
    border-radius: 10px;
}
}

@media screen and (max-width:640px){
}

/*=========================================*/
/* index about */
/*=========================================*/

.index-about{
    padding: 80px 0 0px 0;
    text-align: center;
}

.index-about .read{
	font-size:45px;
    font-weight: 400;
	color: #2083b6;
}

.index-about .text{
    padding: 35px 0 0 0;
	font-size:14px;
    line-height: 200%;
}

.index-about .img{
    padding: 50px 0 0 0;
}

.index-about .img img{
    width: 100%;
}

@media screen and (max-width:800px){

.index-about{
    padding: 35px 0 0px 0;
}

.index-about .read{
	font-size:21px;
}

.index-about .text{
    padding: 25px 0 0 0;
}

.index-about .img{
    padding: 30px 0 0 0;
}
}

/*=========================================*/
/* index products */
/*=========================================*/

.index-products{
    padding: 100px 0 120px 0;
}

.index-products .read{
	font-size:45px;
    font-weight: 400;
    line-height: 45px;
	color: #2083b6;
    text-align: center;
}

.index-products .list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    padding: 50px 0 0 0;
}

.index-products .box{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
	flex-direction: column;
    width: calc(33.333% - 30px);
    text-align: center;
}

.index-products a.box {
	box-shadow: 0px 5px 20px rgba(0,0,0,0.1);
	text-decoration:none;
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.6s ease-out;
	transition: all 0.5s;
}

.index-products a.box:hover{
	box-shadow: 0px 5px 20px rgba(0,0,0,0.4);
	text-decoration:none;
	color: #2083b6;
	transition: all 0.6s;
}

.index-products .img{
}

.index-products .img img{
    width: 100%;
}

.index-products .data{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
	flex-direction: column;
    justify-content:center;
	align-items:center;
    padding: 16px 20px 20px 20px;
}

.index-products .text{
	color: #444;
}

.index-products .name-en{
    padding: 3px 0 0 0;
	font-size:19px;
    font-weight: 600;
	color: #2083b6;
}

.index-products .name-jp{
    padding: 3px 0 0 0;
    font-size: 13px;
}

.index-products .more{
    height: 50px;
    border-top: solid 1px #f1f1f1;
	background-image:url("images/ic-arrow.png");
	background-position:left 15px center;
	background-repeat:no-repeat;
	background-size: 9px;
    font-size: 14px;
    line-height: 50px;
}

@media screen and (max-width:800px){
.index-products{
    padding: 50px 0 60px 0;
}

.index-products .read{
	font-size:21px;
    line-height: 21px;
}

.index-products .list{
	flex-direction: column;
    gap: 20px;
    padding: 30px 0 0 0;
}

.index-products .box{
    width: calc(100% - 0px);
    max-width: 380px;
    margin: auto;
}
}

/*=========================================*/
/* footer */
/*=========================================*/

.footer{
    padding: 52px 0 70px 0;
    background-color: #575756;
    color: #fff;
}

.footer .contents-box{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
    justify-content: space-between;
	align-items:flex-start;
}

.footer .logo{
    margin: 10px 0 0 0px;
	width: 170px;
}

.footer .logo img{
	width: 100%;
}

.footer .logo .name{
    margin: 20px 0 0 0px;
	font-weight: 400;
}

.footer .footer-navi{
    flex: 1;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
    justify-content: flex-end;
}

.footer .footer-navi ul{
    margin-left: 60px;
}

.footer .footer-navi li{
    margin-bottom: 15px;
    font-weight: 600;
}

.footer .footer-navi li.sub{
    margin-bottom: 10px;
    font-weight: 400;
}

.footer .footer-navi li a{
	font-size:14px;
	letter-spacing: 0.04em;
	color: #fff;
	text-align: left;
	text-decoration:none;
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
	transition: all 0.5s;
}

.footer .footer-navi a:hover{
	text-decoration:underline;
	transition: all 0.5s;
}

@media screen and (max-width:800px){
.footer{
    padding: 40px 0 40px 0;
}

.footer .contents-box{
	flex-direction: column;
}

.footer .logo{
    margin: 0px 0 0 0px;
	width: 130px;
}

.footer .logo .name{
    margin: 15px 0 0 0px;
}

.footer .footer-navi{
	flex-direction: column;
    margin: 20px 0 0 0px;
}

.footer .footer-navi ul{
    margin-left: 0px;
}

.footer .footer-navi li{
    margin-top: 20px;
    margin-bottom: 15px;
}

.footer .footer-navi li.sub{
    margin-top: 0px;
    margin-left: 20px;
    margin-bottom: 10px;
}
}

/*=========================================*/
/* 下層 共通 */
/*=========================================*/

.common-title{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
    justify-content:flex-start;
	align-items:flex-end;
    min-width: 100%;
    height: 720px;
    margin-top: 107px;
    background: #f5f7f9;
}

.common-title img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common-title .title-area {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
	flex-direction: column;
    justify-content:center;
	align-items:flex-start;
    width: calc(100% - 70px);
    height: 143px;
    margin-top: -143px;
	background-image:url("images/kv-caption-back.png");
	background-position:bottom;
	background-repeat:repeat-x;
	background-size: 146px;
    color: #575756;
    padding: 0px 35px;
}

.common-title .read {
    margin: -10px 0 15px 0;
    font-size: 20px;
    font-weight: 400;
}

.common-title .title {
    font-size: 52px;
    font-weight: 400;
}

@media screen and (max-width:800px){
.common-title{
    height: 200px;
    margin-top: 84px;
    border-bottom: solid 2px #f2f2f2;
}

.common-title .title-area {
    width: calc(100% - 40px);
    height: 95px;
	background-size: 93px;
    padding: 0px 20px;
}

.common-title .read {
    margin: 0px 0 0px 0;
    font-size: 14px;
}

.common-title .title {
    font-size: 20px;
}
}

/*=========================================*/
/* Products list */
/*=========================================*/

.products-list{
    padding: 50px 0 130px 0;
}

.products-list .list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    padding: 50px 0 0 0;
}

.products-list .box{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
	flex-direction: column;
    width: calc(33.333% - 30px);
    text-align: center;
}

.products-list a.box {
	box-shadow: 0px 5px 20px rgba(0,0,0,0.1);
	text-decoration:none;
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.6s ease-out;
	transition: all 0.5s;
}

.products-list a.box:hover{
	box-shadow: 0px 5px 20px rgba(0,0,0,0.4);
	text-decoration:none;
	color: #2083b6;
	transition: all 0.6s;
}

.products-list img{
    width: 100%;
}

.products-list .name{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
	flex-direction: column;
    justify-content:center;
	align-items:flex-start;
    padding: 14px 16px;
    background-color: #f5f5f5;
    text-align: left;
}

@media screen and (max-width:800px){
.products-list{
    padding: 0px 0 60px 0;
}

.products-list .list{
	flex-direction: column;
    gap: 20px;
    padding: 30px 0 0 0;
}

.products-list .box{
    width: calc(100% - 0px);
    max-width: 380px;
    margin: auto;
}
}

/*=========================================*/
/* Products detail */
/*=========================================*/

.products-detail{
    padding: 65px 0;
}

.products-detail .img-single{
    padding-bottom: 65px;
    text-align: center;
}

.products-detail .img-single img{
    max-width: 100%;
    margin: auto;
}

.products-detail .img-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    padding: 0 0 65px 0;
    margin: 0;
}

.products-detail .img-list img{
    width: calc((100% - 90px) / 4);
    height: auto;
    display: block;
	box-shadow: 0px 5px 20px rgba(0,0,0,0.1);
}

.products-detail .text-area{
    padding-bottom: 65px;
}

.products-detail .read{
    padding-bottom: 20px;
    font-size: 16px;
    font-weight: 600;
}

.products-detail .text{
}

.products-detail .data-area{
    padding-bottom: 65px;
}

.products-detail .box{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding-bottom: 10px;
}

.products-detail .category{
    width: 33%;
    font-weight: 600;
}

.products-detail .data{
    flex: 1;
}

.products-detail .videos-area{
    padding-bottom: 65px;
}

.products-detail .videos-title{
    padding-bottom: 2px;
    border-bottom: solid 1px #2083b6;
    font-size: 21px;
    color: #2083b6;
}

.products-detail .videos-list{
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    padding: 40px 0 0 0;
    margin: 0;
}

.products-detail .videos-list iframe{
    width: calc((100% - 40px) / 2);
    height: 315px;
    display: block;
}

@media screen and (max-width:800px){
.products-detail{
    padding: 30px 0 0 0;
}

.products-detail .img-single{
    padding-bottom: 45px;
}

.products-detail .img-list{
    gap: 12px;
    padding: 0 0 45px 0;
}

.products-detail .img-list img{
    width: calc((100% - 12px) / 2);
}

.products-detail .text-area{
    padding-bottom: 45px;
}

.products-detail .read{
    padding-bottom: 15px;
}

.products-detail .data-area{
    padding-bottom: 35px;
}

.products-detail .box{
	flex-direction: column;
    padding-bottom: 20px;
}

.products-detail .category{
    width: auto;
}

.products-detail .data{
    flex: auto;
}

.products-detail .videos-area{
    padding-bottom: 35px;
}

.products-detail .videos-title{
    padding-bottom: 0px;
    font-size: 16px;
}

.products-detail .videos-list{
	flex-direction: column;
    gap: 0px;
    padding: 15px 0 0 0;
}

.products-detail .videos-list iframe{
    width: 100%;
    max-width: 350px;
    height: 185px;
    margin: 0 auto 15px auto;
}
}

/*=========================================*/
/* Contact */
/*=========================================*/

.contact-form{
    max-width: 780px;
	margin: 0px auto 0px auto;
	padding: 80px 0 140px 0;
}

.contact-list{
	margin: 0px auto 40px auto;
}

.contact-list .box{
	list-style: none;
	overflow: hidden;
}

.contact-list .left{
	position: absolute;
    font-size: 14px;
	font-weight: 500;
	padding: 30px 0px 0px 0px;
}

.contact-list .left.radio-checkbox{
	margin-top: -10px;
}

.required {
	margin-left: 5px;
	padding:0;
	color:#b72039;
}

.contact-list .right{
	padding: 20px 0px 20px 220px;
	display: block;
}

.contact-list .right input{
	background-color: #f5f5f5;
	border: 1px solid #b9b9b9;
	padding: 15px 10px;
    width: calc(100% - 22px);
}

.contact-list .right input:focus {
	border: 1px solid #317edb;
}

.select-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

.select-wrapper select {
    width: 100%;
    padding: 10px;
    appearance: none; /* 矢印を非表示に */
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* ↓ カスタム矢印 */
.select-wrapper::after {
    content: '';
    position: absolute;
    top: 25px;
    right: 10px;
    transform: translateY(-50%);
    pointer-events: none;
    width: 22px;
    height: 22px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
}

.contact-list .right select{
	background-color: #f5f5f5;
	border: 1px solid #b9b9b9;
	padding: 15px 10px;
    width: calc(100% - 0px);
}

.contact-list .right select:focus {
	border: 1px solid #317edb;
}

.contact-list .right textarea{
	background-color: #f5f5f5;
	border: 1px solid #b9b9b9;
	padding: 12px 10px;
    width: calc(100% - 22px);
}

.contact-list .right textarea:focus {
	border: 1px solid #317edb;
}

.contact-list .right input.input-post{
    width: calc(200px - 22px);
}

.contact-list .right.right-radio{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
    justify-content:flex-start;
	align-items:center;
}

.contact-list .right .radio-box{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
    justify-content:flex-start;
	align-items:center;
    margin-left: -15px;
    margin-right: 30px;
}

.contact-list .right .radio-box input{
	margin-right: 10px;
}

.contact-list .right.right-checkbox{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
    justify-content:flex-start;
	align-items:center;
}

.contact-list .right .checkbox-box{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
    justify-content:flex-start;
	align-items:center;
    margin-left: -15px;
    margin-right: 30px;
}

.contact-list .right .checkbox-box input{
	margin-right: 10px;
}

.contact-list .right .radio-box .wpcf7-not-valid-tip,
.contact-list .right .checkbox-box .wpcf7-not-valid-tip{
    margin-left: 15px;
}

.contact-list .right input[type="checkbox"],
.contact-list .right input[type="radio"] {
    appearance: none; /* ブラウザ標準の見た目をリセット */
    -webkit-appearance: none; /* Safari対応 */
    background-color: #f5f5f5;
    border: 1px solid #b9b9b9;
    width: 20px;
    height: 20px;
    padding: 0px;
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    position: relative;
}

.contact-list .right input[type="radio"] {
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
}

/* チェックされているときの見た目 */
.contact-list .right input[type="checkbox"]:checked,
.contact-list .right input[type="radio"]:checked {
    background-color: #fff;
}

/* チェックボックス用のチェックマーク */
.contact-list .right input[type="checkbox"]::before {
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23007caf' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    display: none; /* チェック状態じゃないときは非表示 */
    pointer-events: none;
}

/* ラジオボタン用の丸 */
.contact-list .right input[type="radio"]::before {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #007caf;
    display: none;
}

.contact-list .right input[type="checkbox"]:checked::before,
.contact-list .right input[type="radio"]:checked::before {
  display: block;
}

.contact-list .right .caution{
	margin-left: 10px;
	font-size: 13px;
}

.contact-form-btn{
	width:100%;
	padding:20px 0 0px 0;
	margin:0 auto;
	text-align: center;
}

.contact-form-btn .btn{
	margin: 0px 10px 0 10px;
	text-align: center;
	border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
}

.contact-form-btn .btn a{
	cursor: pointer;
	font-size:14px;
    line-height: 45px;
	letter-spacing: 0.06em;
	color: #ffffff;
	text-decoration: none;
	display: block;
	width: 100%;
    height: 45px;
    max-width: 150px;
    margin: auto;
	background-color: #2083b6;
	-webkit-transition: opacity 1.0s ease-out;
	-moz-transition: opacity 1.0s ease-out;
	-ms-transition: opacity 1.0s ease-out;
	transition: opacity 1.0s ease-out;
	transition: all 1.5s;
}

.contact-form-btn .btn a:hover {
	background-color: #575756;
	transition: all 0.5s;
}

.contact-form-btn .btn input{
	font-size:14px;
    line-height: 45px;
	letter-spacing: 0.06em;
	color: #ffffff;
	letter-spacing: 0.00em;
	text-align: center;
	width: 100%;
	cursor: pointer;
	display: block;
    height: 45px;
    max-width: 150px;
    margin: auto;
	background-color: #2083b6;
	border: 1px solid #2083b6;
	transition: all 0.5s;
}

.contact-form-btn .btn input:hover {
	background: #575756;
	border: 1px solid #575756;
	transition: all 0.5s;
}

.contact-form-btn p{
	padding-top: 30px;
	color:#333333;
}

/* エラーメッセージ */
.contact-form .wpcf7 form.invalid .wpcf7-response-output,
.contact-form .wpcf7 form.unaccepted .wpcf7-response-output,
.contact-form .wpcf7 form.payment-required .wpcf7-response-output {
    text-align: center;
    color: #b72039;
    border-color: #b72039;
}

/* 成功メッセージ */
.contact-form .wpcf7 form.sent .wpcf7-response-output {
    text-align: center;
    color: #2083b6;
    border-color: #2083b6;
}

@media screen and (max-width:820px){
.contact-form{
    margin: 0 20px;
}
}

@media screen and (max-width:800px){
.contact-form{
	padding: 20px 0 20px 0;
}

.contact-list{
	margin: 0px auto 20px auto;
}

.contact-list .left{
	position: relative;
	padding: 5px 0px 0px 0px;
}

.contact-list .left.radio-checkbox{
	margin-top: 0px;
}

.contact-list .right{
	padding: 8px 0px 20px 0px;
}

.contact-list .right.right-radio{
	flex-direction: column;
    justify-content:flex-start;
	align-items:flex-start;
    margin-left: 0px;
}

.contact-list .right.right-checkbox{
	flex-direction: column;
    justify-content:flex-start;
	align-items:flex-start;
    margin-left: 0px;
}

.contact-list .right .radio-box{
    margin-left: 0px;
    margin-right: 15px;
}

.contact-list .right .checkbox-box{
    margin-left: 0px;
    margin-right: 15px;
    margin-bottom: 5px;
}

.contact-list .right .radio-box{
    margin-bottom: 5px;
    margin-right: 0px;
    margin-bottom: 5px;
}

.contact-list .right .radio-box .wpcf7-not-valid-tip,
.contact-list .right .checkbox-box .wpcf7-not-valid-tip{
    margin-left: 0px;
}

.contact-list .right.right-radio .wpcf7-radio{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
	flex-direction: column;
    justify-content:flex-start;
	align-items:flex-start;
}

.contact-list .right.right-radio .wpcf7-radio .wpcf7-list-item{
	margin-top: 5px;
}

.contact-list .right.right-radio .wpcf7-radio .wpcf7-list-item.first{
	margin-top: 0px;
}

.contact-list .right .caution{
	margin-left: 0px;
	padding-top: 5px;
	display: block;
}

.contact-form-btn{
    width: auto;
	padding:20px 0px 40px 0px;
}
}
