@charset 'Shift_JIS';
/************ init ************/

.pc-only {
  display: block;
}
.sp-only {
  display: none;
}

html,
body,
h1,
h2,
h3,
ol,
li,
p {
  margin: 0;
  outline: 0;
  padding: 0;
}

body {
  background: transparent;
  border: 0;
  font-family: 'メイリオ', Meiryo, '游ゴシック体', 'YuGothic', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
  font-weight: 500;
  margin: 0;
  outline: 0;
  padding: 0;
}

body {
  position: relative;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  background: transparent;
  font-size: 16px;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

img {
  vertical-align: bottom;
}

.clearfix:after {
  clear: both;
  content: '.';
  display: block;
  font-size: .1em;
  height: 0;
  line-height: 0;
  visibility: hidden;
}

.hideItem {
  display: none !important;
}

.flexwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

/* header */

#salesHeader {
  background: #192b5b;
}

#salesHeader div#logo {
  background: none;
  height: 50px;
  margin: 0 auto;
  text-indent: 0;
  width: 1000px;
}

#salesHeader div#logo a {
  background: url('https://geo-online.co.jp/geomart/cmn/pc/logo.png') no-repeat;
  display: block;
  height: 50px;
  text-indent: -9999px;
  width: 230px;
}

/* footer */

#footer div#footer_top {
  background: #1b2b5b;
  min-width: 1000px;
}

#footer div#footer_top_inner {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  padding: 20px 0 5px;
}

#footer #pagetop {
  display: none;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 100;
}

@media screen and (min-width: 1320px) {
  #footer #pagetop {
    right: calc((100vw - 1320px)/2);
  }
}

#footer #footer_top h2.footer_ttl_ {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  border-bottom: 2px solid rgba(200, 200, 200, .3);
  padding-bottom: 10px;
  line-height: 1;
  margin-bottom: 25px;
}

#footer #footer_geoonline_store {
  display: flex;
}

#footer #footer_geoonline_store dl {
  width: 235px;
}

#footer #footer_geoonline_store dl.two-column {
  width: 448px;
}

#footer #footer_geoonline_store dt {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5em;
  margin-bottom: 15px;
}

#footer #footer_geoonline_store dd {
  margin: 0;
}

#footer #footer_geoonline_store dd a {
  text-decoration: none;
}

#footer #footer_geoonline_store ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#footer div#footer_top_inner ul {
  overflow: hidden;
}

#footer div#footer_top_inner ul li {
  float: left;
  margin: 0 25px 20px 0;
  font-size: 14px;
}

#footer div#footer_top_inner #footer_geoonline_store li {
  float: none;
  margin: 0 0 15px;
  width: 100%;
  text-align: left;
}

#footer div#footer_top_inner #footer_geoonline_store .two-column li {
  width: 45%;
}

#footer div#footer_top_inner ul li a {
  background: url('http://ec.geo-online.co.jp/img/usr/fb/footer/footer_arrow.png') 0 50% no-repeat;
  padding-left: 13px;
  color: #fff;
}

#footer div#footer_top_inner ul li a {
  display: block;
  background: url('http://ec.geo-online.co.jp/img/usr/fb/footer/footer_arrow.png') 0 8px no-repeat;
  padding-left: 13px;
  color: #fff;
}

#footer #footer_bottom {
  background: #eee;
  min-width: 1000px;
}

#footer #footer_bottom_inner {
  width: 1000px;
  margin: 0 auto;
  padding: 20px 0 25px;
  position: relative;
  overflow: hidden;
}

#footer #footer_bottom h2.footer_ttl_ {
  color: #666;
  font-size: 20px;
  font-weight: 700;
  position: relative;
  line-height: 1;
  border-bottom: none;
}

#footer #footer_bottom h2.footer_ttl_ .acordion_ {
  content: "";
  position: absolute;
  cursor: pointer;
  width: 13px;
  height: 13px;
  border: 4px solid;
  border-color: #1b2b5b #1b2b5b transparent transparent;
  transform: rotate(135deg);
  right: 5px;
  top: calc(50% - 16px);
}

#footer #footer_bottom h2.footer_ttl_ .acordion_.open_ {
  transform: rotate(-45deg);
  top: calc(50% - 8px);
}

#footer #footer_bottom .list_wrap {
  border-top: 2px solid #c8c8c8;
  display: none;
  padding-top: 25px;
  margin-top: 10px;
}

#footer #footer_bottom ul {
  width: 100%;
  max-width: 1300px;
  min-width: 1020px;
  margin: 0 auto;
}

#footer #footer_bottom ul:nth-of-type(1) {
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
}

#footer #footer_bottom li {
  float: left;
  margin-bottom: 10px;
}

#footer #footer_bottom li a {
  display: block;
  border-right: #ccc 1px solid;
  color: #333;
  padding: 0 10px;
  font-size: 14px;
  line-height: 1.5em;
  text-decoration: none;
}

#footer #footer_bottom li a.blank:after {
  display: inline-block;
  content: "";
  height: 12px;
  width: 24px;
  margin-left: 3px;
  background: url('https://ec.geo-online.co.jp/img/footer/footerBlankWindow.png') no-repeat center center;
}

#footer #copyright {
  background: #fff;
  min-width: 1000px;
}

#footer .copyright_inner_ {
  width: 1000px;
  margin: 0 auto;
  padding: 20px 0;
}

#footer .copyright_inner_copy_,
#footer .copyright_inner_name_ {
  font-size: 13px;
  color: #999;
  line-height: 1.5em;
  margin: 0;
  text-align: center;
}

/*--------------------------------------------------------------------------------ページタイトルまわり*/

.article_header {
  width: var(--w-basesize);
  margin: 2em auto;
  font-weight: bold;
  letter-spacing: 0.02em;
}

.article_header img {
  width: 100%;
  height: auto;
}

.title {
  font-size: var(--f-size-xlarge);
  line-height: 1.3em;
  text-align: left;
}

.date {
  font-weight: 500;
  font-size: var(--f-size-small);
  padding: 2em 0;
  display: block;
  text-align: right;
}

/*--------------------------------------------------------------------------------リード*/

.lead {
  margin: 0 auto;
  padding: 0;
}

.lead p {
  font-size: var(--f-size-medium);
  padding: 1em;
  font-weight: bold;
  line-height: 1.8em;
}

.leadTitle {
  font-weight: bold;
  margin: 2em 0 .5em 0;
  padding: 1em 0 1em 1em;
  font-size: var(--f-size-xlarge);
  line-height: 1.2em;
  letter-spacing: 0.02em;
  background: #F5F5F5;
  border-left: solid 30px var(--point-color01);
  border-bottom: solid 3px #d7d7d7;
}

/* --------------------------まとめ------------------------- */

:root {
  --matome-h2-text-color: #FFFFFF;
  --matome-h2-bg-color: #0F7E6E;
}

:root {
  --w-basesize: 1000px;
  overflow-x: hidden;
  --f-size-small: 14px;
  --f-size-medium: 16px;
  --f-size-large: 18px;
  --f-size-xlarge: 26px;
  --f-size-button: 20px;
}

:root {
  --point-color01: #005EDD;
  --point-color02: #CD00FB;
}

.matome {
  margin: 0;
  padding-bottom: 1em;
}

.matome p {
  margin: 0 1em;
  font-size: var(--f-size-medium);
}

.matome h2 {
  position: relative;
  font-size: var(--f-size-xlarge);
  padding: 0.6em;
  margin-bottom: 1.6em;
  background: var(--matome-h2-bg-color);
  color: var(--matome-h2-text-color);
}

.matome h2:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid var(--matome-h2-bg-color);
  width: 0;
  height: 0;
}


/*--------------------------------------------------------------------------------枠1*/

.sec_wrap {
  margin: 0 auto;
  /*  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);*/
}

.sec_wrap:first-child {
  margin: 2em 0;
}

.sec_wrap:not(:first-child) {
  margin: 4em 0;
}

.sec_wrap:last-child {
  margin: 0 0 0 0;
}

ul.model {
  display: block;
  width: 50%;
  margin: 0 auto;
  padding: 1em;
  background: #F4FBFF;
  text-align: left;
  box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.30);
}

ul.model h2 {
  font-size: var(--f-size-large);
  border-bottom: dotted 3px #0033A3;
  margin: 0 0 0.5em 0;
  color: #0033A3;
}

ul.model li:not(:last-of-type) {
  margin: 0 0 1em 0;
}

ul.model li:last-of-type {
  margin: 0 0 0 0;
}

p.main {
  font-size: var(--f-size-medium);
  padding: 2em 1em 0;
}

div.w_full {
  text-align: center;
}

div.w_full p {
  text-align: left;
}

div.w_full img {
  width: 90%;
  height: auto;
  margin: 2em 0;
}

.sec_pack {
  margin: 2em 1em;
}

._15comparison {
  margin-top: 2em;
}

/*タブ切り替え全体のスタイル-------------------------------------------------15*/

.iphone15 {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;
  width: 100%;
  margin: 0 auto;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

/*タブのスタイル*/

.tab_item {
  width: calc(100%/3);
  height: 50px;
  border-bottom: 3px solid #5ab4bd;
  background-color: #d9d9d9;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  font-weight: bold;
  transition: all 0.2s ease;
}

.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/

input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/

.tab_content {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示*/

#all:checked~#all_content,
#programming:checked~#programming_content,
#design:checked~#design_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/

.iphone15 input:checked+.tab_item {
  background-color: #5ab4bd;
  color: #fff;
}

/*--------------------------------------------------------------------------------まわりこみあり 左右*/

.p_n,
.p_l,
.p_r {
  padding: 0;
  overflow: hidden;
  margin: 0 auto;
}

.p_n p,
.p_l p,
.p_r p {
  font-size: var(--f-size-medium);
  display: block;
  padding: 0;
  margin: 0;
}

.p_n img {
  width: 100%;
  height: auto;
  margin: 0;
}

.p_l img.pr56w {
  float: left;
  max-width: 56%;
  height: auto;
  margin: 0 2em 2em 0;
}

.p_l img.pr35w {
  float: left;
  max-width: 35%;
  height: auto;
  margin: 0 2em 2em 0;
}

.p_l img.pr45w {
  float: left;
  max-width: 45%;
  height: auto;
  margin: 0 2em 2em 0;
}

.p_r img.pr35w {
  float: right;
  max-width: 35%;
  height: auto;
  margin: 0 0 2em 2em;
}

.p_r img.pr56w {
  float: right;
  max-width: 56%;
  height: auto;
  margin: 0 0 1em 2em;
}

/*--------------------------------------------------------------------------------商品枠1*/

.product-container {
  margin: 0 1em;
}

.product-container-con {
  border: solid 3px #FCAC00;
  background: #FFFFFF;
}

.product-container-con:first-child {
  margin: 2em 0;
}

.product-container-con:not(:first-child) {
  margin: 4em 0;
}

.product-container-con:last-child {}

.product-container-img_l-name {
  margin: 0;
  padding: 0.5em 0 0.5em;
  display: block;
  text-align: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background: #FCAC00;
}

.product-container-img_l-name h2 {
  margin: 0 auto;
  line-height: 1.2em;
  padding: 0.6em 0;
  color: #FFFFFF;
  text-shadow: 3px 3px 0 #000000, -3px -3px 0 #000000, -3px 3px 0 #000000, 3px -3px 0 #000000, 0px 3px 0 #000000, 0 -3px 0 #000000, -3px 0 0 #000000, 3px 0 0 #000000;
}

.product-container-img_l-W-around-no-box {
  padding: 1em;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.product-container-img_l-W-around-no-box-text {
  width: 100%;
  font-size: var(--f-size-medium);
}

.product-container-img_l-W-around-no-box-imege {
  width: 100%;
  margin-right: 3%;
  text-align: center;
}

.product-container-img_l-W-around-no-box-imege img {
  width: 100%;
  height: auto;
}

/*--------------------------------------------------------------------------------ボックス.column_w1_100 */

.column_w1_100 {
  margin: 2em auto;
  gap: 2em;
}

.column_w1_100-con {
  margin: 0 1em;
  border-radius: 30px;
  padding: 2em;
  background: #E0F7FF;
  display: inline-block;
}

.column_w1_100-con h2 {
  font-size: var(--f-size-large);
  line-height: 1.2em;
  padding-bottom: 1em;
  text-align: left;
  color: #00378E;
}

.column_w1_100-con img {
  float: left;
  width: 35%;
  height: auto;
  margin: 0 2em 1em 0;
}

.column_w1_100-con:nth-child(even) img {
  float: right;
  margin: 0 0 0 2em;
}

.column_w1_100-con p {
  padding: 0;
  margin: 0;
  text-align: left;
}

.column_w1_100-con:first-child {
  margin-bottom: 3em;
}

.column_w1_100-con:not(:first-child) {
  margin-bottom: 3em;
}

.column_w1_100-con:last-child {
  margin-bottom: 0;
}

.column_w1_100-con:nth-child(1) {
  /*background-color: #2196F3; 背景色指定 */
}

.column_w1_100-con:nth-child(2) {
  /*background-color: #4CAF50; /* 背景色指定 */
}

.column_w1_100-con:nth-child(3) {
  /*background-color: #4A31C9; /* 背景色指定 */
}

/*--------------------------------------------------------------------------------左右50% 横並び 2ボックス */

.column_w2_50 {
  display: flex;
  justify-content: space-between;
}

.column_w2_50>* {
  min-width: 0;
}

.column_w2_50-con {
  display: flex;
  flex-direction: column;
  width: 48%;
  padding: 0;
  text-align: center;
  background: #F7F7F7;
  border: solid 3px #CFCFCF;
  border-radius: 30px;
  box-sizing: border-box;
}

.column_w2_50-con div.text p {
  padding: 1em;
}

.column_w2_50-con div.block_btn {
  margin-top: auto;
  margin-bottom: 1em;
  margin-left: 1em;
  margin-right: 1em;
}

a.btn {
  font-size: 22px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding: 0.8em 4em 0.8em 2em;
  margin: 0 20px;
  cursor: pointer;
  border-radius: 36px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.08em;
  background-color: var(--button-bg-color);
  color: var(--button-text-color);
}

.column_w2_50-con div.block_btn a {}

.column_w2_50-con h2 {
  font-weight: bold;
  font-size: 20px;
  line-height: 1.2em;
  padding: 1em;
  color: #0034A2;
}

.column_w2_50-con img {
  width: 90%;
  height: auto;
  margin: 0 auto;
}

.column_w2_50-con p {
  font-size: var(--f-size-medium);
  padding: 0 0;
  margin: 0;
  text-align: left;
}

.column_w2_50:first-child {
  margin-bottom: 4%;
}

.column_w2_50:not(:first-child) {
  margin-bottom: 4%;
}

.column_w2_50:last-child {
  margin-bottom: 0;
}

.column_w2_50-con:nth-child(1) {
  /*background-color: #2196F3; 背景色指定 */
}

.column_w2_50-con:nth-child(2) {
  /*background-color: #4CAF50; /* 背景色指定 */
}

.column_w2_50-con:nth-child(3) {
  /*background-color: #4A31C9; /* 背景色指定 */
}

/*--------------------------------------------------------------------------------左右 横並び 3ボックス */

.column_w3_33 {
  display: flex;
  justify-content: space-between;
}

.column_w3_33-con>* {
  min-width: 0;
}

.column_w3_33-con {
  display: flex;
  flex-direction: column;
  width: 31%;
  padding: 0;
  margin-bottom: 50px;
  text-align: center;
  background: #FFFFFF;
  border: solid 1px #555555;
  border-radius: 30px;
}

.column_w3_33-con div.text p {
  padding: 0 0.7em 2em 0.7em;
}

.column_w3_33-con div.btn3step {
  margin-top: auto;
  margin-bottom: 1em;
  margin-left: 1em;
  margin-right: 1em;
}

.column_w3_33-con div.btn3step a {}

.column_w3_33-con h2 {
  font-size: 1.6rem;
  line-height: 1.2em;
  padding-bottom: 1em;
  color: #0F3178;
}

.column_w3_33-con img {
  width: 100%;
  height: auto;
}

.column_w3_33-con p {
  font-size: var(--f-size-medium);
  padding: 0 0;
  margin: 0;
  text-align: left;
}

.column_w3_33-con:nth-child(1) {
  /*background-color: #2196F3; 背景色指定 */
}

.column_w3_33-con:nth-child(2) {
  /*background-color: #4CAF50; /* 背景色指定 */
}

.column_w3_33-con:nth-child(3) {
  /*background-color: #4A31C9; /* 背景色指定 */
}

div.con {
  width: var(--w-basesize);
  margin: 0 auto;
  font-size: 120%;
}

strong {
  font-size: 1.2em;
}

.small {
  font-size: 0.8em;
}

br.sp-br {
  display: none;
}

br.pc-br {}

p {
  line-height: 1.8rem;
}

.outline_white2_px {
  text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
}

.A-radius30px-solid2 {
  border: solid 2px #00E090;
  border-radius: 30px;
}

.pro-solid3-pc01 {
  border: solid 3px var(--point-color01);
}

.pro-solid3-FF0000 {
  border: solid 3px #FF0000;
}

ul.product-list {
  position: relative;
  padding: 1em 1em 1em 2em;
  border: solid 1px #585858;
  color: #585858;
  background: #fff;
}

ul.product-list li {
  font-weight: bold;
  list-style: disc;
}

/*---------------------------------------------------------------------------タイトル*/

h2.tit_1 {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0;
  position: relative;
  color: #FFFFFF;
  padding: 0.8em 0.5em 0.7em 1em;
  background: hsla(0, 0%, 40%, 1.00);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

/*---------------------------------------------------------------------------商品名*/

h2.product-name {
  text-align: center;
  line-height: 1.2em;
  font-weight: bold;
  margin: 0;
  position: relative;
  color: #FF0000;
  padding: 0 0 0.5em 0;
}

/*--------------------------------------------------------------------------------おすすめポイント*/

.osusume-kakomi {
  background-color: #fff;
  border: 2px solid #f09199;
  /* 枠線の太さ・色 */
  box-shadow: 0 0 5px 2px #fce2c4 inset;
  /* 影の色 */
}

div.osusume-point {
  text-align: center;
  margin: 1em auto;
  font-weight: bold;
}

div.osusume-point div {
  font-size: var(--f-size-small);
  color: #D136AF;
}

div.osusume-point span {
  display: inline-block;
  padding: 0 1em;
  margin-right: 1em;
  background: #FFFD00;
}

:root {
  --button-text-color: #FFFFFF;
  --button-bg-color: #C00836;
  --button-bg-color-on: #F85C5C;
  --button-edge: #DD4400;
  --button-game-color: #4900BF;
  --button-game-edge: #6231B0;
  --button-game-color-on: #5E35A2;
  --button-gos-color: #192b5b;
  --button-gos-edge: #283c70;
  --button-gos-color-on: #0b1634;
  --button-mobile-color: #66cc99;
  --button-mobile-edge: #66cc99;
  --button-mobile-color-on: #15BC19;
}

.btn-wrapper {
  margin: 2em auto 4em;
  text-align: center;
}

span.ya {
  z-index: 8000;
  display: inline-block;
  padding-left: 3em;
  position: absolute;
}

span.ya::before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4em 0 0.4em 0.8em;
  border-color: transparent transparent transparent #FFF;
  position: absolute;
  top: 45%;
  right: 1.5em;
  margin-top: -6px;
}

.btn-gos {
  margin-bottom: 20px;
  padding: 0 0 0 0;
}


article h1 {
  margin: 2em auto;
  font-weight: bold;
  letter-spacing: 0.02em;
}

@media(max-width: 767px) {

  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }

  /************ init ************/
  html,
  body,
  h1,
  h2,
  h3,
  ol,
  li,
  p {
    margin: 0;
    outline: 0;
    padding: 0;
  }

  body {
    background: transparent;
    border: 0;
    font-family: 'メイリオ', Meiryo, '游ゴシック体', 'YuGothic', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
    font-weight: 500;
    margin: 0;
    outline: 0;
    padding: 0;
  }

  body {
    position: relative;
  }

  main {
    margin: 0 auto;
    max-width: 640px;
    width: 100%;
  }

  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section {
    display: block;
  }

  ul,
  ol {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  img {
    vertical-align: bottom;
  }

  a {
    background: transparent;
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
  }

  .clearfix:after {
    clear: both;
    content: '.';
    display: block;
    font-size: .1em;
    height: 0;
    line-height: 0;
    visibility: hidden;
  }

  .hideItem {
    display: none !important;
  }

  /* header */
  #salesHeader {
    background: #192b5b;
    height: 12.307692307692308%;
  }

  #salesHeader a {
    background: url('https://geo-online.co.jp/geomart/cmn/pc/logo.png') top left/contain no-repeat;
    display: block;
    height: 0;
    padding-top: 12.307692307692308%;
    text-indent: -9999px;
    width: 55%;
  }

  /* footer */
  .block_of_static_ttl_ {
    font-size: calc(16/375*100vw);
    color: #fff;
    padding: calc(16/375*100vw) calc(15/375*100vw);
    margin: 0;
    background-color: #31457e;
    line-height: 1;
    font-weight: normal;
    border-bottom: none;
  }

  #footer_geoonline_store {
    background: #1b2b5b;
    padding: calc(20/375*100vw) calc(10/375*100vw) calc(1/375*100vw);
  }

  #footer_geoonline_store dt {
    color: #fff;
    font-size: calc(14/375*100vw);
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: calc(20/375*100vw);
  }

  #footer_geoonline_store dd {
    font-size: calc(7/375*100vw);
    line-height: 1.5em;
    margin: 0 0 calc(20/375*100vw) 0;
  }

  #footer_geoonline_store ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  #footer_geoonline_store li {
    margin-bottom: calc(10/375*100vw);
    text-align: left;
  }

  #footer_geoonline_store dl:not(.two-column) li {
    width: 100%;
  }

  #footer_geoonline_store .two-column li {
    width: 45%;
  }

  #footer_geoonline_store a {
    color: #fff;
    display: block;
    font-size: calc(12/375*100vw);
    line-height: 1.5;
    background: url(http://ec.geo-online.co.jp/img/usr/fb/footer/footer_arrow.png) top 0.5em left no-repeat;
    background-size: calc(6/375*100vw);
    padding-left: calc(12/375*100vw);
    text-decoration: none;
  }

  #footernav_accordion {
    position: relative;
    background-color: #4d4d4d;
    font-size: calc(16/375*100vw);
    color: #fff;
    padding: calc(16/375*100vw) calc(30/375*100vw) calc(16/375*100vw) calc(15/375*100vw);
    line-height: 1;
    cursor: pointer;
  }

  #footernav_accordion::after {
    position: absolute;
    top: 50%;
    right: calc(15/375*100vw);
    width: calc(10/375*100vw);
    height: calc(10/375*100vw);
    margin: calc(-10/375*100vw) auto auto auto;
    border-right: calc(3/375*100vw) solid #fff;
    border-bottom: calc(3/375*100vw) solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
  }

  #footernav_accordion.open::after {
    border-right: none;
    border-bottom: none;
    border-top: calc(1/375*100vw) solid #fff;
    border-left: calc(1/375*100vw) solid #fff;
    margin: calc(-2/375*100vw) auto auto auto;
  }

  #footerLink {
    padding: calc(20/375*100vw) calc(10/375*100vw);
    background: #eee;
    font-size: calc(12/375*100vw);
  }

  #footerLink li {
    display: inline-block;
    margin: 0 calc(25/375*100vw) calc(10/375*100vw) 0;
  }

  #footerLink a {
    color: #666;
    text-decoration: none;
  }

  .clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    height: 0;
    font-size: 0.1em;
    line-height: 0;
  }

  #footerLink ul:nth-child(even) {
    border-top: calc(1/375*100vw) solid #ccc;
    padding-top: calc(10/375*100vw);
  }

  #copyright {
    display: block;
    height: auto;
    box-sizing: border-box;
    padding: calc(10/375*100vw) 0;
    font-size: calc(7/375*100vw);
    line-height: 1.5em;
    color: #999;
    text-align: center;
  }

  #pagetopBtn {
    position: fixed;
    display: none;
    bottom: 50px;
    right: 0;
    width: 50px;
    height: 50px;
    background: #192b5b;
    z-index: 2;
  }

  #pagetopBtnInner {
    position: relative;
    display: block;
    width: 22px;
    height: 13px;
    top: 18px;
    left: 14px;
    background: url(https://geo-online.co.jp/v2/smartphone/img/cmn/pagetopArrow.png) no-repeat;
    background-size: 100%;
  }

  /*--------------------------------------------------------------------------------ページタイトルまわり*/
  .article_header {
    width: 100%;
    margin: 2em auto;
    font-weight: bold;
    letter-spacing: 0.02em;
  }

  .article_header img {
    width: 100%;
    hight: auto;
  }

  .title {
    font-size: var(--f-size-xlarge);
    line-height: 1.3em;
    text-align: left;
  }

  .date {
    font-weight: 500;
    font-size: var(--f-size-small);
    padding: 2em 0;
    display: block;
    text-align: right;
  }

  /*--------------------------------------------------------------------------------リード*/
  .lead {
    margin: 0 auto;
    padding: 0;
  }

  .lead p {
    font-size: var(--f-size-medium);
    padding: 1em;
    font-weight: bold;
    line-height: 1.6em;
  }

  .leadTitle {
    margin: 2em 0 .5em 0;
    padding: 1em 0 1em 1em;
    font-size: var(--f-size-xlarge);
    line-height: 1.2em;
    letter-spacing: 0.02em;
    background: #F5F5F5;
    border-left: solid 30px var(--point-color01);
    border-bottom: solid 3px #d7d7d7;
  }

  /* --------------------------まとめ------------------------- */
  :root {
    --matome-h2-text-color: #FFFFFF;
    --matome-h2-bg-color: #0F7E6E;
  }

  .matome {
    margin: 0;
    padding-bottom: 1em;
  }

  .matome p {
    margin: 0 1em;
    font-size: var(--f-size-medium);
  }

  .matome h2 {
    position: relative;
    font-size: var(--f-size-xlarge);
    padding: 0.6em;
    margin-bottom: 1.6em;
    background: var(--matome-h2-bg-color);
    color: var(--matome-h2-text-color);
  }

  .matome h2:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid var(--matome-h2-bg-color);
    width: 0;
    height: 0;
  }

  .container {
    /**/
  }

  /*--------------------------------------------------------------------------------枠1*/
  .sec_wrap {
    margin: 0 auto;
    /*  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);*/
  }

  .sec_wrap:first-child {
    margin: 2em 0;
  }

  .sec_wrap:not(:first-child) {
    margin: 4em 0;
  }

  .sec_wrap:last-child {
    margin: 4em 0 0 0;
  }

  p.main {
    font-size: var(--f-size-medium);
    padding: 2em 1em 0;
  }

  ul.model {
    display: block;
    width: 70%;
    margin: 0 auto;
    padding: 1em;
    background: #F4FBFF;
    text-align: left;
    box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.30);
  }

  ul.model h2 {
    font-weight: bold;
    font-size: var(--f-size-large);
    border-bottom: dotted 3px #0033A3;
    margin: 0 0 0.5em 0;
    color: #0033A3;
  }

  ul.model li:not(:last-of-type) {
    margin: 0 0 1em 0;
  }

  ul.model li:last-of-type {
    margin: 0 0 0 0;
  }

  div.w_full {
    text-align: center;
  }

  div.w_full p {
    text-align: left;
  }

  div.w_full img {
    width: 90%;
    height: auto;
    margin: 2em 0;
  }

  .sec_pack {
    margin: 0 1em;
  }

  ._15comparison {
    margin-top: 2em;
  }

  /*--------------------------------------------------------------------------------まわりこみあり 左右*/
  .p_n,
  .p_l,
  .p_r {
    padding: 0;
    overflow: hidden;
    margin: 0 auto;
    display: block;
    text-align: center;
  }

  .p_n p,
  .p_l p,
  .p_r p {
    font-size: var(--f-size-medium);
    padding: 0;
    margin: 2em 1em;
    text-align: left;
  }

  .p_n img {
    width: 80%;
    height: auto;
    margin: 2em 0;
  }

  .p_l img.pr56w {
    width: 80%;
    height: auto;
    margin: 2em 0;
  }

  .p_l img.pr35w {
    width: 80%;
    height: auto;
    margin: 0 0;
  }

  .p_l img.pr45w {
    width: 80%;
    height: auto;
    margin: 0 0;
  }

  .p_r img.pr35w {
    width: 80%;
    height: auto;
    margin: 0 0;
  }

  .p_r img.pr56w {
    width: 80%;
    height: auto;
    margin: 2em 0;
  }

  /*--------------------------------------------------------------------------------商品枠1*/
  .product-container {
    margin: 0 1em;
  }

  .product-container-con {
    border: solid 3px #FCAC00;
    background: #FFFFFF;
  }

  .product-container-con:first-child {
    margin: 2em 0;
  }

  .product-container-con:not(:first-child) {
    margin: 4em 0;
  }

  .product-container-con:last-child {}

  .product-container-img_l-name {
    margin: 0;
    padding: 0.5em 0 0.5em;
    display: block;
    text-align: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background: #FCAC00;
  }

  .product-container-img_l-name h2 {
    margin: 0 auto;
    line-height: 1.2em;
    padding: 0.6em 0;
    color: #FFFFFF;
    text-shadow: 3px 3px 0 #000000, -3px -3px 0 #000000, -3px 3px 0 #000000, 3px -3px 0 #000000, 0px 3px 0 #000000, 0 -3px 0 #000000, -3px 0 0 #000000, 3px 0 0 #000000;
  }

  .product-container-img_l-W-around-no-box {
    padding: 1em;
    margin: 0 auto;
    justify-content: space-between;
  }

  .product-container-img_l-W-around-no-box-text {
    width: 100%;
    font-size: var(--f-size-medium);
  }

  .product-container-img_l-W-around-no-box-imege {
    width: 100%;
    margin-bottom: 2em;
    text-align: center;
  }

  .product-container-img_l-W-around-no-box-imege img {
    width: 100%;
    height: auto;
  }

  /*--------------------------------------------------------------------------------ボックス.column_w1_100 */
  .column_w1_100 {
    margin: 2em auto;
    gap: 2em;
  }

  .column_w1_100-con {
    margin: 0 1em;
    border-radius: 30px;
    padding: 2em;
    background: #E0F7FF;
    display: inline-block;
  }

  .column_w1_100-con h2 {
    font-size: var(--f-size-large);
    line-height: 1.2em;
    padding-bottom: 1em;
    text-align: left;
    color: #00378E;
  }

  .column_w1_100-con img {
    float: left;
    width: 35%;
    height: auto;
    margin: 0 2em 1em 0;
  }

  .column_w1_100-con:nth-child(even) img {
    float: right;
    margin: 0 0 0 2em;
  }

  .column_w1_100-con p {
    padding: 0;
    margin: 0;
    text-align: left;
  }

  .column_w1_100-con:first-child {
    margin-bottom: 3em;
  }

  .column_w1_100-con:not(:first-child) {
    margin-bottom: 3em;
  }

  .column_w1_100-con:last-child {
    margin-bottom: 0;
  }

  .column_w1_100-con:nth-child(1) {
    /*background-color: #2196F3; 背景色指定 */
  }

  .column_w1_100-con:nth-child(2) {
    /*background-color: #4CAF50; /* 背景色指定 */
  }

  .column_w1_100-con:nth-child(3) {
    /*background-color: #4A31C9; /* 背景色指定 */
  }

  /*--------------------------------------------------------------------------------左右50% 横並び 2ボックス */
  .column_w2_50 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .column_w2_50>* {
    min-width: 0;
  }

  .column_w2_50-con {
    flex-direction: column;
    width: 90%;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    background: #F7F7F7;
    border: solid 3px #CFCFCF;
    border-radius: 30px;
    box-sizing: border-box;
  }

  .column_w2_50-con div.text p {
    padding: 1em;
  }

  .column_w2_50-con div.block_btn {
    margin-top: auto;
    margin-bottom: 1em;
    margin-left: 1em;
    margin-right: 1em;
  }

  .column_w2_50-con div.block_btn a {}

  .column_w2_50-con h2 {
    font-size: 1.6rem;
    line-height: 1.2em;
    padding: 1em;
    color: #0034A2;
  }

  .column_w2_50-con img {
    width: 90%;
    height: auto;
    margin: 0 auto 2em;
  }

  .column_w2_50-con p {
    font-size: var(--f-size-medium);
    padding: 0 0;
    margin: 0;
    text-align: left;
  }

  .column_w2_50:first-child {
    margin-bottom: 4%;
  }

  .column_w2_50:not(:first-child) {
    margin-bottom: 4%;
  }

  .column_w2_50:last-child {
    margin-bottom: 0;
  }

  .column_w2_50-con:first-child {
    margin-bottom: 4%;
  }

  .column_w2_50-con:not(:first-child) {
    margin-bottom: 4%;
  }

  .column_w2_50-con:last-child {
    margin-bottom: 0;
  }

  .column_w2_50-con:nth-child(1) {
    /*background-color: #2196F3; 背景色指定 */
  }

  .column_w2_50-con:nth-child(2) {
    /*background-color: #4CAF50; /* 背景色指定 */
  }

  .column_w2_50-con:nth-child(3) {
    /*background-color: #4A31C9; /* 背景色指定 */
  }

  /*--------------------------------------------------------------------------------左右 横並び 3ボックス */
  .column_w3_33 {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
  }

  .column_w3_33-con {
    width: 24%;
    border-radius: 30px;
    padding: 2em;
    text-align: center;
    border: solid 2px #585858;
    background: #FFFFFF;
  }

  .column_w3_33-con h2 {
    font-size: var(--f-size-large);
    line-height: 1.2em;
    padding-bottom: 1em;
    color: #CB4B00;
  }

  .column_w3_33-con img {
    width: 100%;
    height: auto;
    margin-bottom: 2em;
  }

  .column_w3_33-con p {
    padding: 0 0;
    margin: 0;
    text-align: left;
  }

  .column_w3_33-con:nth-child(1) {
    /*background-color: #2196F3; 背景色指定 */
  }

  .column_w3_33-con:nth-child(2) {
    /*background-color: #4CAF50; /* 背景色指定 */
  }

  .column_w3_33-con:nth-child(3) {
    /*background-color: #4A31C9; /* 背景色指定 */
  }

  :root {
    --w-basesize: 100%;
    overflow-x: hidden;
  }

  :root {
    --point-color01: #005EDD;
    --point-color02: #CD00FB;
  }

  div.con {
    width: 100%;
    margin: 0 auto;
    font-size: 120%;
  }

  strong {
    font-size: 1.2em;
  }

  .small {
    font-size: 0.8em;
  }

  br.sp-br {}

  br.pc-br {
    display: none;
  }

  p {
    line-height: 1.8rem;
  }

  .outline_white2_px {
    text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
  }

  .A-radius30px-solid2 {
    border: solid 2px #00E090;
    border-radius: 30px;
  }

  .pro-solid3-pc01 {
    border: solid 3px var(--point-color01);
  }

  .pro-solid3-FF0000 {
    border: solid 3px #FF0000;
  }

  ul.product-list {
    position: relative;
    padding: 1em 1em 1em 2em;
    border: solid 1px #585858;
    color: #585858;
    background: #fff;
  }

  ul.product-list li {
    font-weight: bold;
    list-style: disc;
  }


  /*--------------------------------------------------------------------------------button */
  :root {
    --button-text-color: #FFFFFF;
    --button-bg-color: #C00836;
    --button-bg-color-on: #F85C5C;
    --button-edge: #DD4400;
    --button-game-color: #4900BF;
    --button-game-edge: #6231B0;
    --button-game-color-on: #5E35A2;
    --button-gos-color: #192b5b;
    --button-gos-edge: #283c70;
    --button-gos-color-on: #0b1634;
    --button-mobile-color: #66cc99;
    --button-mobile-edge: #66cc99;
    --button-mobile-color-on: #15BC19;
  }

  .btn-wrapper {
    margin: 1em 20px 4em;
    text-align: center;
  }

  .btn-gos {
    padding: 0 0 0 0;
  }

  .btn-gos img {
    max-width: 100%;
    width: 100%;
    cursor: pointer;
    transition-duration: 0.3s;
  }

  .btn-gos:hover img {
    opacity: 0.6;
    transition-duration: 0.3s;
  }

  .btn-mobile {
    padding: 2em 0 0 0;
  }

  .btn-mobile img {
    max-width: 100%;
    width: calc(300/375*100vw);
    cursor: pointer;
    transition-duration: 0.3s;
  }

  .btn-mobile:hover img {
    opacity: 0.6;
    transition-duration: 0.3s;
  }

  .btn-list {
    padding: 1em 0 1em 0;
  }

  .btn-list img {
    max-width: 100%;
    width: 100%;
    cursor: pointer;
    transition-duration: 0.3s;
  }

  .btn-list:hover img {
    opacity: 0.6;
    transition-duration: 0.3s;
  }

  a.btn--radius {
    border-radius: 100vh;
  }

  span.ya {
    z-index: 8000;
    display: inline-block;
    padding-left: 3em;
    position: absolute;
  }

  span.ya::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.4em 0 0.4em 0.8em;
    border-color: transparent transparent transparent #FFF;
    position: absolute;
    top: 45%;
    right: 1.5em;
    margin-top: -6px;
  }

  /*-------------------------------------------------------------------ボタン*/
  a.btn {
    font-size: 16px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding: 0.8em 4em 0.8em 2em;
    margin: 0 20px;
    cursor: pointer;
    border-radius: 28px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.08em;
    background-color: var(--button-bg-color);
    color: var(--button-text-color);
  }

  a.btn:hover {
    text-decoration: none;
    background: var(--button-bg-color-on);
  }

  /*-------------------------------------------------------------------ゲームボタン*/
  a.game-btn {
    font-size: var(--f-size-xlarge);
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding: 0.8em 4em 0.8em 2em;
    margin-bottom: 2em;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    background-color: var(--button-game-color);
    color: var(--button-text-color);
  }

  a.game-btn:hover {
    text-decoration: none;
    background: var(--button-game-color-on);
    color: #FFFD00;
  }

  /*-------------------------------------------------------------------スマホボタン*/
  a.mobile-btn {
    font-size: var(--f-size-button);
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding: 0.8em 4em 0.8em 2em;
    margin: 2em auto;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    background-color: var(--button-mobile-color);
    color: var(--button-text-color);
  }

  a.mobile-btn:hover {
    text-decoration: none;
    background: var(--button-mobile-color-on);
    color: #FFFD00;
  }

  a.mobile-btn span.ya {
    z-index: 8000;
    display: inline-block;
    padding-left: 3em;
    position: absolute;
  }

  a.mobile-btn span.ya::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.4em 0 0.4em 0.8em;
    border-color: transparent transparent transparent #FFF;
    position: absolute;
    top: 43%;
    right: 1.5em;
    margin-top: -6px;
  }

  /*--------------------------------------------------------------------------------バナーリンク*/
  .banner_l {
    padding: 0;
    margin: 0;
    text-align: center;
  }

  .banner_l a {
    margin: 2em auto;
    display: block;
    height: auto;
    text-decoration: none;
  }

  .banner_l a img {
    width: 98%;
    height: auto;
  }

  /*---------------------------------------------------------------------------タイトル*/
  h2.tit_1 {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
    position: relative;
    color: #FFFFFF;
    padding: 0.8em 0.5em 0.7em 1em;
    background: hsla(0, 0%, 40%, 1.00);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }

  /*---------------------------------------------------------------------------商品名*/
  h2.product-name {
    text-align: center;
    line-height: 1.2em;
    font-weight: bold;
    margin: 0;
    position: relative;
    color: #FF0000;
    padding: 0 0 0.5em 0;
  }

  /*--------------------------------------------------------------------------------おすすめポイント*/
  .osusume-kakomi {
    background-color: #fff;
    border: 2px solid #f09199;
    /* 枠線の太さ・色 */
    box-shadow: 0 0 5px 2px #fce2c4 inset;
    /* 影の色 */
  }

  div.osusume-point {
    text-align: center;
    margin: 1em auto;
    font-weight: bold;
  }

  div.osusume-point div {
    font-size: var(--f-size-small);
    color: #D136AF;
  }

  div.osusume-point span {
    display: inline-block;
    padding: 0 1em;
    margin-right: 1em;
    background: #FFFD00;
  }
  body > div.wrapper_ > article > div > div.btn-wrapper > div.btn-gos > a {
    width: 100%;
  }
}