/*  
Theme Name:GB PUPPET
*/

/* $main_color = #003d7a; */
/* marker = #F4EB52 */
/* back_color = #E6E6E5 */
/* accent_color = #E8A640 */

html {
  font-size: 80%;
}

body {
	font-family: "Helvetica Neue", Arial,	"Hiragino Kaku Gothic ProN", "Hiragino Sans",	Meiryo,	sans-serif;
	font-size: 16px;
	margin: auto;
	text-align: center;
	/* width: 1600px; */
}

.section_feature, .section_cost, .contact_form {
	margin: auto;
	width: 1600px;
}

h1 {
	font-family: Meiryo;
	font-weight: bold;
	font-size: 6rem;
}

h2 {
	color: #003D7A;
	font-size: 3rem;
	font-weight: bold;
}

 h3 {
	color: #003D7A ;
	font-size: 2rem;
}

h4 {
	font-size: 1.5rem;
}

.sub_title {
	font-weight: normal;
}

.marker {
	background: linear-gradient(transparent 60%, #F4EB52 60%);
}

.font_s {
	font-size: 1.2rem;
}

.font_m {
	font-size: 1.5rem;
}

.font_2l {
	font-size: 2rem;
}

.font_b {
	font-weight: bold;
}


.color_main {
	color: #003D7A ;
}

.color_accent {
	color: #E8A640;
}


.header_logo {
	padding: 7vw 0 60px;
	width: 100vw;
}

/* お悩み */
.sectoin_worries {
	margin: 76px auto;
}

.worries_wrapper {
	background-color: #E6E6E5;
	margin: auto;
	margin-top: -2vh;
	padding: 0 40px 32px;
	width: 1600px;

}
.worries_section_title {
	padding: 2vh 0;
}

.worries_contents{
	display: flex;
	justify-content: space-around;
	padding: 2vw 6vw
}

.worries_contents_item h3{
	padding-top: 16px;
}

.worries_contents02{
	align-items: end;
	display: flex;
	justify-content: center;
	padding-top: 4vh;
}

.worries_text_backimage {
	display: none;
}


.worries_text {
	background-image: url('../images/lp_beyond_rpa/frame1.svg');
	background-position: bottom;
	background-repeat: no-repeat;
	margin-left: 2vw;
	width: 66vw;
}

.worries_text p {
	letter-spacing: -1px;
	line-height: 2.2vw;
	padding: 0 2vw 2.5vw 7vw;
	/* padding-left: 7vw; */
	/* padding-bottom: 2.5vw; */
	text-align: start;
}

.section_title {
	align-items: center;
	display: flex;
	margin: auto;
	width: fit-content;
	padding-top: 48px;
}

/* ３大特徴 */

.feature_title, .feature_title_logo {
	align-items: flex-end;
}

.feature_title h1 {
	margin:0 2vw;
}
.feature_title h3 {
	padding: 0 2vw 0 1vw;
}
.feature_title h1, .feature_title h3 {
	display: inline;
	font-size: 6rem;
}

.feature_contents, .case_wrapper {
	display: flex;
	justify-content: space-around;
	margin: auto;
	padding: 7vh 0 9vh;
}

.feature_contents_item {
	padding-bottom: 1vh;
}

.feature_contents_item h3 {
	padding-top: 32px;
}

.feature_contents_item p {
	padding-top: 1vh;
	text-align: start;
}

.feature_contents p, .case_contents_wrapper p,
.cost_title p {
	color: #003D7A;
	font-family: Meiryo;
}


/* 導入事例 */
.section_case {
	background-color: #E6E6E5;
	margin-top: -2px;
	width: 100vw;
}

.section_case_contents {
	margin: auto;
	padding-bottom: 72px;
	width: 1600px;
}

.case_title {
	padding-top: 8vh;
	padding-bottom: 5vh;
}

.feature_title_logo, .case_contents_wrapper, 
.case_contents_left_top, .case_contents_left_item, 
.case_contents_right_main {
	display: flex;
}

.case_contents_wrapper {
	justify-content: space-around;
}

.case_contents_left {
	width: 40%;
}

.case_contents_right {
	width: 40%;
}

.case_contents_left, .case_contents_right_main {
	padding-top: 88px;
}

.case_contents_left_item {
	align-items: center;
}

.case_contents_left_top {
	align-items: center;
	justify-content: space-between;
}

.case_contents_left_top p {
	padding-top: 12px;
}

.case_contents_left_bottom {
	margin-top: 20px;
}

.case_contents_left_bottom p, .case_contents_right_main p {
	font-size: 1.7rem;
	letter-spacing: 2px;
	line-height: 2.5rem;
}

.case_contents_left_bottom p {
	padding-top: 24px;
	text-align: start;
}

.case_contents_right_main p {
	/* display: inline-block; */
	padding-top: 12px;
}

.case_contents_right_main {
	align-items: center;
	justify-content: space-evenly;
	height: 432px;
}

/* .case_contents_right_main_item {
	flex-grow: 1;
} */


/* 他社比較　費用 */
.section_cost {
	margin-top: 40px;
}

.cost_frame {
	background-image: url('../images/lp_beyond_rpa/frame3.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom;
	font-size: 3rem;
	height: 112px;
	padding: 29px 64px 0 20px;
	width: 532px;
}

.cost_title01 {
	letter-spacing: 2px;
	padding: 0 16px;
}

.cost_table {
	padding-top: 68px;
}

.list_block {
	display: flex;
	justify-content: flex-end;
	margin: auto;
	padding-top: 20px;
	width: 64vw;
}

.asterisk_list {
	display: inline-block;
	text-align: start;
}

.asterisk_list p {
	margin-left: -1vw;
}

ul {
	text-align: left;
}

.list1 {
	list-style: none;
}


.footer {
	background-color: #003D7A;
	padding: 50px 0;
}

.footer_box {
	margin: auto;
	width: 1000px;
}

.footer_container_logo {
	position: relative;
}

.footer p {
	color: #fff;
	letter-spacing: 2px;
	line-height: 2rem;
	padding: 20px;
}

.footer_container {
	width: auto;
}


/* お問い合わせ */
.contact_form {
	background-color: #E6E6E5;
	padding: 80px 0;
	margin-top: 40px;
}

.contact_form_title {
	margin-bottom: 24px;
}

form{
	font-size: 20px;
	margin: 0 auto;
	max-width: 600px;
	padding-top: 20px;
}

form div {
	margin-bottom: 16px;
}
	label {
		display: block;
		text-align: start;
	}
	
	input[type="text"],input[type="email"], select, textarea {
		background-color: #fff;
		border: solid 1px #aaa;
		font-size: 1.2rem;
		text-align: start;
		width: 100%;
	}
	
	input[type="text"],input[type="email"] {
		border-radius: 24px;
		padding: 14px 16px;
	}

	select {
		appearance: auto; 
		border-radius: 24px;
		padding: 14px 16px;
	}
	
	textarea{
		border-radius: 20px;
		height: 160px;
		padding: 16px;
	}
	
	.btn{
	text-align: center;
	margin: 25px auto;
	}
	
	input[type="submit"] {
	background: #F4EB52;
	border-radius: 7px;
	cursor: pointer;
	color: #003D7A;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 16px 36px;
	}

.submit-button {
  background-color: #003D7A; 
  color: white;
  font-weight: bold;
  padding: 1rem 2rem;
  border: none;
  border-radius: 9999px; /* 丸み（pill型） */
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.submit-button:hover {
  background-color: #2c5282; /* 少し明るいネイビー */
  transform: translateY(-2px);
}

.submit-button:active {
  background-color: #1a365d;
  transform: translateY(0);
}

/* 共通アイテム */
.asterisk {
	font-size: 0.9rem;
}

.asterisk01 {
	text-align: end;
}

.spacer {
	padding-top: 10vw;
	width: 80px;
}

.section_title_box {
	background-color: #003D7A;
	border-radius: 20px;
	color: #fff;
	display: inline-block;
	font-size: 2.3rem;
	font-weight: bold;
	padding: 10px 64px;
}

.section_title_text {
	font-size: 2.3rem;
	padding-left: 32px;
}

/* 画像関係 */

.logo_top {
	height: 360px;
	margin-left: 2vh;
	position: relative;
	z-index: 1000;
}

.pc_img {
	background-image: url('../images/lp_beyond_rpa/frame_icon_all.svg');
}

.sp_img {
	background-image: url('../images/lp_beyond_rpa/frame_icon_parts.svg');
	display: none;
}

.pc_img, .sp_img {
	background-repeat: no-repeat;
	height: 11vh;
	margin: auto;
	width: 1600px;
}

.tb_img {
	display: none;
}

.feature_icon {
	width: 6vw;
}

.feature_icon02 {
	width: 6.5vw;
}

.worries_icon {
	height: 4vw;
	margin-right: 2vw;
}

.worries_image {
	height: 12vw;
	margin-top: 64px;
}

.logo_feature {
	height: 120px;
}
.icon_frame {
	width: 1600px;
}

.file_icon {
	height: 2vh;
	padding: 0 1vw;
}

.case_frame {
	padding-top: 64px;
	width: 76px;
}

.case_icon {
	height: 88px;
}

.case_frame01 {
	height: 132px;
	padding: 8px 30px;
}

.case_frame02 {
	width: 120px;
	padding: 0 24px;
}

.footer_logo {
	height: 160px;
	position: absolute;
	top: 20px;
	left: 0;
}
.footer_logo_name {
	height: 100px;
}

/* 表のレイアウト */
table {
	align-items: center;
	border-collapse: collapse;
	line-height: 1.5rem;
	margin: 0 auto;
	padding: 0;
	table-layout: fixed;
	text-align: center;
	width: 1500px;
}

table th {
	background-color: #003D7A;
	color: #fff;
	padding: 1em 10px 1em 1em;
	text-align: center;
}

th, td {
	vertical-align: middle;
}
.th_col {
	border-right: 2px solid #fff;
}

.th_row {
	border-bottom: 2px solid #fff;
}

.th_c {
	border-right: 2px solid #003d7a;
}
.th_l {
	border-bottom: 2px solid #003d7a;
}

.th_gb {
	background-color: #F4EB52;
	color: #003D7A;
	padding: 8px 32px;
}

table td {
	background-color: #fff;
	border: 2px solid #003d7a;
	padding: 1.5em 1em;
}

.non{
	background:#fff
}

/* ページ上部のアニメーション */
.top_container {
	position: relative;
	text-align: start;
}

.top_image {
	position: absolute;
	width: 100%;
	opacity: 0;
	overflow: hidden;
}

.top_image01, .top_image02{
	width: 100vw;
	height: 40vh;
	position: absolute;
	top: 0;
	animation: anime 5s 1s infinite;
	opacity: 0;
}

.top_image01 {
	/* 細かい星のほう */
	background: center center;
	background-image: url('../images/lp_beyond_rpa/top_parts2.svg');
	z-index: 1;
}
.top_image02 {
	animation-delay: 3s;
	background: center center no-repeat;
	background-image: url('../images/lp_beyond_rpa/top_parts1.svg');
	height: 38vh;
	top: 4vh;
	z-index: 100;
}

/* ページ下部のアニメーション */
.frame_icon {
	height: auto;
	margin: 0 1vw 0 0.5vw;
	width: 4vw;
}

.frame_icon_jump {
	animation: jump 2s ease infinite; 
}
@keyframes jump {
  0% {
    transform: translateY(0); }
  5% {
    transform: translateY(0); }
  10% {
    transform: translateY(0); }
  20% {
    transform: translateY(-10px); }
  25% {
    transform: translateY(0); }
  30% {
    transform: translateY(-10px); }
  50% {
    transform: translateY(0); }
  100% {
    transform: translateY(0); } 
	}

.frame_icon_zoom {
	animation: zoom 3s ease 0.5s infinite normal backwards;
	width: 6vw;
}
@keyframes zoom {
	0% {
		opacity: 1;
    transform: scale(0.2);
  }
  100% {
    opacity: 1;
    transform: scale(1.0);
  }
}
.frame_icon_sway {
	animation: sway 2s infinite ease-in-out .8s alternate
}
@keyframes sway {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}
.frame_icon_up {
	animation: up 3s ease infinite;
	width: 5vw;
}

@keyframes up {
	0% {
		transform: translateY(40px);
		opacity: 1;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
.frame_icon_rotate {
	animation: rotation 3s linear infinite;
	margin-bottom: 3vh;
	margin-left: 0;
	width: 2.5vw;
}

@keyframes rotation{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}



@keyframes anime {
  0% {
    opacity: 1;
  }
  50% { 
    opacity: 1;
  }
  60% { 
    opacity: 0;
  }
  100%{ 
    opacity: 0;
  }
}


/* レスポンシブ表示 */

@media screen and (min-width: 600px) {
	/* 600以下の幅のときに改行 */
	.br_600 {
		display: none;
	}
}
@media screen and (min-width: 1024px) {
	.br_1024 {
		display: none;
	}
}

@media screen and (min-width: 2000px) {
	.br_2000 {
		display: none;
	}

	.feature_contents_item p {
		font-size: 2.5rem;
	}

	
}


@media screen and (max-width: 2000px) {
	.section_feature, .section_cost, .contact_form {
		margin: auto;
		width: auto;
	}

	.section_worries, .worries_wrapper, .icon_frame, .pc_img{
		width: 88vw;
	}
	.pc_img {
		height: 8vw;
		margin-top: -2vh;
	}

	.worries_text p {
		font-size: 1.7vw;
		line-height: 2.2vw;
	}

	.feature_contents {
		display: grid;
		width: 100vw;
	}

	.feature_contents_item, .feature_contents_item02 {
		align-items: center;
		display: flex;
	}

	.feature_contents_item h3 {
		display: block;
		width: 30vw;
	}

	.section_case_contents {
		width: 80vw;
	}
	.section_case_contents,
	.section_title, 
	.cost_table {
		margin: auto;
	}

	.case_contents_left, .case_contents_right_main {
		padding: 10vh 0;
	}

	.case_contents_left {
		margin-right: 0;
	}
	.case_frame {
		padding-top: 5vh;
		width: 6vw;
		margin: 0 2vw;
	}

	.case_frame01, .case_frame02 {
		height: 8vh;
		padding: 0 0.5vw;
		width: 3vw;
	}

	.case_icon {
		height: 6vw;
	}
	.file_icon {
		height: 1.5vw;
	}

	.case_video {
		width: -webkit-fill-available;
	}


	.case_contents_left_top p,
	.case_contents_left_bottom  p,
	.case_contents_right_main p {
		padding-top: 1vw;
	} 

	.cost_title p {
		display: inline;
	}

	.cost_frame {
		padding: 20px 64px 22px;
	}

	table {
		width: 90vw;
	}

	
	form div {
		margin-bottom: 24px;
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.footer {
		padding: 50px 10px;
	}

}

@media screen and (max-width: 1028px) {
	.br_pc , .br_sp02, .sp_none_img{
		display: none;
	}
	.section_feature, .section_cost, .contact_form {
		margin: auto;
		width: auto;
	}

	.top_image02 {
		top: 2vh;
	}

	.top_image01, .top_image02 {
		height: 20vh;
	}

	.logo_top {
		height: 272px;
	} 
	.header_logo {
		height: 340px;
	}

	h1 {
		font-size: 9vw;
	}

	h2 {
		font-size: 7vw;
	}

	h3 {
		font-size: 4vw;
	}

	h4 {
		font-size: 3vw;
	}

	form {
		max-width: 80%;
	}

	.font_ll {
		font-size: 4rem;
	}
	
	.worries_wrapper {
		margin-top: -1vh;
		padding: 0 2vw 3vw;
	}

	.worries_contents_item h3	{
		padding-top: 0;
	}

	.worries_text p {
		font-size: 1.5rem;
		line-height: 2.5vh;
		margin-top: 2vw;
		padding-left: 6vw;
		padding-bottom: 0;
	}
	.worries_contents02 {
		align-items: flex-end;
	}
	
	.worries_contents02 .text03 {
		padding-bottom: 2vw;
	}
	
	.worries_contents {
		display: grid;
		line-height: 5rem;
	}
	
	.worries_contents02 {
		padding-top: 1vh;
	}
	
	.worries_contents_item {
		align-items: center;
		display: flex;
	}	
	
	.worries_contents_item h2 {
		padding-top: 0;
		padding-left: 3vw;
	}

	.feature_title {
		display: grid;
		line-height: 7vh;
	}
	
	.feature_contents {
		padding: 3vw 0 4vw;
	}
	.feature_contents_item02 {
		display: block;
		padding-bottom: 2.5vh;
		text-align: start;
	}
	.feature_contents_item h3 {
		font-size: 4vw;
		padding-top: 0;
		width: auto;
	}
	.feature_contents_item p {
		font-size: 2vw;
	}

	.feature_video {
		width: 60vw;
	}
	
	.feature_icon  {
		height: 9vw;
		margin-right: 4vw;
		width: 9vw;
	}
	.feature_icon02  {
		height: 9vw;
		margin-right: 4vw;
		width: 9.5vw;
	}
	
	.case_contents_left_top p, 
	.case_contents_left_bottom p { 
		font-size: 1.5rem;
	}
	.case_contents_right_main p {
		font-size: 1.7rem;
	}
	
	.case_contents_wrapper {
		display: block;
	}
	
	.case_contents_left, .case_contents_right {
		margin: auto;
		width: 70vw;
	}
	
	.case_frame_box {
		height: 8vw;
		position: relative;
	}
	.case_frame {
		transform: rotate(90deg);
		padding-top: 0;
		position: absolute;
		top: -8vw;
		right: 42%;
	}
	.case_frame01, .case_frame02 {
		height: 5vw;
	}
	
	.cost_frame {
		background-position: bottom;
	}
	
	.section_title {
		display: block;
	}
	
	.section_title_text {
		padding: 2vh 0;
	}
	
	.case_contents_left, .case_contents_right_main {
		padding: 5vw 0 0;
	}
	
	.case_contents_right_main {
		height: 16vh;
	}
	
	.font_m {
		font-size: 1.5vw;
	}

	.pc_img {
		display: none;
	}
	.sp_img {
		display: block;
		height: 17vw;
		width: 88vw;
	}

	.spacer02 {
		padding-top: 5vh;
	}

	footer .font_l {
		font-size: 2rem;
		line-height: 3rem;
	}
	
	.footer {
		padding: 40px 10px;
	}
	.footer_box {
		width: 540px;
	}

	.footer_container {
		padding-top: 20px;
	}

	.footer_logo, .footer_container_logo {
		height: 120px;
	}

	.footer_logo {
		position: static;
	}

	.footer_logo_name {
		height: 80px;
	}

	.js-scrollable {
		overflow-x: scroll;
	}
	table {
		width: 960px;
		margin: 0 8px;
	}

	.frame_icon {
		height: auto;
		margin: 0 1vw 0 0.5vw;
		width: 5vw;
	}

	.frame_icon_zoom {
		width: 9vw;
	}

	.frame_icon_rotate {
		margin-bottom: 2vw;
	}

	.frame_icon_up {
		width: 7vw;
	}
		
	/* 表のレイアウト
	table th {
		display: block;
		width: 100%;
	}

	.th_row {
		border-bottom: none;
	}

	.tbl-r05 {
		width: 80%;
	}
	.tbl-r05 .thead {
		display: none;
	}
	.tbl-r05 tr {
		width: 100%;
	}
	.tbl-r05 td {
		display: block;
		text-align: right;
		width: 100%;
	}
	.tbl-r05 td:first-child {
		background: #e9727e;
		color: #fff;
		font-weight: bold;
		text-align: center;
	}
	.tbl-r05 td:before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
		margin-right: 10px;
	}
	 */
}

@media screen and (max-width: 600px) {
	.br_1024{
		display: none;
	}

	.logo_top {
		height: 240px;
	} 
	.header_logo {
		height: 300px;
	}
	
	h1 {
		font-size: 5rem;
	}
	
	.font_ll {
		font-size: 6vw;
	}

	.worries_icon	{
		height: 6vw;
	}

	.worries_image {
		margin-top: 0;
	}

	.worries_text {
		background-image: url('../images/lp_beyond_rpa/frame7.svg');
		background-position: top;
	}

	.worries_text_backimage {
		background-image: url('../images/lp_beyond_rpa/frame6.svg');
		background-position: right;
		background-repeat: no-repeat;
		display: block;
		height: 4vh;
		margin-left: 3vw;
	}

	.worries_contents02 {
		align-items: flex-start;
	}
	
	.worries_text p {
		font-size: 1.5rem;
		line-height: 2.5rem;
		padding-top: 3vw;
		padding-right: 5vw;
	}

	.feature_title h1, .feature_title h3 {
		font-size: 4rem;
	}

	.feature_contents_item h3 {
		font-size: 2rem;
	}
	.feature_contents_item p {
		font-size: 1.5rem;
	}
	
	h3 .font_3l {
		font-size: 5rem;
	}
	
	.logo_feature {
		height: 15vw;
		margin-bottom: 2vw;
	}


	.file_icon {
		height: 2vw;
	}

	.case_frame01, .case_frame02 {
		height: 5vh;
	}

	.case_frame01 {
		width: 4vw;
	}
	.case_frame02 {
		width: 5vw;
	}

	.case_contents_left, .case_contents_right_main {
		padding: 5vw 0 2vw;
	}

	.case_contents_left {
		margin-bottom: 2vw;
	}

	.case_contents_right_main {
		display: block;
		height: auto;
	}
	.case_contents_right_main_item {
		align-items: center;
		display: flex;
		justify-content: center;
		margin-bottom: 1.5vh;
	}

	.case_right_icon {
		height: 3vh;
		margin-right: 4vw;
	}

	.cost_frame {
		font-size: 4vw;
	}

	label {
		display: block;
		font-size: 1.7rem;
		padding: 1.5vw 0;
		text-align: start;
	}

	.footer_box {
		width: auto;
	}

	.footer_container_logo, .footer_logo {
		height: 80px;
	}

	.footer_logo_name {
		height: 56px;
	}

}


@media screen and (max-width: 450px) {
	.logo_top {
		height: 180px;
	} 
	.header_logo {
		height: 220px;
	}
	
	.footer_logo_name {
		height: 50px;
	}
}
