input, button, textarea, select, p, blockquote, th, td, pre, li, dt, dd { font-size: 140%; }

p, dt, dd, td, th, li { line-height: 30px; }

p { margin-bottom: 15px; }

#wrapper { min-width: 0; }

.sp { display: block; }

.pc { display: none; }

#totop { bottom: 0; right: 0; width: 50px; background: #292929; }

.image_l, .image_r { margin: 0 0px 15px 0; text-align: center; }

.topic_path { display: none; }

.table-wrapper { width: 100%; overflow: auto; }

.table-wrapper table { width: 750px; }

.tbl_wrap_text { font-size: 12px; display: block; margin: 0; margin-top: 5px; line-height: 18px; }

table th, table td { padding: 10px 15px 7px; }

.tbl_1col > tbody > tr > th, .tbl_1col > tbody > tr > td { display: block; box-sizing: border-box; width: 100% !important; }

.tbl_1col > tbody > tr > td:not(:first-child) { border-top: none !important; }

.tbl_1col > tbody > tr:not(:first-child) > th, .tbl_1col > tbody > tr:not(:first-child) > td { border-top: none; }

/*==========================================================================*/
/*                               Gnavi                                      */
/*==========================================================================*/
.btn_menu { margin: 0; position: fixed; top: 0; right: 0; z-index: 103; width: 60px; height: 60px; }

.btn_menu a.icon { display: block; width: 28px; height: 26px; position: relative; top: 50%; transform: translateY(-50%); margin: 0 auto; color: transparent; }

.btn_menu a.icon:before, .btn_menu a.icon span:before, .btn_menu a.icon span:after { content: ''; position: absolute; width: 100%; height: 2px; transition: all .15s ease; left: auto; right: 0; background: #263238; }

.btn_menu a.icon:before { top: 50%; transform: translateY(-50%); }

.btn_menu a.icon span:before { top: 3px; }

.btn_menu a.icon span:after { bottom: 3px; }

.btn_menu.active a.icon:before { width: 50%; }

.btn_menu.active a.icon span:after { width: 75%; }

ul.menu{padding-bottom: 20px;}

ul.menu > li { border-bottom: solid 1px rgba(255, 255, 255, 0.2); }

ul.menu > li > a, ul.menu > li > span { display: block; position: relative; padding: 12px 20px; color: #fff; font-weight: normal; }

ul.menu > li > span:before, ul.menu > li > span:after { content: ''; position: absolute; background: rgba(0, 0, 0, 0.4); top: 50%; }

ul.menu > li > span:before { width: 11px; height: 1px; margin-top: 0px; right: 20px; }

ul.menu > li > span:after { width: 1px; height: 11px; right: 25px; margin-top: -5px; transition: all .2s; opacity: 1; }

ul.menu > li.active span:after { transform: rotate(90deg); opacity: 0; }

ul.menu > li.active .sub { height: auto; opacity: 1; }

#gnavi { position: fixed; top: 60px; right: -100%; bottom: 0; width: 100%; z-index: 101; background: rgba(239, 80, 83, 0.98); transition: all .3s; }

#gnavi .scroll { height: 100%; overflow: scroll; }

#gnavi.open { right: 0; }

/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/
header { height: 60px; position: fixed; top: 0 !important; width: 100%; z-index: 100; background: rgba(255, 255, 255, 0.98); box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); }

header #logo { padding: 16px 0 0 10px; }

header #logo img { height: 30px; }
header .h_right{display: block;}
header .h_login_area{display: none;}
header .sp_h_login_area {display: block; padding: 0 20px;}
header .sp_h_login_area li {font-weight: bold;}

.h_chat{ right: 10px; bottom: 10px;}
.h_chat a {  width: 180px; height: 40px; }
.h_chat .icn { padding-left: 30px; background-size: auto 22px; background-position: 0 4px; }


/*==========================================================================*/
/*                               Footer                                     */
/*==========================================================================*/
footer{padding-bottom: 50px;}

footer .ft_logo { padding: 40px 0 40px; }

footer .ft_logo_txt { font-size: 17px; text-indent: 0; margin-bottom: 10px; }

footer .ft_logo_img img { margin-left: 0; height: 50px; }

footer .ft_logo + .box_labor .inner { padding: 20px 0 40px; }

footer .ft_link { padding: 30px 0 30px; }

footer .ft_link li { padding: 0 10px; }

footer .ft_link li:not(:last-child):before { height: 10px; margin-top: 2px; }

footer .ft_link li a { font-size: 10px; }

footer address { font-size: 10px; padding: 20px 0 0; }

.float_bnr01{
	bottom:0;
	left:0;
	width:100%;
	height:auto;
}
.float_bnr01 .close{
	right:-3px;
	top:-30px;
}
.float_bnr01:hover .close{
	background:none;
}
.float_bnr01 img{
	width:100%;
	height:auto;
}
.float_bnr01.hide{
	left:-120%;
}
.intercom-namespace iframe[name="intercom-notifications-frame"]{
	bottom:calc(90px + 13.33vw);
}
.intercom-namespace iframe[name="intercom-launcher-frame"]{
	bottom:calc(20px + 13.33vw);
}
.intercom-namespace iframe[name="intercom-launcher-badge-frame"]{
	bottom:calc(60px + 13.33vw);
}

/*==========================================================================*/
/*                             Mainvisual                                   */
/*==========================================================================*/
.mainvisual { margin-top: 60px; padding-top: 0;}

#index .mainvisual { height: auto; background: none; position: relative; }

#index .mainvisual:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; bottom: 15%; background: url(../images/mainvisual_bg.jpg) 0 0 repeat; background-size: 200px 200px; z-index: 1; }

#index .mainvisual .box_text { max-width: 100%; position: relative; z-index: 2; padding: 0 4vw;}

#index .mainvisual h2 { font-size: 30px; margin-top: 0; padding-top: 32px; text-align: center; }

#index .mainvisual .text_h2_sub1-1 p{
    font-size: 14px;
    line-height: 34px;
    margin: 20px 0 20px;
    text-align: center;
    color: #fff;
    font-weight: 700;
    margin: 40px 0 20px;
    letter-spacing: 0.2px;
    line-height: 38px;
  }

  #index .mainvisual .text_h2_sub1-1 .top-dots{
    text-emphasis: circle filled white;
    -webkit-text-emphasis: circle filled white;
  }

#index .mainvisual h2 .fix_spacing { letter-spacing: 0; }

#index .mainvisual h2 .txt_small { margin-bottom: 20px; }

#index .mainvisual h2 .txt_large { display: inline-block; text-align: inherit; line-height: 1.2; letter-spacing: 1px; margin-top: 14px; max-width: 330px;}

#index .mainvisual h2 .no1 { position: relative; right: auto; top: auto; display: inline-block; width: 220px; margin-left: 8px; }

#index .mainvisual h2 .dot { display: none; }

#index .mainvisual .text_h2_sub1 { margin: 20px 0 0; font-size: 14px; line-height: 26px; }

#index .mainvisual .text_h2_sub1 .dot_top:before {top: -1px; width: 4px; height: 4px;}

#index .mainvisual .text_h2_sub2 { display: none; }

#index .mainvisual .text_h2_sub3{  /*max-width: 310px; */}
#index .mainvisual .text_h2_sub3 .img02{width: 90px;}
#index .mainvisual .text_h2_sub3 .text{/*width: calc(100% - 90px); text-indent: 9px;*/ font-size: 16px; line-height: 26px; }


#index .mainvisual .btn { flex-wrap: wrap; margin: 15px 0 20px 0; }

#index .mainvisual .btn li { margin: 20px 0 0; width: 100%; text-align: center; }

#index .mainvisual .btn li a { width: 280px; font-size: 18px; padding: 16px 33px 16px 55px; }

#index .mainvisual .img { position: relative; left: auto; bottom: auto; width: 100%; margin-left: auto; text-align: center; }

#index .mainvisual .img img { width: 85%; }

#index .mainvisual .note { position: relative; bottom: auto; left: auto; margin-left: 0; width: 100%; color: #333333; text-align: center; }

@media (max-width: 480px) {
  #index .mainvisual h2 { font-size: 24px; padding-top: 20px; }
  #index .mainvisual h2 .txt_small { font-size: 16px; }
  #index .mainvisual h2 .no1 { width: 180px; }
  #index .mainvisual .text_h2_sub1-1 p{
    font-size: 12px;
    line-height: 34px;
    margin: 20px 0 20px;
    text-align: center;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.2px;
    line-height: 24px;
  }

  #index .mainvisual .text_h2_sub1-1 .top-dots{
    text-emphasis: circle filled white;
    -webkit-text-emphasis: circle filled white;
  }

  #index .mainvisual .text_h2_sub1 { font-size: 12px; line-height: 22px; }
  #index .mainvisual .btn { margin: 13px 0 20px 0; }
  #index .mainvisual .btn li { margin: 20px 0 0; }
  #index .mainvisual .btn li a { width: 240px; font-size: 16px; padding: 13px 33px 13px 55px; }
  .btn01.blue a,
  .btn01.pink a {
    font-size: 16px!important;
  }
}

.under .mainvisual { height: 120px; padding: 0; }

.under .mainvisual .inner { padding-top: 0; justify-content: center; }

.under .mainvisual h2 { font-size: 22px; text-align: center; }

.under .mainvisual h2 .en { font-size: 10px; display: block; margin-top: 5px; }

/*==========================================================================*/
/*                             Common                                     	*/
/*==========================================================================*/
.box_labor:before { width: 100%; left: 0; margin-left: 0; }

.box_labor .inner { padding: 30px 0 34px; }

.box_labor dl dt { font-size: 16px; }

.box_labor dl dd { margin-top: 0; flex-wrap: wrap; }

.box_labor dl dd p { margin: 20px 38px 0; width: 100%; text-align: center; }

.box_labor dl dd p a { max-width: 300px; width: 100%; }

.btn01 a { font-size: 16px; padding: 15px 45px 15px 45px; }

.btn01 a:before { width: 20px; height: 20px; background-size: auto 100% !important; }

.btn02 a { font-size: 14px; }

.btn03 a { font-size: 14px; padding: 3px 25px; }

.btn_download a {
    padding: 10px 15px;
}

.box_style1 { margin-bottom: 20px; display: block; }

.box_style1 .col_head { width: 100%; display: block; text-align: center; }

.box_style1 .col_head .text p { font-size: 14px; line-height: 24px; }

.box_style1 .col_img { width: 100%; text-align: center; margin-top: 20px; }

.box_style1 .col_img img{width: 60%;}

.box_style2 { padding: 20px; }

.box_style2 .icn img{ height: 40px;}

.box_style2 .label, .box_style2 .label + .ttl { text-align: center; }

.box_style2 .ttl h4 { display: block; text-align: center; }

.box_style2 p { line-height: 24px; }

.box_style3 { margin-top: 20px; padding: 20px; display: block; }

.box_style3:before { display: none; }

.box_style3 .col_head { width: 100%; display: block; text-align: center; }

.box_style3 .col_head .icn { width: 100%; margin: 0 0 15px; }

.box_style3 .col_head .icn img { height: 40px; }

.box_style3 .col_head h4 { width: 100%; margin-bottom: 15px; }

.box_style3 .col_text { width: 100%; padding-left: 0px; }

.box_style3 .col_text p { line-height: 24px; }

.box_shadow1 { box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }

.box_col2,
.box_col3 { margin-top: 0; }

.box_col2 .col,
.box_col3 .col { margin-top: 20px; }

.box_sp_col1{ display: block; }

.box_sp_col1 .col { width: 100%; margin-right: 0; }

.box_sp_col1 .heightLine { height: auto !important; }

.box_sp_col2 .col { width: calc(100% / 2 - 10px); margin-right: 20px !important;}

.box_sp_col2 .col:nth-child(2n+0) { margin-right: 0px !important; }

.box_qa1 { margin-top: 10px; }

.box_qa1 .question, .box_qa1 .anwser { font-size: 14px; padding: 15px 35px 15px 50px; line-height: 20px;}

.box_qa1 .question:before, .box_qa1 .anwser:before { width: 30px; height: 30px; left: 10px; top: 10px; background-size: 100% auto; }

.box_qa1 .question:after { padding: 3px; right: 20px; margin-top: -5px; }

.box_qa1 .anwser:before { transform: translateY(-20px); }

.box_qa1 .anwser:after { left: 10px; right: 10px; }

.box_qa1 .active .question:after { margin-top: -5px; right: 20px; padding: 4px; }

.box_anchor{ margin-top: 0px; }

.box_anchor .btn a{padding: 10px 10px;}

.h3_style1 { font-size: 14px; padding-bottom: 15px; letter-spacing: 1px; }

.h3_style1 .en { font-size: 32px; margin-bottom: 7px; letter-spacing: 1.5px; }

.h3_style1:before { width: 18px; height: 3px; }

.h3_style2 { font-size: 18px; line-height: 28px; letter-spacing: 1px; }

.h3_style2 span.deco { padding: 10px 25px 12px; }

.h3_style2 span.deco:before, .h3_style2 span.deco:after { width: 15px; border-width: 1px; }

.h4_style1 {
    padding: 0 0 10px 0;
    margin-bottom: 20px !important;
}

.list_number {
    padding-left: 15px !important;
}

.list_number li:not(:first-child) {
    margin-top: 10px;
}

@media (max-width: 480px){
	.box_sp_col2{ display: block; }
	.box_sp_col2 .col { width: 100%; margin-right: 0 !important;}
}

/*==========================================================================*/
/*                             Index                                     */
/*==========================================================================*/
.index01 { padding: 35px 0 30px; }

.index01 h3 { font-size: 18px; letter-spacing: 0.5px; margin: 0 0 5px 0; line-height: 1.5; }

.index01 .carousel-auto { padding-top: 20px; }

.index01 .carousel-auto .items { animation-duration: 80s; }

.index01 .carousel-auto .item { padding-right: 20px; }

.index01 .carousel-auto .item img { height: 28px; }

.index02 { padding: 30px 0 0; min-height: auto; background-size: auto 8px; }

.index02 h3 { font-size: 24px; line-height: 36px; margin: 0 0 15px 0; padding: 0 15px; letter-spacing: 0.5px; }

.index02 .text { max-width: 100%; margin: 0 15px 15px; }

.index02 .img { position: relative; top: auto; left: auto; margin: 0; width: 100%; }

@media screen and (max-width: 360px) { 
	.index02 h3 { font-size: 20px; line-height: 32px;}
}

.index03 { padding: 50px 15px 40px; }

.index03 h3 + .item { margin-top: 40px; }

.index03 .item { padding: 25px 20px 25px 20px !important; border: none; min-height: auto; margin-top: 30px; }

.index03 .item .col_text { max-width: 100%; width: 64%; margin: 0 auto 0 0; }

.index03 .item .col_text h4 { font-size: 20px; margin-bottom: 10px; letter-spacing: 1px; line-height: 1.4; }

.index03 .item .col_text h4 .number { font-size: 40px; left: 0px; top: -56px; }

.index03 .item .col_text .text { margin-left: 0; }

.index03 .item .col_text .text p { line-height: 24px; }

.index03 .item .col_img { left: auto; right: -15px !important; top: 0; transform: none; width: 130px; margin-top: -15px !important; }

.index04 { padding: 50px 15px 30px; }

.index04 h3 { margin-bottom: 20px; margin-left: 0; }

.index04 .box_col3 { margin-left: 0; }

.index04 .item { margin-right: 0; width: 100%; }

.index04 .item .thumb { width: 200px; height: 200px; }

.index04 .item h4 { font-size: 18px; margin: 19px 0 10px; letter-spacing: 1px; }

.index04 .item .text { padding: 0; }

.index04 .item .text p { letter-spacing: 1px; }

.index05 {
	background-image: url(../images/index05_bg_sp.png);
	padding: 34px 0 40px;
}
.index05 h3 {
	margin-bottom:30px;
}
.index05 .list_items {
	display:block;
	width:89.86%;
	margin:0 auto;
}
.index05 .item {
	width: 100%;
	margin: 0;
	padding:24px 38px 15px;
}
.index05 .item + .item {
	margin-top:20px;
}
.index05 .item .img {
	min-height:unset;
}
.index05 .item .ttl {
	font-size: 13px;
	margin:0 0 9px;
}
.index05 .item .link {
	width:100%;
	max-width:350px;
	font-size: 14px;
	margin:0;
}
.index05 .item .link .btn {
	width:100%;
	padding:10px;
}
.index05 .item.item-license {
	
}
.index05 .item.item-license{
	padding:24px 38px 15px;
}
.index05 .item.item-license .ttl{
	margin-bottom:0;
	font-size:24px;
}
.index05 .item.item-license .ttl span{
	display: inline-block;
	vertical-align:top;
}
.index05 .item.item-license .ttl .ttl_txt{
	margin-bottom:10px;
}
.index05 .item.item-license .ttl .ttl_img img{
	width:106px;
	height:auto;
	vertical-align:top;
}
.index05 .item.item-license .ttl .ttl_txt-small{
	padding:0 10px 0 15px;
	font-size:10px;
	line-height: 1.7;
}
.index05 .item.item-license .txt{
	margin-bottom:10px;
	font-size:13px;
}
.index05 .item.item-license .btn {
	width:100%;
}

.index06 { padding: 40px 15px 40px; }

.index06 h3 { margin-bottom: 20px; }

.index06 h3 .deco { padding: 10px 20px 12px; }

.index06 .list_items { margin-left: 0; }

.index06 .item { width: 100%; margin-right: 0; margin-top: 20px; padding: 48px 20px 20px; }

.index06 .item .box_in { border-width: 2px; }

.index06 .item .label { top: -30px; left: -2px; width: 120px; height: 30px; text-indent: 0; }

.index06 .item .ttl { padding: 12px 15px 15px; border-bottom-width: 2px; }

.index06 .item h4 { font-size: 18px; line-height: 30px; letter-spacing: 1px !important; height: auto !important; }

.index06 .item .text { padding: 17px 15px 18px; }

.index07 { padding: 40px 15px 40px; background-size: auto 5px; }

.index07 h3 { margin-bottom: 0px; margin-left: 0; letter-spacing: 1px; }

.index07 h3 .en { margin-bottom: 10px; }

.index07 .box_blog:before { display: none; }

.index07 .box_blog .col { width: 100%; margin-right: 0; margin-top: 20px; padding: 40px 15px 40px; }

.index07 h4 { font-size: 20px; margin-bottom: 30px; letter-spacing: 1px; }

.index07 .list_items ul li { font-size: 14px; padding: 15px 0px 15px 10px; }

.index07 .list_items ul .date { margin-bottom: 4px; line-height: 1; }

.index07 .btn { position: relative; left: auto; width: 100%; bottom: auto; margin-top: 20px; }

.index07 .btn a { margin-left: 0; }

.index08 { padding: 60px 15px 60px; position: relative; }

.index08:before { background-image: url(../images/index08_deco01_sp.png); left: auto; margin-left: auto; right: 0; top: 60px; width: 41vw; height: 41vw; }

.index08:after { background-image: url(../images/index08_deco02_sp.png); left: 0; margin-left: 0; bottom: -60px; width: 39.5vw; height: 74vw; }

.index08 h3 { margin-bottom: 30px; }

.index08 .slider { max-width: 450px; margin: 0 auto; display: block; }

.index08 .item { height: 100%; margin: 20px 0 0; display: none;  width: auto;}

.index08 .item:nth-child(-n+4) { display: block; }

.index08 .item .thumb{height: auto;}

.index08 .item .box_text { padding: 15px 15px 15px; }

.index08 .item .ttl { margin-bottom: 20px; height: auto !important; }

.index08 .item h4 { font-size: 18px; line-height: 30px; }

.index08 .item .company { margin-bottom: 10px; }

.index08 .btn { margin-top: 30px; }

.index09 { padding: 40px 15px 40px; }

.index09 h3 { margin-bottom: 30px; font-size: 12px; padding-bottom: 14px; letter-spacing: 1px; margin-left: 0; }

.index09 h3 .en { margin-bottom: 10px; margin-left: 2; }

.index09 .btn { margin-top: 30px; }

/*==========================================================================*/
/*                             Contents                                     */
/*==========================================================================*/
.under section { padding: 30px 0 40px; }

.under section .inner { padding-left: 15px; padding-right: 15px; }

.under .topic_path + section { padding-top: 30px; }

.under .topic_path + section h3:first-child { padding-top: 0px; }

.under h3 { font-size: 20px; line-height: 30px; margin-bottom: 15px; }

.under h4 { font-size: 16px; line-height: 22px; margin-bottom: 10px; }

.under h5 { font-size: 16px; line-height: 24x; margin-bottom: 20px; margin-top: 30px; padding: 5px 10px; border-left-width: 3px; }

.under section ul { margin-bottom: 15px; }

.under section ul li { padding-left: 20px; }

.under section ul li:not(:first-child){  margin-top: 10px; }

/*==========================================================================*/
/*                             under page                                  	*/
/*==========================================================================*/

.features_txt01{
	display: block;
	text-align: center;
	margin-top: 30px;
}

.features_txt01 .icn{
	display: block;
	width: 100%;
	text-align: center;
}

.features_txt01 .icn img{
	height: 40px;
}

.features_txt01 .text{
	margin: 0;
	font-size: 18px;
	line-height: 34px;
	background: none;
}

.features_txt01 .text .line{
	display: inline-block;
	background: url(../images/line_dot.png) left bottom repeat;
	background-size: 30px auto;
}

.cases_pickup{
	padding: 80px 0 30px !important;
	position: relative;
	box-shadow: 0 0 20px rgba(0,0,0,0.1);
}

.cases_pickup:before{ display: none; }

.cases_pickup .inner{ 
	flex-direction: column;
	padding: 0 !important; 
}

.cases_pickup .col_img,
.cases_pickup .col_text{
	width: 100%;
}

.cases_pickup .col_img{ text-align: center; }

.cases_pickup .col_img img{ width: 100%; }

.cases_pickup .col_text{
	padding: 20px 15px 0;
}

.cases_pickup .label{
	position: absolute;
	top: 30px;
	left: 20px;
}

.cases_pickup h3{
	font-size: 22px;
	line-height: 32px;
}

.cases_pickup .text p{ font-size: 14px; }

.cases_pickup .company{ margin: 15px 0 20px; }

.cases_pickup .btn{ text-align: center; }

.cases_list{
	padding: 30px 0 20px !important;
}

.cases_list .item{
	width: 100%;
	margin: 0 auto 20px !important;
	max-width: 450px;
}

.cases_list .item .ttl{height: auto !important;}

.cases_list .item .thumb{
	height: 62vw;
	max-height: 300px;
}

/*
.cases_list .item .thumb img{
	width: 100%;
}*/

.cases_list .item .box_text{
	padding: 25px 20px 25px;
}

.cases_list .item h4{
	font-size: 18px;
	line-height: 28px;
	height: auto !important;
}

.cases_list .item .btn{
	position: relative;
	left: auto;
	bottom: auto;
}

.cases_detail .box_img{
	margin-bottom: 30px;
}

.cases_detail .box_img .company{
	top: 15px;
	left: 15px;
	border-width: 1px;
	padding: 2px 10px;
	position: relative;
	top: auto;
	left: auto;
	margin-bottom: 10px;
	display: inline-block;
}

.cases_detail .box_img .img{
	height: 70vw;
}

.cases_detail .box_img .img img{
}

.cases_detail .box_company{
	margin-top: 30px;
	margin-bottom: 15px;
	padding: 15px;
}

.download_list .item,
.seminar_list .item{
	margin-top: 30px;
}

.download_list .item .thumb,
.seminar_list .item .thumb{
	height: 30vw;
}

.seminar_list .item .datetime{
	font-size: 14px;
	line-height: 20px;
}

.seminar_list .item h4{
	font-size: 16px;
	line-height: 26px;
}

.download_list h4{
	margin-top: 30px;
	padding: 5px;
	font-size: 14px;
}

.download_list h4 span{
	padding: 2px 25px;
}

.download_list .item h5{
	font-size: 16px;
	line-height: 26px;
}

.download_list .item {
    padding-bottom: 50px;
}

.news_list ul li{
	padding: 10px 15px;
}

.news_list ul li a{
	line-height: 24px;
	font-size: 14px;
	align-items: flex-start;
}

.news_list ul li .date{
	width: 90px;
	padding-top: 2px;
}

.news_list ul li .cate{
	width: 130px;
}

.news_list ul li .ttl{
	width: 100%;
	margin-left: 0;
	margin-top: 5px;
}

.btn_loadmore{
	margin-top: 30px;
}

.form_contact .row{
	margin: 15px 0 0;
}

.form_contact .row_col2 .col,
.mktoForm .mktoFormRow:nth-child(3) .mktoFormCol{
	width: calc(100% / 2 - 5px)!important;
}

.form_contact .form_ttl label,
.mktoForm .mktoLabel{
	font-size: 14px!important;
}

.form_contact input[type="text"],
.form_contact input[type="email"],
.form_contact input[type="tel"],
.form_contact textarea,
.mktoForm input[type="text"],
.mktoForm input[type="email"],
.mktoForm input[type="tel"],
.mktoForm textarea{
	padding: 6px 8px !important;
	font-size: 14px!important;
}

.form_contact .checkbox{
	padding: 15px;
}

.form_contact .checkbox > span{
	margin: 10px 0 0 !important;
	width: 100%;
}

.form_contact .checkbox > span:nth-child(2){
	margin-top: 10px !important;
}

.form_contact .checkbox label{
	font-size: 14px;
}

.form_contact .checkbox input[type="checkbox"]{
	width: 13px;
	height: 13px;
}

.mktoForm .mktoCheckboxList{
	padding: 15px 15px 0px !important;
}

.mktoForm .mktoCheckboxList input[type="checkbox"]{
	width: 13px !important;
	height: 13px !important;
	
}

.mktoForm .mktoCheckboxList label{
	font-size: 14px;
	margin: -3px 0 15px 10px !important;
	width: calc(100% - 30px) !important;
	clear: right;
}

.form01 .mktoForm .mktoFormRow:nth-child(11),
.form02 .mktoForm .mktoFormRow:nth-child(8){
	flex-wrap: wrap;
}

.form01 .mktoForm .mktoFormRow:nth-child(11) .mktoHtmlText, 
.form01 .mktoForm .mktoFormRow:nth-child(11) .mktoHtmlText p ,
.form02 .mktoForm .mktoFormRow:nth-child(8) .mktoHtmlText, 
.form02 .mktoForm .mktoFormRow:nth-child(8) .mktoHtmlText p {
    text-align: center !important;
}

.form01 .mktoForm .mktoFormRow:nth-child(11) .mktoHtmlText p,
.form02 .mktoForm .mktoFormRow:nth-child(8) .mktoHtmlText p {
    padding-right: 0;
}

.form01 .mktoForm .mktoFormRow:nth-child(11) .mktoFormCol:nth-child(2) .mktoFieldWrap,
.form02 .mktoForm .mktoFormRow:nth-child(8) .mktoFormCol:nth-child(2) .mktoFieldWrap{
	width: 102px !important;
	margin: 0 auto;
}


.form_contact .form_btn,
.mktoForm .mktoButtonRow{
	margin-top: 30px;
}

.form_contact .form_confirm a{
	font-size: 13px;
}

.form_contact .confirm_input{margin-left: 20px;}

.form_contact .confirm_input span{
	font-size: 16px;
}

.form_contact .confirm_input input{
	width: 13px;
	height: 13px;
}

.bnr_contact{ margin-top: 30px;}

.bnr_contact a{
	padding: 10px;
	font-size: 16px;
	max-width: 400px;
}

@media screen and (max-width: 480px) { 
	.sp_480 { display: block; }
	
	.download_list .item .thumb,
	.seminar_list .item .thumb{
		height: 50vw;
	}
}

@media screen and (max-width: 375px) { 
	.sp_375 { display: block; }
}

@media screen and (max-width: 320px) { .sp_320 { display: block; } }

/*===========================================================================*/
/*                             request_resource                              */
/*===========================================================================*/
.header-subpage{
	height:auto;
	padding:0;
	text-align:center;
}
.header-subpage .header_inner{
	padding:15px 0;
}
.request_resource_contentWrapper{
	margin:60px 0 0;
	padding:20px ​20px 0;
}
.request_resource_flexbox{
	display:block;
}
.request_resource_flexbox .request_resource_block{
	width:100%;
}
.request_resource_flexbox .request_resource_block + .request_resource_block{
	margin-top:30px;
}
.request_resource_flexbox .request_resource_textArea{
	padding:20px 20px 0;
}
.request_resource_flexbox .request_resource_title{
	font-size:20px
}
.request_resource_footerText{
	padding:0 20px;
}
.footer-subpage{
	padding-bottom:0;
}

/* 20230901 add tane start */

/* 
	--- vw計算方法 ---

	■画面幅375pxが基準
	例:375pxの時に20pxで表示されて欲しい時
	20 / 375 * 100 = 5.333333... = 5.3vw
 */

@media only screen and (max-width:480px){
	.cases_pickup .text p{
		font-size: 4.26vw;
		line-height: 1.714;
	}


	.cases_detail h2{
		font-size: 6.4vw;
		line-height: 1.8;
		margin-bottom: 2vw;
	}

	.under .cases_detail h3{
		/* font-size: 5.3vw; */
		font-size: 4.8vw;
		line-height: 1.5;
		margin-bottom: 4vw;
		margin-top: 16vw;
	}

	.under .cases_detail p{
	  /* line-height: 2.6; */
		line-height: 2;
		font-size: 140%;
	}
	.under .cases_detail p strong{
	  /* line-height: 36px; */
		line-height: 2.57;
	}

	.cases_detail .sns_list{
		margin-bottom: 2.6vw;
	}

	.cases_detail .box_img{
		margin-bottom: 4vw;
	}

	.cases_pickup h2{
		font-size: 5vw;
		line-height: 1.5;
		margin-bottom: 2vw;
	}

	.under .cases_detail .cases_detail_container h1{
		font-size: 6.4vw;
		line-height: 1.5;
		/* margin-bottom: 2vw; */
		padding: 60px 0;
	}

	.under .cases_detail h4{
		margin-bottom: 4.26vw !important;
		font-size: 160%;
	}

}
@media only screen and (max-width:640px){
	.under .cases_detail .banner{
  	margin-bottom: 15px;
	}
}
/* 20230901 add tane end */