/*
Theme Name:
Theme URI:
Author: yuki
Author URI:
Description:
Version: 1.0
*/

/* --------------------------------------- */
@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");

/* --------------------------------------- *
	01:Reset CSS
 * --------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

th {
  vertical-align: middle;
}

/* --------------------------------------- *
	02:Common
 * --------------------------------------- */
html {
  font-size: 62.5%;
  /* 10px */
}

body {
  color: #333;
  font-family:
    Noto Sans JP,
    Hiragino Kaku Gothic ProN,
    Meiryo,
    sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}

.alpha {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.asterisk {
  font-size: 75%;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }

  .alpha {
    font-size: 114%;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
}

@media screen and (min-width: 751px) {
  .pcNone {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  .spNone {
    display: none;
  }
}

img {
  max-width: 100%;
  width/***/
	: auto;
  height: auto;
  vertical-align: bottom;
}

/* メインビュー */
.pc-mainview {
  height: 48rem;
  margin-top: -5rem;
}
@media screen and (max-width: 1026px) {
  .pc-mainview {
    height: auto;
  }
}

/* 余白 */
@media screen and (max-width: 1140px) {
  .wrap {
    padding: 0 1.6rem 0;
  }
}

.mt2 {
  margin-top: 2rem;
}

.mt3 {
  margin-top: 3rem;
}

.mt4 {
  margin-top: 4rem;
}

.mt5 {
  margin-top: 5rem;
}

.mt6 {
  margin-top: 6rem;
}

.mt7 {
  margin-top: 7rem;
}

.mt8 {
  margin-top: 8rem;
}

.mt9 {
  margin-top: 9rem;
}

.mt10 {
  margin-top: 10rem;
}

.mb2 {
  margin-bottom: 2rem;
}

.mb3 {
  margin-bottom: 3rem;
}

.mb4 {
  margin-bottom: 4rem;
}

.mb5 {
  margin-bottom: 5rem;
}

.mb6 {
  margin-bottom: 6rem;
}

.mb7 {
  margin-bottom: 7rem;
}

.mb8 {
  margin-bottom: 8rem;
}

.mb9 {
  margin-bottom: 9rem;
}

.mb10 {
  margin-bottom: 10rem;
}

.pt2 {
  padding-top: 2rem;
}

.pt3 {
  padding-top: 3rem;
}

.pt4 {
  padding-top: 4rem;
}

.pt5 {
  padding-top: 5rem;
}

.pt6 {
  padding-top: 6rem;
}

.pt7 {
  padding-top: 7rem;
}

.pt8 {
  padding-top: 8rem;
}

.pt9 {
  padding-top: 9rem;
}

.pt10 {
  padding-top: 10rem;
}

.pb2 {
  padding-bottom: 2rem;
}

.pb3 {
  padding-bottom: 3rem;
}

.pb4 {
  padding-bottom: 4rem;
}

.pb5 {
  padding-bottom: 5rem;
}

.pb6 {
  padding-bottom: 6rem;
}

.pb7 {
  padding-bottom: 7rem;
}

.pb8 {
  padding-bottom: 8rem;
}

.pb9 {
  padding-bottom: 9rem;
}

.pb10 {
  padding-bottom: 10rem;
}

@media screen and (max-width: 768px) {
  .mt2 {
    margin-top: 1rem;
  }

  .mt3 {
    margin-top: 1.5rem;
  }

  .mt4 {
    margin-top: 2rem;
  }

  .mt5 {
    margin-top: 2.5rem;
  }

  .mt6 {
    margin-top: 3rem;
  }

  .mt7 {
    margin-top: 3.5rem;
  }

  .mt8 {
    margin-top: 4rem;
  }

  .mt9 {
    margin-top: 4.5rem;
  }

  .mt10 {
    margin-top: 5rem;
  }

  .mb2 {
    margin-bottom: 1rem;
  }

  .mb3 {
    margin-bottom: 1.5rem;
  }

  .mb4 {
    margin-bottom: 2rem;
  }

  .mb5 {
    margin-bottom: 2.5rem;
  }

  .mb6 {
    margin-bottom: 3rem;
  }

  .mb7 {
    margin-bottom: 3.5rem;
  }

  .mb8 {
    margin-bottom: 4rem;
  }

  .mb9 {
    margin-bottom: 4.5rem;
  }

  .mb10 {
    margin-bottom: 5rem;
  }

  .pt2 {
    padding-top: 1rem;
  }

  .pt3 {
    padding-top: 1.5rem;
  }

  .pt4 {
    padding-top: 2rem;
  }

  .pt5 {
    padding-top: 2.5rem;
  }

  .pt6 {
    padding-top: 3rem;
  }

  .pt7 {
    padding-top: 3.5rem;
  }

  .pt8 {
    padding-top: 4rem;
  }

  .pt9 {
    padding-top: 4.5rem;
  }

  .pt10 {
    padding-top: 5rem;
  }

  .pb2 {
    padding-bottom: 1rem;
  }

  .pb3 {
    padding-bottom: 1.5rem;
  }

  .pb4 {
    padding-bottom: 2rem;
  }

  .pb5 {
    padding-bottom: 2.5rem;
  }

  .pb6 {
    padding-bottom: 3rem;
  }

  .pb7 {
    padding-bottom: 3.5rem;
  }

  .pb8 {
    padding-bottom: 4rem;
  }

  .pb9 {
    padding-bottom: 4.5rem;
  }

  .pb10 {
    padding-bottom: 5rem;
  }
}

/* 文字位置 */
.txtL {
  text-align: left;
}

.txtC {
  text-align: center;
}

.txtR {
  text-align: right;
}

/* リンク */
a {
  color: #333;
  text-decoration: none;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  -ms-transition: 0.5s;
  transition: 0.5s;
}

a:hover {
  text-decoration: none;
}

/* --------------------------------------- *
	03:Header & MainMenu & branding
 * --------------------------------------- */
.branding {
  position: relative;
  background-color: #e0ffff;
}

@media screen and (min-width: 751px) {
  .branding {
    background-image: url("../images/main_bg_pc.png");
  }

  .branding .sp-item {
    display: none !important;
  }

  .branding .pc-item {
    display: block !important;
  }
}

@media screen and (max-width: 750px) {
  .branding {
    background-image: url("../images/main_bg_sp.png");
  }

  .branding .sp-item {
    display: block !important;
  }

  .branding .pc-item {
    display: none !important;
  }
}

.branding .inner {
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 128rem;
}

.branding .inner .img {
  padding: 1.6rem;
}

.branding .inner .pc-item {
  margin: 0 auto;
  width: 100%;
  height: auto;
  max-width: 1280px;
}

.branding .inner .bnr-campaign {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 10;
}

.branding .bnr-campaign img {
  width: 100%;
  height: auto;
  max-width: 212px;
}

@media screen and (max-width: 750px) {
  .branding .bnr-campaign img {
    max-width: 106px;
  }
}

/* .branding .inner .bnr-kintonehack {
	position: absolute;
	left: 12px;
	top: 12px;
	bottom: auto;
	z-index: 11;
}
.branding .bnr-kintonehack img {
	width: 100%;
	height: auto;
	max-width: 500px;
}
@media screen and (max-width: 750px) {
	.branding .bnr-kintonehack img {
		max-width: 250px;
	}
} */
/* .branding .inner .bnr-kintoneshowcaseunlimited2024 {
	position: absolute;
	left: 12px;
	bottom: 12px;
	z-index: 12;
}
.branding .bnr-kintoneshowcaseunlimited2024 img {
	width: 100%;
	height: auto;
	max-width: 500px;
}
@media screen and (max-width: 1026px) {
	.branding .bnr-kintoneshowcaseunlimited2024 img {
		max-width: 375px;
	}
}
@media screen and (max-width: 450px) {
	.branding .bnr-kintoneshowcaseunlimited2024 img {
		max-width: 250px;
	}
} */
.branding .inner .bnr_monthly {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 13;
}

.branding .bnr_monthly img {
  width: 75%;
  height: auto;
  max-width: 500px;
}

.branding .bnr_monthly img:hover {
  opacity: 0.75;
}

@media screen and (max-width: 1026px) {
  .branding .bnr_monthly img {
    max-width: 375px;
  }
}

@media screen and (max-width: 450px) {
  .branding .bnr_monthly img {
    max-width: 250px;
  }
}

/* アクセス犬バナー */
.bnr-access_dog {
  z-index: 14;
  /* background-color: #96DCF8; */
  background-color: #f0faff;
}

.bnr-access_dog img {
  padding: 0 4%;
  width: 40%;
}

@media screen and (max-width: 480px) {
  .bnr-access_dog img {
    width: auto;
  }
}

.bnr-access_dog img:hover {
  opacity: 0.5;
}

.bnr-access_dog hr {
  display: block;
  height: 1px;
  border: 0;
  /* border-top: 1px solid #ccc; */
  margin: 0em 1em 1em 1em;
  padding: 0;
  /* border-top: 1px dashed #8c8b8b;
	border-bottom: 1px dashed #ffffff; */
  position: relative;
  border-width: 0;
  background-image: -webkit-linear-gradient(left, transparent 0%, #283593 50%, transparent 100%);
  background-image: linear-gradient(90deg, transparent 0%, #283593 50%, transparent 100%);
}

/* @media screen and (max-width: 1026px) {
	.bnr-access_dog img {
		max-width: 375px;
	}
}
@media screen and (max-width: 450px) {
	.bnr-access_dog img {
		max-width: 250px;
	}
} */

.header-container {
  position: relative;
  width: 100%;
  background-color: #2957cc;
  z-index: 999;
}

.header-container.fixed {
  top: 0;
}

.gNav {
  display: flex;
  /* justify-content: space-between; */
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 4px 0;
  max-width: 160rem;
}

/* .gNav .header-img {
	width: 60px;
}

.gNav .header-img img {
	padding-top: 4px;
	width: 100%;
} */

.gNav h1 {
  font-size: 112.5%;
}

.gNav h1 span {
  font-size: 77.8%;
}

.gNav .header-menu {
  width: calc(100% - 500px);
  color: #fff;
}

.gNav .gNavMenu li i {
  display: inline-block;
  padding-right: 8px;
}

.gNav .gNavMenu li a {
  color: #fff;
}

.gNav .gNavMenu li a:hover {
  color: #f38c1e;
}

.gNav .gNavMenu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  box-sizing: border-box;
  margin: 0 auto;
  width: 100%;
}

.gNav .gNavMenu li {
  flex-grow: 1;
  position: relative;
  font-size: larger;
}

.gNav .gNavMenu li a {
  font-size: 87.5%;
}

@media screen and (max-width: 1024px) {
  .gNav .header-menu {
    width: 100%;
  }
}

@media screen and (max-width: 750px) {
  .gNav .header-menu {
    text-align: left;
  }

  /* .gNav .header-none {
		display: none;
	} */
}

.btn-request-pamphlet {
  display: inline-block;
  background-color: midnightblue;
  color: #fff;
  padding: 1rem 3rem;
  border-radius: 5rem;
  font-weight: bold;
  margin-top: -3rem;
  margin-bottom: 3rem;
  font-size: 150%;
}

.btn-request-pamphlet:hover {
  background-color: #2e8ae5;
}

/* --------------------------------------- *
	04:footer
 * --------------------------------------- */
footer {
  background-color: #fff;
}

footer .footer-area {
  display: flex;
  justify-content: space-between;
  margin: 20px auto 0;
  width: 100%;
  max-width: 112rem;
}

footer .footer-area dl {
  margin: 2.4rem 0;
  text-align: left;
}

footer .footer-area dl dt {
  padding-bottom: 0.8rem;
  border-bottom: 0.1rem solid #b7d3e4;
  font-weight: bold;
}

footer .footer-area dl dd {
  padding-top: 0.8rem;
}

footer .footer-area dl.s dd {
  display: flex;
  align-items: center;
  font-size: 87.5%;
}

footer .footer-area dl.s dd > div {
  margin-right: 1.2rem;
}

footer p.copy {
  margin: 1.2rem auto;
  font-size: 75%;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-style: normal;
}

@media screen and (min-width: 961px) {
  footer .footer-area .footer-info {
    display: flex;
  }

  footer .footer-area .footer-info > div {
    margin-right: 2.4rem;
  }

  footer .pcNone {
    display: none;
  }
}

@media screen and (max-width: 960px) {
  footer .footer-area {
    flex-direction: column;
    margin-top: 40px;
  }

  footer .spNone {
    display: none;
  }

  footer .footer-area dl.n dt {
    position: relative;
    text-align: center;
  }

  footer .footer-area dl.n dt .img {
    position: absolute;
    bottom: -12px;
    left: -12px;
    text-align: left;
  }

  footer .footer-area dl.n dt .img img {
    width: 60%;
  }

  footer .footer-area dl.n dd {
    text-align: center;
  }

  footer .footer-area dl.s dt {
    text-align: center;
  }

  footer .footer-area dl.s dd {
    justify-content: center;
  }
}

footer .footer-area .footer-info .img {
  width: 100%;
  height: auto;
  max-width: 166px;
}

@media (min-width: 751px) {
  footer .footer-area a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

footer .footer-area .footer-img img {
  margin-left: 2rem;
}

/* --------------------------------------- *
	05:Section
 * --------------------------------------- */
section {
  margin: 0 auto;
}

section .inner {
  margin: 0 auto;
  width: 100%;
  max-width: 112rem;
}

/*----- sec1 -----*/
.sec1 {
  padding: 60px 0 0;
  background-image: url("../images/sec1_bg.png");
  background-position: top center;
  background-repeat: repeat-x;
}

.sec1 .box-1 {
  display: flex;
  justify-content: flex-start;
  max-width: 96rem;
  width: 100%;
  text-align: left;
}

.sec1 .box-1 .img {
  width: 100%;
  height: auto;
  max-width: 176px;
}

.sec1 .box-1 .txt-area {
  margin-left: 40px;
}

.sec1 .box-1 .txt-area h2 {
  margin-bottom: 16px;
  font-size: 230%;
  font-weight: 700;
  line-height: 1.4;
}

.sec1 .box-1 .txt-area p {
  width: 100%;
  max-width: 570px;
  font-size: 100%;
}

.sec1 .box-1 .txt-area p span {
  font-size: 75%;
}

@media screen and (max-width: 750px) {
  .sec1 .box-1 .txt-area {
    margin-left: 20px;
  }

  .sec1 .box-1 .txt-area h2 {
    font-size: 180%;
  }
}

.sec1 .box-2 {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 32px;
  max-width: 96rem;
  width: 100%;
  text-align: left;
}

.sec1 .box-2 .img {
  width: 100%;
  height: auto;
  max-width: 285px;
}

.sec1 .box-2 .fuki p span {
  font-size: 125%;
  color: #f38c1e;
}

@media screen and (min-width: 751px) {
  .sec1 .box-2 .fuki {
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../images/sec1_balloon_pc.png");
    background-repeat: no-repeat;
    width: 508px;
    height: 173px;
  }
}

@media screen and (max-width: 750px) {
  .sec1 .box-2 .img {
    width: 30%;
    text-align: right;
  }

  .sec1 .box-2 .fuki {
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../images/sec1_balloon_sp.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
  }

  .sec1 .box-2 .fuki p {
    padding: 30px 30px 60px 20px;
  }
}

.sec1 .others {
  margin: 32px auto;
  font-size: 125%;
  font-weight: 700;
}

.sec1 .balloon {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.sec1 .balloon li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: center;
  width: 260px;
  height: 177px;
}

@media screen and (max-width: 1024px) {
}

.sec1 .balloon li p {
  font-size: 87.5%;
}

.sec1 .balloon li span {
  font-size: 114%;
  color: #f38c1e;
  font-weight: bold;
}

@media screen and (min-width: 751px) {
  .sec1 .balloon li.pc-r {
    background-image: url("../images/sec1_balloon_r.png");
  }

  .sec1 .balloon li.pc-l {
    background-image: url("../images/sec1_balloon_l.png");
  }
}

@media screen and (max-width: 750px) {
  .sec1 .balloon li {
    width: 100%;
  }

  .sec1 .balloon li.sp-r {
    align-items: flex-start;
    padding-left: calc(243px / 5);
    background-image: url("../images/sec1_balloon_r.png");
    background-position: left;
  }

  .sec1 .balloon li.sp-l {
    align-items: flex-end;
    padding-right: calc(243px / 5);
    background-image: url("../images/sec1_balloon_l.png");
    background-position: right;
  }
}

.sec1 .ill-main {
  margin: 0 auto;
  width: 100%;
  height: auto;
  max-width: 652px;
}

.sec1 .txt-main {
  margin: 30px auto 0;
  width: 100%;
  height: auto;
  max-width: 572px;
}

/*----- sec2 -----*/
.sec2 {
  /* padding: 240px 0 30px; */
  padding: 8% 0 0 0;
  background-color: #f0faff;
  background-image: url("../images/sec2_bg.png");
  background-position: top center;
  background-repeat: repeat-x;
}

.sec2 .sec-ttl {
  display: flex;
  justify-content: space-between;
}

.sec2 .sec-ttl h2 img {
  width: 100%;
  height: auto;
  max-width: 393px;
}

.sec2 .sec-ttl .img {
  width: 100%;
  height: auto;
  max-width: 395px;
}

.sec2 .service-area {
  display: flex;
  align-content: flex-start;
  justify-content: space-between;
  margin-bottom: 30px;
  width: 100%;
  background-color: #fff;
  border-radius: 12px;
}

.sec2 .service-area .service-name {
  padding: 30px;
  font-size: 150%;
  color: #2e8ae5;
  font-weight: bold;
  text-align: left;
}

.sec2 .service-area .service-wrap {
  padding: 30px;
  width: calc(100% - 230px);
  background-image: url("../images/sec2_dotted_vertical.png");
  background-repeat: repeat-y;
  background-position: left top;
}

.sec2 .service-area .service-wrap .line {
  border-bottom: 1px solid #c8d8db;
}

.sec2 .service-area .service-wrap .service-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sec2 .service-area .service-wrap .service-content .service-body {
  width: calc(100% - 120px);
  text-align: left;
}

.sec2 .service-area .service-wrap .service-content .service-body .ttl {
  margin-bottom: 8px;
  font-size: 112.5%;
  font-weight: bold;
}

.sec2 .service-area .service-wrap .service-content .service-body .ex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
}

.sec2 .service-area .service-wrap .service-content .service-body .ex .img {
  width: 100%;
  height: 100%;
  max-width: 54px;
  max-height: 50px;
}

.sec2 .service-area .service-wrap .service-content .service-body .ex p {
  width: calc(100% - 70px);
  font-size: 87.5%;
}

.sec2 .service-area .service-wrap .service-content .service-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
}

.sec2 .service-area .service-wrap .service-content .img {
  width: 100%;
  max-width: 92px;
}

@media screen and (max-width: 750px) {
  .sec2 .service-area {
    flex-direction: column;
  }

  .sec2 .service-area .service-name {
    text-align: center;
  }

  .sec2 .service-area .service-wrap {
    width: 100%;
    background-image: url("../images/sec2_dotted_beside.png");
    background-repeat: repeat-x;
    background-position: top;
  }

  .sec2 .service-area .service-wrap .service-content {
    /* flex-direction: column-reverse; */
    flex-direction: column;
  }

  .sec2 .service-area .service-wrap .service-content:nth-child(2),
  .sec2 .service-area .service-wrap .service-content:nth-child(3) {
    margin-top: 1rem;
  }

  .sec2 .service-area .service-wrap .service-content .service-body {
    margin-top: 30px;
    width: 100%;
  }
}

/*----- sec3 -----*/
.sec3 {
  /* padding: 0 0; */
  padding: 8% 0 0 0;
  background-color: #fff;
  background-image: url("../images/sec3_bg.png");
  background-position: top center;
  background-repeat: repeat-x;
}

.sec3 .sec-ttl {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.sec3 .sec-ttl h2 .spNone img {
  width: 100%;
  height: auto;
  max-width: 420px;
}

.sec3 .sec-ttl .img {
  width: 100%;
  height: auto;
  max-width: 363px;
}

.sec3 p.ex {
  text-align: left;
}

.sec3 p.campaign {
  display: flex;
  align-items: center;
  text-align: left;
}

.sec3 p.campaign em {
  font-size: 137.5%;
  color: #f40415;
  font-style: normal;
  font-weight: bold;
}

@media screen and (max-width: 750px) {
  .sec3 p.campaign {
    flex-wrap: wrap;
  }
}

.sec3 .step-area {
  display: flex;
  justify-content: space-between;
  margin: 24px 0;
  border: 1px solid #c8d8db;
  border-radius: 12px;
  width: 100%;
}

.sec3 .step-area .step-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc(100% - 260px);
  padding: 40px;
}

.sec3 .step-area .step-content .step-body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.sec3 .step-area .step-content hr {
  border-top: 1px solid #c8d8db;
  width: 100%;
}

.sec3 .step-area .step-content .step-body .step-icon {
  display: flex;
  align-items: center;
}

.sec3 .step-area .step-content .step-body .step-icon h3 {
  padding-right: 30px;
  font-family: "Roboto", sans-serif;
  font-size: 300%;
  color: #2957cc;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
}

.sec3 .step-area .step-content .step-body .step-icon h3:before {
  content: "STEP";
  display: block;
  font-size: 37.5%;
}

.sec3 .step-area .step-content .step-body .step-icon .img {
  width: 100%;
  height: auto;
  max-width: 140px;
}

.sec3 .step-area .step-content .step-body .step-txt {
  width: calc(100% - 250px);
  text-align: left;
}

.sec3 .step-area .step-content .step-body .step-txt h4 {
  font-size: 112.5%;
  font-weight: bold;
}

.sec3 .step-area .step-cost {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 260px;
  background-color: #f0faff;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
}

@media screen and (max-width: 750px) {
  .sec3 .step-area .step-cost {
    border-top-right-radius: 0;
    border-bottom-left-radius: 12px;
  }
}

.sec3 .step-area .step-cost .cost-free {
}

.sec3 .step-area .step-cost .cost-free .cost-amount {
  display: block;
  font-size: 200%;
  color: #2957cc;
  font-weight: bold;
}

.sec3 .step-area .step-cost .cost-point {
  display: flex;
  margin-bottom: 24px;
  color: #2957cc;
  font-weight: bold;
}

.sec3 .step-area .step-cost .cost-point:before,
.sec3 .step-area .step-cost .cost-point:after {
  content: "";
  width: 3px;
  height: auto;
  background-color: #2957cc;
}

.sec3 .step-area .step-cost .cost-point:before {
  margin-right: 30px;
  transform: rotate(-25deg);
}

.sec3 .step-area .step-cost .cost-point:after {
  margin-left: 30px;
  transform: rotate(25deg);
}

.sec3 .step-area .step-cost .cost-paid .cost-amount {
  display: block;
  font-size: 200%;
  color: #2957cc;
}

.sec3 .step-area .step-cost .cost-paid .cost-tax {
  font-size: 87.5%;
}

@media screen and (max-width: 750px) {
  .sec3 .step-area {
    flex-direction: column;
  }

  .sec3 .step-area .step-content {
    width: 100%;
  }

  .sec3 .step-area .step-cost {
    padding: 20px;
    width: 100%;
  }

  .sec3 .step-area .step-content .step-body {
    flex-direction: column;
  }

  .sec3 .step-area .step-content .step-body .step-txt {
    padding-top: 20px;
    width: 100%;
  }
}

/*----- sec4 -----*/
.sec4 {
  padding: 150px 0 50px;
  background-color: #f0faff;
  background-image: url("../images/sec4_bg.png");
  background-position: top center;
  background-repeat: repeat-x;
}

.sec4 .sec-ttl {
  display: flex;
  justify-content: space-between;
}

.sec4 .sec-ttl h2 img {
  width: 100%;
  height: auto;
  max-width: 280px;
}

.sec4 .faq-accordion {
  margin: 50px 0 0;
  padding: 0;
}

.sec4 .faq-accordion li {
  margin-bottom: 20px;
}

.sec4 .faq-accordion li .faq-sec {
}

.sec4 .faq-accordion li .title {
  display: flex;
  align-items: center;
  position: relative;
  padding: 20px 60px 20px 20px;
  background-color: #d0f1f9;
  cursor: pointer;
  font-weight: bold;
  text-align: left;
  transition: all 0.5s ease;
}

.sec4 .faq-accordion li .title span {
  display: inline-block;
  margin-right: 24px;
  width: 5rem;
  height: 5rem;
  background-color: #2e8ae5;
  border-radius: 50%;
  font-size: 200%;
  color: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sec4 .faq-accordion li .title p {
  font-weight: bold;
}

@media screen and (max-width: 750px) {
  .sec4 .faq-accordion li .title span {
    width: 3rem;
    height: 3rem;
    font-size: 150%;
  }
}

/*アイコンの＋と−*/
.sec4 .faq-accordion li .title::before,
.sec4 .faq-accordion li .title::after {
  position: absolute;
  content: "";
  width: 30px;
  height: 4px;
  background-color: #2957cc;
  transition: all 0.5s ease;
}

.sec4 .faq-accordion li .title::before {
  top: 48%;
  right: 20px;
  transform: rotate(0deg);
}

.sec4 .faq-accordion li .title::after {
  top: 48%;
  right: 20px;
  transform: rotate(90deg);
}

/*　closeというクラスがついたら形状変化　*/
.sec4 .faq-accordion li .title.close::before {
  transform: rotate(180deg);
}

.sec4 .faq-accordion li .title.close::after {
  transform: rotate(-180deg);
}

.sec4 .faq-accordion li .answer-box {
  display: none;
}

.sec4 .faq-accordion li .answer-box .faq-answer {
  display: flex;
  align-items: center;
  position: relative;
  padding: 20px 20px;
  background-color: #f5f7d0;
  cursor: pointer;
  font-weight: normal;
  text-align: left;
}

.sec4 .faq-accordion li .answer-box .faq-answer span {
  display: inline-block;
  margin-right: 24px;
  width: 5rem;
  height: 5rem;
  background-color: #2ee577;
  border-radius: 50%;
  font-size: 200%;
  color: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 750px) {
  .sec4 .faq-accordion li .answer-box .faq-answer span {
    width: 3rem;
    height: 3rem;
    font-size: 150%;
  }
}

.sec4 .faq-accordion li .answer-box .faq-answer p {
  margin-bottom: 24px;
}

.sec4 .faq-accordion li .answer-box .faq-answer p:last-child {
  margin-bottom: 0;
}

/*----- sec5 -----*/
/* .sec5 {
	padding: 0 0;
	background-color: #fff;
	background-image: url("../images/sec3_bg.png");
	background-position: top center;
	background-repeat: repeat-x;
}
.sec5 .sec-ttl {
	display: flex;
	justify-content: space-between;
}
.sec5 .sec-ttl h2 img {
	width: 100%;
	height: auto;
	max-width: 320px;
}
.sec5 .link-buttons {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
}
.sec5 .link-button {
	display: inline-block;
	padding: 15px 30px;
	font-size: 2rem;
	color: #fff;
	background-color: #2e8ae5;
	border-radius: 8px;
	text-decoration: none;
	transition: background-color 0.3s ease;
}
.sec5 .link-button:hover {
	background-color: #1b5ea1;
}
@media screen and (max-width: 750px) {
	.sec5 .link-buttons {
		flex-direction: column;
	}
} */

/*----- sec6 -----*/
.sec6 {
  padding: 0 0;
  background-color: #fff;
  /* background-image: url("../images/sec4_bg.png"); */
  background-position: top center;
  background-repeat: repeat-x;
}

.sec6 .sec-ttl {
  display: flex;
  justify-content: space-between;
}

.sec6 .sec-ttl h2 img {
  width: 320px;
  height: auto;
}

/*----- Contact -----*/
.contact h2 {
  margin: 36px auto;
  font-size: 150%;
  color: #1d2088;
  font-weight: 700;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea,
button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  outline: none;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
  padding: 1.2rem;
  border: 0.1rem solid #cbcccc;
  border-radius: 0.3rem;
  box-shadow: 0 0 0.8rem 0.3rem rgba(0, 0, 0, 0.1) inset;
  font-size: 100%;
}

textarea {
  padding: 0.5rem;
  width: 100%;
  height: 10rem;
}

select {
  width: 50%;
  background-image: url(../images/icon_arrow.png);
  background-repeat: no-repeat;
  background-position: right 1rem center;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
  width: 100%;
}

input[type="text"].w70,
input[type="email"].w70 {
  width: 70%;
}

input[type="tel"].w50 {
  width: 50%;
}

input[type="text"].w30 {
  width: 30%;
}

input[type="text"].w20 {
  width: 20%;
}

input[type="checkbox"] {
  display: none;
}

input[type="checkbox"] + label {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 0.5rem 2.5rem;
  position: relative;
  width: auto;
}

input[type="checkbox"] + label::before {
  background: #fff;
  border: 0.1rem solid #cbcccc;
  border-radius: 0.3rem;
  box-shadow: 0 0 0.8rem 0.3rem rgba(0, 0, 0, 0.1) inset;
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  left: 0.5rem;
  margin-top: -1.5rem;
  position: absolute;
  top: 50%;
}

input[type="checkbox"] + label::after {
  border-right: 0.3rem solid #1d2088;
  border-bottom: 0.3rem solid #1d2088;
  content: "";
  display: block;
  width: 1rem;
  height: 2rem;
  left: 1.5rem;
  margin-top: -1.5rem;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
}

input[type="checkbox"]:checked + label::after {
  opacity: 1;
}

button.add {
  margin-left: 1.2rem;
  padding: 1.2rem 2.4rem;
  background-color: #1d2088;
  font-size: 100%;
  color: #fff;
  font-weight: 600;
}

button.confirmation {
  margin-top: 2.4rem;
  padding: 2.4rem 10rem;
  background-color: #24d562;
  border-radius: 5rem;
  font-size: 125%;
  color: #fff;
  font-weight: 800;
}

button.confirmation span {
  color: #fff;
  font-weight: 800;
}

.formTable {
  margin: 3.6rem auto;
  width: 100%;
  box-sizing: border-box;
  border: 0.1rem solid #cbcccc;
}

.formTable th {
  padding: 1.8rem;
  width: 35%;
  background-color: #efefef;
  box-sizing: border-box;
  border: 0.1rem solid #cbcccc;
  font-size: 100%;
  font-weight: 600;
  text-align: left;
}

.formTable td {
  padding: 1.8rem;
  box-sizing: border-box;
  border: 0.1rem solid #cbcccc;
  font-size: 100%;
  text-align: left;
}

.formTable th span {
  display: inline-block;
  float: right;
  padding: 0.2rem 1.2rem;
  /* background-color: #f00; */
  /* color: #fff; */
  color: #f00;
  /* font-weight: 600; */
  text-align: center;
}

.formTable td dl {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 1.2rem;
  width: 100%;
}

.formTable td dl dt {
  width: 20%;
  padding: 0.4rem 0;
}

.formTable td dl dd {
  width: 80%;
  padding: 0.4rem 0;
}

.formTable td p {
  margin-top: 1.6rem;
  font-weight: 600;
}

.formTable td input[type="checkbox"] + label {
  padding-left: 5rem;
}

.transmitBtn {
  margin: 3.6rem auto 4.2rem;
}

.transmitBtn .confBtn {
  display: flex;
  justify-content: space-around;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .transmitBtn .confBtn {
    flex-direction: column;
  }
}

@media screen and (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"] {
    width: 100%;
  }

  input[type="text"].w70,
  input[type="email"].w70 {
    width: 100%;
  }

  input[type="tel"].w50 {
    width: 100%;
  }

  input[type="text"].w30 {
    width: 100%;
  }

  input[type="text"].w20 {
    width: 40%;
  }

  select {
    width: 100%;
  }

  button.confirmation {
    padding: 2.4rem 3rem;
    width: 100%;
  }

  button.confirmation span {
    font-size: 6vw;
  }

  .formTable th,
  .formTable td {
    display: block;
    padding: 1.2rem 1.4rem;
    width: 100%;
  }

  .formTable th span {
    float: none;
    margin-left: 1.6rem;
  }

  .formTable td dl {
    flex-direction: column;
  }

  .formTable td dl dt,
  .formTable td dl dd {
    width: 100%;
  }
}

.thanks {
  margin: 20rem 0 30rem;
}

.frameContainer {
  display: inline-block;
  margin: 3.2rem auto;
  width: 100%;
  height: 30rem;
  border: 0.2rem solid #cbcccc;
  box-sizing: border-box;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.frame {
  display: block;
  width: 100%;
  height: 100%;
}

#privacyBox {
  width: 100% !important;
  text-align: left;
}

.consent input[type="checkbox"] + label {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 0.5rem 2.5rem;
  padding-left: 5rem;
  position: relative;
  width: auto;
}

.consent input[type="checkbox"] + label::before {
  background: #fff;
  border: 0.1rem solid #cbcccc;
  border-radius: 0.3rem;
  box-shadow: 0 0 0.8rem 0.3rem rgba(0, 0, 0, 0.1) inset;
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  left: 0.5rem;
  margin-top: -1.5rem;
  position: absolute;
  top: 50%;
}

.consent input[type="checkbox"] + label::after {
  border-right: 0.3rem solid #1d2088;
  border-bottom: 0.3rem solid #1d2088;
  content: "";
  display: block;
  width: 1rem;
  height: 2rem;
  left: 1.5rem;
  margin-top: -1.5rem;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
}

.consent input[type="checkbox"]:checked + label::after {
  opacity: 1;
}

.transmitBtn {
  display: flex;
  justify-content: space-around;
  margin-top: 3rem;
  width: 100%;
  text-align: center;
}

.transmitBtn li {
  list-style-type: none;
  width: 100%;
}

/*.transmitBtn li button {
	display: inline-block;
	position: relative;
	padding: 2.4rem;
	width: 80%;
	background-color: #f39b00;
	border: .1rem solid #f39b00;
	border-radius: 1.2rem;
	color: #fff;
	font-size: 3rem;
	font-weight: 600;
	text-align: center;
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: button;
    appearance: button;
	cursor: pointer;
}*/
/*.transmitBtn li button::after {
	position: absolute;
	top: .3rem;
	right: .3rem;
	left: .3rem;
	bottom: .3rem;
	content: "";
	border: .3rem solid #ff0;
	border-radius: 1.2rem;
}*/
.transmitBtn li button.confirmation[type="submit"][disabled] {
  background-color: #ccc !important;
  cursor: default;
}

.policyLink {
  text-decoration: underline;
}

.kintoneLink a {
  text-decoration: underline;
}

.relationService a {
  text-decoration: underline;
}

.relationService p {
  text-align: left;
}

/* ----------------------------------------
 *   pageTop
 * ---------------------------------------- */
#pageTop a {
  display: block;
  position: fixed;
  z-index: 9999;
  bottom: -60px;
  right: 0;
  width: 5rem;
  height: 5rem;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #2e8ae5;
  font-size: 62.5%;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: 0.5s;
  display: flex;
  justify-content: center;
  align-items: center;
}

#pageTop a i {
  display: block;
}

#pageTop a:hover {
  background: rgba(0, 0, 0, 0.8);
}

/* ----------------------------------------
 *   お問い合わせボタン
 * ---------------------------------------- */
@media screen and (min-width: 768px) {
  .bottom-fixed-btn {
    display: none;
  }

  .side-fixed-btn {
    position: fixed;
    right: 0;
    bottom: 120px;
    z-index: 99999;

    display: flex;
    gap: 1rem;
    flex-direction: column;
  }

  .side-fixed-btn a {
    display: block;
    width: 5rem;
    padding: 1.2rem;
    background-color: #f38c1e;
    border-radius: 1rem 0 0 1rem;
    color: #fff;
    writing-mode: vertical-rl;
  }

  .side-fixed-btn a:hover {
    background-color: #2e8ae5;
    color: #fff;
  }

  .side-fixed-btn a.pamphlet {
    background-color: midnightblue;
  }

  .side-fixed-btn a.pamphlet:hover {
    background-color: #2e8ae5;
  }
}

@media screen and (max-width: 767px) {
  .side-fixed-btn {
    display: none;
  }

  .bottom-fixed-btn {
    padding-left: 1.6rem;
    text-align: left;
  }

  .bottom-fixed-btn a {
    display: inline-block;
    padding: 1rem 1.6rem;
    background-color: #f38c1e;
    border-radius: 1rem 1rem 0 0;
    color: #fff;
  }

  .bottom-fixed-btn a:hover {
    background-color: #2e8ae5;
    color: #fff;
  }

  .bottom-fixed-btn a.pamphlet {
    background-color: midnightblue;
  }

  .bottom-fixed-btn a.pamphlet:hover {
    background-color: #2e8ae5;
  }
}

/* お問い合わせボタン[資料請求・お問い合わせ] */
.btn-consultation {
  display: inline-block;
  padding: 1rem 1.5rem 1rem 1.5rem;
  font-size: 200%;
  color: #fff;
  border-radius: 1rem 1rem 1rem 1rem;
  background-color: #f38c1e;
  text-decoration: none;
  margin-top: -3rem;
  margin-bottom: 3rem;
}

.btn-consultation a:hover {
  background-color: #2e8ae5;
  color: #fff;
}

@media screen and (max-width: 444px) {
  .front_contact {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 400px) {
  .front_contact {
    margin-top: 4rem;
  }
}

.contactButton {
  display: inline-block;
  width: 35rem;
}

@media screen and (max-width: 320px) {
  .contactButton {
    width: 30rem;
  }
}

.contactButton a {
  display: block;
  margin: 0.5em 0.5em 0.5em 0.5em;
  padding: 1rem 3.5rem 1rem 3.5rem;
  font-size: 200%;
  color: #fff;
  border-radius: 1rem 1rem 1rem 1rem;
  background-color: #f38c1e;
  text-decoration: none;
}

.contactButton a:hover {
  background-color: #2e8ae5;
  color: #fff;
}

.contactButton i {
  padding-right: 1rem;
}

.cta {
  margin: 5rem 0 3rem 0;
}

/* マーカー */
.markerLine {
  background: linear-gradient(transparent 60%, #fec1fe 0%);
}

/* ----------------------------------------
 *   料金例ポップアップ
 * ---------------------------------------- */
/* 料金例ボタンの装飾 */
.moneyIcon {
  float: right;
  margin-right: 25px;
  display: block;
  width: 30%;
  border-radius: 4px;
}

.moneyIcon:hover {
  cursor: pointer;
}

/* ポップアップ */
.overlay {
  display: none;
  position: fixed;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
  z-index: 9998;
}

/* チェックボックスがチェックされたらoverlayを表示 */
#popup:checked ~ .overlay {
  display: flex;
}

#moneyImg {
  width: 100%;
  padding: 5%;
  position: relative;
  text-align: center;
}

#moneyImg img {
  width: 75%;
}

/* バツボタン */
.closeBtn {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  z-index: 9999;
}

.closeBtn img {
  width: 40px;
  height: 40px;
}

/* ----------------------------------------
 *   活用イメージページ
 * ---------------------------------------- */
.contents_page_link {
  display: block;
  width: auto;
  height: auto;
  padding: 1%;
  /* text-align: left; */
}

.contents_page_link a {
  /* width: 12rem; */
  color: #2957cc;
  font-weight: bold;
  text-decoration: underline;
  font-size: 2.2rem;
}

.contents_page_link img {
  width: 2.5rem;
  height: 2.5rem;
  display: inline-block;
  vertical-align: sub;
}

/* ----------------------------------------
 *   ASSKとは？
 * ---------------------------------------- */
.about {
  display: none;
}

/* .about h2 {
	font-size: 230%;
	font-weight: 700;
	margin: 16px;
	margin-top: 12rem;
}

.about p {
	width: 100%;
	font-size: 100%;
} */

/* ----------------------------------------
 *   ASSKの特長
 * ---------------------------------------- */
.features {
  display: grid;
  grid-template-areas:
    "features_view features_view features_view"
    "features_1 features_2 features_3";
  gap: 0 4%;
  margin: 0 20%;
}

.grid_features_view {
  grid-area: features_view;
}

.grid_features_1 {
  grid-area: features_1;
}

.grid_features_1:hover {
  opacity: 0.75;
}

.grid_features_2 {
  grid-area: features_2;
}

.grid_features_2:hover {
  opacity: 0.75;
}

.grid_features_3 {
  grid-area: features_3;
}

.grid_features_3:hover {
  opacity: 0.75;
}

.direct_support {
  width: 80%;
  margin: 8% 0 0 0;
  place-self: center;
}

@media screen and (max-width: 480px) {
  .direct_support {
    width: auto;
  }
}

#features_1 {
  width: auto;
}

#features_1 h2 {
  margin: 4% -2%;
  width: 80%;
}

#features_1 h3 {
  font-weight: bold;
  font-size: large;
  text-align: left;
  margin: 0 8%;
}

#features_1 p {
  font-size: large;
  text-align: left;
  margin: 0 8%;
}

.features_1_img {
  width: 50%;
  margin: 4% 0;
  place-self: center;
}

.features_2 h2 {
  margin: 4% -2%;
  width: 80%;
}

.features_3 h2 {
  margin: 0 -2% 4% 0;
  width: 80%;
}

/* 事例はこちらボタン 余白 */
.cases_button {
  margin-top: auto;
}

@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
  #features_1 h3 {
    font-size: x-small;
  }

  #features_1 p {
    font-size: x-small;
  }

  .features_1_img {
    width: auto;
  }

  /* 事例はこちらボタン 余白 */
  .cases_button {
    margin: 8% 0 0 0;
  }
}

/* 上部NSDロゴにリンク */
.top_logo_nsd {
  position: absolute;
  top: 2%;
  right: 2%;
  width: 5%;
}
@media screen and (max-width: 750px) {
  .top_logo_nsd {
    width: 15%;
  }
}

/* FAQにCTA導線 */
.faq_cta {
  font-weight: bold;
  color: #007bff;
  background-color: #e6f0ff;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background-color 0.3s ease; /* ホバー時の変化を滑らかにする */
}

/* ホバー時のスタイル */
.faq_cta:hover {
  background-color: #d8e7fd; /* 色を少し濃くする */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* 影を強調する */
}

/* 
   ---------------------------------
   |    operation-stage-support    | 
   ---------------------------------
*/

/* flexで要素を並べる */
.oss_content_box {
  display: flex;
  gap: 16px;
  padding-top: 2rem;
  padding-bottom: 2rem;
  align-items: center;
}
/* 縦に要素を並べる */
.vertical_column {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
}

/* 上部 */
.oss_main {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

/* 上部スタイル */
.oss_main_top {
  background-color: #f0f0f0;
  height: fit-content;
}
/* 上部画像 */
.oss_main .oss_content_box .img {
  align-self: center;
  max-width: 40%;
}

.oss_sec1 .oss_content_box .img {
  align-self: center;
  max-width: 30%;
}
/* 上部バナー */
.oss_main .oss_content_box .banner {
  align-self: center;
  max-width: 75%;
  padding: 2rem;
  margin-top: auto;
}
/* タイトルテキスト */
.toptext {
  color: #3060d0;
}
/* タイトルテキスト(メイン) */
.toptext h2 {
  margin-bottom: 16px;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.4;
}
/* タイトルテキスト(サブ) */
.toptext h3 {
  margin-bottom: 16px;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.2;
}
/* 標準テキスト指定 */
.oss_textarea {
  font-size: 2.4rem;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.oss_sec1 {
  padding-top: 1rem;
  padding-left: 4rem;
  padding-right: 2rem;
}

#block1{
	/* width: fit-content;
	margin: auto; */
	margin-left: 8%;
}

.oss_sec1_catchtext {
  font-weight: bold;
}

#oss_sec1_img1 {
  display: block;
  margin-left: auto;
}

.oss_sec2 {
  padding-top: 5rem;
}

.oss_sec2 h2 {
  border-left: 6px solid #0080d0;
  padding-left: 1rem;
  text-align: left;
  margin-bottom: 1rem;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
}

.oss_sec3 {
  padding-top: 5rem;
  padding-bottom: 10rem;
}

.oss_sec3_text {
  text-align: center;
  font-size: 2.4rem;
}

#oss_sec3_text_1 {
  font-weight: bold;
  margin-bottom: 7rem;
}


.oss_sec3 .request_info_banner {
  display: flex;
  gap: 4rem;
  padding-top: 6rem;
  padding-bottom: 6rem;
  align-items: center;
  justify-content: center;
}
.oss_sec3 .request_info_banner .banner {
  max-width: 40%;
}

.oss_box {
  margin: 4rem;
  position: relative;
  border: 3px solid #0080d0;
  padding: 1rem;
  border-radius: 3rem;
}

.oss_sec3 .request_info_banner_sp {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 2rem;
  padding-bottom: 2rem;
  align-items: center;
  justify-content: center;
}
.oss_sec3 .request_info_banner_sp .banner {
  max-width: 80%;
}

.oss_box_badge {
  position: absolute;
  top: -2.5rem;
  left: -2.5rem;

  width: 6rem;
  height: 6rem;
  line-height: 6rem;

  text-align: center;
  font-weight: bold;
  font-size: 3rem;
  color: #fff;
  background-color: #0080d0;
  border-radius: 50%;
}

.oss_box .oss_content_box {
  padding-left: 2%;
  padding-right: 2%;
}

.oss_box_header {
  font-weight: bold;
  font-size: 3rem;
}

.oss_box .oss_textarea {
  flex-shrink: 0;
}

.oss_box_text {
  font-size: 2rem;
}

.oss_box_list {
  display: flex;
  flex-direction: column;
  border-left: 6px solid #c8c8c8;
  margin: 1rem 1rem 0rem 5%;
  padding: 0.5rem 0rem 0.5rem 1rem;
  font-size: 80%;
}

.oss_box_can {
  text-align: left;
  font-size: 2.4rem;
  margin-left: 5%;
  margin-bottom: 1rem;
}

.oss_content_box .oss_textarea {
  flex: 9;
}

.oss_box .oss_box_img {
  flex: 6;
}

#box_img_3 {
  flex: 4;
}

.oss_assk_logo {
	margin: 0 auto;
	max-width: 40%;
}

/* スマホ表示（768px以下） */
@media (max-width: 768px) {
  .oss_content_box {
    flex-direction: column;
  }
  
  .oss_box_img {
    order: 1; /* 画像を上 */
    width: 100%;
    max-width: 300px;
    margin: 0 auto 1rem;
  }

  .oss_textarea {
    order: 2; /* テキストを下 */
    width: 100%;
  }
  .oss_sec1 .oss_content_box .img {
    align-self: center;
    max-width: 100%;
  }
  .oss_sec1_img {
	  order: 1; /* 画像を上 */
    width: 100%;
    max-width: 300px;
    margin: 0 auto 1rem;
  }

  .oss_box {
	margin-left: 1rem;
	margin-right: 1rem;
  }

   #oss_main_img_1{
	  margin-bottom: 1rem;
	  max-width: 70%;
  }

  .oss_box_list {
    margin: 1rem 1rem 0rem 0rem;
    padding: 0.5rem 0rem 0.5rem 0.5rem;
  }

  #oss_sec1_img1 {
    align-self: center;
  }

  .oss_spnone {
	display: none !important;
  }
}

@media (min-width: 769px) {
  .oss_pcnone {
    display: none !important;
  }
}