body {
	background: #D2FCFF;
}

p {
	font-size: 0.85em;
	margin: 0;
}

img {
	width: 100%;
	margin-bottom: 1em;
}

a {
  color: #14b0d9;
}

.link-right {
	margin-top: 1em;
	color: #14b0d9;
	text-align: right;
	font-weight: bold;
	font-size: 0.9em;
}

section {
	background: #fff;
	margin: 2em 1.2em;
	border-radius: 20px;
	padding: 0 1em;
	padding-top: 1.2em !important;
}

.section-h2 {
	padding-top: 1.2em;
	padding-bottom: 2em;
}

.section-h2none{
	padding: 1em !important;
	margin: 0.5em 1.2em 2em;
}

.h2-bg {
	display: block;
	background: linear-gradient(-90deg, #4E99DF 0%, #1FAFCF 100%);
	margin-left: -26px;
	width: calc(100% + 52px);
	height: auto;
	background-size: contain;
	position: relative;
}

.h2-bg h2 {
	font-size: 1.1em;
	background: url(/images/column/tit_bg.png) repeat-x;
	margin: 0;
	height: auto;
	color: #fff;
	border-bottom: none;
	padding-left: 1.3em;
	padding-top: 0.3em;
	text-shadow: 1px 1px 0 #1FA4D8, -1px -1px 0 #1FA4D8, -1px 1px 0 #1FA4D8, 1px -1px 0 #1FA4D8, 0px 1px 0 #1FA4D8, 0-1px 0 #1FA4D8, -1px 0 0 #1FA4D8, 1px 0 0 #1FA4D8;
	padding: 0.3em 0.5em 0.3em 1.3em;
	position: static;
	line-height: 1.6em;
}

.white-line {
	height: 22px;
	width: 4px;
	display: block;
	position: absolute;
	background-color: #ffffff;
	margin: 24px 0px 0 -15px;
}

.h2-bg .white-line :before{
	content: none;
}

.h2-bg .white-line :after{
	content: none;
}

.h2-bg :before{
	content: ''!important;
	position: absolute;
	top: 100%!important;
	left: 0!important;
	border-bottom: solid 10px transparent;
	border-right: solid 10px #0E7990;
	height: 0;
	width: 0;
	margin: 0;
	background-color: transparent;
}

.h2-bg::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 67%;
    background-color: #fff;
}

.h2-bg :after{
	content: '';
	position: absolute;
	content: '';
	top: 100%;
	right: 0;
	border: none;
	border-bottom: solid 10px transparent;
	border-left: solid 10px #095A88;
}

.column-mokuji{
	color: #fff;
	font-weight: bold;
	margin: 0 1.2em 2em;
}

.list-mokuji{
	background: linear-gradient(-90deg, #4e9adf 0%, #1daecf 100%);
	display: inline-block;
	padding: 2px 50px;
	border-radius: 10px 10px 0 0;
	color: #fff;
}

.column-list{
	background: #fff;
	margin: 0;
	border-radius: 0 20px 20px 20px;
}

ol{
	padding: 0.5em 0 1em 0;
}

li{
	color: #14b0d9;
	border-bottom: 3px dotted #14b0d9;
	padding-left: 0.8em;
	padding-bottom: 0.2em;
  padding-top: 0.2em;
  list-style-type: none;
}

.column-list li:before {
	content: '';
	height: 10%;
	width: 5px;
	display: block;
	position: absolute;
	left: 0px;
	background-color: #14b0d9;
	margin: 4px -5px 0 0;
}

li a{
	color: #14b0d9;
	text-decoration: none;
	font-size: 0.9em;
}

li a:link, li a:visited, li a:hover, li a:active{
	color: #14b0d9;
}

.blue{
	color: #14b0d9 !important;
}

.maker-yellow{
	background-image: repeating-linear-gradient(-45deg,#fff05d 0, #fff05d 2px,transparent 2px, transparent 4px);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 100% 0.5em;
}

h3 {
	color: #14b0d9!important;
	font-weight: bold!important;
	font-size: 1em!important;
	position: relative!important;
	border-bottom: 4px solid #caebf3!important;
	text-align: center!important;
	padding: 0!important;
	border-left: none!important;
	margin: 2em 0 1em!important;
}

h3:before {
	content: ""!important;
	position: absolute!important;
	left: 0!important;
	bottom: -3px!important;
	width: 70px!important;
	height: inherit!important;
	border-bottom: 3px solid #58bed8!important;
}

h3:after {
  content: none;
}

.h3-top {
	font-weight: bold;
	font-size: 1.3em;
}

.sticky-section p {
	color: #ee3881;
	font-weight: bold;
}

.sticky-section {
	line-height: 1.7em;
	text-align: center;
	position: sticky;
	position: -webkit-sticky;
	bottom: 0!important;
	padding: 0.75em 0 0.75em;
	margin: 0;
	width: 100%;
	background-color: rgba(255,255,255,0.7);
}

table {
	border: 1px solid #c1cad8;
	border-top: none;
	border-left: none;
}

td {
	border-left: none;
	border-right: none;
	border-bottom: none;
	vertical-align: middle;
}

footer {
	background: #f6f6f6;
	padding: 1em;
	text-align: center;
	font-size: 0.75em;
}

strong {
	font-size: 1.05em;
}

.section-in p {
	padding: 0 1em;
}

.btn-bg {
	position: fixed;
	z-index: 999;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0%);
	width: 90%;
	padding: 0.5em 2em 0;
	background: #ffffffed;
}

.btn-bg a {
	width: 100%;
	line-height: 1.4;
}

.btn-bg strong {
	margin: 0;
}

.serach-btn-lg,
.serach-btn-lg:hover {
	position: relative;
	z-index: 2;
	overflow: hidden;
	padding: 0.5em 0em;
	color: rgb(255, 255, 255);
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	border-radius: 10px;
	background: #FC2385;
	margin: 0px 0px 0.5em;
	border-bottom: solid 6px #cc1d6c !important;
	box-shadow: inset 0px 3px 4px #ffffff6e, 0 3px 3px rgba(0, 0, 0, 0.2);
}

.serach-btn-lg:before {
	position: absolute;
	z-index: -1;
	left: -30%;
	top: -50%;
	content: "";
	width: 64px;
	height: 240px;
	transform: rotate(30deg);
	-webkit-transform: rotate(30deg);
	-moz-transform: rotate(30deg);
	background-image: linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
	background-image: -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0)));
	background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, #ffffff rgba(255, 255, 255, 1), rgba(255, 255, 255, 0) 100%);
	animation: shiny 3s infinite linear;
	-webkit-animation: shiny 3s infinite linear;
	-moz-animation: shiny 3s infinite linear;
}

@keyframes shiny {
	0% {
			left: -30%;
	}

	20% {
			left: 120%;
	}

	100% {
			left: 120%;
	}
}

@-webkit-keyframes shiny {
	0% {
			left: -30%;
	}

	20% {
			left: 120%;
	}

	100% {
			left: 120%;
	}
}

@-moz-keyframes shiny {
	0% {
			left: -30%;
	}

	20% {
			left: 120%;
	}

	100% {
			left: 120%;
	}
}

.neo-voice1,
.neo-voice1:hover {
	background: #2470D2;
	margin: 0 auto 0.5em;
	padding: 0.5em 0.8em;
	box-shadow: #b9b9b9 0px 3px 3px;
	border: 2px solid #fff !important;
	letter-spacing: 0.25em;
}

.star {
	height: 16px;
	margin: 0 0 0 -2.5px;
}

.fx-name {
	display: block;
	font-size: 1.25em;
}

.section-in p {
	margin: 1.25em 0 0;
	padding: 0 1em;
}

.main-body h1 {
	position: relative;
	background: #f2f7fd;
	padding: 0.25em 0.5em;
	border-left: solid 2em #2370d2;
	font-weight: bold;
	color: #2270d2;
	font-size: 1.25em;
	border-bottom: 2px solid #2270d2;
}

.main-body h1:before {
	font-family: FontAwesome;
	content: "\f040";
	position: absolute;
	padding: 0em;
	color: white;
	font-weight: normal;
	left: -1.35em;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.main-body h2 {
	color: #2370d2;
	text-align: left;
	font-size: 1.15em;
	font-weight: bold;
	padding: 0.25em 1em;
	margin: 1em 0 0em;
	background-color: #fff;
	background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, #f4f9ff), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, #f4f9ff), color-stop(.75, #f4f9ff), color-stop(.75, transparent), to(transparent));
	-webkit-background-size: 14px 14px;
}

@-webkit-keyframes blink {
	0% {
			opacity: 0;
	}

	100% {
			opacity: 1;
	}
}

@keyframes blink {
	0% {
			opacity: 0;
	}

	100% {
			opacity: 1;
	}
}

.main-body h3 {
	padding: 0;
	line-height: 1.4;
	color: #2370d2;
	text-align: left;
	margin: 1em;
	font-size: 1.35em;
	border-bottom: 5px solid #eaf3ff;
}

.main-body h3:before {
	font-family: FontAwesome;
	content: "\f046";
	font-size: 1em;
	left: 0;
	top: 0;
	color: #2370d2;
	margin-right: 0.25em;
}

.main-body h4 {
	color: #2370d2;
	margin: 1em;
	font-weight: bold;
	font-size: 1.2em;
	position: relative;
	padding: .1em 0 .2em .75em;
	border-left: 6px solid #2470D2;
}

.main-body h4:before {
	position: absolute;
	left: -6px;
	bottom: 0;
	content: '';
	width: 6px;
	height: 50%;
	background-color: #eaf3ff;
}

.que {
	position: relative;
	margin: 0 2em 0 1em;
	padding: 0.5em 1em;
	border: 2px solid #2270d2;
	color: #2270d2;
	background: #fff;
	box-shadow: 0.25em 0.25em #e4e4e4;
	border-radius: 0.25em;
}

.ans {
	margin: -1em 1em 1em 2em;
	padding: 2em 0.75em 1em;
	font-size: 0.9em;
	color: #000000;
	background: #f9f9f9;
	border-radius: 0.25em;
}

.top-title {
	text-align: center;
	font-size: 1.5em;
	font-weight: bold;
	color: #fff;
	margin: -2.05em 0 1em;
}

.section-in img {
	margin: 1em 0;
}

.menu-box {
	position: relative;
	margin: 3em 1em 0;
	padding: 0em 0.25em;
	border: solid 3px #2572d3;
	background: #e8f2ff;
	font-weight: bold;
}

.menu-box .box-title {
	position: absolute;
	display: inline-block;
	top: -27px;
	left: -3px;
	padding: 0 9px;
	height: 25px;
	line-height: 25px;
	font-size: 17px;
	background: #2572d3;
	color: #ffffff;
	font-weight: bold;
	border-radius: 5px 5px 0 0;
}

.menu-box ul li:before {
	color: #2572d3;
}

ul,
ol {
	margin-left: 0px;
	border: none;
	position: relative;
	line-height: 1.65;
}

ul li:before {
	font-family: FontAwesome;
	content: "\f00c";
	position: absolute;
	left: 1em;
	color: #ffb03f;
}

.balloon-l {
	margin: 0.5em 1em;
}

.balloon-l .faceicon {
	text-align: center;
	float: left;
	margin-right: -64px;
	width: 64px;
}

.balloon-l .faceicon img {
	width: 100%;
	height: auto;

	border-radius: 50%;
}

.balloon-l .chatting {
	width: 100%;
	min-height: 5em;
}

.balloon-r {
	margin: 0.5em 1em;
}

.balloon-r .faceicon {
	text-align: center;
	float: right;
	margin-left: -64px;
	width: 64px;
}

.balloon-r .faceicon img {
	width: 100%;
	height: auto;

	border-radius: 50%;
}

.balloon-r .chatting {
	width: 100%;
	text-align: end;
	min-height: 5em;
}

.says {
	display: inline-block;
	position: relative;
	margin: 1.25em 0 0 80px;
	padding: 12px;
	border-radius: 12px;
	background: #fffcde;
}

.says:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 13px;
	left: -16px;
	border: 10px solid transparent;
	border-right: 10px solid #fffcde;
}

.says p {
	margin: 0;
	padding: 0;
	font-size: 0.85em;
}

.says-r {
	display: inline-block;
	position: relative;
	margin: 1.25em 80px 0 0;
	padding: 12px;
	border-radius: 12px;
	background: #f5f5f5;
}

.says-r:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 13px;
	right: -16px;
	border: 10px solid transparent;
	border-left: 10px solid #f6f6f6;
}

.says-r p {
	margin: 0;
	padding: 0;
	font-size: 0.85em;
	text-align: start;
}

.index-menu {
	background: #f0f1f5;
	width: 100%;
	margin: 1em 0;
	padding: 1em 0;
	display: flex;
	justify-content: space-around;
}

.index-menu a {
	text-decoration: none;
	justify-content: space-around;
}

.index-menu-btn {
	font-size: 0.8em;
	text-align: center;
	color: #fff;
	background: #2470D2;
	margin: 0 0.5em;
	padding: 0.25em 1em;
	box-shadow: #b9b9b9 0px 3px 3px;
	border: 2px solid #fff !important;
	letter-spacing: initial;
	border-radius: 0.75em;
}


nav {
	padding: 0.5em 1em;
	background: rgba(59, 112, 210, 0.8784313725490196);
}

.rank-title-line a.rank-title {
	font-size: 1.2em;
	color: #fff;
}

.fx-name {
	display: block;
	font-size: 1.05em;
	color: #ffffff;
}


ul {
	margin-left: 0px;
	border: none;
	padding: 0.5em 1em 0.5em 2.3em;
	position: relative;
	background: #fff8ee;
	line-height: 1.65;
}

ul li {
	list-style-type: none !important;
	font-size: 0.8em;
	margin-top: 0.5em;
}

ul li:before {
	font-family: FontAwesome;
	content: "\f00c";
	position: absolute;
	left: 1em;
	color: #ffb03f;
}

.kuchikomi {
  background-color: #fff9cf;
  padding: 1em;
  border-radius: 10px;
  margin-top: 1em;
}

.box {
  margin: 1em auto;
  font-weight: bold;
  text-align: left;
  border-radius: 10px;
  background-color: #ddf7ff;
  padding: 1em;
  color: #3883e7;
}

/* ===============================================
# fontResize
=============================================== */
.fontResize {
    background-color: #fff;
    margin: 0.5em 1.2em 1.5em;
    padding: 0.5em 1em;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em;
}

.fontResize__slider {
    flex: 1;
}

.fontResize__smallText {
    font-size: 0.85em;
    font-weight: bold;
}

.fontResize__bigText {
    font-size: 1.2em;
    font-weight: bold;
}

#fontSlider {
    -webkit-appearance: none;
    appearance: none;
    flex: 1;
    border-radius: 5px;
    outline: none;
    transition: background 0.3s;
    background: linear-gradient(to right, #4CB7FF 50%, #DCF1FF 50%);
}

/* Webkit (Chrome, Safari) のスライダートラック */
#fontSlider::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    border-radius: 5px;
}

/* Firefox のスライダートラック */
#fontSlider::-moz-range-track {
    width: 100%;
    height: 8px;
    border-radius: 5px;
}

/* スライダーのつまみ（thumb）を画像に変更 */
#fontSlider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 40px;
    height: 40px;
    background: url('/images/column/icon-kabuinu.png') no-repeat center;
    background-size: contain;
    border: none;
    cursor: pointer;
    margin-top: -16px;
    position: relative;
}

#fontSlider::-moz-range-thumb {
    width: 40px;
    height: 40px;
    background: url('/images/column/icon-kabuinu.png') no-repeat center;
    background-size: contain;
    border: none;
    cursor: pointer;
}

    /*------------------------------------
  bar graph
------------------------------------*/
.bar-graph-wrap {
    position: relative;
    height: 300px;
    overflow: hidden;
  }

  .bar-graph-wrap .graph {
    height: 50px;
    position: absolute;
    left: 0;
    border-radius: 0 4px 4px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 10px;
    -webkit-animation: graphAnim 2.5s forwards;
    animation: graphAnim 2.5s forwards;
  }

  .bar-graph-wrap .graph span {
    font-size: 14px;
    color: #ffffff;
  }

  @media screen and (max-width: 750px) {
    .bar-graph-wrap .graph span {
      font-size: 12px;
    }
  }

  .bar-graph-wrap .graph.blue {
    top: 10%;
    background: #03a9f4;
    width: 93%;
  }

  .bar-graph-wrap .graph.red {
    top: 0;
    bottom: 20%;
    margin: auto;
    background: #ff3051;
    width: 59%;
  }

  .bar-graph-wrap .graph.green {
    bottom: 30%;
    background: #1fd26c;
    width: 56%;
  }

  .bar-graph-wrap .graph.orange {
    bottom: 8%;
    background: rgb(233, 155, 0);
    width: 52%;
  }

  @-webkit-keyframes graphAnim {
    0% {
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }

    100% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
  }

  @keyframes graphAnim {
    0% {
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }

    100% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
  }

  input[type="range"] {
    -webkit-appearance: none; /* デフォルトのスタイルを無効化 */
    appearance: none; /* 他のブラウザでも適用 */
    box-shadow: none; /* 影を削除 */
    background: transparent; /* 背景色も透明に設定 */
  }
  
  input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none; /* スライダーのつまみ部分の影も削除 */
  }
  