@charset "UTF-8";

@import url(base.css);

img {
	display: inline-block;
	max-width:100%;
	max-height: 100%;
    vertical-align:top;}

html {
    scroll-padding-top: 80px; /* 固定ヘッダの高さ分 */}

.sp,.pc845 {
	display: none !important;}

p {
    font-size: 100%;
    line-height: 1.4em;
    padding: 0;}

/*-------------------------------------------------
	++ container
-------------------------------------------------*/
#container {
	margin:0 auto;
	text-align: center;
	position:relative;
    width: 100%;
	min-width:1200px;}

.cInner {
	display:block;
	clear:both;
	width:1000px;
    padding: 40px 0;
	margin:0 auto;
	text-align: left;
    margin-inline: auto;}
.cInner2 {
	display:block;
	clear:both;
	width:1100px;
    padding: 40px 0;
	margin:0 auto;
	text-align: left;}

/*-------------------------------------------------
	++ HEADER
-------------------------------------------------*/
#header {
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 9999;
    background-color: #FFFFFF;}
#header .Inner {
    width: 1200px;
	height:80px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;}
#header .logo {
    margin: 0;
    width: 300px;}
#header .logo img {
    width: 100%;}

#menu {
	position:relative;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;}
#menu nav ul {
	width: 100%;
	display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: row;}
#menu nav li {
	font-size: 100%;
    line-height: 1.3em;
	text-align: center;
	margin-left: 1.5em;
    padding: 0;
    color: #000000;
	display: inline-block;}
#menu nav li a { 
    display: block;
    color: #000000;
    width: 100%;
    padding: 0px;}
#menu nav li.Ttrial {
    background-color: #ff0000;
    line-height: 2.5em;
    border-radius: 30px;
    padding-right: 0;
    color: #FFFFFF;}
#menu nav li.Inquiry {
    background-color: #ff9000;
    line-height: 2.5em;
    border-radius: 30px;
    padding-right: 0;
    color: #FFFFFF;}
#menu nav li.Ttrial a,
#menu nav li.Inquiry a {
    display: block;
    color: #FFFFFF;
    padding: 0px 20px;
    font-weight: bold;}

#nav_toggle {
	display: none;}

/*-------------------------------------------------
	++ title
-------------------------------------------------*/
#title {
    position: relative;
	width: 100%;
    background-image: url(../img/PC_main_bg.jpg);
    background-position: right top;
    background-repeat: no-repeat;
    background-size: cover;}
#title .dairiten {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9998;}
.titleInner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 1200px;
    margin: 2% auto;
    position: relative;}
.mainCampaign {
    position: absolute;
    right: 0;
    top: 0;
    width: 170px;
    height: 170px;
    background-color: #ff0000;
    border-radius: 100%;
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 160%;
    display: flex;
    justify-content: center;
    align-items: center;}
.mainImg {
    order: 2;
    width: 480px;
    margin-top: 100px;}
.mainImg img {
    width: 100%;}
.mainTxt {
    order: 1;
    width: 670px;
    margin: 0;
    text-align: left;}
.catch {
    font-size: 60px;
    font-weight: bold;
    color: #1ca05f;
    line-height: 1.3em;
    margin: 0;}
.catch span {font-size: 21px;display: block;color: #000;line-height: 1.8em;}

.mainBox {
    order: 3;
    margin: -220px 0 0 40px;
    text-align: left;
    width: 630px;
    display: flex;
    flex-direction: column;}
.mainbtnTtrial,
.mainbtnInquiry {
    width: 350px;
    margin-top: 15px;}
.mainbtnTtrial a {
    display: block;
    background-color: #ff0000;
    border-radius: 50px;
    color: #FFFFFF;
    font-weight: bold;
    text-align: center;
    font-size: 20px;
    line-height: 3em;}
.mainbtnInquiry a {
    display: block;
    background-color: #ff9000;
    border-radius: 50px;
    color: #FFFFFF;
    font-weight: bold;
    text-align: center;
    font-size: 20px;
    line-height: 3em;}
.mainbtnTtrial a:link,.mainbtnTtrial a:visited,.mainbtnTtrial a:hover,.mainbtnTtrial a:active,
.mainbtnInquiry a:link,.mainbtnInquiry a:visited,.mainbtnInquiry a:hover,.mainbtnInquiry a:active {text-decoration:none;}
.mainbtnPatent {
    width: fit-content;
    margin-top: 15px;
    padding: 0 30px;
    background-color: #fff;
    border-radius: 50px;
    color: #000;
    font-weight: normal;
    text-align: center;
    font-size: 15px;
    line-height: 3em;}

/*-------------------------------------------------
	++ BTN
-------------------------------------------------*/
.btnBox {
    width: 630px;
    margin: 30px auto 10px auto;
    display: flex;
    justify-content: space-between;
    align-items: center;}
.btnTtrial,
.btnInquiry {
    width: 300px;}
.btnTtrial a {
    display: block;
    background-color: #ff0000;
    border-radius: 50px;
    color: #FFFFFF;
    font-weight: bold;
    text-align: center;
    font-size: 120%;
    line-height: 3em;}
.btnInquiry a {
    display: block;
    background-color: #ff9000;
    border-radius: 50px;
    color: #FFFFFF;
    font-weight: bold;
    text-align: center;
    font-size: 120%;
    line-height: 3em;}
.btnTtrial a:link,.btnTtrial a:visited,.btnTtrial a:hover,.btnTtrial a:active,
.btnInquiry a:link,.btnInquiry a:visited,.btnInquiry a:hover,.btnInquiry a:active {text-decoration:none;}

.privacy {
    color: #000000;
    font-size: 100%;
    text-align: center;
    margin: 5px auto 0 auto;}
.privacy a:link,.privacy a:visited {color: #000000;text-decoration:underline;}
.privacy a:hover,.privacy a:active {color: #000000;text-decoration:none;}

/*-------------------------------------------------
	++ bg
-------------------------------------------------*/
.bgGray {
    background-color: #f6f6f6;
    margin: 0;
    padding: 0;}

/*-------------------------------------------------
	++ others
-------------------------------------------------*/
h2 {
    font-size: 180%;
    color: #f8b318;
    font-weight: bold;
    text-align: center;
    line-height: 1.5em;
    margin: 0 auto 0.8em auto;}
h3 {
    font-size: 150%;
    font-weight: bold;
    text-align: left;
    line-height: 1.2em;
    margin: 0 auto 0.2em auto;}

.txtCL {text-align: center;}
.imgC {margin: 0 auto;text-align: center;}

.serviceBox {
	display:flex; 
	flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    align-items: stretch;
	width: 100%;
	height:auto;
	padding:0px;
    margin: 10px auto;}
.serviceInner {
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;}
.serviceItem {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    flex-direction: column;
    width: 32%;
    text-align: left;
    font-size: 95%;
    padding:0;
    margin: 0;
    border: 1px #b2b2b2 solid;
    background-color: #fff;
    border-radius: 15px;}
.serviceItem h3 {
    color: #1ca05f;
    text-align: center;
    font-size: 150%;
    font-weight: bold;
    line-height: 1.5em;
    margin: 0 auto;}
.serviceInnerImg {
    width: 80%;
    margin: 0 auto 20px auto;}
.serviceInnerImg img {width: 100%;}

ol.listDecimal2 {
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
    margin-top: 30px;}
.listDecimal2 li {
    margin-bottom: 10px;
    padding-left: 30px;
    font-size: 105%;
    position: relative;}
.listDecimal2 li:before {
    content: counter(my-counter);
    counter-increment: my-counter;
    background-color: #1ba05f;
    color: #fff;
    display: block;
    font-size: 100%;
    float: left;
    line-height: 25px;
    margin-left: -30px;
    margin-top: 0px;
    text-align: center;
    height: 25px;
    width: 25px;
    border-radius: 50%;}

.priceTbl table {
	width:100%;
	margin:0px auto 50px auto;
    border:1px solid #cccccc;}
.priceTbl table tr th,
.priceTbl table tr td {
	border-left:1px solid #cccccc;
    border-bottom:1px solid #cccccc;
	padding:10px 15px;
	position:relative;
    font-weight: normal;
    text-align: center;
    color: #000;
    font-size: 100%;
    background-color: #fff;}
.priceTbl table tr th {
    font-weight: bold;
    text-align: center;
    color: #FFFFFF;
    font-size: 130%;}
.priceTbl table tr td.txtL {text-align: left;}
.priceTbl table tr td span {color: #ff0000;font-weight: bold;}
.priceTbl table tr td:nth-child(4) {width: 50%;}
.bg_yellow {background-color: #f8b318 !important;}
.bg_blue {background-color: #4582ff !important;}
.bg_green {background-color: #23a565 !important;}
.txt_yellow {color: #f8b318;}
.txt_blue {color: #4582ff;}
.txt_green {color: #23a565;}

.listDisc {
	margin:0;}
.listDisc li {
	text-align: left;
    color: #000000;
    font-weight: normal;
	line-height: 1.4em;
	list-style-type:none;
	padding: 0 0 0.2em 1.0em;
	text-indent: -1.0em;}
.listDisc li span {color: #005bff;}

.BtnPDF {
    margin: 7% auto 4% auto;
    text-align: center;}

/* youtube */
.youtubeBox {
	width:800px;
	text-align:left;
	margin:50px auto;}
.youtube {
	position:relative;
	padding-top:56.25%;
	overflow: hidden;
	border:5px #DBDBDB solid;
	margin:5px 0px;}
.youtube iframe {
	position:absolute;
	top:0;
	right:0;
	left:0;
	width:100%;
	height:100%;}

.titleBanner {
    margin: 40px auto;
    text-align: center;}

/*-------------------------------------------------
	++ tab&SLIDER
-------------------------------------------------*/
#functionSlider {
    width: 900px;
    margin: 0 auto;}
.slider{
  	display: none;}
.slider.slick-initialized {
  	display: block;}
.slider li {
	position: relative;}
.slider li span {
    margin-top: 5px;}
.slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin-bottom: 5px;}

.slick-loading .slick-list {
    background: #fff url(../img/ajax-loader.gif) center center no-repeat;}

.slick-prev,
.slick-next {
    position: absolute;
    top: 50%;
	left:50%;
    display: block;
    width: 34px;
    height: 58px;
	margin-top:-29px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
	z-index: 9;}
.slick-prev {
    background: url(../img/icon_arrowGL.svg) center center no-repeat;
    background-size: 65%;
	margin-left:-490px;}
.slick-next {
    background: url(../img/icon_arrowGR.svg) center center no-repeat;
    background-size: 65%;
	margin-left:450px;}

.slick-dots {
    display: block;
    width: 100%;
    padding: 5px 0 8px 0;
    margin: 0;
    list-style: none;
    text-align: center;}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
	background-color: #1BA061;
    border-radius: 10px;
    opacity:0.8;}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 15px;
    height: 15px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
	background-color: #999;
    border-radius: 10px;}
.slick-dots li.slick-active {
	background-color:#1BA061;}
.slick-dots li.slick-active button {
	background-color:#1BA061;}

/*-------------------------------------------------
	++ FOOTER
-------------------------------------------------*/
#footer {
    background-color: #1BA061;
    color: #FFF;
    padding: 40px 0;}
#footer .copy {
    margin: 0px;}
#footer .copy a {
    color: #FFF;}

#pageTop {
	position: fixed;
	bottom:48px;
	right:48px;
	width:48px;
	height:48px;}
#pageTop img {
	display:block;}

