.pc {
	display: block
}

.sp, .img_sp, .sp_button, .sp_show {
	display: none
}

i {
	font-style: normal
}

@media only screen and (max-width: 1800px) {
	#header .logo {
		width: 330px;
		margin: 36px 0 0 1.5%;
	}
}

@media only screen and (max-width: 1600px) {
	#header .logo {
		margin: 28px 0 0 1.5%;
	}
}

@media only screen and (max-width: 1495px) {
	#header .logo {
		width: 300px;
	}
}
@media only screen and (max-width: 1465px) {
	#header .logo {
		width: 230px;
	}
}

@media only screen and (max-width: 1397px) {
	.box03:before {
		left: -10px;
		margin-left: 0;
		background-size: 26vh;
	}
	#header .logo {
		width: 200px;
		margin: 35px 0 0 1.5%;
	}
	#header .logo a {
		/* width: 80%; */
	}
	.gnavi_pc>li>a {
		display: block;
    padding: 5px 12px;
	}
	#footer .btn_contact {
		background: #428A9C url(/kcc/share/images/ico_email.png) no-repeat left 55px top 18px;
	}
	#footer .btn_dowload {
		background: #2E6089 url(/kcc/share/images/ico_dow.png) no-repeat left 38px top 25px;
	}
	#footer .btn_demo {
		background: #b1b1b1 url(/kcc/share/images/ico_mouse.png) no-repeat left 70px top 20px;
	}
	#footer .btn_trial {
		background: #5a5a5a url(/kcc/share/images/ico_free.png) no-repeat left 43px top 22px;
	}
}

@media only screen and (max-width: 1000px) {
	#header .logo {
		/* margin-top: 55px; */
	}
	#footer .btn_contact {
		background: #428A9C url(/kcc/share/images/ico_email.png) no-repeat left 35px top 18px;
	}
	#footer .btn_dowload {
		background: #2E6089 url(/kcc/share/images/ico_dow.png) no-repeat left 18px top 25px;
	}
	#footer .btn_demo {
		background: #b1b1b1 url(/kcc/share/images/ico_mouse.png) no-repeat left 50px top 20px;
	}
	#footer .btn_trial {
		background: #5a5a5a url(/kcc/share/images/ico_free.png) no-repeat left 23px top 22px;
	}
}

@media only screen and (max-width: 1000px) {
	#footer .btn_contact, #footer .btn_dowload, #footer .btn_demo, #footer .btn_trial {
		background-image: none;
	}
}

@media only screen and (max-width: 640px) {
	h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
		font-size: 140%;
	}
	#wrapper {
		min-width: 100%
	}
	.sp_none {
		display: none;
	}
	.index #mainvisual .container, .container {
		width: 100%
	}
	.under #main {
		width: 100%
	}
	.pc_none {
		display: block;
	}
	#header {
		padding: 0 0 0 10px;
		background: #fff;
		min-width: 100%;
	}
	.gnavi-sub_pc, .gnavi_pc {
		display: none;
		width: 100%;
	}
	#header .logo {
		width: 85%;
		margin: 20px 0 0 0;
	}
	#header .logo a {
		width: 46%;
		float: left;
		margin: 0 2%;
	}
	.sp_head-menu {
		margin: 5% 2% 2% 2%;
		display: inline-block;
		width: 96%;
	}
	.sp_head-menu li {
		display: inline;
	}
	.sp_head-menu li a {
		background: #292929;
		float: left;
		width: 100%;
		text-align: center;
		padding: 5% 2%;
		margin: 2% 0;
		border: 2px solid #525252;
		color: #fff;
		border-radius: 2px;
	}
	.sp_head-menu li:nth-child(2) a {
		float: right;
		background: #335988;
		border: 2px solid #1f4779;
	}
	.sp_button {
		float: right;
		display: flex;
		width: auto
	}
	.under .sp_button li {
		display: inline-block;
		width: 72px;
		margin-bottom: 0;
	}
	.sp_button a {
		color: #fff;
		text-decoration: none;
		text-align: center;
		display: flex;
		justify-content: center;
		width: 100%;
		height: 100%;
		padding: 32px 2px 5px 2px;
		line-height: 1.4em;
		align-items: center;
		font-size: 10px;
	}
	.btn_contact {
		background: #428A9B url(/kcc/share/images/ico_email.png) no-repeat center top 7px;
		background-size: 16px;
	}
	.btn_contact a {
		padding-top: 30px;
	}
	.btn_dowload {
		background: #2E6089 url(/kcc/share/images/ico_dow.png) no-repeat center top 7px;
		background-size: 18px;
	}
	.icon_menu {
		padding: 7px 5px 40px;
		background: #282828;
		text-align: center;
		position: relative;
		width: 60px;
	}
	.icon_menu span {
		display: block;
		background: #fff;
		width: 60%;
		position: relative;
		margin: 15px auto 0;
		height: 3px;
		border-radius: 5px
	}
	.icon_menu span:after, .icon_menu span:before {
		content: "";
		position: absolute;
		height: 3px;
		width: 100%;
		background: #fff;
		-webkit-transition: all ease 0.5s;
		-moz-transition: all ease 0.5s;
		transition: all ease 0.5s;
		left: 0;
		right: 0;
		margin: 0 auto;
		border-radius: 5px
	}
	.icon_menu.active span:after {
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
		bottom: -9px
	}
	.icon_menu.active span:before {
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.icon_menu.active span {
		background: transparent
	}
	.icon_menu span:after {
		bottom: -18px;
	}
	.icon_menu span:before {
		top: 9px;
	}
	.gnavi_pc {
		width: 100%;
		position: fixed;
		z-index: 5;
		left: 0;
		background: #585858;
		top: 65px;
		height: calc(100% - 65px);
		overflow: auto;
		margin: 0;
	}
	.gnavi_pc>li {
		display: block;
		margin: 0;
	}
	.gnavi_pc li.login_link {}
/*
	.gnavi_pc li:nth-child(7) {
		display: none;
	}
*/
	.gnavi_pc>li.column_link span,
  .gnavi_pc>li a{
		color: #ffffff;
		border-bottom: 1px dotted rgba(255, 255, 255, 0.6);
		display: block;
		padding: 17px 10px;
		letter-spacing: 1px;
		font-size: 14px;
		position: relative;
		text-align: left;
		padding-left: 25px;
	}
	.gnavi_pc li.login_link a {
		display: none;
	}
	li.column_link a {
		/* background: #4b8f9f; */
	}
	.gnavi_pc li:nth-child(6) a {
		padding: 17px 10px;
		padding-left: 25px;
	}
	.gnavi_pc>li>a:hover {
		color: #fff
	}
	.gnavi_pc li.column_link *:after {
		display: none;
	}
  .gnavi_pc>li.column_link span:nth-child(1):before, .gnavi_pc>li.column_link span:nth-child(1):after {
      content: "";
      position: absolute;
      top: 0;
      right: 10px;
      bottom: 0;
      left: inherit;
      width: 15px;
      height: 1px;
      margin: auto;
      background: white;
      display: block;
      transition: .5s;
  }

  .gnavi_pc>li.column_link span:nth-child(1):after {
      transform: rotate(90deg);
  }

  .gnavi_pc>li.column_link span.active:nth-child(1):before {
      transform: rotate(180deg);
  }

  .gnavi_pc>li.column_link span.active:nth-child(1):after {
      transform: rotate(360deg);
  }

  .gnavi_pc>li>ul {
    padding: 0 0 0 ;
  }
  .gnavi_pc>li.column_link li {
      margin: 0;
  }

  .gnavi_pc>li.column_link li a {
      padding-left: 40px;
  }
	.index #mainvisual h1 label {
		letter-spacing: 0
	}
	.index #mainvisual .grp:after {
		height: 13px;
	}
	.gnavi_pc [class*="btn_"], .gnavi_pc>li>*:before {
		display: none
	}
	.gnavi_pc>li.sp-navi_video {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	.gnavi_pc>li.sp-navi_video a {
		text-align: center;
		padding: 20px 0;
	}
	.gnavi_pc>li.sp-navi_video a img {}
	.index #mainvisual {
		margin: 90px 0 0 0;
		padding: 10px;
		background: url(/kcc/share/images/main_bg_sp.jpg) no-repeat center top;
		text-align: center;
	}
	.index #mainvisual h1 {
		font-size: 6vw;
		letter-spacing: 2px;
		text-align: left;
	}
	.index #mainvisual .img {
		text-align: center;
	}
	.index #mainvisual .img li {
		float: none;
		width: 30%;
	}
	.index #mainvisual .img li:nth-child(1) {
		margin-left: 0;
	}
	.index #mainvisual .sml1 {
		letter-spacing: 2px
	}
	.main_img {
		margin: 30px 0 30px 0;
		right: auto;
		width: 100%;
		top: 0;
	}
	.trial_bnr01 {
		position: initial;
	}
	.grp_txt {
		width: auto;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.grp_txt p {
		font-size: 14px;
	}
	.grp_txt p:nth-child(2) {
		margin: 0 auto;
		width: 95%;
	}
	.box_black._main {
		z-index: 1;
	}
	.box01 {
		padding: 40px 10px 60px;
		position: relative;
		z-index: 1
	}
	.box01:before {
		background: url(/kcc/share/images/box01_bg_sp.jpg) repeat;
		content: "";
		position: absolute;
		width: 100%;
		bottom: 0;
		height: 100%;
		top: 0;
		left: 0;
		z-index: -1
	}
	.box01:after {
		content: "";
		position: absolute;
		width: 100%;
		bottom: -90px;
		height: 400px;
		background: url(/kcc/share/images/box01_bg_sp_01.png) no-repeat center;
		background-size: cover;
		left: 0;
	}
	.box01 h3 .blue {
		display: block
	}
	.grp_box {
		background-image: url(/kcc/share/images/box01_bg_ques.png), url(/kcc/share/images/box01_img01.png);
		background-position: right 0 top 10%, right -5vw bottom 0;
		background-repeat: no-repeat;
		background-size: 23vw, 33vw;
		margin-bottom: 40px;
	}
	.grp_box li:before {
		display: none
	}
	.grp_box li:first-child {
		margin-left: 0
	}
	.grp_box li {
		width: 70%
	}
	.grp_box li .img {
		margin-bottom: 0
	}
	.grp_box li .img img {
		margin: 0 auto
	}
	.grp_box .txt {
		top: 22%;
		width: 100%;
		padding: 0 31px;
		font-size: 3.4vw
	}
	.grp_box li:nth-child(n) .txt {
		padding: 0 31px;
	}
	.grp_box li:nth-child(2), .grp_box li:nth-child(4) {
		padding-left: 0
	}
	.idx_tit {
		font-size: 23px;
		letter-spacing: 1px;
		z-index: 1;
		position: relative;
		margin: 30px 0 20px 0;
	}
	.idx_tit .hight_l {
		background: rgba(0, 0, 0, 0) linear-gradient(rgba(0, 0, 0, 0) 50%, #FFF439 50%) repeat scroll 0 0;
		font-size: 32px;
	}
	.idx_tit .hight_l:after {
		display: none
	}
	.idx_box {
		margin: 30px auto 120px
	}
	.idx_box:before {
		content: "";
		position: absolute;
		bottom: -80px;
		left: 0;
		right: 0;
		margin: 0 auto;
		background: url(/kcc/share/images/arr01.png) no-repeat center;
		width: 22px;
		height: 50px;
		background-size: contain
	}
	.idx_grp02 {
		padding: 30px;
		width: 90%;
	}
	.idx_dt, .box_r {
		width: 100%;
		float: none
	}
	.box_r {
		margin-bottom: 30px
	}
	.idx_dt {
		margin-bottom: 20px;
		padding: 17px 40px 15px
	}
	.ico_num {
		font-size: 18px;
		width: 240px;
		left: 10px;
		padding: 6px 6px 8px 30px;
		top: -73px;
		z-index: 1
	}
	.ico_num span {
		left: -10px;
		width: 45px;
		height: 45px;
		top: -2px;
		padding-top: 8px;
		font-size: 20px;
	}
	.ico_num span:after {
		border: 4px solid #fff
	}
	.grpbox {
		padding-bottom: 40px
	}
	.box02 {
		position: relative;
		z-index: 1;
	}
	.box03 {
		padding: 0;
		background: none;
	}
	.box03_bg_sp {
		padding: 40px 10px 0;
		background: url(/kcc/share/images/box03_bg_sp.jpg) no-repeat right bottom;
		background-size: cover;
		position: relative;
		z-index: 0
	}
	.box03:before {
		display: none
	}
	.box03_bg_sp:before {
		content: "";
		position: absolute;
		width: 96px;
		height: 100%;
		left: 0;
		z-index: -1;
		background: url(/kcc/share/images/box03_txt.png) no-repeat left 0 top 50%;
		background-size: 70%;
	}
	.box03 h3 {
		text-align: center;
		padding-bottom: 12px;
		margin-bottom: 35px;
	}
	.box03 h3:after {
		left: 0;
		right: 0;
	}
	.idx_img {
		display: block;
		width: calc(100% - 20px);
		margin: 30px auto 0
	}
	.grpbox.green, .grpbox.blue.mb {
		padding-bottom: 40px;
	}
	.idx_img .pt {
		padding-top: 0
	}
	.idx_img li {
		display: table;
		width: 100%;
		margin-bottom: 30px
	}
	.idx_img li:last-child {
		margin-bottom: 15px
	}
	.grpbox.mb .idx_img li:last-child {
		margin-bottom: 0;
	}
	.idx_img .img {
		width: 40%;
		display: table-cell;
		padding: 30px 15px
	}
	.idx_img .img img {
		max-width: 80%
	}
	.idx_img .txt {
		display: table-cell;
		width: 55%;
		vertical-align: top;
		padding-left: 30px;
		font-size: 14px
	}
	.img_sp {
		text-align: center;
		line-height: 0;
		display: block
	}
	.grpbox .bg {
		height: auto;
		padding: 20px 10px 30px
	}
	.grpbox h5, .index h4.white {
		margin: 30px 0 0
	}
	.img_sp img {
		max-width: 50%
	}
	.grp_list .txt {
		font-size: 14px
	}
	.grp_list {
		width: 100%
	}
	.grp_list li {
		width: 47%;
		margin-bottom: 30px;
	}
	.grp_list .tit {
		font-size: 18px;
	}
	.grp_list .tit span {
		margin-bottom: 9px;
	}
	.youtb.container {
		margin-top: 0;
		padding: 0;
		display: block
	}
	.youtb {
		display: block;
		margin: 0;
		padding: 20px 0px 40px;
		position: relative;
		z-index: 1;
		background: url(/kcc/share/images/youtb.png) no-repeat right bottom;
		background-size: 50%
	}
	.youtb iframe {
		width: 100%;
		height: 290px;
		padding: 0 0 10px 0;
		background: #fff
	}
	.youtb h2 {
		display: block;
		width: calc(100% - 20px);
		;
		-webkit-writing-mode: inherit;
		writing-mode: inherit;
		-ms-writing-mode: inherit;
		letter-spacing: 2px;
		font-size: 18px;
		padding: 10px 0 0 16px;
		margin: 0 auto 30px;
	}
	.youtb h2:before {
		left: 0;
		top: 14px;
		right: auto;
		width: 4px;
		height: 18px;
	}
	.box04 {
		background: url(/kcc/share/images/box04_bg01_sp.jpg) no-repeat center bottom -10px;
		position: relative;
		padding: 10px 0 25px 0;
	}
	.box04:after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100px;
		background: #F3F3F3;
		z-index: -1;
	}
	.box04 .img01 {
		position: static;
		left: auto;
		bottom: auto;
		text-align: center;
	}
	.box04 .img01 img {
		max-width: 80%
	}
	.index .box04 h3:after {
		width: 80%
	}
	.box04 .container {
		margin-top: -214px
	}
	.box04 h2 {
		margin-bottom: 30px;
		padding: 0px 10px 10px;
	}
	.list_x li:before {
		top: 15px;
	}
	.grp_dt01 .list_x li:before {
		top: 2.5vw
	}
	.grp_dt01 .list_x li {
		padding-left: 4vw;
		font-size: 2.5vw;
		letter-spacing: 0.5px
	}
	.bg_img {
		height: 300px
	}
	.idx_dt.pd {
		padding: 30px 40px
	}
	.idx_dt dt {
		font-size: 18px;
	}
	.idx_dt dt:before {
		height: 18px;
		top: 9px;
	}
	.box05 {
		padding: 30px 10px;
		margin-bottom: 0;
	}
	.index h3 {
		font-size: 18px;
	}
	.index h4.white {
		font-size: 18px;
		padding-left: 18px
	}
	.index h3:after, .index h4.white:after {
		height: 18px;
		top: 3px
	}
	.grp_dt01 {
		margin: 0 auto;
	}
	.idx_tbl {
		position: relative
	}
	.idx_tbl tr th {
		padding: 10px;
	}
	.brr {
		display: block
	}
	.idx_tbl td {
		padding: 10px 10px;
	}
	.height_2 {
		height: auto;
	}
	.grp_dt01 .idx_tbl {
		width: 49%;
	}
	.grp_dt01 .idx_tbl:nth-child(2) {
		width: 46%;
	}
	.height_7 {
		height: 50px
	}
	.height_6 {
		height: 45vw
	}
	.idx_tbl.tgreen {
		border: 10px solid #adadad;
	}
	.index h4, #idx05, #idx06 {
		font-size: 22px;
	}
	.index #idx05 {
		margin-bottom: 40px;
	}
	.idx_tbl.tblue {
		border: 10px solid #2E6089
	}
	.height_1 .list01 {
		margin: 1px 0;
	}
	.idx_tbl.t01 .th {
		position: relative
	}
	.height_6 .list_x {
		padding: 0
	}
	.idx_tbl .row2 span {
		font-size: 3vw;
		left: 10px;
	}
	.idx_tbl.tblue .th, .idx_tbl.tgreen .th {
		font-size: 3vw;
		padding: 3.8vw 20px 20px 20px;
	}
	.idx_tbl.tblue td, .idx_tbl.tgreen td, .idx_tbl.tblue td, .idx_tbl.tgreen li, .idx_tbl tr th, .idx_tbl.tblue .list01 {
		font-size: 3vw;
	}
	.idx_tbl.t01 .th {
		font-size: 3vw;
	}
	.idx_tbl .th {
		font-size: 2.5vw;
		padding: 10px
	}
	.grp_dt01 table:first-child {
		width: 50%;
		margin-top: 0;
	}
	.table-lane:nth-child(2) .idx_tbl.t01 {
		width: 50%;
	}
	.table-lane {
		display: inline-block;
		width: 100%;
	}
	.idx_tbl td {
		font-size: 2.5vw;
	}
	.idx_tbl.t01 .list01 {
		padding-left: 11vw;
		top: auto;
	}
	.idx_tbl.t01 .list01 li {
		padding-left: 10px;
		font-size: 3.3vw;
	}
	.idx_tbl.t01 td, .idx_tbl.t01 th {
		padding-left: 10px;
		padding-right: 10px;
		font-size: 3.1vw;
	}
	.list01 li:last-child {
		margin-bottom: 7px;
	}
	.tit01 {
		margin-bottom: 30px;
	}
	.grp_img01 {
		flex-flow: wrap;
		width: 90%;
		margin: 0 auto 30px;
		padding-bottom: 30px
	}
	.grp_img01:nth-child(4) {
		margin: 0 auto 30px;
		padding-bottom: 30px
	}
	.grp_img01.last {
		margin-bottom: 45px;
		padding-bottom: 0;
	}
	.grp_img01 .item_txt {
		width: 100%;
		order: 1
	}
	.index h4 {
		margin-bottom: 20px;
		font-size: 22px
	}
	.grp_img01 .item_img {
		order: 0;
		width: 100%;
		margin-bottom: 20px;
	}
	.item_txt .case {
		margin: 0 0 10px 0;
		font-size: 22px;
	}
	.item_txt h3 {
		padding-left: 18px;
	}
	.item_txt h3 {
		line-height: 1.6em;
		margin-bottom: 18px;
	}
	.item_txt .txt {
		margin-bottom: 30px;
	}
	.item_txt h3:after {
		top: 4px;
		height: 19px;
	}
	.index h3:not(.b05_h3), .box03 h2:not(#idx03), .box04 h2, .box05 h2:not(#idx05), .box07 h2, .box08 h2 {
		font-size: 22px;
		letter-spacing: 0px;
		margin-bottom: 60px;
	}
	.index h3:not(.b05_h3):after, .box03 h2:not(#idx03):after, .box04 h2:after, .box05 h2:not(#idx05):after, .box07 h2:after, .box08 h2:after {
		width: 80%;
		top: auto;
	}
	.box03 h2:not(#idx03) {
		text-align: center;
		padding-bottom: 12px;
		margin-bottom: 35px;
	}
	.box03 h2:not(#idx03):after {
		left: 0;
		right: 0;
	}
	i.br {
		display: block
	}
	.index h3 .en, .box03 h2 .en, .box04 h2 .en, .box05 h2 .en, .box07 h2 .en, .box08 h2 .en {
		font-size: 16px;
		margin-bottom: 9px;
	}
	.idx_btn {
		justify-content: space-between;
		display: flex;
		flex-flow: wrap
	}
	.idx_btn li {
		width: 48.5%
	}
	.idx_btn li:last-child {
		justify-content: flex-start;
	}
	.idx_btn li:nth-child(2n) {
		margin-left: 0
	}
	.trial_bnr02 {
		display: none;
	}
	.box06 {
		padding: 40px 10px
	}
	#idx06 {
		margin-bottom: 40px
	}
	.idx_step {
		display: block
	}
	.idx_step li {
		display: table;
		width: 100%;
		margin-bottom: 100px
	}
	.idx_step li:last-child {
		margin-bottom: 0
	}
	.idx_step .step i {
		font-size: 28px;
	}
	.idx_step .step {
		font-size: 18px;
	}
	.idx_step .img {
		display: table-cell;
		vertical-align: middle;
		width: 35%
	}
	.idx_step .img:after {
		right: 0;
		bottom: -53px;
		top: auto;
		transform: rotate(90deg);
		left: 0;
		margin: 0 auto;
	}
	.idx_step .tit {
		font-size: 17px
	}
	.grp_txt1 {
		display: table-cell;
		vertical-align: middle;
		width: 60%;
		padding: 10px 0 10px 30px
	}
	.box07 {
		padding: 30px 10px 40px;
	}
	.box08 {
		padding: 0px 0 80px;
	}
	.box07 h2 {
		margin-bottom: 35px;
	}
	.question {
		width: 100%;
		margin-bottom: 20px
	}
	.question:last-child {
		margin-bottom: 0
	}
	.question dt {
		font-size: 16px;
		/*padding: 17px 40px 17px 58px;*/
		padding: 17px 0 17px 0;
		line-height: 1.6em;
	}
    /* 20220927 追加 */
    .question dt .question-text {
        padding: 0 40px 0 58px;
    }
    .question dt .question-text:before, .question dt .question-text:after {
	    right: 15px;
		top: 12px;
		width: 16px;
    }
    .question dt .question-label {
        padding-left: 15px;
    }
	.question dd {
		padding: 15px;
		font-size: 14px;
	}
	.question dt br {
		display: none
	}
	.question dt span {
		left: 15px
	}
    /*
	.question:before, .question:after {
		right: 15px;
		top: 29px;
		width: 16px;
	}
    */
	.question dt span:after {
		bottom: 6px;
	}
	.item_txt h5 .hl {
		background: rgba(0, 0, 0, 0) linear-gradient(rgba(0, 0, 0, 0) 50%, #FFF439 50%) repeat scroll 0 0;
	}
	.item_txt h5 .hl:after {
		display: none
	}
	.f_btn a {
		width: 100%;
		height: 100%;
		display: block;
		padding: 0;
		font-size: 3vw;
	}
	.f_btn .dowload span, .f_btn .contact span {
		background-position: top 4vw center
	}
	.f_btn a span {
		padding: 12vw 10px 4vw
	}
	.box_black span {
		font-size: 16px;
		display: block;
		height: 100%
	}
	.f_btn .contact a {
		width: 100%
	}
	.f_btn li {
		padding: 22px 10px;
		align-self: auto
	}
	.f_btn a:after {
		display: none
	}
	.cta_btn a {
		width: 100%;
		height: 100%;
		display: block;
		padding: 0;
		font-size: 3vw;
	}
	.cta_btn .dowload span, .cta_btn .contact span {
		background-position: top 4vw center
	}
	.cta_btn a span {
		padding: 12vw 10px 4vw
	}
	.box_black span {
		font-size: 16px;
		display: block;
		height: 100%
	}
	.cta_btn .contact a {
		width: 100%
	}
	.cta_btn li {
		padding: 22px 10px;
		align-self: auto
	}
	.cta_btn a:after {
		display: none
	}
	.box_black:after {
		bottom: -20px;
	}
	.cta_btn a {
		width: 100%;
		height: 100%;
		display: block;
		padding: 0;
		font-size: 3vw;
	}
	.cta_btn .dowload span, .cta_btn .contact span {
		background-position: top 4vw center
	}
	.cta_btn a span {
		padding: 9vw 10px 4vw;
	}
	.cta_btn .contact a {
		width: 100%
	}
	.cta_btn li {
		padding: 11px 10px;
		align-self: auto;
	}
	.cta_btn a:after {
		display: none
	}
	.news-list {
		width: 85%;
	}
	.news-list span {
		font-family: 'NotoSansCJKjp-bold';
		line-height: 1;
	}
	.news-list span.sp_lane {
		width: 100%;
		display: inline-block;
		margin: 0;
	}
	.news-list span:nth-child(2) {
		line-height: 2;
	}
	p.fix_video {
		display: none
	}
	#totop {
		width: 18%;
		height: 45px;
		right: 1px;
		bottom: 1px;
	}
	#footer [class *='btn_'] {
		background-image: none;
		width: 22%;
		padding: 19px 0px 0 0;
	}
	#footer [class *='btn_'] .sp_br {
		display: block;
		margin-top: -8px;
	}
	#footer [class *='btn_'] a {
		font-size: 10px;
		padding: 0 0;
		line-height: 1.5;
	}
	#footer .footer-fix {
		height: 60px;
	}
	.copyright {
		padding: 15px 20px 15px 10px;
		font-size: 13px
	}
	dl.bn_area>dt {
		font-size: 200%;
	}

	dl.bn_area>dd {
		display: block;
		padding: 0 10px;
	}

	dl.bn_area dl {
		margin-bottom: 40px;
		max-width: 100%;
	}
}

@media only screen and (max-width:530px) {
	.idx_img .img span {
		font-size: 3.3vw
	}
}

@media only screen and (max-width:480px) {
	.idx_img .img img {
		max-width: 100%
	}
	.idx_img .img span {
		font-size: 17px;
	}
	.f_btn a {
		font-size: 4vw;
	}
	.f_btn .contact span {
		background-size: 6vw;
	}
	.f_btn .dowload span {
		background-size: 6.2vw;
	}
	.cta_btn a {
		font-size: 4vw;
	}
	.cta_btn .contact span {
		background-size: 4vw;
	}
	.cta_btn .dowload span {
		background-size: 5.5vw;
	}
	.grp_img01 {
		width: 100%
	}
	.idx_btn li {
		font-size: 3.4vw
	}
	.height_6 {
		height: 47vw
	}
	.brr {
		letter-spacing: -0.2px;
	}
}

@media only screen and (max-width:450px) {
	.index #mainvisual h1 {
		font-size: 7.2vw;
		margin: -15px 0 0 0;
	}
	.index #mainvisual .date {
		font-size: 20px
	}
	.index #mainvisual h1 .sml {
		font-size: 15px;
		padding: 0px 20px;
	}
	.index #mainvisual .sml1 {
		letter-spacing: 0;
		font-size: 3.9vw;
		margin: 5vw auto
	}
	.grp_box li:nth-child(2) .txt {
		top: 20%;
	}
	.index #mainvisual .check {
		width: auto
	}
	.index #mainvisual .check li {
		font-size: 4vw
	}
	.index #mainvisual .check {
		margin: 10px 0 0 28px
	}
	.index #mainvisual .check li:before {
		background-size: 4vw;
	}
	.idx_img li, .idx_img .img, .idx_img .txt {
		display: block;
		width: 100%
	}
	.idx_img .img {
		height: auto;
		min-height: 100%;
		padding: 40px 20px
	}
	.idx_img .txt {
		padding-left: 0
	}
	.idx_dt, .idx_dt.pd {
		padding: 12px 15px 15px;
	}
	.idx_grp02 {
		padding: 30px 15px
	}
	.grp_txt1 {
		padding: 0 0 0 20px
	}
	.idx_img .img img {
		max-width: 125px
	}
	.idx_step .img {
		width: 40%
	}
	.idx_step .step i {
		font-size: 23px;
	}
	.idx_step .step {
		font-size: 14px;
	}
	.grp_list {
		width: 80%;
		margin: 0 auto;
	}
	.grp_list li {
		width: 100%;
		display: block
	}
	.grp_list li:last-child {
		margin-bottom: 0
	}
	.youtb iframe {
		height: 201px;
	}
	.grp_box li {
		width: 74%
	}
	.box03_bg_sp {
		background-position: right -90px bottom 0
	}
	.index #mainvisual .img li {
		width: 31%;
	}
	#header .logo {
		width: 78%;
		margin: 25px 0 0 0;
	}
	.index h3:after {
		width: 100%
	}
	.index h3:not(.b05_h3):after, .box03 h2:not(#idx03):after, .box05 h2:not(#idx05):after, .box07 h2:after {
		width: 100%;
	}
	.item_txt h3:after {
		width: 4px;
	}
}

@media only screen and (max-width:378px) {
	.index #mainvisual .check li {
		font-size: 3.7vw
	}
	.index #mainvisual .check li:before {
		top: 2px
	}
}

@media only screen and (max-width:360px) {
	.idx_btn {
		display: block;
	}
	.idx_btn li {
		width: 100%;
		font-size: 14px;
	}
	.idx_btn li:last-child {
		margin-bottom: 0
	}
	.idx_step .txt {
		font-size: 3.5vw
	}
	.item_txt h5 br {
		display: none
	}
	.grp_list {
		width: 100%;
	}
	.sp_button li {
		width: 61px
	}
	.sp_button a {
		font-size: 9px
	}
	.icon_menu {
		width: 50px !important;
	}
	.icon_menu span {
		width: 75%
	}
	#header .logo {
		width: 250px;
		margin: 24px 0 0 0;
	}
	.scroll_tbl {
		overflow-x: scroll;
		margin: 0 -10px;
		padding-left: 10px;
	}
	.sp_show {
		color: #428A9B;
		display: block;
		font-size: 10px
	}
	.scroll_tbl .grp_dt01 {
		table-layout: fixed;
	}
	.idx_tbl.tblue td, .idx_tbl.tgreen td, .idx_tbl tr th, .idx_tbl.tblue .th, .idx_tbl.tgreen .th, .idx_tbl.t01 .th, .idx_tbl .row2 span, .idx_tbl td, .grp_dt01 .list_x li {
		font-size: 14px
	}
	.grp_dt01 .list_x li {
		padding-left: 17px;
	}
	.grp_dt01 .list_x li::before {
		top: 16px;
	}
	.idx_tbl.t01 .list01 {
		padding-left: 15vw;
	}
	.height_6 {
		height: 248px
	}
}