@charset "UTF-8";
/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
ul {
	list-style: none;
}
:focus {
	outline: 0;
}
.clearfix::before {
	display: table;
	content: " ";
}
.clearfix::after {
	display: table;
	content: " ";
}
.clearfix::after {
	clear: both;
}
.clearfix {
}
.fixed {
	top: 0px;
	position: fixed;
}
/* Bootstrapのガター幅を調整するための汎用CSS
------------------------------------------------------------*/
.row-clear {
	margin-left: -15px;
	margin-right: -15px
}
.row-clear >div {
	padding-right: 0px;
	padding-left: 0px
}
.row-0 {
	margin-left: 0px;
	margin-right: 0px
}
.row-0 >div {
	padding-right: 0px;
	padding-left: 0px
}
.row-5 {
	margin-left: -5px;
	margin-right: -5px
}
.row-5 >div {
	padding-right: 5px;
	padding-left: 5px
}
.row-10 {
	margin-left: -10px;
	margin-right: -10px
}
.row-10 >div {
	padding-right: 10px;
	padding-left: 10px
}
.row-plus15 {
	margin-left: 15px;
	margin-right: 15px
}
.row-plus15 >div {
	padding-right: 0px;
	padding-left: 0px
}
/* Bootstrapの横並びボックスの高さ統一<div class="row row-eq-height">
------------------------------------------------------------*/
.row-eq-height {
	display: flex;
	flex-wrap: wrap;
}
html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 62.5%; /* 16px x 0.625 = 10px(=1rem) */
}
body {
	font-size: 1.6rem;/* 16px★ */
	line-height: 2rem;
	padding: 3em 0px 0px;
	overflow-x: hidden !important;
}
 @media screen and (min-width: 769px) {
body {
	font-size: 1.6rem;/* 16px★ */
	line-height: 2rem;
	padding: 0px 0px 0px;
}
}
/* 共通
------------------------------------------------------------*/
.img-responsive {
	display: block;
	height: auto;
	max-width: 100%;
}
.centerblock {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.margin_bottom10 {
	margin-bottom: 10px;
}
.margin_bottom30 {
	margin-bottom: 30px;
}
h1 {
	padding: 0px;
	margin: 0px;
}
h2 {
	font-weight: bold;
	font-size: 1.8rem;
	padding: 0 0 0 0;
	margin: 0px auto 0px auto;
	text-align: center;
	line-height: 2.5rem;
}
@media screen and (min-width: 769px) {
h2 {
	position: relative;
	font-weight: bold;
	font-size: 2.5rem;
	padding: 0 0 0 0;
	margin: 10px auto 5px auto;
	text-align: center;
}
}
h3 {
	color: #771f09;
	background-color: #dacba0;
	font-weight: bold;
	font-size: 1.8rem;
	padding: 10px 0 10px 5px;
	margin: 10px 0 20px 0;
}
@media screen and (min-width: 769px) {
h3 {
	font-size: 2.4rem;
	margin: 10px 0 10px 0;
	padding: 20px 0 20px 10px;
}
}
h4 {
	font-size: 2.2rem;
	font-weight: bold;
	margin: 20px auto 20px auto;
	padding:15px 20px 10px 20px;
	text-align: center;
	border-bottom: 1px solid #999;
	border-radius:20px;
	background-color: #FC3;
	display:inline-block;
}
h5 {
	font-size: 1.4rem;
	font-weight: bold;
	margin: 20px 0 0 0;
	border-bottom: 1px solid #999;
	padding: 5px;
}
/*--フォント----------*/
a {
	text-decoration: none;
}
a:hover {
	color: #F00;
	text-decoration: underline;
}
a:visited {
	text-decoration: none;
}
.redbold {
	color: #F00;
	font-weight: bold;
	padding: 2px;
	line-height: 2.5rem;
}
.orangebgtext {
	background-color: #DC6125;
	font-weight: bold;
	padding: 2px;
	line-height: 2.5rem;
}
.yellowbgtext {
	background-color: #FF0;
	font-weight: bold;
	padding: 2px;
	line-height: 2.5rem;
}
.redboldlarge {
	font-size: 2.0rem;
	font-weight: bold;
	color: #cd1818;
}
.rednormal {
	color: #ff0000;
}
.bluebold {
	display: inline-block;
	font-size: 2.4rem;
	font-weight: bold;
	color: #0066CC;
	padding: 0px 0 5px 0;
	margin: 18px 0 0 0;
	border-bottom: 1px solid #0066CC;
}
.largefont {
	font-size: 2.0rem;
}
.smallfont {
	font-size: 14.5px;
}
.underlineblue {
	background: linear-gradient(transparent 80%, #9DE7FF 80%);
}
.orangebold {
	color: #F60;
	font-size: 2.2rem;
	font-weight: bold;
}
.font_link {
	color: #00F;
	text-decoration: underline;
	cursor: pointer;
}
/*--ul-----------*/
ul {
	margin: 0;
	padding: 0;
}
ul.asterisk {
	margin: 0rem 0px 0px 2rem;
}
ul.asterisk li {
	list-style-type: none;
	text-indent: -1em;
}
ul.asterisk li:before {
	display: inline;
	content: "※";
}
/*--------------※マークの余白調整--------------*/
.asteriskbox {
	margin: 10px 10px 20px 10px;
	padding: 0px;
}
@media screen and (min-width: 992px) {
.asteriskbox {
	margin: 0px 20px 20px 30px;
	padding: 0px;
}
}
/*--------------リストマークノーマル--------------*/

ul.normal {
	margin: 10px 10px 10px 20px;
	padding: 0px;
	list-style: circle;
}
 @media screen and (min-width: 480px) {
ul.normal {
	margin: 0px 20px 10px 20px;
}
}
@media screen and (min-width: 768px) {
ul.normal {
	margin: 0px 20px 10px 22px;
}
}
/*--------------ページトップ--------------*/
.pagetop {
	display: none;
	position: fixed;
	bottom: 110px;
	right: 2%;
}
@media (min-width: 580px) {
.pagetop {
	bottom: 140px;
}
}
@media (min-width: 900px) {
.pagetop {
	bottom: 30px;
	right: 30px;
}
}
.pagetop a {
	display: block;
	width: 30px;
	height: 30px;
	background-color: #1e73be;
	text-align: center;
	color: #FFF;
	font-size: 2.0rem;
	text-decoration: none;
	line-height: 30px;
	border-radius: 100%;
}
/*--------------ヘッダー--------------*/
.header-wrapper {
	background-color: #1e73be;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
	height: 50px; /* モバイルデバイス向けの高さ */
}
.header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 5px;
	box-sizing: border-box;
	max-width: 1060px;
	margin: 0 auto;
	height: 50px; /* モバイルデバイス向けの高さ */
}
.header .left {
	color: #FFF;
	max-width: calc(100% - 50px); /* 右端アイコンの幅分を除いた残りの幅 */
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-weight: bold;
}
.header .right {
	background-color: #F9AE00;
	display: flex; /* Flexboxを適用 */
	justify-content: space-between; /* 間隔を均等に分配 */
	align-items: center; /* 縦軸方向に中央揃え */
	flex-direction: column; /* 上下配置 */
	padding: 5px 5px;
	text-align: center;
	text-decoration: none; /* リンクの下線をなくす */
	color: #FFF; /* 親要素の文字色を継承 */
	margin: 0 5px 0 0;
	font-size: 1.4rem;
}
.header a.right:hover {
	background-color: #E6A600;
	color: #000;
	text-decoration: none; /* ホバー時の下線をなくす */
}
.header a.right:hover i {
	color: #FFF;
}
.header .right i {
	margin-bottom: 0; /* メールアイコンの下のマージンを0に */
	color: #FFF; /* アイコンの色を白に設定 */
}
 @media (min-width: 481px) {
.header {
	padding: 0 20px;
}
.header .left {
	font-size: 3vw;
	line-height: 2em;
}
.header .right {
	flex-direction: row; /* 横並びに */
	padding: 5px 10px;
}
.header .right i {
	font-size: 2em; /* デスクトップとタブレット向けのアイコンサイズ */
	padding: 0 0 0 10px;
}
}
 @media (min-width: 769px) {
.header-wrapper {
	height: 70px; /* デスクトップとタブレット向けの高さ */
}
.header {
	height: 70px; /* デスクトップとタブレット向けの高さ */
}
.header .left {
	font-size: 24px;
}
}
/*フッター
------------------------------------------------------------*/
/*　コピーライト　*/
.copy {
	font-size: 0.7rem;
	text-align: center;
	margin: 10px auto 0px auto;
	padding: 5px;
	color: #FFF;
	background-color: #1e73be;
}
@media screen and (min-width: 768px) {
.copy {
	font-size: 1.6rem;
	text-align: center;
	margin: 20px 0px 0px 0px;
}
}
/* ページアンカー調整 */
#pagelink01, #pagelink02, #pagelink03, #pagelink04, #pagelink05, #pagelink06, #pagelink07, #pagelink08 {
	margin-top: -150px;
	padding-top: 150px;
}
/* ページアンカー調整 */
p.pagelink {
	height: 50px;
}
@media screen and (min-width: 769px) {
p.pagelink {
	height: 70px;
}
}
/* CTA
------------------------------------------------------------*/
.cta_wrap {
	margin: 20px auto 30px auto;
}
 @media screen and (min-width: 601px) {
.cta_wrap {
	margin: 30px auto 30px auto;
}
}




.cta_box {
	display: flex;
	flex-direction: column;
	margin: 30px auto 30px auto;
}
.cta_main {
	margin: 10px auto;
}
.cta_main_title {
	background-color: #FFA000;
	border: #FFF 1px solid;
	color: #ffffff;
	font-size: 2.0rem;
	font-weight: bold;
	margin: 0 auto;
	padding: 8px;
	text-align: center;
}
.cta_main_text {
	text-align: center;
	margin: 10px;
}
 @media screen and (min-width: 992px) {
.cta_box {
	max-width: 800px;
	margin: 20px auto;
}
}
/* ボタン */
.goto_detail_r {
	margin: 20px 20px 10px 0px;
	text-align: right;
}
.goto_detail_l {
	margin: 20px 20px 10px 0px;
	text-align: left;
}
.goto_detail_c {
	margin: 0px 0px 0px 0px;
	text-align: center;
	font-size: 1.4rem;
}
.goto_detail {
	display: inline-block;
	padding: 0.5em 1em;
	text-decoration: none;
	color: #FFF;
	border-radius: 15px;
	border: #FF5252 1px solid;
	transition: .4s;
	background-color: #FF5252;
	margin: -10px 0 0 0;
}
.goto_detail:hover {
	background: #FFF;
	color: #FF5252;
	border: #FF5252 1px solid;
	text-decoration: none;
}
/* ボタン　260px */

a.goto_btn {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	text-align: center;
	text-decoration: none;
	width: 300px;
	margin: auto;
	padding: 2rem 4rem 2rem 3rem;
	font-weight: bold;
	background: #00B900;
	color: #fff;
	border-radius: 20px;
	position: relative;
	transition: 0.5s;
}
a.goto_btn::before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
a.goto_btn:hover {
	background: #44c6f2;
	color: #fff;
}
/* LP　バージョン3用
------------------------------------------------------------*/



/* ビジュアル画像
------------------------------------------------------------*/
.visual_wrap {
	width: 100%;
  margin: 0px auto;
	padding-top: 0px; /* ここにヘッダーの高さと同じかそれ以上の値を設定 */
	background-image: linear-gradient(180deg, rgba(230, 220, 210, 1), rgba(242, 242, 242, 1));
}
 @media screen and (min-width: 769px) {
.visual_wrap {
	padding-top: 75px; /* ここにヘッダーの高さと同じかそれ以上の値を設定 */
}
}


.visual_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0px auto;
}

.visual_item {
  padding: 0px;
  margin: 0px;
  text-align: center; /* デフォルトで中央寄せ */
  box-sizing: border-box;
}

/* 1170px以下での縦並びレイアウト */
@media (max-width: 1170px) {
  .visual_box {
    flex-direction: column;
  }
  
  .visual_item {
    width: 100%;
    text-align: center; /* モバイル時は中央寄せを明示的に指定 */
  }
}

/* 1171px以上での特殊レイアウト */
@media (min-width: 1171px) {
  .visual_box {
		width: 1170px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: 
      "left right"
      "bottom right";
    gap: 10px;
  }
  
  .a_box {
    grid-area: left;
    text-align: right; /* Aブロックは右寄せ */
  }
  
  .b_box {
    grid-area: right;
    height: 100%;
    text-align: left; /* Bブロックは左寄せ */
  }
  
  .c_box {
    grid-area: bottom;
    text-align: right; /* Cブロックは右寄せ */
  }
}








/* コンテンツ関係共通
------------------------------------------------------------*/


/* フルサイズ　H2用のカラー帯*/
.area01 {
	position: relative;
	padding: 0.6em;
	background-color: #dacba0;
	color: #000;
	border-top:3px solid #FFF;
}

.area02_wrap {
	margin: 50px 0 0 0;
}
.area02::before {
	content: "";
	width: 100%;
	height: 80px;
	background-color: #dacba0;
	position: absolute;
	top: -1px;
	margin: 0 0 0 -15px;
	clip-path: polygon(50% 40%, 100% 0%, 0% 0%);
}
.area02 {
	width: 100%;
	padding-top: 0px;
	padding-bottom: 88px;
	position: relative;
	background-color: #FFF;
	/*#F6EFD8*/
}
.area02 h2 {
	text-align: center;
	margin-top: 10px;
}
.area02 h3{
font-size: 2.4rem;
        margin: 10px 0 10px 0;
        padding: 5px 0 5px 10px;
}
.area02 h3 img{
	padding: 0px;
	margin: 5px;
}
.area02 .textbox {
	margin: 0 2rem 20px 2rem;
	line-height: 2.6rem;
}

.area02 img {
	margin:10px auto;
}

.area03 {
	position: relative;
	padding: 0.6em;
	background-color: #08A391;
	color: #FFF;
}
.area04_wrap {
	margin: 50px 0 0 0;
}
.area04::before {
	content: "";
	width: 100%;
	height: 80px;
	background-color: #08A391;
	position: absolute;
	top: -1px;
	margin: 0 0 0 -15px;
	clip-path: polygon(50% 40%, 100% 0%, 0% 0%);
}
.area04 {
	width: 100%;
	padding-top: 0px;
	padding-bottom: 20px;
	position: relative;
	background-color: #FFF;
}
.area04 h2 {
	text-align: center;
	margin-top: 10px;
}
.area04 .textbox {
	margin: 0 2rem 20px 2rem;
	line-height: 2.6rem;
}



.area05 {
	position: relative;
	padding: 0.6em;
	background-color: #ec6e6e;
	color: #FFF;
}
.area06_wrap {
	margin: 50px 0 0 0;
}
.area06::before {
	content: "";
	width: 100%;
	height: 80px;
	background-color: #ec6e6e;
	position: absolute;
	top: -1px;
	margin: 0 0 0 -15px;
	clip-path: polygon(50% 40%, 100% 0%, 0% 0%);
}
.area06 {
	width: 100%;
	padding-top: 0px;
	padding-bottom: 88px;
	position: relative;
	background-color: #FFF;
}
.area06 h2 {
	text-align: center;
	margin-top: 10px;
}
.area06 .textbox {
	margin: 0 2rem 20px 2rem;
	line-height: 2.6rem;
}










.area07 {
	position: relative;
	padding: 0.6em;
	background-color: #4A90E2;
	color: #FFF;
}
.area08_wrap {
	margin: 50px 0 0 0;
}
.area08::before {
	content: "";
	width: 100%;
	height: 80px;
	background-color: #4A90E2;
	position: absolute;
	top: -1px;
	margin: 0 0 0 -15px;
	clip-path: polygon(50% 40%, 100% 0%, 0% 0%);
}
.area08 {
	width: 100%;
	padding-top: 0px;
	padding-bottom: 88px;
	position: relative;
	background-color: #FFF;
}
.area08 h2 {
	text-align: center;
	margin-top: 10px;
}
.area08 .textbox {
	margin: 0 2rem 20px 2rem;
	line-height: 2.6rem;
}



.area09 {
	position: relative;
	padding: 0.6em;
	background-color: #e7a921;
	color: #FFF;
}
.area10_wrap {
	margin: 50px 0 0 0;
}
.area10::before {
	content: "";
	width: 100%;
	height: 80px;
	background-color: #e7a921;
	position: absolute;
	top: -1px;
	margin: 0 0 0 -15px;
	clip-path: polygon(50% 40%, 100% 0%, 0% 0%);
}
.area10 {
	width: 100%;
	padding-top: 0px;
	padding-bottom: 88px;
	position: relative;
	background-color: #FFF;
}
.area10 h2 {
	text-align: center;
	margin-top: 10px;
}
.area10 .textbox {
	margin: 0 2rem 20px 2rem;
	line-height: 2.6rem;
}

















/* このようなお客様に*/

.okyakusama_wrap {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}
.okyakusama_box {
	background-color: #CCC;
	padding: 10px;
	margin: 10px 0px;
	text-align: center;
}
@media (min-width: 768px) {
.okyakusama_wrap {
	flex-direction: row;
}
.okyakusama_box {
	margin: 10px 10px;
}
}


/* ２要素横並び*/

.box2_wrap {
	text-align: center;
	margin:40px auto;
}
.box2_wrap img{
	margin:0px auto;
}


.box2 {
	border: 1px solid #ccc; /* ボックスのスタイル */
	margin: 10px;
	padding: 10px;
	flex: 1 1 100%;
}
.box2_block_a {
	text-align: center;
}
.box2_block_b {
	display: flex;
	justify-content: center;
	margin: 10px 0;
}
.box2_block_b img {
	max-width: 100%;
	height: auto;
}
.box2_block_c {
	font-weight: bold;
	text-align: center;
	margin: 0 auto 5px auto;
	border-bottom: 1px solid #CCC;
}
.box2_block_d {
	text-align: left;
}
@media screen and (min-width: 681px) {
.box2 {
	flex: 0 1 calc(50% - 20px); /* 2列に並ぶ際の幅を計算 */
	max-width: calc(50% - 20px);
}
}


/* パーツ共通*/
.text-wrapper {
	width: 96%;
	margin: 20px auto 0 auto;
	background-color: #F6F6F6;
	padding: 30px;
	line-height: 2.6rem;
}
@media (min-width: 768px) {
.text-wrapper {
	width: 100%;
}
}
.text-wrapper_wh {
	width: 96%;
	margin:20px auto 0 auto;
	background-color: #FFF;
	padding: 30px 0px;
	line-height: 2.6rem;
}
@media (min-width: 768px) {
.text-wrapper_wh {
	width: 100%;
}
}











/* 料金・制作内容
------------------------------------------------------------*/
.price-contents {
	margin: 30px 0 20px 0;
}
@media screen and (min-width: 768px) {
.price-contents {
	margin: 30px 0 50px 0;
}
}
/* 料金  https://www.webcreatorbox.com/inspiration/price-table*/
.plan_wrap {
	width: 100%;
}
@media ( min-width : 420px ) {
.plan_wrap {
	max-width: 360px;
	margin: 0 auto;
}
}
/* 
TABLE
================================================ */
.plan_table {
	width: 100%;
	border-bottom: 1px solid #ddd;
	margin-bottom: 15px;
	overflow-y: hidden;
	overflow-x: scroll;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	border: 1px solid #ddd;
	-webkit-overflow-scrolling: touch;
}
.plan_table th {
	padding: 15px;
	text-align: center;
	vertical-align: top;
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
	line-height:3rem;
}
.plan_table td {
	padding: 15px;
	text-align: center;
	vertical-align: top;
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
}
.plan_table tr:nth-child(even)>td {
	background-color: #efefef;
}
.plan_table span {
	font-size: 1.3rem;
}
.plan_table span.space2 {
	margin: 0 0 0 1.2rem;
}
.kome_text {
	font-size: 1.1rem;
	text-align:left;
}
.plan-price {
	color: #fff;
}
.plan-price {
	font-size: 2.3rem;
	border-top: 1px solid rgba(255,255,255,.2);
	padding: 25px 0;
}
/* Background colour */
.plan-01 th, .plan-01 .plan-price {
	background-color: #9DC95F;
}
.plan-02 th, .plan-02 .plan-price {
	background-color: #5BB0D7;
}
.plan-03 th, .plan-03 .plan-price {
	background-color: #FFA037;
}
.plan-02color {
	background-color: #5BB0D7;
}
.plan-03color {
	background-color: #FFA037;
}
.plan-table dl {
	display: flex;
	margin: 0 0 0 0;
}
.plan-table dt {
	width: 108px;
	font-size: 1.2rem;
	text-align: left;
}
.plan-table dd {
	padding: 0 2px 0 0px;
	margin: 0 0 0 auto;
	text-align: right;
}
.plan-table .pricefont {
	color: #FE8800 !important;
	font-size: 2rem;
}





/* 
LARGE DISPLAY
================================================ */
@media ( min-width : 768px ) {
.plan_wrap {
	-webkit-flex-direction: row;
	flex-direction: row;
	justify-content: center;
}
.plan-table {
	margin-left: 3%;
}
.plan-table:first-of-type {
	margin-left: 0;
}
}
/* 
説明書き
================================================ */
.price_list ol {
	list-style-type: none;
	counter-reset: my-counter;
	padding-left: 0;
	margin: 0 0 0 20px;
}
.price_list ol li {
	position: relative;
	counter-increment: my-counter;
	margin-bottom: 10px;
}
.price_list ol li::before {
	content: "*" counter(my-counter) " ";
	position: absolute;
	left: -20px;
}
.price_list ol li span {
	margin-left: 20px; /* 数字とテキストの間のスペース調整 */
}
/* プラン背景 */
.plan-01-title {
	background-color: #9DC95F;
	color: #FFF;
	padding: 3px 8px;
	border-radius: 10px;
	margin: 10px 5px 0 5px;
	display: inline-block;
}
.plan-02-title {
	background-color: #5BB0D7;
	color: #FFF;
	padding: 3px 8px;
	border-radius: 10px;
	margin: 10px 5px 0 5px;
	display: inline-block;
}
.plan-03-title {
	background-color: #FFA037;
	color: #FFF;
	padding: 3px 8px;
	border-radius: 10px;
	margin: 10px 5px 0 5px;
	display: inline-block;
}

.option_list{
	list-style:disc;
	padding:0 0 0 0;
	margin:0 auto 0 auto;
	max-width:760px
}








/* 他社比較
------------------------------------------------------------*/
.comparison {
	margin: 10px auto;
	font-size: 1.4rem;
}
.comparison th {
	text-align: center;
	padding: 5px 10px;
	border: 1px solid #ddd;
	background-color: #efefef;
}
.comparison td.sub {
	text-align: center;
	padding: 5px 10px;
	border: 1px solid #ddd;
	white-space: nowrap;
}
.comparison td {
	text-align: right;
	padding: 5px 10px;
	border: 1px solid #ddd;
}
.comparison td.sum {
	text-align: center;
	padding: 5px 10px;
	border: 1px solid #ddd;
	font-size: 1.3rem;
	font-weight: bold;
	background-color: #FFFFCC;
}
.comparison th.win {
	text-align: center;
	padding: 5px 10px;
	border: 1px solid #ddd;
	background-color: #efefef;
	border: 1px solid #F00;
}
.comparison td.winsub {
	text-align: center;
	padding: 5px 10px;
	border: 1px solid #ddd;
	white-space: nowrap;
	border: 1px solid #F00;
}
.comparison td.win {
	text-align: right;
	padding: 5px 10px;
	border: 1px solid #F00;
}
.comparison td.winsum {
	text-align: center;
	padding: 5px 10px;
	border: 1px solid #ddd;
	font-size: 1.3rem;
	font-weight: bold;
	background-color: #FFFFCC;
	border: 1px solid #F00;
}




/* よくある質問
------------------------------------------------------------*/
.faq_box {
	margin: 0 auto 20px auto;
	max-width: 1140px;
	width: 100%;
}
.faq_box details {
	margin: 0 auto 20px auto;
	width: 95%;
}
.faq_box h3 {
	color: #FFF;
	background-color: #69afec;
	font-weight: bold;
	font-size: 1.8rem;
	padding: 10px 0 10px 5px;
	margin: 10px 0 20px 0;
}
@media screen and (min-width: 769px) {
.faq_box h3 {
	font-size: 2.4rem;
	margin: 10px 0 10px 0;
	padding: 20px 0 20px 10px;
}
}
.faq_box summary {
	box-sizing: border-box;
	position: relative;
	display: block;
	font-weight: 700;
	padding: 1.5em 40px 1.5em 2.0em; /* 18px + 3em = 21px */
	background: #fff;
	border: 1px solid #84b1de;
	cursor: pointer;
	margin: 0 0 0 0;
}
 .faq_box summary::-webkit-details-marker {
 display: none;
}
.faq_box summary::before {
	content: "Q.";
	position: absolute;
	top: 1.5em;
	left: 0.5em;
	color: #1e73be;
}
.faq_box summary .ico {
	position: absolute;
	top: 0;
	right: 10px; /* 18px + 3em = 21px */
	bottom: 0;
	display: block;
	width: 18px;
	height: 20px;
	aspect-ratio: 1/0.6;
	margin: auto;
	background: #0a64be;
	clip-path: polygon(100% 13%, 50% 100%, 0 13%, 8% 0, 50% 73%, 92% 0);
	transition: transform 0.3s;
}
 @media (min-width: 768px) {
.faq_box summary {
	padding: 1.5em 21px 1.5em 3.5em; /* 18px + 3em = 21px */
}
.faq_box summary::before {
	top: 1.5em;
	left: 1.5em;
}
.faq_box summary .ico {
	right: 21px; /* 18px + 3em = 21px */
}
}
.faq_box summary:focus .ico {
	transform: rotate(180deg);
}
.faq_box .ico {
	transition: transform 0.3s ease-in-out;
}
.faq_box details:not([open]) .ico {
	transform: rotate(0deg);
}
.faq_box details[open] .ico {
	transform: rotate(180deg);
}
.faq_box .inner {
	position: relative;
	padding: 1.5em 1.5em 1.5em 3.5em;
	background: #cae4fc;
	border-bottom: 1px solid #84b1de;
	border-right: 1px solid #84b1de;
	border-left: 1px solid #84b1de;
}
.faq_box .inner::before {
	content: "A.";
	position: absolute;
	top: 1.5em;
	left: 1.5em;
	font-weight: 700;
	color: #f74747;
}
/* お問い合わせ
------------------------------------------------------------*/
.mailform {
	font-size: 1.6rem;
	line-height: 2.0rem;
}
/* 可変 */
.kahen {
	width: 100% !important;
	border: 1px solid #CCC;
	padding: 5px 0 5px 10px;
	border-radius: 10px;
}
@media screen and (min-width: 768px) {
.kahen {
	width: 70% !important;
	border: 1px solid #CCC;
	padding: 5px 0 5px 10px;
	border-radius: 10px;
}
}
.contactform {
    margin: 0 auto 20px auto;
    max-width: 1140px;
    width: 100%;
}
@media only screen and (min-width: 769px) {
.contactform {
    margin-left: 50px;
}
}
.contactform dl dt {
    float: none;
    width: auto;
    padding: 5px;
    text-align: left;
    clear: both;
    border-top: solid 1px #CCC;
    margin: 0px;
}
.contactform dl dd {
    border-top: none;
    margin: 0px;
    padding: 5px 15px;
    text-align: left;
    line-height: 1.5em;
    display: flex;
    flex-wrap: wrap;
}
.contactform label {
    border-radius: 3px;
    margin: 3px;
    display: inline-block;
    white-space: nowrap;
}
.contactform label {
    margin: 5px 20px 0px 0px;
	width:210px;
}

@media screen and (min-width: 801px) {
.contactform dl dt {
    float: left;
    width: 30%;
    padding: 10px 10px 10px 0px;
}

.contactform dl dt.mar {
    float: left;
    width: 30%;
    padding: 10px 10px 5px 0px;
}

.contactform dl dd {
    width: 60%;
    clear: none;
    border-top: solid 1px #CCC;
    padding: 10px 5px 20px 24px;
    display: flex;
    flex-wrap: wrap;
}
.contactform dl dd.noline {
    width: 60%;
    clear: none;
    border-top: none;
    padding: 10px 5px 20px 24px;
    display: flex;
    flex-wrap: wrap;
}

}
.mustbtn {
	display: block;
	background-color: #C00;
	border: solid 2px #C00;
	text-shadow: 0px 1px 2px #933;
	padding: 0px 2px;
	font-size: 10px;
	color: #FFF;
	float: left;
	margin: 0px 5px;
	border-radius: 4px;
	box-shadow: 0px 0px 5px #CCC;
	background-size: 100% 100%;
}
.submit_btn {
	margin: 0 auto 30px auto;
	text-align: center;
	;
}
.submit-button {
	background-color: #4CAF50; /* 緑色の背景 */
	color: white; /* テキストの色を白に */
	padding: 10px 50px; /* パディングでボタンの大きさを調整 */
	border: none; /* ボーダーを無くす */
	border-radius: 5px; /* 角を丸く */
	cursor: pointer; /* カーソルをポインターに */
	font-size: 16px; /* フォントサイズを調整 */
	transition: background-color 0.3s; /* 背景色の変化にアニメーションをつける */
}
.submit-button:hover {
	background-color: #45a049; /* ホバー時の背景色を少し暗く */
}



/*-------------------関連情報-----------------------------*/
.kanren_box {
	margin: 10px 0 10px 50px;
}
.kanren_box details {
	margin: 0px 0 20px 0px;
}
.kanren_box summary {
	margin: 0px 0 20px 0px;
}
/* ポリシー*/
.policy {
	padding: 0;
	width: 90%;
	margin-left: 10px;
	margin-bottom: 30px;
}
dl {
	margin-top: 0;
	margin-bottom: 20px;
}
.policy dt {
	color: #039;
	background-color: #f2f2f2;
	padding: 3px 0 3px 10px;
	margin: 10px 0 5px 0;
}
.policy dd {
	padding: 10px 0 20px 20px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #d6d6d6;
}
.policy ol {
	padding-left: 35px;
}
.policy ul {
	padding-left: 35px;
}
/*-------------------会社概要-----------------------------*/
.gaiyoutable {
	border: 1px #356aa0 solid;
	border-collapse: collapse;
	border-spacing: 0;
	margin: 10px 0 30px;
	width: 80%;
}
.gaiyoutable th {
	padding: 15px 15px 0px 5px;
	font-weight: bold;
	display: block;
	color: #FFF;
	background: #5085bb;
}
.gaiyoutable td {
	padding: 15px;
	border: 1px #356aa0 solid;
	border-width: 0 0 1px 1px;
	display: block;
}
 @media screen and (min-width: 768px) {
.gaiyoutable th {
	padding: 15px;
	border: #356aa0 solid;
	border-width: 0 0 1px 1px;
	font-weight: bold;
	white-space: nowrap;
	display: table-cell;
	width: 20%;
}
.gaiyoutable td {
	padding: 15px;
	border: 1px #356aa0 solid;
	border-width: 0 0 1px 1px;
	display: table-cell;
}
}


/* ステップ
------------------------------------------------------------*/

.stepbar {
	margin: 0 auto 20px auto;
	max-width: 1140px;
	width: 100%;
  }
  
  .stepbar .stepbarwrap {
	margin: 2em 0;
	position: relative;
  }
  
  .stepbar .stepbarwrap .steptitle {
	display: inline-flex;
	align-items: center;
  }
  
  .stepbar .stepbarwrap .steptitle .stepcircle {
	display: inline-block;
	width: 3em;
	height: 3em;
	content: "";
	border-radius: 50%;
	background-color: #1e73be;
	color: #fff;
	text-align: center;
  }
  
  .stepbar .stepbarwrap .steptitle .stepcircle span {
	display: inline-block;
	line-height: 1.2em;
	font-size: 0.8em;
	font-weight: bold;
	position: relative;
	top: 0.9em;
  }
  
  .stepbar .stepbarwrap .steptitle .title {
	margin: 0.5em;
	font-weight: bold;
	font-size: 1.2em;
	border-bottom: 2px solid #1e73be;
  }
  
  .stepbar .stepbarwrap .steptxt {
	padding-left: 3.5em;
  }
  
  .stepbar .stepbarwrap .steptxt .txt {
	font-size: 0.9em;
  }
  
  .stepbar .stepbarwrap .stepline {
	width: 1px;
	height: calc(100% + 1em);
	background-color: #1e73be;
	position: absolute;
	top: 1em;
	left: 1.5em;
	z-index: -1;
  }
  
  .stepbarwrap:last-of-type .stepline:last-of-type {
	display: none;
  }
  
  @media screen and (max-width: 960px) {
	.stepbar {
	  width: 100%;
	}
  }






/* ★カイポケ用追加
------------------------------------------------------------*/

.dekiagari_wrap {
    display: flex;
    flex-wrap: wrap;
}

.dekiagari_box {
    margin: 20px auto;
    padding: 0px 20px;
    flex: 1 1 300px; /* Adjust the min width as needed */
}


@media (max-width: 768px) {
    .dekiagari_wrap {
        flex-direction: column;
}}

/* ★カイポケ用追加
------------------------------------------------------------*/

.dekiagari2_wrap {
    display: flex;
    flex-wrap: wrap;
}

.dekiagari2_box {
    margin: 20px auto;
    padding: 0px 10px;
    flex: 1 1 100px; /* Adjust the min width as needed */
}


@media (max-width: 768px) {
    .dekiagari2_wrap {
        flex-direction: column;
}}


/* 画像切替　https://www.omakase.net/blog/2020/10/selectchange.html
------------------------------------------------------------*/

/* 装飾は省略 */
#selectPhoto{
	font-size:2.0rem;
}
.kirikae {
	width:100%;
	margin:10px auto;
}
@media (min-width: 601px) {
.kirikae {
	max-width:600px;
	margin:10px auto;
}
}

.kirikae ul li:nth-of-type(n+2){ display: none; }





/* ライトボックス風
------------------------------------------------------------*/
/* ギャラリーのサムネイル */
.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: 10px;
}

.gallery img {
  width: 45%;
  height: auto;
  cursor: pointer;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transition: transform 0.2s;
  border: 1px solid #ddd;

}

.gallery img:hover {
  transform: scale(1.05);
}

/* ライトボックスの基本スタイル */
.lightbox {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.85);
  z-index: 9999;
  text-align: center;
  padding-top: 60px;
}

.lightbox img {
  max-width: 90%;
  max-height: 80vh;
  border-radius: 8px;
}

.close {
  position: absolute;
  top: 20px; right: 20px;
  font-size: 28px;
  color: white;
  cursor: pointer;
}

.nav {
  margin-top: 20px;
}

.nav button {
  background: #fff;
  border: none;
  padding: 10px 20px;
  margin: 0 10px;
  font-size: 18px;
  border-radius: 4px;
  cursor: pointer;
}

/* 💻 PC表示用の調整 */
@media (min-width: 768px) {
  .gallery img {
    width: 20%;
    margin:1%;
  }

  .lightbox img {
    max-width: 70%;
    max-height: 80vh;
  }

  .nav button {
    font-size: 20px;
    padding: 12px 24px;
  }
}








/* ★トップページ
------------------------------------------------------------*/





@media screen and (min-width: 768px) {
}
