@charset "UTF-8";

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

	img {
		height: auto;
		width: 100%;
	}

	/* ▼ヘッダー▼ */

	#header_wrapper {
		align-items: center;
		display: flex;
		width: auto;
	}

	#top_gaoax {
		display: none;
	}

	#header_logo {
		float: none;
		padding: 8px 20px 8px 10px;
	}

	#header_text {
		padding: 5px 10px 5px 0;
	}

	#header_text h1 {
		float: none;
		font-size: 11px;
		line-height: 1.2;
	}

	#top_h2 {
		height: auto;
		margin: 15px 10px 0;
		padding: 0;
		width: auto;
	}

	#top_h2 h2 {
		padding: 0;
	}

	#top_1 {
		background-image: url(../img/pic_top1_2_mobile.png);
		background-position: top center;
		background-size: 100% auto;
		display: flex;
		flex-wrap: wrap;
		height: auto;
		margin-top: 10px;
		padding-top: calc((100vw - 20px)*(245 / 690));
		width: calc(100vw - 20px);
	}

	#top_aws1 {
		align-self: center;
		margin: 20px 0 0 auto;
		padding: 0;
	}

	#bnr_aws2 {
		margin: 20px auto 0 20px;
	}

	#bnr_aws a {
		width: 100px;
	}

	#btn_wrapper {
		float: none;
		margin: 20px auto 0;
		padding: 0;
		width: auto;
	}

	#sns_wrapper {
		display: table;
		float: none;
		height: auto;
		margin: 20px auto 0;
		width: auto;
	}

	#sns_tweet {
		display: table-cell;
		padding: 0 10px;
	}

	#sns_facebook {
		display: table-cell;
		padding: 0 10px;
	}

	#top_tel {
		display: table;
		margin: 0 auto;
		width: auto;
	}

	#tel {
		float: none;
	}

	#tel_text {
		float: none;
		padding: 0;
	}

	/* ▼スライド1▼ */

	div.boxBannerUsecase {
		height: auto;
		width: auto;
	}

	div.boxBannerUsecase div.UsecaseContent {
		width: auto;
	}

	div.boxBannerSlide {
		height: auto;
		width: 100%;
	}

	div.boxBannerSlide div.boxBannerTitle {
		background-repeat: repeat;
		height: auto;
	}

	div.boxBannerSlide div.boxBannerTitle .text {
		padding: 10px;
	}

	div.boxBannerSlide div.boxBannerSlideContent {
		height: auto;
	}

	div.boxBannerSlide div.sliderContent {
		width: 100%;
	}

	div.boxBannerSlide div.sliderContent ul.slider li {
		box-sizing: border-box;
		padding: 0 25px;
	}

	div.boxBannerSlide div.sliderContent div.controler span.nextSlideButton {
		background-position: top center;
		background-size: 100% auto;
		height: calc((100vw - 20px)*(180 / 950));
		top: 0;
		width: calc((100vw - 20px)*(25 / 950));
	}

	/* ▼コンテンツ1▼ */

	#ctn_0101 {
		width: 100%;
	}

	.ctn_0101_wrapper {
		margin-left: 10px;
		margin-right: 10px;
		width: auto;
	}

	.ctn_0101_heading {
		font-size: 18px;
	}

	.ctn_0101_heading::after {
		border-width: 13px 22px;
		bottom: -26px;
		margin-left: -22px;
	}

	.ctn_0101_point {
		padding: 20px;
	}

	.ctn_0101_list {
		flex-direction: column;
	}

	.ctn_0101_list li {
		font-size: 16px;
		width: 100%;
	}

	.ctn_0101_list li:nth-child(n + 3) {
		margin-top: inherit;
	}

	.ctn_0101_list li:nth-child(n + 2) {
		margin-top: 20px;
	}

	#ctn_0102 {
		margin-left: 10px;
		margin-right: 10px;
		width: auto;
	}

	.ctn_0102_wrapper {
		flex-wrap: wrap;
	}

	.ctn_0102_item {
		flex: inherit;
		margin-left: 10px;
		width: calc(calc(100% - 10px) / 2);
	}

	.ctn_0102_item + .ctn_0102_item {
		margin-left: auto;
	}

	.ctn_0102_item:nth-child(2n + 1) {
		margin-left: 0;
	}

	.ctn_0102_item:nth-child(n + 3) {
		margin-top: 20px;
	}

	.ctn_0102_itemHeading {
		font-size: 20px;
		padding: 20px 0;
	}

	.ctn_0102_itemHeading::before {
		font-size: 14px;
		line-height: 20px;
		width: 20px;
	}

	#ctn_01_wrapper + h2 {
		margin: 0 10px;
	}

	#ctn_0103 {
		background-position: top center;
		background-size: 100% auto;
		height: calc((100vw - 20px)*(334 / 950));
		margin: 0 auto;
		padding: 0;
		width: calc(100vw - 20px);
	}

	#btn_wrapper2 {
		box-sizing: border-box;
		display: flex;
		height: auto;
		padding: 9.052vw 1.684vw 0;
		width: 100%;
	}

	#btn_ctn_0103_1 a,
	#btn_ctn_0103_2 a,
	#btn_ctn_0103_3 a {
		background-size: 100% auto;
		display: block;
		float: none;
		height: calc((100vw - 20px)*(232 / 950));
		margin: 0;
		width: calc((100vw - 20px)*(302 / 950));
	}

	#btn_ctn_0103_2 a,
	#btn_ctn_0103_3 a {
		margin-left: 0.631vw;
	}

	/* ▼コンテンツ2▼ */

	#ctn_0202_wrapper {
		margin-top: 40px;
	}

	.ctn_00title {
		margin: 0;
	}

	.ctn_00title2 {
		width: auto;
	}

	#ctn_0202 {
		padding: 20px 0;
		width: 100%;
	}

	.ctn_0203_wrapper {
		margin: 0 auto;
		padding: 10px;
		width: calc(100vw - 20px);
	}

	.ctn_0203_text {
		font-size: 11px;
		margin-left: 15px;
		width: calc( calc( 100% - 15px ) / 2 );
	}
	
	.ctn_0203_text:nth-child(3n + 1) {
		margin-left: auto;
	}

	.ctn_0203_text:nth-child(n + 4) {
		margin-top: auto;
	}
	
	.ctn_0203_text:nth-child(2n + 1) {
		margin-left: 0;
	}

	.ctn_0203_text:nth-child(n + 3) {
		margin-top: 15px;
	}

	/* ▼オファー1▼ */

	.offer {
		margin-top: 40px;
	}

	.offer_wrapper {
		background-position: top center;
		background-size: 100% auto;
		border-width: 4px;
		width: calc(100vw - 20px);
	}

	.offer_header::after {
		border-width: 13px 22px;
		bottom: -26px;
	    margin-left: -22px;
	}
	.offer_heading {
		font-size: 16px;
	}
	.offer_heading img {
		width: 170px;
	}
	.offer_heading span {
		font-size: 20px;
	}
	.offer_content {
		flex-direction: column;
		padding: 0 20px;
	}
	.offer_web {
		margin: 0 auto;
		padding-top: 20px;
	}
	.offer_web_text {
		font-size: 14px;
	}
	.offer_web_text span {
		font-size: 18px;
	}
	.offer_web_text br.pc {
		display: none;
	}
	.offer_phone {
		margin: 0 auto;
	}
	.offer_phone_figure {
		display: none;
	}

	.offer_btn1 a {
		height: 15vw;
	}

	.offer_wrapper_text {
		float: none;
		height: auto;
		left: calc((100vw - 20px)*(672 / 950));
		padding: 0;
		position: absolute;
		top: calc((100vw - 20px)*(348 / 950));
		width: auto;
	}

	.offer_text {
		float: none;
		font-size: 1.157vw;
		line-height: 1.794vw;
		width: 26.31vw;
	}

	.ctn_banner {
		margin-left: 10px !important;
		margin-right: 10px !important;
	}

	.wrapper_pagetop {
		width: auto;
	}

	.btn_pagetop a {
		margin-left: auto;
	}

	/* ▼コンテンツ3▼ */

	#ctn_0302 {
		padding: 20px 0;
		width: 100%;
	}

	.ctn_03title img {
		height: 2.947vw;
		width: auto;
	}

	.ctn_03title h4 {
		font-size: 20px;
	}

	table {
		width: 96.94vw;
	}

	table th {
		padding: 10px;
	}

	table td {
		padding: 10px;
	}

	p.text_1 {
		font-size: 1.684vw;
	}

	p.text_2 {
		font-size: 1.684vw;
	}

	p.text_3 {
		font-size: 1.684vw;
	}

	p.text_4 {
		font-size: 2.421vw;
	}

	p.text_5 {
		font-size: 1.368vw;
		line-height: 2.105vw;
		margin: 0;
		padding: 0;
	}

	table p.text_1 {
		font-size: 12px;
	}

	table p.text_2 {
		font-size: 12px;
	}

	table p.text_3 {
		font-size: 12px;
	}

	table p.text_4 {
		font-size: 12px;
	}

	table p.text_5 {
		font-size: 12px;
		line-height: inherit;
	}

	.text_left {
		margin-bottom: 0;
		width: auto;
	}

	#ctn_03server_wrapper {
		padding: 0 10px;
		width: auto;
	}

	#ctn_03server_1 {
		background-image: none;
		height: auto;
		width: auto;
	}

	#ctn_03server1_title {
		padding-top: 20px;
	}

	#ctn_03server1_title img {
		width: calc((100vw - 20px)*(296 / 950));
	}

	.ctn_03server_fig {
		margin-top: 15px;
		position: initial;
	}

	.ctn_03server_text {
		font-size: 12px;
		margin-top: 15px;
		padding: 0;
		width: auto;
	}

	table.t2 {
		font-size: 12px;
		margin: 0;
		width: 100%;
	}

	table.t2 p.text_2 {
		font-size: 12px;
	}

	#ctn_03server_2 {
		background-image: none;
		height: auto;
		width: auto;
	}

	#ctn_03server2_title img {
		width: calc((100vw - 20px)*(296 / 950));
	}

	.ctn_03server2_fig {
		margin-top: 15px;
		position: initial;
	}

	/* ▼コンテンツ4▼ */

	#ctn_0402 {
		background-position: top center;
		background-size: 100% auto;
		height: calc((100vw - 20px)*(438 / 950));
		width: calc(100vw - 20px);
	}

	.ctn_0402_1 {
		font-size: calc((100vw - 20px)*(16 / 950));
		line-height: calc((100vw - 20px)*(24 / 950));
		padding-left: calc((100vw - 20px)*(8 / 950));
		padding-top: calc((100vw - 20px)*(97 / 950));
		width: calc((100vw - 20px)*(471 / 950));
	}

	.ctn_0402_2 {
		font-size: calc((100vw - 20px)*(16 / 950));
		line-height: calc((100vw - 20px)*(24 / 950));
		padding-left: calc((100vw - 20px)*(8 / 950));
		padding-top: calc((100vw - 20px)*(97 / 950));
		width: calc((100vw - 20px)*(463 / 950));
	}

	#ctn_0402_text {
		font-size: calc((100vw - 20px)*(11 / 950));
		margin-left: calc((100vw - 20px)*(27 / 950));
		margin-top: calc((100vw - 20px)*(190 / 950));
		padding: 0;
		width: calc((100vw - 20px)*(197 / 950));
	}

	#ctn_0403 {
		background-position: top center;
		background-size: 100% auto;
		height: calc((100vw - 20px)*(89 / 950));
		margin: 0 auto;
		width: calc((100vw - 20px)*(240 / 950));
	}

	#ctn_0403_text {
		padding-top: calc((100vw - 20px)*(20 / 950));
	}

	#ctn_0403_text2 {
		font-size: calc((100vw - 20px)*(11 / 950));
		padding: 0;
		width: calc((100vw - 20px)*(184 / 950));
	}

	#ctn_0402_wrapper {
		width: auto;
	}

	.line {
		background-position: top center;
		background-size: 100% 1px;
	}

	#ctn_0405_wrapper2 {
		width: auto;
	}

	#ctn_0405_wrapper2 h2 {
		margin: 0 auto;
		width: 75.78vw;
	}
	.ctn_0405_heading {
		width: auto;
	}

	.ctn_04_text2 {
		width: auto;
	}

	#ctn_0405 {
		background-position: top center;
		background-size: 100% auto;
		font-size: 16px;
		height: 20.73vw;
	}

	#ctn_0405_text {
		padding-top: 19.36vw;
	}

	#ctn_0405_wrapper2 #ctn_0405 + h2 {
		width: 68.10vw;
	}

	.ctn_04_text {
		padding: 15px 0 10px;
		width: auto;
	}

	.ctn_04_text3 {
		padding: 0;
		width: auto;
	}

	/* ▼コンテンツ5▼ */

	#ctn_0501 {
		width: auto;
	}

	.ctn_0501_title_heading {
		padding: 10px 15px;
	}

	.ctn_0501_wrapper {
		padding: 0 15px;
	}

	.ctn_0501_content_heading {
		font-size: 26px;
	}

	.ctn_0501_content_heading::before {
		top: 10px;
	}

	.ctn_0501_content_text {
		font-size: 16px;
	}

	#ctn_0501_text {
		font-size: 12px;
		padding: 15px 0 26px;
		width: auto;
	}

	#ctn_0502_text {
		width: auto;
	}

	#ctn_050301 h3 img {
		height: 3.789vw;
		width: auto;
	}

	.ctn_050302 {
		font-size: 12px;
		width: auto;
	}

	#ctn_050401 h3 img {
		height: 2.842vw;
		width: auto;
	}

	#ctn_050501 h3 img {
		height: 3.157vw;
		width: auto;
	}

	#ctn_050503 {
		font-size: 12px;
		padding-top: 28px;
	}

	#ctn_050601 {
		width: 9.263vw;
	}

	#ctn_050602 {
		font-size: 12px;
		padding: 0 0 0 10.52vw;
	}

	#ctn_050602 div.leftCol {
		width: auto;
	}

	#ctn_050602 div.rightCol {
		border-left: none;
		margin: 0;
		padding: 0;
	}

	#ctn_050602 div.rightCol span.text {
		font-size: 12px;
	}

	/* ▼フッター▼ */

	#footer {
		margin: 0 -10px 0 -10px;
		padding: 0 10px;
	}

}