@charset "utf-8";

.sp_mode_only {
  display: none;
  }

h1 {
font-size: 12pt;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

}
#container {
	width: 1068px;
	padding: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}
#header {
	width: 1068px;
	border-bottom: 5px solid #ea5431;
	margin-bottom:15px;
	padding-bottom:10px;
}
#logo_space {

    width: 300px;;
	
	height:94px;
    margin-bottom:1px;
	float:left;
	padding:0px;

}
#logo_space_right {
    text-align:right;
    height:94px;
    margin-bottom:1px;
	float:right;
	padding:0px;
}
a.cp_btn {
	/*display: block;*/
	width: 180px;
	padding: 3px;
	text-align: center;
	text-decoration: none;
	color: #EC407A;
	border: 2px solid #EC407A;
	border-radius: 3px;
	transition: .4s;
}
a.cp_btn:hover {
	background: #EC407A;
	color: #fff;
}
a.cp_btn_blue {
	/*display: block;*/
	width: 180px;
	padding: 3px;
	text-align: center;
	text-decoration: none;
	color: blue;
	border: 2px solid blue;
	border-radius: 3px;
	transition: .4s;
}
a.cp_btn_blue:hover {
	background: blue;
	color: #fff;
}
#navibar2  {
  padding:0px;
  margin:0px;
  overflow: hidden;
}
#navibar2 ul {
  padding:0px;
  margin:0px;

}
#navibar2 li {
  width: 176px;
  text-align: center;
  background-color: #ff00ff;
  float: left;
  height: 50px;
  margin-top: 2px;
  margin-right: 2px;
  list-style: none;
  
}
#navibar2 li.current {
  background-color:#dc143c;
}
#navibar2 li a {
  text-decoration: none;
  color: #fff;
  font-size:10pt;
  font-weight: bold;
  padding-top: 14px;
  padding-bottom: 14px;
  display: block;
}
#navibar2 li:hover {
  background-color:#dc143c;
}
#contents {
	width: 1068px;
	clear: both;
	margin-bottom: 20px;
	margin-top: 10px;
}
#top_of_contents {
	width: 1068px;
    height: 30px;
	border-bottom: 2px solid #ccc;
	margin-bottom: 10px;

}
#right_bar {
	width: 240px;
	float: left;
	margin-bottom: 20px;
}
#main_bar {

	width: 810px;
	margin-left: 18px;
	float: right;
}
.right_bar_box0_top {
	width: 200px;
	background-image: url(images/right_menu00.gif);
	height: 20px;
	padding-right: 15px;
	padding-left: 25px;
	padding-top: 10px;
	padding-bottom: 15px;
	color: #fff;
	font-weight:bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-shadow: 1px 1px 3px rgba(0,0,0,1);
}
.right_bar_box0_bottom {
	width: 228px;
	border-right: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 5px;
	margin-bottom: 10px;
	background-color:#ccc;
}
.right_bar_box0_1_top {
	width: 200px;
	background-image: url(images/right_menu00_1.gif);
	height: 20px;
	padding-right: 15px;
	padding-left: 25px;
	padding-top: 10px;
	padding-bottom: 15px;
	color: #fff;
	font-weight:bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-shadow: 1px 1px 3px rgba(0,0,0,1);
}
.right_bar_box0_1_bottom {
	width: 228px;
	border-right: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 5px;
	margin-bottom: 10px;
}
.right_bar_box1_top {
	width: 200px;
	background-image: url(images/right_menu1.gif);
	height: 20px;
	padding-right: 15px;
	padding-left: 25px;
	padding-top: 10px;
	padding-bottom: 15px;
	color: #000;
	font-weight:bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.right_bar_box1_bottom {
	width: 216px;
	/*border-right: 7px solid #6B74DA;*/
	/*border-left: 7px solid #2651A3;*/
	/*border-bottom: 7px solid #3641C3;*/
	/*padding: 5px;*/
	margin-bottom: 10px;
}


.right_bar_box1_bottom ul li {
	list-style-image: none;
	list-style-type: none;
	list-style-position: outside;
	/*float: left;*/
	width: 240px;
	height: 45px;
	margin: 0px;
	padding: 0px;
}
.right_bar_box1_bottom ul {
	margin: 0px;
	padding: 0px;
}


.right_bar_box1_bottom ul li a {
	font-size: 16px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*text-align: center;*/
	padding-right: 10px;
	padding-left: 25px;
	padding-top: 10px;
	padding-bottom: 10px;
	text-decoration: none;
	height: 25px;
	width: 205px;
	display: block;
	background-image: url(images/right_menu1_2.gif);
	font-weight: bold;
	color: #092F00;
}
.right_bar_box2_top {
	width: 200px;
	background-image: url(images/right_menu2.gif);
	height: 20px;
	padding-right: 15px;
	padding-left: 25px;
	padding-top: 10px;
	padding-bottom: 15px;
	color: #000;
	font-weight:bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.right_bar_box2_bottom {
	width: 216px;
	/*border-right: 7px solid #6B74DA;*/
	/*border-left: 7px solid #2651A3;*/
	/*border-bottom: 7px solid #3641C3;*/
	/*padding: 5px;*/
	margin-bottom: 10px;
}


.right_bar_box2_bottom ul li {
	list-style-image: none;
	list-style-type: none;
	list-style-position: outside;
	/*float: left;*/
	width: 240px;
	height: 45px;
	margin: 0px;
	padding: 0px;
}
.right_bar_box2_bottom ul {
	margin: 0px;
	padding: 0px;
}


.right_bar_box2_bottom ul li a {
	font-size: 16px;
	/*text-align: center;*/
	padding-right: 10px;
	padding-left: 25px;
	padding-top: 10px;
	padding-bottom: 10px;
	text-decoration: none;
	height: 25px;
	width: 205px;
	display: block;
	background-image: url(images/right_menu1_2.gif);
	font-weight: bold;
	color: #092F00;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.main_menu1 {
    height: 50px;
	width: 785px;
    padding-left: 25px;
	background-image: url(images/main_menu1.jpg);
	display: table-cell;
    vertical-align: middle;
	font-size: 16pt;
	font-style: bold;
}


#footer {
	padding: 20px;
	width: 1010px;
	clear: both;
	text-align: center;
}
#footer_shikiri {
	clear: both;

}
.list1 {
	font-size: 14px;
	list-style-image: url(images/list_mark1.gif);
	line-height: 22px;
	margin: 5px;
	padding-left: 15px;
}
.list2 {
    padding-left: 30px;
	margin: 5px;
    background: url(images/0503_rd.png) no-repeat 5px 3px;;
    list-style: none;
	line-height: 22px;
	/*background-repeat（画像の繰り返し表示）*/
    /*background-position-x（X軸方向の開始位置）*/
    /*background-position-y（Y軸方向の開始位置）*/
}

.main_list1 ul {
	margin: 0px;
	padding: 0px;
	border-top: dashed 1px #8275d7;
}
.main_list1 ul li {
	list-style-image: none;
	list-style-type: none;
	/*list-style-position: outside;*/
	/*float: left;*/
	/*width: 720px;*/
	/*height: 45px;*/
	margin: 0px;
	font-size: 16px;
	/*text-align: center;*/
	padding-right: 10px;
	padding-left: 25px;
	padding-top: 10px;
	padding-bottom: 10px;
	text-decoration: none;
	height: 25px;
	width: 685px;
	display: block;
	background-image: url(images/left_menu1.gif);
	background-color:#cccccc;
	font-weight: bold;
	color: #092F00;
	
}
.main_list1 ul li a {
	font-size: 16px;
	/*text-align: center;*/
	padding-right: 10px;
	padding-left: 25px;
	padding-top: 10px;
	padding-bottom: 10px;
	text-decoration: none;
	height: 25px;
	width: 685px;
	display: block;
	/*background-image: url(images/left_menu1.gif);*/
	background-color:#cccccc;
	font-weight: bold;
	color: #092F00;
}

.main_list2 ul {
	margin: 0px;
	padding: 0px;
	border-top: dashed 1px #8275d7;
}
.main_list2 ul li {
	list-style-image: none;
	list-style-type: none;
	list-style-position: outside;
	/*float: left;*/
	/*width: 720px;*/
	/*height: 45px;*/
	margin: 0px;
	/*text-align: center;*/
	padding:0px;
    /*position: relative;*/
	
}
.main_list2 ul li a {
	font-size: 16px;
	/*text-align: center;*/
	padding-right: 10px;
	padding-left: 25px;
	padding-top: 7px;
	padding-bottom: 10px;
	text-decoration: none;
	height: 28px;
	width: 665px;
	display: block;
	background-image: url(images/left_menu2.gif);
	background-color:#cccccc;
	/*font-weight: bold;*/
	color: #092F00;
	/*position: absolute;*/
    /*top: 50%;*/
	display: table-cell;
    vertical-align: middle;
}
.main_list2 ul li a:hover {

	background-image: url(images/left_menu2_2.gif);
	font-weight: bold;
	color: #fff;
}
/*
.table1{
width:100%;
border-collapse: separate;
border-spacing: 0px;
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
}
.table1 th{
/*width: 25%;*/
padding: 10px;
text-align: left;
vertical-align: top;
color: #444;
background-color: #cdcdcd;
border-top: 1px solid #fff;
border-left: 1px solid #fff;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
.table1 td{
padding: 10px;
background-color: #fafafa;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
*/
.font1 {
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

}
.button1 input {
	background: -moz-linear-gradient(top,#BFD9E5, #0392cb 50%,#0080B3 50%,#0099CC);
	background: -webkit-gradient(linear, left top, left bottom, from(#BFD9E5), color-stop(0.5,#3D95B7), color-stop(0.5,#0080B3), to(#0099CC));
	color: #FFF;
	background-color:#0099CC;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border: 1px solid #0099CC;
	-moz-box-shadow: 1px 1px 1px rgba(000,000,000,0.3),inset 0px 0px 3px rgba(255,255,255,0.5);
	-webkit-box-shadow: 1px 1px 1px rgba(000,000,000,0.3),inset 0px 0px 3px rgba(255,255,255,0.5);
	text-shadow: 0px 0px 3px rgba(0,0,0,1);
	width: 150px;
	padding: 10px 0;
	font-size:12pt;
	font-weight:bold;
    cursor: pointer;  
}
.button1 input:hover {

	color: yellow;
	text-shadow: 0px 0px 3px rgba(196,0,204,1);
}
.button2 input {
	background: linear-gradient(to bottom, #a6ffa6,#00b500 50%,#009500 50%, #00cc00);
	background: -moz-linear-gradient(top,#a6ffa6 ,#00b500 50%,#009500 50%,#00cc00);
	background: -webkit-gradient(linear, left top, left bottom, from(#a6ffa6), color-stop(0.5,#00b500), color-stop(0.5,#009500), to(#00cc00));

	/*background: -moz-linear-gradient(top,#BFD9E5, #3D95B7 50%,#0080B3 50%,#0099CC);*/
	/*background: -webkit-gradient(linear, left top, left bottom, from(#BFD9E5), color-stop(0.5,#3D95B7), color-stop(0.5,#0080B3), to(#0099CC));*/
	color: #FFF;
	background-color:#00cc00;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border: 1px solid #00cc00;
	-moz-box-shadow: 1px 1px 1px rgba(000,000,000,0.3),inset 0px 0px 3px rgba(255,255,255,0.5);
	-webkit-box-shadow: 1px 1px 1px rgba(000,000,000,0.3),inset 0px 0px 3px rgba(255,255,255,0.5);
	text-shadow: 0px 0px 3px rgba(0,0,0,1);
	width: 200px;
	padding: 7px 0;
	font-size:14pt;
	font-weight:bold;
    cursor: pointer;  
}
.button2 input:hover {

	color: yellow;
	text-shadow: 0px 0px 3px rgba(196,0,204,1);
}
.clear {
    clear: both;

}

.side_menu1 ul {
    border: solid 2px #ea5431;
    padding: 0.5em;
  position: relative;
  margin-top: 2em;
}
.side_menu1 ul li {
    line-height: 1.5;
    padding: 0.5em 0 0.5em 1.4em;
  border-bottom: dashed 1px silver;
  list-style-type: none!important;
}
.side_menu1 ul li:last-of-type{
  border-bottom: none;
}
.side_menu1 ul li:before {/*リスト内のアイコン*/
  	font-family: "Font Awesome 5 Free";
  	content: "\f35a";/*アイコン種類*/
  	position: absolute;
  	left : 0.5em; /*左端からのアイコンまで*/
  	color: #ea5431; /*アイコン色*/
}
.side_menu1 ul li:after {/*タイトルタブ*/
  	background: #ea5431;
  	color: #fff;
  	font-weight: bold;
  	position: absolute;
  	left: -2px;
  	bottom: 100%;
  	padding: 1px 7px;
  	content: "コンテンツ";/*タブの文字*/
  	letter-spacing: 0.05em;/*字間*/
}
.side_menu2 ul {
    border: solid 2px #c71585;
    padding: 0.5em;
  position: relative;
  margin-top: 2em;
}
.side_menu2 ul li {
    line-height: 1.5;
    padding: 0.5em 0 0.5em 1.4em;
  border-bottom: dashed 1px silver;
  list-style-type: none!important;
}
.side_menu2 ul li:last-of-type{
  border-bottom: none;
}
.side_menu2 ul li:before {/*リスト内のアイコン*/
  	font-family: "Font Awesome 5 Free";
  	content: "\f35a";/*アイコン種類*/
  	position: absolute;
  	left : 0.5em; /*左端からのアイコンまで*/
  	color: #ea5431; /*アイコン色*/
}
.side_menu2 ul li:after {/*タイトルタブ*/
  	background: #c71585;
  	color: #fff;
  	font-weight: bold;
  	position: absolute;
  	left: -2px;
  	bottom: 100%;
  	padding: 1px 7px;
  	content: "姉妹サイト";/*タブの文字*/
  	letter-spacing: 0.05em;/*字間*/
}
.side_menu3 ul {
    border: solid 2px #ea5431;
    padding: 0.5em;
  position: relative;
  margin-top: 2em;
}
.side_menu3 ul li {
    line-height: 1.5;
    padding: 0.5em 0 0.5em 1.4em;
  border-bottom: dashed 1px silver;
  list-style-type: none!important;
}
.side_menu3 ul li:last-of-type{
  border-bottom: none;
}
.side_menu3 ul li:before {/*リスト内のアイコン*/
  	font-family: "Font Awesome 5 Free";
  	content: "\f35a";/*アイコン種類*/
  	position: absolute;
  	left : 0.5em; /*左端からのアイコンまで*/
  	color: #ea5431; /*アイコン色*/
}
.side_menu3 ul li:after {/*タイトルタブ*/
  	background: #ea5431;
  	color: #fff;
  	font-weight: bold;
  	position: absolute;
  	left: -2px;
  	bottom: 100%;
  	padding: 1px 7px;
  	content: "ニュース";/*タブの文字*/
  	letter-spacing: 0.05em;/*字間*/
}

.side_menu4 ul {
  background: #eee;/*灰色に*/
  border-radius :8px;
  box-shadow :0px 0px 5px #a9a9a9;
  padding: 0.5em 0.5em 0.5em 2em;
}
.side_menu4 ul li {
  line-height: 1.5;
  padding: 0.5em 0;
}
.box10 {
    padding: 0.5em 1em;
    /*margin: 2em 0;*/
    color: #ea5431;
    background: #e4fcff;/*背景色*/
    border-top: dotted 6px #ea5431;
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32);/*影*/
    font-size: 14pt;
    font-weight: bold;
}
.box10 p {
    margin: 0; 
    padding: 0;
}


.hyo1 table{
  border-collapse:collapse;
  margin:0 auto;
  width:100%;
}
.hyo1 td,th{
  border:1px solid #ccc;
  padding:10px;
}
.hyo1 th{
  background:#EFEFEF;
  width:20%;
}



.table1{
  border-collapse:collapse;
  margin:0 auto;
}
.table1 td,th{
  border:1px solid #ccc;
  padding:10px;
}
.table1 th{
  background:#EFEFEF;
  width:25%;
  vertical-align: top;
  text-align: left;
}
.table2 {
 width: 100%;
 /*text-align: center;*/
 border-collapse: collapse;
 border-spacing: 0;
}
.table2 th {
 padding: 10px;
 background: #e9faf9;
 border: solid 1px #778ca3;
}
.table2 td {
 padding: 10px;
 border: solid 1px #778ca3;
}
/*購読申し込みボタン*/
.square_btn1{
    display: inline-block;
    padding: 0.5em 1em;
    text-decoration: none;
    background: #668ad8;/*ボタン色*/
    color: #FFF;
    border-bottom: solid 4px #627295;
    border-radius: 3px;
    font-size: 16pt;
}
.square_btn1:active {/*ボタンを押したとき*/
    -ms-transform: translateY(4px);
    -webkit-transform: translateY(4px);
    transform: translateY(4px);/*下に動く*/
    box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);/*影を小さく*/
    border-bottom: none;
}
/*バックナンバー用バナー*/
.box18{
    margin:2em 0;
    position: relative;
    padding: 0.25em 1em;
    border: solid 2px #ffcb8a;
    border-radius: 3px 0 3px 0;
}
.box18:before,.box18:after
{
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 2px #ffcb8a;
    border-radius: 50%;
}
.box18:after {
    top:-12px;
    left:-12px;
}
.box18:before {
    bottom:-12px;
    right:-12px;
}
.box18 p {
    margin: 0; 
    padding: 0;
}

.my-parts {
  border: 1px solid #c71585;
  text-align: left;
  border-radius: 0px;
  overflow: hidden;
}
.my-parts-title {
  color: #fff;
  background: #c71585;
  padding: .4em .8em;
  font-weight: bold;
}
.my-parts ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.my-parts ul li {
  padding: 0;
  margin: 0;
}
.my-parts ul li a {
  color: #3F51B5;
  font-weight: bold;
  text-decoration: none;
  display: block;
  padding: .4em 1.2em;
  border-bottom: 1px dotted #3F51B5;
}
.my-parts ul li:last-child a {
  border: none;
}

#navibar {
  width:1068px;
  padding:0;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 10px;
	margin-left: 0;
	padding: 0;

}
#navibar ul {

  padding:0px;
  margin:0px;


}
#navibar li {
  width:178px;
  float:left;
  padding:0px;
  margin:0px;
  text-align:center;
  list-style-type: none;
}
#navibar li a {
  width:auto;
  color:#fff;
  font-size:12px;
  font-weight:bold;
  text-shadow:0 -1px 0px #333,0 1px 0px #555;
  padding:10px 0;
  text-decoration:none;
  display:block;
  background:#666;
  background-image: -moz-linear-gradient(top, #888 0%, #777 50%, #666 50%, #777 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #888), color-stop(0.50, #777), color-stop(0.50, #666), color-stop(1, #777));
}
#navibar li a:hover {
  background:#555;
  background-image: -moz-linear-gradient(top, #555 0%, #444 50%, #333 50%, #444 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #555), color-stop(0.50, #444), color-stop(0.50, #333), color-stop(1, #444));
}
/*見出し用バナー20190526*/
.title1 {
  color: #364e96;/*文字色*/
  border: solid 5px #364e96;/*線色*/
  padding: 0.3em;/*文字周りの余白*/
  border-radius: 0.5em;/*角丸*/
  font-weight: bold;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:15pt;
}
/*サブ見出し用バナー20190526*/
.sub_title1 {
  color: #000;
  text-align: center;
  font-size: 18pt;
  font-weight: bold;
  padding:8px;

  border-top: solid 2px #6cb4e4;
  border-bottom: solid 2px #6cb4e4;
  background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
  background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
}
/*動画ページ用20200609*/
.head_test {
  margin:  0;             /* デフォルトCSS打ち消し */
  font-size:  24px;       /* 文字サイズ指定 */
  line-height: 30px;
  border-bottom:  solid;  /* 線指定 */
  padding-bottom:  5px;   /* 余白指定 */
  margin-bottom: 15px;    /* 周りの余白指定 */
}
.p {
  margin:  0 0 40px 0;             /* デフォルトCSS打ち消し */
  padding: 0;
  padding-bottom: 0px;

  box-shadow: 10px 10px 10px rgba(0,0,0,0.4);
}
.iframe {
  margin:  0 0 -8px 0;
}
#top_image1 {
  width:790px;
  height:400px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:30pt;
  color:#ff1493;
  font-weight:bold;
  padding:10px;
  background-image: url("./images/jouou_back1.jpg");
  margin-bottom:10px;
}
/*特徴箇条書き用*/
.ol_pink {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding: 0.3em 0.8em;
  border: solid 5px #ff1493;
  border-radius: 15px;
}
.ol_pink li {
  border-bottom: dashed 1px orange;
  position: relative;
  padding: 0.5em 0.5em 0.5em 30px;
  line-height: 1.5em;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:15pt;
  font-weight:bold;
}
.ol_pink li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*数字のデザイン変える*/
  display:inline-block;
  background: #ff1493;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  /*以下 上下中央寄せのため*/
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.ol_pink li:last-of-type {
  border-bottom: none; /*最後のliの線だけ消す*/
}

#chigai {
   font-size:18pt;
   background-color:#f5deb3;
   padding:20px;
   border-radius: 15px;
}

/*特徴箇条書き用2*/
.ol_green {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding: 0.3em 0.8em;
  border: solid 5px green;
  border-radius: 15px;
}
.ol_green li {
  border-bottom: dashed 1px orange;
  position: relative;
  padding: 0.5em 0.5em 0.5em 30px;
  line-height: 1.5em;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:15pt;
  font-weight:normal;
  /* 以下を追加 */
  top: 0;
  vertical-align: top;
}
.ol_green li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*数字のデザイン変える*/
  display:inline-block;
  background: green;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  /* 以下を追加 */
  top: 13px;
  vertical-align: top;
  /*以下 上下中央寄せのため
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);*/
}
.ol_green li:last-of-type {
  border-bottom: none; /*最後のliの線だけ消す*/
}

/*特徴箇条書き用3*/
.ol_brown {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding: 0.3em 0.8em;
  border: solid 5px #d2691e;
  border-radius: 15px;
}
.ol_brown li {
  border-bottom: dashed 1px orange;
  position: relative;
  padding: 0.5em 0.5em 0.5em 30px;
  line-height: 1.5em;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:15pt;
  font-weight:normal;
  /* 以下を追加 */
  top: 0;
  vertical-align: top;
}
.ol_brown li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*数字のデザイン変える*/
  display:inline-block;
  background: #d2691e;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  /* 以下を追加 */
  top: 13px;
  vertical-align: top;
  /*以下 上下中央寄せのため
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);*/
}
.ol_brown li:last-of-type {
  border-bottom: none; /*最後のliの線だけ消す*/
}
/*特徴記述用バナー*/
.box15 {
    padding: 0.2em 0.5em;
    margin: 2em 0;
    color: #565656;
    background: #ffeaea;
    box-shadow: 0px 0px 0px 10px #ffeaea;
    border: dashed 2px #ffc3c3;
    border-radius: 8px;
}
.box15 p {
    margin: 0; 
    padding: 0;
}

/*クレカ決済画面*/
.payment-container {
    max-width: 600px;
    margin: 50px auto;
    padding: 30px 20px;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 12px #ccc;
  }

  .payment-container h2 {
    text-align: center;
    font-size: 22px;
    margin-bottom: 25px;
    color: #333;
  }

  .card-logos {
    text-align: center;
    margin-bottom: 20px;
  }

  .card-logos img {
    height: 28px;
    margin: 0 8px;
    vertical-align: middle;
  }

  .amount-display {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 25px;
    color: #222;
  }

  label {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
    color: #444;
  }

  #card-element {
    width: 98%;
    padding: 1%;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #fafafa;
    margin-bottom: 20px;
  }

  #payment-message {
    color: red;
    text-align: center;
    margin-top: 10px;
    font-size: 14px;
  }

  #payment-form button {
    width: 100%;
    background-color: #0058ad;
    color: white;
    border: none;
    padding: 14px;
    font-size: 16px;
    border-radius: 6px;
    cursor: pointer;
  }

  #payment-form button:hover {
    background-color: #004b94;
  }
/*実行時のぐるぐるボタン*/
#loading-spinner {
  width: 32px;
  height: 32px;
  border: 4px solid #ccc;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 10px auto;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.stripe-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.stripe-row > .card-number {
  flex: 0 0 40%;
}

.stripe-row > .card-expiry {
  flex: 0 0 28%;
}

.stripe-row > .card-cvc {
  flex: 0 0 28%;
}

.stripe-input-box {
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 12px;
  background-color: #fafafa;
  box-sizing: border-box;
}
/* チェックボックス（トリガー） */
.menu-toggle {
  display: none; /* 非表示 */
}
/*Youtube スマホ横幅100%*/
.video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin-bottom: 10px;
}

.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.top-genka-soft{
  margin: 0 0 24px 0;
  padding: 22px 24px;
  background: #fff4f8;
  border: 1px solid #f0c9d9;
  border-left: 7px solid #c71585;
  border-radius: 8px;
  line-height: 1.9;
}

.top-genka-soft h2{
  margin: 0 0 12px 0;
  padding: 0;
  color: #7f2854;
  font-size: 20pt;
  line-height: 1.4;
}

.top-genka-soft p{
  margin: 0;
  font-size: 12pt;
}

.top-feature{
    display:flex;
    gap:16px;
    margin:20px 0;
    flex-wrap:wrap;
}

.gkjy-feature-area{
  margin:18px 0 20px 0;
}

.gkjy-feature-box{
  margin:10px 0;
  padding:14px 16px;
  background:#fff;
  border:1px solid #f0c9d9;
  border-left:6px solid #c71585;
  border-radius:6px;
}

.gkjy-feature-box h3{
  margin:0 0 6px 0;
  padding:0;
  color:#7f2854;
  font-size:15pt;
  line-height:1.4;
}

.gkjy-feature-box p{
  margin:0;
  padding:0;
  font-size:11pt;
  line-height:1.8;
}

.gkjy-guide-links{
  margin:22px 0 0 0;
  border:1px solid #c71585;
  background:#fff;
  overflow:hidden;
}

.gkjy-guide-title{
  background:#c71585;
  color:#fff;
  font-weight:bold;
  padding:8px 12px;
  font-size:12pt;
}

.gkjy-guide-links ul{
  margin:0;
  padding:0;
  list-style:none;
}

.gkjy-guide-links li{
  margin:0;
  padding:0;
}

.gkjy-guide-links a{
  display:block;
  padding:9px 14px;
  color:#3F51B5;
  font-weight:bold;
  text-decoration:none;
  border-bottom:1px dotted #3F51B5;
  line-height:1.5;
}

.gkjy-guide-links li:last-child a{
  border-bottom:none;
}

.gkjy-guide-links a:hover{
  background:#fff4f8;
}

/* =====================================
   タブレット対応
===================================== */
@media screen and (max-width:1068px) and (min-width:769px){

  #container,
  #header,
  #contents,
  #top_of_contents,
  #footer{
    width:100%;
    max-width:1068px;
    box-sizing:border-box;
  }

  #container{
    padding:0 12px;
  }

  #header{
    padding-bottom:10px;
  }

  #logo_space{
    width:45%;
    height:auto;
    float:left;
    white-space:normal;
  }

  #logo_space a img{
    width:100%;
    max-width:400px;
    height:auto;
  }

  #logo_space > img{
    width:1px !important;
    height:1px !important;
    max-width:1px !important;
    display:none;
  }

  #logo_space_right{
    width:53%;
    height:auto;
    float:right;
    text-align:right;
    font-size:11pt;
    line-height:1.7;
  }

  #logo_space_right font{
    font-size:22pt !important;
  }

  /* 左右カラムを比率で可変 */
  #right_bar{
    width:24%;
    float:left;
    box-sizing:border-box;
  }

  #main_bar{
    width:74%;
    margin-left:2%;
    float:right;
    box-sizing:border-box;
  }

  /* ナビ */
  #navibar2 ul{
    display:flex;
    flex-wrap:wrap;
    padding:0;
    margin:0;
  }

  #navibar2 li{
    width:25%;
    height:auto;
    margin:0;
    box-sizing:border-box;
    border:1px solid #fff;
  }

  #navibar2 li a{
    font-size:9pt;
    padding:12px 4px;
    line-height:1.3;
  }

  /* 見出し */
  .title1{
    font-size:18pt;
  }

  .sub_title1{
    font-size:15pt;
  }

  /* リスト */
  .ol_pink li,
  .ol_green li,
  .ol_brown li{
    font-size:12pt;
  }

  /* テーブル */
  .table1{
    width:100%;
    font-size:11pt;
  }

}

/* ========================================
   スマホ対応（追加分）
======================================== */
@media screen and (max-width: 768px) {
 .pctb_mode_only {
 display: none;
 }
 .sp_mode_only {
 display: block;
 }
  body{
    margin:0;
    padding:0;
  }

  #container,
  #header,
  #contents,
  #top_of_contents,
  #footer{
    width:100%;
    box-sizing:border-box;
  }

  /* ロゴ */
  #logo_space{
    float:none;
    width:100%;
    height:auto;
    text-align:left;
    white-space:normal;
  }

  #logo_space img{
    width:320px;
    height:auto;
  }

  #logo_space_right{
    float:none;
    width:100%;
    height:auto;
    text-align:center;
    margin-top:10px;
    line-height:1.8;
  }

  /* ナビ */
  #navibar2 ul{
    display:flex;
    flex-wrap:wrap;
  }

  #navibar2 li{
    width:50%;
    margin:0;
    box-sizing:border-box;
    border:1px solid #fff;
    height:auto;
  }

  #navibar2 li a{
    padding:12px 5px;
    font-size:11pt;
  }

  /* 2カラム→1カラム */
  #right_bar{
    float:none;
    width:100%;
    margin-bottom:20px;
  }

  #main_bar{
    float:none;
    width:100%;
    margin-left:0;
  }

  /* テーブル */
  table{
    width:100% !important;
    display:block;
    overflow-x:auto;
  }
  /* テーブル */
  .table1{
    width:100%;
    font-size:11pt;
  }
    /* テーブル */
  .table1 th {
    width:25%;
    font-size:11pt;
    
  }
.table1 input[type="text"],
.table1 input[type="password"],
.table1 input[type="email"]{
    width:95%;
}

.table1 textarea{
    width:95%;
}
.table1 .yubin_bangou input {
    width:40px;
}
  /* 大きい文字 */
  #chigai{
    font-size:14pt;
    padding:15px;
  }

  /* 箇条書き */
  .ol_pink li,
  .ol_green li,
  .ol_brown li{
    font-size:12pt;
  }

  /* 電話番号 */
  #logo_space_right font{
    font-size:20pt !important;
  }

  /* ボタン */
  .cp_btn_blue,
  .cp_btn,
  .square_btn1,
  .btn-square-pop{
    display:block;
    width:auto;
    margin:10px auto;
    text-align:center;
  }

  /* 見出し */
  .title1{
    font-size:16pt;
  }

  .sub_title1{
    font-size:14pt;
  }

  h1{
    font-size:10pt;
    line-height:1.5;
  }

  /* フッター */
  #footer{
    padding:15px;
    font-size:10pt;
  }
  #navibar2{
      overflow-x:auto;
      -webkit-overflow-scrolling:touch;
  }

  #navibar2 ul{
      display:flex;
      flex-wrap:nowrap;
      width:max-content;
      padding:0;
      margin:0;
  }

  #navibar2 li{
      flex:none;
      width:150px;
  }
  
  
  /* ここからハンバーガーメニューに関するCSS #side_contentsをハンバーガーメニューのボディーと表示するため#side_contentsを含む */
#right_bar {
  position: fixed;
  top: 0;
  left: -240px; /* 初期状態で非表示 */
  width: 240px; /* サイドバーの固定幅 */
  padding: 10px; /* 既存のパディング指定 */
  height: 100%;
  background-color: #3cb371;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
  transition: left 0.3s ease;
  z-index: 100; /* 背景より上 */
  box-sizing: border-box;
  overflow-y: auto; /* 垂直方向のスクロールバーを表示 */
  overflow-x: hidden; /* 横方向のスクロールバーを非表示（必要なら省略） */

}
/* チェックボックス（トリガー） */
.menu-toggle {
  display: none; /* 非表示 */
}
/* ハンバーガーメニューアイコン */
.hamburger {
  position: absolute;
  top: 25px;
  right: 20px;
  width: 30px;
  height: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  z-index: 101; /* メニューより上 */
}

.hamburger span {
  display: block;
  width: 100%;
  height: 3px;
  background-color: #333;
  transition: transform 0.3s, opacity 0.3s;
  transform-origin: center; /* 回転の中心を明確に */
}


/* チェックボックスがチェックされたとき */
.menu-toggle:checked ~ #right_bar {
  left: 0; /* メニューをスライドイン */
}

.menu-toggle:checked ~ .hamburger span:nth-child(1) {
  transform: rotate(45deg) translateY(9px) translateX(10px); /* translateYを調整 */
}

.menu-toggle:checked ~ .hamburger span:nth-child(2) {
  opacity: 0; /* 真ん中の線を非表示 */
}

.menu-toggle:checked ~ .hamburger span:nth-child(3) {
  transform: rotate(-45deg) translateY(-9px) translateX(10px); /* translateYを調整 */
}
/* メニュー表示中の背景（オーバーレイ） */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* グレーの半透明 */
  opacity: 0;
  visibility: hidden;
  z-index: 99; /* メニューより下 */
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* チェックボックスがチェックされたときにオーバーレイを表示 */
.menu-toggle:checked ~ .overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto; /* クリックを有効にする */
}
/* ここまでハンバーガーメニューに関するCSS #side_contentsをハンバーガーメニューのボディーと表示するため#side_contentsを含む */
}

