@charset "UTF-8";
body {
  --main-color: #171E49;
  --back-color: #F9F6F1;
  color: #191919;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: 16px;
}
.s-header {
  background-image: linear-gradient(rgba(243, 236, 220, 0.6));
  background-color: #fff;
z-index: 100;
  height: 100px;
position: fixed;
width: 100%;
top: 0;
}
.s-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
max-width: 1220px;
margin: 0 auto;
padding-left: 20px;
padding-right: 20px;
height: 100%;
}
.s-header__inner .logo img {
  height: 95px;
width: auto;
}
.s-header__right {
display: flex;
justify-content: flex-end;
align-items: center;
gap: 20px;
}
.s-header__right .contact_btn {
background-color: var(--main-color);	
border-radius: 10px;
color: #fff;
padding: 15px 55px;
}
.s-header__right .hamburger {
  width: 90px;
  height: 52px;
  border-radius: 26px;
  background: #fff;
  border: 2px solid var(--main-color);
  box-shadow: 3px 3px 0 var(--main-color);
position: relative;
}
.s-header__right .hamburger_inner {
  position: relative;
height: 100%;
  margin: 0 26%;
cursor: pointer;
}	
.s-header__right .hamburger_inner span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--main-color);
  position: absolute;
  top: 30%;
  left: 0;
  transform: translateY(-50%);
transition: .35s all ease;
}
.s-header__right .hamburger_inner span:nth-of-type(2) {
  top: 50%;
}	
.s-header__right .hamburger_inner span:nth-of-type(3) {
  top: 70%;
}
.s-header__right .hamburger.open span:nth-of-type(1) {
  transform: translateY(50%) rotate(45deg);
top: 49.5%;
}
.s-header__right .hamburger.open span:nth-of-type(2) {
  opacity: 0;
}
.s-header__right .hamburger.open span:nth-of-type(3) {
  transform: translateY(-50%) rotate(-45deg);
top: 50%;
}
.menu-nav-lp {
  display: none;
  position: absolute;
  top: calc(100% + 3px);
  right: 0;
  width: 350px;
      border-radius: 10px;
      background: #fff;
      border: 2px solid var(--main-color);
      box-shadow(3px 3px 0 var(--main-color));
  padding: 20px;
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
}
.menu-nav-lp.open {
  display: block;
}
.s-main {
    margin: 72px auto 0;
}
.s-content {
  background-image: linear-gradient(rgba(191, 204, 223, 0.6) 0%, rgba(240, 235, 235, 0.6) 30%, rgba(240, 235, 235, 0.6) 70%, rgba(191, 204, 223, 0.6) 100%) ,url(https://analogpr.co.jp/wp-content/uploads/2026/01/23912387.png);
}
.s-content-inner {
	max-width: 1020px;
	margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}
.container {
  padding-top: 100px;
  padding-bottom: 60px;
}

.underline {
  text-decoration: underline;
  text-decoration-color: #DB3F5A;
}

.h2title {
  color: var(--main-color);
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: bold;
}
.h2title .small {
  display: block;
  font-size: 20px;
  letter-spacing: 0.1em;
}
.h2title .ja {
  display: block;
  font-size: 40px;
}
.sub-title {
  font-size: 18px;
  color: var(--main-color);
  margin-bottom: 10px;
}
.flex-box {
  display: flex;
  justify-content: space-between;
}
.flex-item {
  width: 48%;
}
.shadow-box {
  border-radius: 20px;
  background-color: var(--back-color);
  border: 1px solid var(--main-color);
  box-shadow: 7px 7px 0px var(--main-color);
}
.grid {
  display: grid;
}
.shadow-btn {
  border-radius: 20px;
  background-color: var(--back-color);
  border: 1px solid var(--main-color);
  box-shadow: 5px 5px 0px var(--main-color), 0px 3px 6px rgba(0, 0, 0, 16);
  color: var(--main-color);
  font-weight: bold;
}
.pr {
  text-align: center;
  color: var(--main-color);
}

.s-pageTitle img {
    width: 100%;
}

/*news*/
.news .gcp_btn_more {
	font-size: 16px;
	width: 226px;
    height: 55px;
    margin: 0 auto;
    letter-spacing: 0;
	border-radius: 10px;
}
.news .effect {
	margin-top: 20px;
}
.c-list01 {
	color: var(--main-color);
}
.c-list01__item .image img {
	border-radius: 20px;
    box-shadow: 5px 5px 0px var(--main-color);
}
.c-list01 .content {
    background-color: transparent;
}
.c-list01 .info {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: flex-start;
}
.c-list01 .date {
	font-size: 14px;
}
.c-list01 .category a {
	font-size: clamp(12px, 1.5vw, 14px);
	padding: 3px 25px;
	border-radius: 19px;
	background-color: var(--back-color);
	border: 1px solid var(--main-color);
}
.c-list01 .ttl {
	margin-top: 10px;
	font-size: 16px;
	font-weight: normal;
}
/*profile*/
.profile .flex-item {
  padding: 35px 60px;
  width: 100%
}
.profile .flex-item img {
 display: block;
 margin: 0 auto 10px;
 width: 262px;
 aspect-ratio: 1 / 1;
}
.profile ul {
	margin-left: 20px;
	letter-spacing: -0.05em;
}
.profile-position {
  display: block;
  font-size: 18px;
}
.profile-name {
  display: block;
  color: var(--main-color);
  font-size: 23px;	
  font-weight: bold;
}
.profile ul li {
  list-style-type: disc;
}

/*about*/
.about .shadow-box {
  margin-top: 20px;
  font-size: 18px;
  text-align: center;
  padding-top: 40px;
  padding-bottom: 40px;
}
.about .shadow-box ul {
  text-align: left;
  max-width: 600px;
  margin: 0 auto 20px;
  line-height: 2.5;
  letter-spacing: -0.01em;
}
.about .shadow-box ul li {
  position: relative;
  padding-left: 35px;
}
.about .shadow-box ul li::before {
  position: absolute;
  content: "";
  background-image: url("/wp-content/uploads/2026/01/check_icon.png");
  background-size: cover;
  width: 27px;
  aspect-ratio: 27 / 23;
  top: calc(1.5em - 12.5px);
  left: 0;
}
.about .shadow-box p {
  font-weight: bold;
  line-height: 2.2;
  color: var(--main-color);
}
.about .shadow-box .bigger {
  font-size: 20px;
  letter-spacing: -0.01em;
}

/*reasons*/
.reasons .flex-box {
  margin-top: 30px;
}
.reasons .flex-item {
  text-align: center;
}

.reasons .flex-item  .reason-ttl {
  color: #fff;
  font-size: 20px;
  border-radius: 30px;
  padding-top: 15px;
  padding-bottom: 15px;
}
.reasons .flex-item:nth-of-type(1) .reason-ttl {
  background-color: #707070;
}
.reasons .flex-item:nth-of-type(2) .reason-ttl {
  background-color: var(--main-color);
  font-size: 25px;
  line-height: 1.44;
}
.reasons .reason-content {
  margin-top: 20px;
  margin-bottom: 30px;
  color: var(--main-color);
  font-size: 20px;
  border-radius: 10px;
  padding: 20px;
  background-color: var(--back-color);
}
.reasons .flex-item:nth-of-type(1) .reason-content {
  border: 3px solid #707070;
}
.reasons .flex-item:nth-of-type(2) .reason-content {
  border: 3px solid var(--main-color);
  color: var(--main-color);
}
.reasons .reason-content .grid {
  margin-top: 15px;
  grid-template-columns: repeat(2, 1fr);
  color: #fff;
  font-size: clamp(12px, 1.2vw, 16px);
  gap: 10px;
  text-align: center;
  letter-spacing: -0.04em;
  line-height: 1.5;
	align-items: center;
}
.reasons .flex-item .reason-content .grid p {
  border-radius: 10px;
  padding-top: 15px;
  padding-bottom: 15px;
}
.reasons .flex-item:nth-of-type(1) .reason-content .grid p {
  background-color: #707070;
}
.reasons .flex-item:nth-of-type(2) .reason-content .grid p {
  background-color: var(--main-color);
}
.reasons .pr {
  font-size: 20px;
  font-weight: bold;
}
.reasons ul.grid {
  margin-top: 30px;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  text-align: center;
}
.reasons ul.grid li {
  padding-top: 30px;
  padding-bottom: 30px;
  border-radius: 10px;
  border: 3px solid var(--main-color);
  background-color: var(--back-color);
  position: relative;
}
.reasons ul.grid li:not(:last-child)::after {
  position: absolute;
  content: "▶";
  color: var(--main-color);
  font-size: 20px;
  top: calc(50% - 20px);
  right: -23px;
}
.reasons ul.grid p:nth-of-type(1) {
  margin-top: 15px;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
  color: var(--main-color);
}
.reasons ul.grid p:nth-of-type(2) {
    letter-spacing: -0.01em;
    font-size: clamp(12px, 1.5vw, 16px);
}
/*matters*/
.matters .flex-box {
  margin-top: 20px;
}
.matters .flex-item:first-child {
  width: 58%;	
}
.matters .flex-item:last-child {
  width: 42%;	
}
.matters p {
  line-height: 1.5;
  margin-bottom: 1.2em;
}
.matters .pr {
  margin-top: 22px;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  margin-left: 20%;
}

/*flow*/
.flow img {
  margin-top: 10px;
}
.flow p {
  font-size: 18px;
}
.flow .pr {
  margin-top: 15px;
  font-size: 20px;
}

/*achievement*/
.achievement .grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 30px;
}
.achievement .grid > div {
  border-radius: 10px;
  border: 3px solid var(--main-color);
  background-color: var(--back-color);
  display: grid;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.achievement .grid > div img {
  border-radius: 10px 10px 0 0;
}
.achievement .grid > div .sub-title {
  padding: 13px 13px 6px 13px;
  text-align: center;
}
.achievement .grid > div p {
  padding: 0 13px 20px;
  line-height: 1.5;
  letter-spacing: -0.01em;
}

/*founder*/
.founder .flex-item {
  padding: 35px 60px;
  width: 100%
}
.founder .flex-item img {
 display: block;
 margin: 0 auto 10px;
 width: 262px;
 aspect-ratio: 1 / 1;
}
.founder ul {
	margin-left: 20px;
	letter-spacing: -0.05em;
}
.founder ul li {
  list-style-type: disc;
}

/*contact*/
.contact .shadow-box {
  margin-top: 30px;
  padding: 32px 68px;
}
.contact .shadow-box > p {
  padding-bottom: 30px;
  font-weight: bold;
  text-align: center;
  font-size: 25px;
}
.contact .shadow-box > p:last-of-type {
  color: var(--main-color);
  padding-top: 30px;
  padding-bottom: 0;
  font-size: 18px;
}
.contact .pr {
    margin-top: 20px;
    margin-bottom: 25px;
    font-size: 16px;
	color: #191919;
}
.contact .flex-item:not(.contact-btn) {
  padding: 21px 38px; 
  border-radius: 20px;
  background-color: var(--main-color);
  color: #fff;
  text-align: center;
}
.contact .flex-item p:first-child {
  font-size: clamp(17px, 2.2vw, 20px);
  font-weight: bold;
}
.contact .flex-item p:last-child {
  text-align: left;
  line-height: 1.5;
}
.contact .contact-btn-wrap {
  align-items: center;
  justify-content: center;
  gap: 50px;
}
.contact .contact-btn {
  text-align: center;
  max-width: 432px;
  height: 82px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact .contact-btn:first-child {
  font-size: 30px;
}
.contact .contact-btn:last-child {
  font-size: 25px;
}
.contact .contact-btn span {
  position: relative;
}
.contact .contact-btn:first-child span {
  padding-left: 36px;
}
.contact .contact-btn:last-child span {
  padding-left: 48px;
}
.contact .contact-btn span::before {
  position: absolute;
  content: "";
  background-size: cover;
}
.contact .contact-btn:first-child span::before {
  background-image: url("/wp-content/uploads/2026/01/tel_icon.png");
  width: 26px;
  aspect-ratio: 26 / 34;
  top: calc(1em - 17px);
  left: 0;
}
.contact .contact-btn:last-child span::before {
  background-image: url("/wp-content/uploads/2026/01/mail_icon.png");
  width: 38px;
  aspect-ratio: 38 / 30;
  top: calc(1em - 15px);
  left: 0;
}

/*company*/
.container.company {
  padding-bottom: 165px;
}
.company iframe {
  border-radius: 20px;
  box-shadow: 5px 5px 0px var(--main-color);
  width: 100%;
  height: 100%;

}
.company dl {
  display: flex;
  flex-wrap: wrap;
  line-height: 3;
}
.company dl dt,
.company dl dd {
  border-bottom: 1px solid var(--main-color);
}
.company dl dt {
  width: 18%;
}
.company dl dd {
  width: 82%;
}

.s-main .pagetop {
    position: fixed;
    right: 80px;
    bottom: 135px;
    visibility: hidden;
}
.scrolled .s-main .pagetop {
    visibility: visible;
}

.s-footer {
    background: var(--main-color);
    color: #fff;
	height: 83px;
}

.l-footer {
    background-image: linear-gradient(90deg, #384E89, #1D0433);
    background-size: cover;
    padding: 10px 0;
}
.l-footer .container {
    padding: 0 20px;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 15px;
  }
  .s-header {
    height: 60px;
  }
  .s-header__inner .logo img {
      height: 40px;
	}
	.s-header__right .contact_btn {
		display: none;
	}
	.s-header__right .hamburger {
      width: 35px;
      height: 25px;
	  position: relative;
      top: inherit;
      right: inherit;
	}
	.s-header__right .hamburger_inner {
      margin: 0 22%;
	}
  .s-header__right .hamburger.open span:nth-of-type(1) {
    top: 45%;
  }
  .menu-nav-lp {
    font-size: 16px;
  }
  .s-main {
    margin: 31px auto 0;
  }
  .container {
    padding: 50px 0 0;
  }

  .h2title .small {
    font-size: 14px;
  }
	.h2title .ja {
    font-size: 20px;
  }
  .flex-box {
    flex-direction: column;
	gap: 20px;
  }
  .flex-item {
    width: 100%;
  }
  .sub-title {
    font-size: 15px;
    letter-spacing: -0.01em;
  }
	
  /*news*/
  .c-list01 .info {
	gap: 17px;
	margin-left: 8px;
  }
  .c-list01 .date {
	font-size: 11px;
  }
  .c-list01 .category a {
	font-size: 11px;
	padding: 2px 22px;
  }

  /*profile*/
    .profile .flex-item {
      padding: 30px 20px 20px;
      max-width: 500px;
      margin: 0 auto;
    }
	.profile-position {
		font-size: 14px;
	}
	.profile-name {
		font-size: 20px;
	}
	.profile .flex-item img {
      width: 200px;
    }
	
  /*about*/	
  .about .shadow-box {
    padding: 20px 15px 30px;
	font-size: 15px;
    max-width: 600px;
    margin: 20px auto 0;
  }	
  .about .shadow-box .bigger {
    font-size: 18px;
  }
  .about .shadow-box ul li {
    padding-left: 30px;
    padding-bottom: 18px;
    line-height: 1.4;
  }
  .about .shadow-box ul li::before {
    width: 23.5px;
  }
  .about .shadow-box p {
    line-height: 1.87;
  }
	
  /*reasons*/
  .reasons .flex-box {
  	margin-top: 20px;
	gap: 10px;
  }
	
  .reasons .flex-item .reason-ttl {
    font-size: 16px;
    padding-top: 7px;
    padding-bottom: 7px;
  }
  .reasons .flex-item:nth-of-type(2) .reason-ttl {
    font-size: 16px;
	line-height: inherit;
  }
  .reasons .reason-content {
	margin-top: 10px;
	margin-bottom: 15px;
	font-size: 14px;
	padding: 13px 9px;
  }
  .reasons .flex-item:nth-of-type(1) .reason-content {
	margin-bottom: 0;
  }
  .reasons .reason-content .grid {
    font-size: 13px;
  }
  .reasons .flex-item .reason-content .grid p {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .reasons .flex-item:nth-of-type(1) .reason-content .grid p:nth-of-type(3) {
    padding-top: 5px;
    padding-bottom: 5px;
    line-height: 1.3;
  }
  .reasons .pr {
    font-size: 15px;
  }
  .reasons ul.grid {
    margin: 15px auto 0;
    grid-template-columns: 1fr;
    max-width: 400px;
  }
  .reasons ul.grid li {
    padding: 20px;
  }
  .reasons ul.grid li:not(:last-child)::after {
	content: "▼";
	top: inherit;
    right: calc(50% - 10px);
	bottom: -30px;
  }
  .reasons-flow {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
  }
  .reasons-flow img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
  }
  .reasons-flow div {
    text-align: left;
    line-height: 1.4;
  }
  .reasons ul.grid p:nth-of-type(1) {
    margin-top: 5px;
  }
  /*matters*/
  .matters .flex-item:first-child,
  .matters .flex-item:last-child {
    width: 100%;
  }
  .matters p {
    font-size: 14px;
  }
  .matters .pr {
    font-size: 16px;
  }
  .matters img {
    display: block;
	width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }

  /*flow*/
  .flow picture img {
    display: block;
	width: 100%;
    max-width: 500px;
    margin: 10px auto 0;
  }
  .flow p {
    font-size: 16px;
	line-height: 1.5;
  }
  /*achievement*/
  .achievement .grid {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin: 0 auto;
  }

  /*founder*/
    .founder .flex-item {
      padding: 30px 20px 20px;
      max-width: 500px;
      margin: 0 auto;
    }
	.founder .flex-item img {
      width: 200px;
    }

  /*contact*/
  .contact .shadow-box {
	margin-top: 20px;
    padding: 20px 15px;
  }
  .contact .shadow-box > p {
    font-size: 18px;
    padding-bottom: 10px;
  }
  .contact .flex-item:not(.contact-btn) {
    padding: 21px 24px;
  }
  .contact .flex-item p:first-child {
    font-size: 16px;
  }
  .contact .flex-item p:last-child {
    font-size: 14px;
  }
  .contact .shadow-box > p:last-of-type {
    font-size: 16px;
  }	
  .contact .pr {
    margin-top: 15px;
    margin-bottom: 10px;
	line-height: 1.5;
  }
  .contact .contact-btn-wrap {
    gap: 10px;
  }
	.contact .contact-btn {
    max-width: 330px;
    height: 63px;
  }
  .contact .contact-btn:first-child {
    font-size: 25px;
  }
  .contact .contact-btn:last-child {
    font-size: 20px;
  }
  .contact .contact-btn:first-child span::before {
    width: 20px;
	top: calc(1em - 13px);
  }	
  .contact .contact-btn:last-child span::before {
    width: 27.8px;
    top: calc(1em - 11px);
  }
  /*company*/
  .container.company {
    padding-bottom: 100px;
  }
	.company iframe {
	height: 200px;	
  }
  .s-footer {
    height: 50px;
  }	
  .s-main .pagetop {
    right: 40px;
  }
}

/* PCなど、画面幅が768px以上の場合に電話を無効にする */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; /* クリックを無効化 */
  }
}