@charset "UTF-8";


/*  ====================================================
  基本設定
===================================================== */
:root {
  --c-green: #3EA966;
  --c-lightblue: #E5F8FA;
  --c-orange: #FF6200;
  --c-yellow: #FFDD00;

  --c-black: #111111;
  --c-ivolytblack: #333;
  --c-gray: #696969;
  --c-white: #fff;

  --c-bglightgreen: #F6FBF8;
  --c-bghalfblue: #E0EAF1;
  --c-bglighgray: #F6F6F6;
}

* {
  box-sizing: border-box;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  background-color: var(--c-white);
  color: var(--c-black);
}

a {
  text-decoration: none;
  color: var(--c-linkblack);
}
a:hover {
  opacity: 0.7;
}

.is-sp {
  display: none !important;
}

p {
  margin-bottom: 0;
}

ul {
  list-style: none;
}

@media screen and (max-width: 810px) {
.is-sp {
  display: block!important;
}
br.is-sp {
  display: inline!important;
}

.is-pc {
  display: none!important;
}
} 


/*  ====================================================
  汎用
===================================================== */

/* レイアウト */
.content-wrap {
  padding: 100px 20px;
}

.content-wrap-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.content-flex {
  display: flex;
  justify-content: space-between;
}

.two-img {
  width: 100%;
  max-width: 520px;
}

.two-txt {
  width: calc(100% - 550px);
}

@media screen and (max-width: 767px) {
.content-flex {
  display: block;
}
}


/* ボタン */
.btn-wrap {
  margin-top: 30px;
}

.btn-lp {
  display: block;
  background: linear-gradient(0deg, rgba(255,177,0,1) 0%, rgba(255,206,0,1) 100%);
  color: var(--c-black);
  text-shadow: 0 0 3px rgba(255,255,255,0.6);
  font-weight: bold;
  text-align: center;
}

.header-contact {
  padding: 0 30px;
  line-height: 48px;
  border-radius: 24px;
  font-size: 18px;
  box-shadow: 0 0 6px rgba(0,63,72,0.4);
}

.mv-contact {
  width: 100%;
  max-width: 420px;
  line-height: 80px;
  border-radius: 40px;
  font-size: 24px;
  box-shadow: 0 0 10px rgba(0,0,0,0.4);
  position: relative;
  display: block;
}

.btn-lp:hover {
  opacity: 0.8;
  cursor: pointer;
}

.fc-orange {
 color: var(--c-orange); 
}


@media screen and (max-width: 834px) {
.header-contact {
  padding: 0 20px;
  line-height: 40px;
  border-radius: 20px;
  font-size: 14px;
}

.mv-contact {
  line-height: 48px;
  border-radius: 24px;
  font-size: 18px;
}
}


/* フキダシ */
.btn-balloon {
  width: fit-content;
  padding: 0 20px;
  line-height: 32px;
  border-radius: 16px;
  color: var(--c-white);
  font-size: 16px;
  font-weight: bold;
	position: absolute;
	background: #FF6200;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  text-shadow: 0 0 3px rgba(129,50,0,0.3);
  box-shadow: 0 0 3px rgba(0,63,72,0.2);
}
.btn-balloon:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 98, 0, 0);
	border-top-color: #FF6200;
	border-width: 8px;
	margin-left: -8px;
}

@media screen and (max-width: 834px) {
.btn-balloon {
  padding: 0 16px;
  line-height: 24px;
  border-radius: 12px;
  font-size: 13px;
  top: -12px;
}
}


/* 見出し */
.ttl-en {
  width: 100%;
  margin-bottom: 5px;
  line-height: 1.1;
  font-size: 20px;
  color: var(--c-black);
}

.ttl-jp {
  width: 100%;
  margin-bottom: 15px;
  line-height: 1.33;
  font-size: 36px;
  font-weight: bold;
  color: var(--c-green);
  font-feature-settings: "palt";
}
.ttl-sub {
  width: 100%;
  margin-bottom: 25px;
  line-height: 1.3;
  font-size: 22px;
  font-weight: bold;
  font-feature-settings: "palt";
}
.ttl-lead {
  margin-bottom: 50px;
  line-height: 1.8;
  font-size: 16px;
  color: var(--c-black);
}


@media screen and (max-width: 810px) {  
.content-wrap {
  padding: 60px 15px;
}

.ttl-en {
  margin-bottom: 15px;
  font-size: 14px;
}
.ttl-jp {
  font-size: 24px;
  text-align: left;
}
.ttl-sub {
  margin-bottom: 20px;
  font-size: 18px;
}
.ttl-lead {
  margin-bottom: 30px;
  line-height: 1.6;
  font-size: 13px;
  text-align: left;
}

.btn-wrap .btn-lp {
  width: 100%;
  max-width: 480px;
}
}


/*  ====================================================
  ヘッダー
===================================================== */
header {
  width: 100%;
  height: 78px;
  position: fixed;
  top: 0;
  z-index: 1000;
  transition: 0.3s ease-out;
  background: url(../images/header_bg.png) repeat-x center top;
  background-size: 10px auto;
}
.header-inner {
  width: 100%;
  max-width: 1140px;
  height: 78px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: 0.3s ease-out;
}


/* ロゴ */
.header-logo {
  width: 170px;
  height: 100%;
  display: flex;
  align-items: center;
  transition: all 0.3s ease-out;
}
.header-logo a {
  width: 100%;
  height: 78px;
  display: flex;
  align-items: center;
  transition: all 0.3s ease-out;
}


/* Gナビ */
.header-nav {
  width: calc(100% - 200px);
  height: 48px;
}

.header-nav ul {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}


/* スクロール時 */
header.header-scroll {
  background: rgba(0,0,0,0.2);
  transition: all 0.3s ease-out;
}


@media screen and (max-width: 809px) {
.header-logo {
  width: 120px;
}

.header-nav {
  width: calc(100% - 140px);
  height: 40px;
}
}


/*  ====================================================
  MV
===================================================== */
.mv {
  background: url(../images/mv_img.webp) no-repeat left calc(50% + 321px) top -20px, url(../images/mv_bg.webp) no-repeat center bottom;
  background-size: 405px auto, cover;
}

/* MV 上段 */
.mv-top-inner {
  width: 100%;
  max-width: 1140px;
  min-height: 300px;
  margin: 0 auto;
  padding: 60px 20px 70px;
  color: var(--c-white);
}

.mv-lead {
  margin-bottom: 10px;
  padding: 0;
  line-height: 1.5;
  font-size: 28px;
  font-weight: bold;
  font-feature-settings: "palt";
  color: #00C561;
  text-shadow: 0 0 8px rgba(0,0,0,0.6);
}

.mv-ttl {
  padding: 0;
  line-height: 1.14;
  font-size: 68px;
  font-weight: bold;
  font-feature-settings: "palt";
  color: var(--c-white);
  text-shadow: 0 0 10px rgba(0,0,0,0.4);
}


@media screen and (max-width: 809px) {
.mv {
  background: url(../images/mv_img.webp) no-repeat right -70px top, url(../images/mv_bg_sp.webp) no-repeat center bottom;
  background-size: 265px auto, cover;
}

.mv-top-inner {
  min-height: auto;
  padding: 90px 20px 50px;
}

.mv-lead {
  font-size: 18px;
}

.mv-ttl {
  font-size: 32px;
  line-height: 1.4;
}
}


/* MV 下段 */
.mv-bottom-inner {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px 50px;
  position: relative;
}

.mv-bottom-strength {
  width: calc(100% - 480px);
  max-width: 572px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.6;
  text-shadow: 0 0 8px rgba(255,255,255,0.6);
}

.mv-bottom-btn {
  width: 100%;
  max-width: 420px;
  position: absolute;
  right: 20px;
  bottom: -40px;
}

.mv-bottom-btn-txt {
  padding-top: 15px;
  font-size: 20px;
  line-height: 1;
  text-align: center;
}
.mv-bottom-btn-txt span {
  padding: 0 5px;
  font-size: 48px;
  font-weight: bold;
  color: var(--c-green);
  display: inline-block;
}

.mv-bottom-img {
  width: 80px;
}

.mv-bottom-content {
  width: calc(100% - 95px);
}

.mv-bottom-ttl {
  margin-bottom: 10px;
  line-height: 1.1;
  font-size: 20px;
  font-weight: bold;
  text-shadow: 0 0 3px rgba(0,63,72,0.3);
}

.mv-bottom-txt {
  line-height: 1.5;
  font-size: 14px;
  text-shadow: 0 0 6px rgba(0,63,72,0.3);
}

@media screen and (max-width: 810px) {
.mv-bottom-strength {
  width: 100%;
  padding: 0 0 30px;
  font-size: 16px;
  line-height: 1.5;
}

.mv-bottom-btn {
  max-width: 300px;
}

.mv-bottom-btn-txt {
  font-size: 14px;
}
.mv-bottom-btn-txt span {
  font-size: 32px;
}
}

@media screen and (max-width: 809px) {
.mv-bottom-inner {
  padding: 0 20px 30px;
  display: block;
}

.mv-bottom-strength {
  width: 100%;
  max-width: 100%;
}

.mv-bottom-btn {
  max-width: 100%;
  padding: 0;
  position: relative;
  left: 0;
  right: 0;
  bottom: 0;
}
  
.mv-btn-wrap {
  padding-bottom: 30px;
}
  
.mv-bottom-item {
  width: 100%;
}
.mv-bottom-item + .mv-bottom-item {
  margin-top: 20px;
}

.mv-bottom-img {
  width: 45px;
}

.mv-bottom-content {
  width: calc(100% - 55px);
}

.mv-bottom-ttl {
  margin-bottom: 5px;
  font-size: 18px;
}

.mv-bottom-txt {
  line-height: 1.4;
  font-size: 13px;
}
}


/*  ====================================================
  About
===================================================== */
.about .content-flex {
  align-items: center;
  flex-direction:row-reverse;
}

.about .ttl-jp {
  margin-bottom: 30px;
  text-align: left;
}

.about .ttl-lead {
  margin-bottom: 0;
  text-align: left;
}


@media screen and (max-width: 810px) {
.two-txt {
  width: calc(50% - 20px);
}
}

@media screen and (max-width: 809px) {
.content-flex {
  flex-direction:column-reverse;
}

.about .ttl-jp {
  margin-bottom: 20px;
}

.about .ttl-lead {
  font-size: 14px;
}

.two-img {
  width: 100%;
  margin-bottom: 0;
}

.two-txt {
  width: 100%;
  margin-bottom: 30px;
}
}


/*  ====================================================
  Service
===================================================== */
.service {
  padding: 100px 20px 60px;
  background: var(--c-bglightgreen);
}

.service .two-img {
  width: 100%;
  max-width: 610px;
}

.service .two-txt {
  width: calc(100% - 650px);
}

.service-flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.service-item {
  width: calc((100% - 80px) / 3);
  margin-bottom: 40px;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 2px rgba(0,0,0,0.12);
  border-radius: 20px;
}

.service-item h3 {
  padding: 0 10px;
  color: var(--c-white);
  font-size: 24px;
  font-weight: bold;
  line-height: 104px;
  text-align: center;
  box-shadow: 0 0 6px rgba(0,0,0,0.3);
  border-radius: 20px 20px 0 0;
}

.service-ttl-01 {
  background: url(../images/service_bg_01.webp) no-repeat center center;
  background-size: cover;
}
.service-ttl-02 {
  background: url(../images/service_bg_02.webp) no-repeat center center;
  background-size: cover;
}
.service-ttl-03 {
  background: url(../images/service_bg_03.webp) no-repeat center center;
  background-size: cover;
}
.service-ttl-04 {
  background: url(../images/service_bg_04.webp) no-repeat center center;
  background-size: cover;
}
.service-ttl-05 {
  background: url(../images/service_bg_05.webp) no-repeat center center;
  background-size: cover;
}
.service-ttl-06 {
  background: url(../images/service_bg_06.webp) no-repeat center center;
  background-size: cover;
}

.service-txt {
  padding: 30px;
  font-size: 14px;
  line-height: 1.5;
  background: var(--c-white);
  border-radius: 0 0 20px 20px;
  flex-grow: 1;
}


/*
.tooltip {
  width: calc(100% - 40px);
  position: absolute;
  line-height: 40px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: var(--c-green);
  background: rgb(255, 255, 255);
  border: 2px solid rgb(255, 255, 255);
  border-radius: 20px;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 2px 0px;
  top: -20px;
  z-index: 10;
}

.tooltip:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-width: 10px;
  border-style: solid;
  border-color: #FFFFFF transparent transparent transparent;
  top: 40px;
  left: 50px;
}
*/


@media screen and (max-width: 767px) {
.service .two-txt {
  width: 100%;
}

.service .two-img {
  margin-bottom: 30px;
}

.service-flex {
  display: block;
}

.service-item {
  width: 100%;
  margin-bottom: 20px;
}

.service-item h3 {
  font-size: 20px;
  line-height: 64px;
}

.service-txt {
  padding: 20px;
  font-size: 13px;
}
}


/*  ====================================================
  コンバージョン
===================================================== */
.cv-wrap {
  background: url(../images/cv_bg.webp) no-repeat center center;
  background-size: cover;
}

.cv-wrap-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 100px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cv-left {
  width: calc(100% - 330px);
}

.cv-main {
  line-height: 1.2;
  font-size: 40px;
  font-weight: bold;
  color: var(--c-white);
  text-shadow: 0 0 3px rgba(0,0,0,0.3);
}

.cv-right {
  width: 100%;
  max-width: 290px;
}

.cv-btn-wrap .mv-contact {
  margin: 0 auto;
}

.cv-link {
  margin-top: 20px;
  line-height: 1.1;
  font-size: 18px;
  color: var(--c-white);
  text-align: center;
  text-decoration: underline;
  text-shadow: 0 0 4px rgba(0,0,0,0.4);
}

.cv-link a:hover {
  color: var(--c-white);
  text-decoration: none;
  opacity: 0.7;
  transition: all 0.3s;
}

@media screen and (max-width: 834px) {
.cv-left {
  width: calc(100% - 300px);
}

.cv-main {
  margin-bottom: 40px;
  font-size: 20px;
}

.cv-right {
  max-width: 280px;
}
}

@media screen and (max-width: 809px) {
.cv-wrap-inner {
  padding: 60px 15px;
}

.cv-wrap-inner {
  padding: 60px 15px;
  display: block;
}

.cv-left {
  width: 100%;
}

.cv-right {
  width: 100%;
  max-width: 100%
}

.cv-link {
  margin-top: 20px;
  font-size: 16px;
}
}


/*  ====================================================
  Order made
===================================================== */
.order {
  background: var(--c-bglightgreen);
  padding: 100px 20px 60px;
}

.order .content-flex {
  flex-direction:row-reverse;
}

.order-flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.order .two-img {
  width: calc(50% - 20px);
}

.order .two-txt {
  width: calc(50% - 20px);
}

.order-item {
  width: calc(50% - 20px);
  margin-bottom: 40px;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 2px rgba(0,0,0,0.12);
  border-radius: 20px;
  overflow: hidden;
}

.order-item img {
  position: absolute;
  width: 100%;
  height: auto;
}


.order-item h3 {
  padding: 20px 30px;
  color: var(--c-white);
  font-size: 24px;
  font-weight: bold;
  line-height: 1.33;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(270deg, rgba(176,220,193,1) 0%, rgba(62,169,102,1) 100%);
}

.order-txt {
  padding: 30px 226px 30px 30px;
  font-size: 14px;
  line-height: 1.5;
  background: var(--c-white);
  border-radius: 0 0 20px 20px;
  flex-grow: 1;
}


@media screen and (max-width: 767px) {
.order {
  background: var(--c-bglightgreen);
  padding: 60px 15px 40px;
}

.order-flex {
  display: block;
}

.order .two-img {
  width: 100%;
  margin-bottom: 30px;
}

.order .two-txt {
  width: 100%;
}

.order-item {
  width: 100%;
  margin-bottom: 20px;
}

.order-item img {
  position: absolute;
  width: 100%;
  height: auto;
}

.order-item h3 {
  padding: 20px;
  font-size: 20px;
}

.order-txt {
  padding: 20px 146px 20px 20px;
  font-size: 13px;
}
}


/*  ====================================================
  Strengths
===================================================== */
.strength .content-flex {
  flex-direction:row-reverse;
}

.strength-inner-top {
  margin-bottom: 60px;
}

.strength-flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.strength-list {
  padding: 30px;
  border: solid 10px var(--c-bglightgreen);
  border-radius: 20px;
}
.strength-list li {
  padding: 7px 0 5px 50px;
  background: url(../images/i_check.png) no-repeat left top;
  background-size: 40px auto;
  min-height: 40px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}
.strength-list li + li {
  margin-top: 20px;
}

.strength .two-txt {
  width: calc(50% - 20px);
}

.strength .ttl-jp {
  margin-bottom: 10px;
}

.strength .ttl-lead {
  margin-bottom: 0;
}

.att-txt {
  margin-bottom: 20px;
  padding-left:   16px;
  text-indent: -16px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
}

.strength-img {
  max-width: 1100px;
  margin: 0 auto;
}

.img-scroll {
  display: none;
}


@media screen and (max-width: 767px) {
.strength-flex {
  display: block;
}

.strength-list {
  padding: 15px;
}
.strength-list li {
  padding: 6px 0 5px 40px;
  background: url(../images/i_check.png) no-repeat left top;
  background-size: 30px auto;
  min-height: 30px;
  font-size: 13px;
}
.strength-list li + li {
  margin-top: 20px;
}

.strength .two-txt {
  width: 100%;
}

.att-txt {
  padding-left: 13px;
  text-indent: -13px;
  font-size: 11px;
}

.strength-img {
  overflow-x: scroll;
  position: relative;
}
.strength-img img {
  width: 550px;
}

.img-scroll {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  background: url(../images/i_scroll.png) center center no-repeat;
  background-size: auto;
  background-size: 100px auto;
  z-index: 10;
}
}


/*  ====================================================
  Problem solving
===================================================== */
.problem {
  background: var(--c-bglightgreen);
  padding: 100px 20px 60px;
}

.problem-flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.problem .two-img {
  width: calc(50% - 20px);
}

.problem .two-txt {
  width: calc(50% - 20px);
}

.problem-item {
  width: calc(50% - 20px);
  margin-bottom: 40px;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 2px rgba(0,0,0,0.12);
  border-radius: 20px;
  overflow: hidden;
}

.problem-item img {
  position: absolute;
  width: 100%;
  height: auto;
}

.problem-item h3 {
  padding: 20px 30px;
  color: var(--c-white);
  font-size: 24px;
  font-weight: bold;
  line-height: 1.33;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(270deg, rgba(176,220,193,1) 0%, rgba(62,169,102,1) 100%);
}

.problem-txt {
  padding: 30px 226px 30px 30px;
  font-size: 14px;
  line-height: 1.5;
  background: var(--c-white);
  border-radius: 0 0 20px 20px;
  flex-grow: 1;
}


@media screen and (max-width: 767px) {
.problem {
  background: var(--c-bglightgreen);
  padding: 60px 20px 30px;
}

.problem-flex {
  display: block;
}

.problem .two-img {
  width: 100%;
  margin-bottom: 30px;
}

.problem .two-txt {
  width: 100%;
}

.problem-item {
  width: 100%;
  margin-bottom: 20px;
}

.problem-item h3 {
  padding: 20px;
  color: var(--c-white);
  font-size: 20px;
}

.problem-txt {
  padding: 20px 146px 20px 20px;
  font-size: 13px;
}
}


/*  ====================================================
  豊富な対応実績
===================================================== */
.achievements {
  padding: 100px 15px 60px;
}

.achievements-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.achievements-list li {
  width: calc((100% - 200px) / 6);
  margin-bottom: 40px;  
}

.achievements-img {
  margin-bottom: 10px;
  background: var(--c-white);
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 2px rgba(0,0,0,0.16);
}
.achievements-img::before {
  content: "";
  padding-top: 100%;
  display: block;
}

.achievements-img img {
  width: 44px;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

.achievements-txt {
  font-size: 12px;
  text-align: center;
  letter-spacing: -0.025rem;
  font-feature-settings: "palt";
}

@media screen and (max-width: 809px) {
.achievements {
  padding: 60px 15px 40px;
}

.achievements-list li {
  width: calc((100% - 40px) / 3);
  margin-bottom: 20px;  
}

.achievements-img img {
  width: 40px;
}

.achievements-txt {
  font-size: 10px;
  letter-spacing: -0.05rem;
}
}


/*  ====================================================
  オフショア開発事例
===================================================== */
.case {
  padding: 100px 15px 40px;
}

.case-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.case-list li {
  width: calc(100% / 3);
  margin-bottom: 60px;
  padding: 0 40px;
  text-align: center;
}

.case-img img {
  width: 100%;
  max-width: 256px;
  height: auto;
}

.case-txt {
  margin-top: 10px;
  font-size: 12px;
  text-align: center;
}

@media screen and (max-width: 809px) {
.case {
  padding: 100px 15px 30px;
}

.case-list {
  margin: 0 -10px 30px;
}

.case-list li {
  margin-bottom: 30px;
  padding: 0 10px;
}

.case-txt {
  margin-top: 10px;
  font-size: 12px;
  text-align: center;
}
}


/*  ====================================================
  オフショア開発ドットコム3つの特徴
===================================================== */
.feature {
  padding: 100px 20px 40px;
  background: var(--c-bglightblue);
}

.feature-flex {
  margin-bottom: 80px;
  display: flex;
  justify-content: space-between;
}

.feature-item {
  width: calc((100% - 80px) / 3);
  position: relative;
  display: flex;
  flex-direction: column;
}

.feature-item h3 {
  padding: 30px 0 60px 20px;
  background: linear-gradient(270deg, rgba(0,99,170,1) 0%, rgba(61,165,239,1) 100%);
  color: var(--c-white);
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  border-radius: 20px 20px 0 0;
  font-feature-settings: "palt";
}

.feature-body {
  margin-top: -20px;
  padding: 50px 20px 20px;
  border-radius: 0 0 20px 20px;
  background: var(--c-bghalfblue);
  position: relative;
  flex-grow: 1;
}

.feature-txt {
  line-height: 1.5;
  font-size: 14px;
}

.feature-item img {
  width: 179px;
  height: auto;
  position: absolute;
  top: -20px;
  right: -20px;
}

@media screen and (max-width: 834px) {
.feature-item h3 {
  padding: 20px 0 60px 20px;
  font-size: 20px;
}

.feature-item .tooltip {
  font-size: 12px;
  letter-spacing: -0.025rem;
  font-feature-settings: "palt";
}

.feature-item img {
  display: none;
}
}

@media screen and (max-width: 809px) {
.feature {
  padding: 60px 15px 0;
}

.feature-flex {
  margin-bottom: 60px;
  display: block;
}

.feature-item {
  width: 100%;
}
.feature-item + .feature-item {
  margin-top: 40px;
}

.feature-item h3 {
  padding: 20px 0 50px 20px;
}

.feature-item img {
  width: 140px;
  right: -10px;
}
}

@media screen and (max-width: 480px) {
.feature-item .tooltip {
  font-size: 14px;
  letter-spacing: 0;
}

.feature-item img {
  width: 140px;
  right: -10px;
  display: inline;
}
}

/* 下段 */
.feature-item2 {
  width: calc(50% - 25px);
  position: relative;
  display: flex;
  flex-direction: column;
}

.feature-item2 h3 {
  padding: 8px 20px 0;
  background: linear-gradient(270deg, rgba(0,99,170,1) 0%, rgba(61,165,239,1) 100%);
  color: var(--c-white);
  font-size: 24px;
  font-weight: bold;
  line-height: 100px;
  border-radius: 20px 20px 0 0;
  font-feature-settings: "palt";
}

.feature-body2 {
  padding: 20px;
  border-radius: 0 0 20px 20px;
  background: var(--c-bghalfblue);
  position: relative;
  flex-grow: 1;
}

.feature-item2 img {
  width: 248px;
  height: auto;
  position: absolute;
  bottom: 0;
  right: -20px;
}

.feature-item2 img.feature-img-top {
  top: -20px;
}

.tooltip2 {
  width: fit-content;
  padding: 0 16px;
  position: absolute;
  line-height: 40px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: var(--c-black);
  background: rgb(255, 221, 0);
  border: 2px solid rgb(255, 221, 0);
  border-radius: 20px;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 2px 0px;
  top: -20px;
  left: 20px;
  z-index: 10;
}

.tooltip2:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-width: 10px;
  border-style: solid;
  border-color: var(--c-yellow) transparent transparent transparent;
  top: 40px;
  left: 50px;
}

@media screen and (max-width: 834px) {
.feature-item2 img {
  display: none;
}
}

@media screen and (max-width: 809px) {
.feature-item2 {
  width: 100%;
}
.feature-item2 + .feature-item2 {
  margin-top: 60px;
}

.feature-item2 h3 {
  padding: 8px 20px 0;
  font-size: 20px;
}
}

@media screen and (max-width: 480px) {
.feature-item2 img {
  width: 148px;
  right: -10px;
  top: -15px;
  display: inline;
}
}


/*  ====================================================
  Quick start guide
===================================================== */
.quick-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.quick-list li {
  width: calc(25% - 30px);
  background: var(--c-white);
  border-radius: 50%;
  position: relative;
  overflow: hidden;
}
.quick-list li::before{
  content: "";
  padding-top: 100%;
  display: block;
}

.quick-list-inner {
  position: absolute;
  top: 50%;
  left:50%;
  transform: translateY(-50%) translateX(-50%);
}

.quick-step {
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

.quick-no {
  margin-bottom: 10px;
  font-size: 48px;
  font-weight: bold;
  line-height: 1;
  color: var(--c-green);
  text-align: center;
}

.quick-img {
  margin-bottom: 10px;
  text-align: center;
}
.quick-img img {
  width: 100%;
  max-width: 44px;
}

.quick-txt {
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  font-feature-settings: "palt";
  white-space: nowrap;
}

@media screen and (max-width: 810px) {
.quick-no {
  margin-bottom: 10px;
  font-size: 24px;
}

.quick-img img {
  max-width: 40px;
}

.quick-txt {
  font-size: 12px;
  font-feature-settings: "palt";
}
}

@media screen and (max-width: 809px) {
.quick {
  padding: 60px 15px 30px;
}

.quick-list li {
  width: calc(50% - 15px);
  margin-bottom: 30px;
}

.quick-img {
  margin-bottom: 10px;
}
}


/*  ====================================================
  QA
===================================================== */
.qa-wrap dt {
  margin-bottom: 10px;
  padding: 10px 0 10px 33px;
  line-height: 1.5;
  font-size: 18px;
  font-weight: bold;
  color: var(--c-green);
  background: url(../images/i_q.webp) no-repeat left center;
  background-size: 23px auto;
}

.qa-wrap dd {
  margin-bottom: 40px;
  padding: 3px 0 0 33px;
  line-height: 1.5;
  font-size: 16px;
  color: var(--c-black);
  background: url(../images/i_a.webp) no-repeat left top;
  background-size: 23px auto;
}


@media screen and (max-width: 809px) {
.qa-wrap dt {
  font-size: 16px;
}

.qa-wrap dd {
  font-size: 13px;
}
}


/*  ====================================================
  Profile
===================================================== */
.prof {
  margin-bottom: 60px;
  padding: 50px 30px 50px 50px;
  box-shadow: 0 0 2px rgba(0,0,0,0.12);
  border-radius: 20px;
  overflow: hidden;
  background: var(--c-white);
}

.prof .ttl-jp {
  margin-bottom: 5px;
}

.prof-img {
  width: 330px;
}

.prof-lead {
  margin-bottom: 25px;
  font-size: 18px;
  line-height: 1.4;
}


.prof-content {
  width: calc(100% - 360px);
}

.prof-content h2 {
  margin-bottom: 15px;
  line-height: 1.25;
  font-size: 24px;
  font-weight: bold;
  color: var(--c-green);
  font-feature-settings: "palt";
}

.prof-content h3 {
  margin-bottom: 7px;
  line-height: 1.35;
  font-size: 16px;
  font-weight: bold;
  font-feature-settings: "palt";
}

.prof-content p {
  margin-bottom: 5px;
  line-height: 1.4;
  font-size: 13px;
  font-feature-settings: "palt";
}

.prof-content p.att-txt {
  margin-bottom: 20px;
  padding-left: 14px;
  text-indent: -14px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.2;
}

.prof-content ul {
  margin: 0 0 20px 0;
}
.prof-content li {
  margin-bottom: 5px;
  padding: 0 0 0 15px;
  line-height: 1.25;
  font-size: 13px;
  background: url(../images/i_list_green.png) no-repeat left 2px top 4px;
  background-size: 8px auto;
  font-feature-settings: "palt";
}

@media screen and (max-width: 810px) {
.prof {
  padding: 20px;
}
}

@media screen and (max-width: 767px) {
.prof-img {
  width: 100%;
  margin-bottom: 20px;
}

.prof-content {
  width: 100%;
}
}


/*  ====================================================
  Contact
===================================================== */
.thanks header {
  background: none;
}

.entry-form {
  padding: 50px;
  box-shadow: 0 0 2px rgba(0,0,0,0.12);
  border-radius: 20px;
  overflow: hidden;
  background: var(--c-white);
}

.thanks-btn {
  line-height: 44px;
  background: var(--c-green);
  border-radius: 22px;
  color: var(--c-white);
  font-size: 14px;
  font-weight: bold;
  display: block;
  width: 100%;
  max-width: 240px;
  text-align: center;
}


@media screen and (max-width: 810px) {
.entry-form {
  min-height: 960px;
  padding: 20px;
}
}


/*  ====================================================
  フッター
===================================================== */
footer {
  background: var(--c-white);
}

.footer-inner {
  max-width: 990px;
  margin: 0 auto;
  padding: 50px 15px 15px;
}

/* フッターロゴ */
.footer-logo {
  margin-bottom: 30px;
}

.footer-logo a {
  width: 170px;
  display: block;
  margin: 0 auto;
}


/* フッターリンク */
.footer-list {
  display: flex;
  justify-content: space-between;
}

.footer-list li + li {
  margin-left: 30px;
}

.footer-list li a {
  padding: 0 15px;
  line-height: 40px;
  display: block;
  font-size: 12px;
  color: var(--c-black);
}
.footer-list li a:hover {
  text-decoration: underline;
}

.footer-list li.footer-copy {
  margin-left: auto;
  line-height: 40px;
  font-size: 12px;
  color: var(--c-black);
}

@media screen and (max-width: 809px) {
.footer-list {
  display: block;
}

.footer-list li + li {
  margin: 5px 0 0;
}

.footer-list li.footer-copy {
  margin: 20px auto 10px;
  line-height: 1;
  text-align: center;
}
}


/*  ================================================================================
  汎用
================================================================================= */
.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt100 {
  margin-top: 100px !important;
}


.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}


.mb130 {
  margin-bottom: 130px !important;
}

