@charset "utf-8";
/* -------------------------------------
 * Since:     2015-01-15
 * Modified:  2015-01-15
 * Guideline: Ver.2.0
 * -------------------------------------
 */
 
/* ================================================================================== */
/*!　フォーム　共通
 * ---------------------------------------------------------- */

.formLayout p.btn {
	text-align: center;
	margin: 30px auto;
	max-width: 310px;
}
.formLayout p.btn input {
	padding: 15px;
	max-width: 310px;
	text-align: center;

	font-family: "Font Awesome 5 Free";
	font-weight:900;
	color: #FFF;
	background-color:#006CB6;
	
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}
.formLayout p.btn input:link,
.formLayout p.btn input:active,
.formLayout p.btn input:visited {
	color: #fff;
}
.formLayout p.btn input:hover {
	background-color: #BB0000;
	transition: background-color 1s;
}
.formLayout p.btn input[type=submit] {
	width: 310px;
}
.form input[type=submit],
.form input[type=button] {
	font-family: "Font Awesome 5 Free";
	font-weight:900;
}
.form textarea {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	width: 100%;
	color: #000;
	background: #FFF;
	border: 1px solid #CCC;
}
.form select,
.form input[type=email],
.form input[type=text],
.form input[type=tel],
.form input[type=password] {
	border: 1px solid #CCC;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	padding:9px;
}
.form input.itext:focus, textarea:focus {
	color: #000000;
	background: #FFFFFF;
}
.form input.itext:focus, textarea:focus {
	color: #000000;
	background: #FFFFcc;
}
.form input.itext:focus, textarea:focus {
	color: #000000;
	background: #FFFFcc;
	border:1px solid #cccccc;
}

@media screen and (max-width:640px) {
.form input,
.form textarea {
  font-size: 1.6em;
}
.formLayout p.btn input[type=submit] {
	width: 80%;
}
.form select {
  font-size: 1.6em;
  width:100%;
}
input.itext {
 width: 100%;
 box-sizing: border-box;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -ms-box-sizing: border-box;
 -o-box-sizing: border-box;
}
}

/*　メモ　*/
.container div.notes01 {
	background-color: #FFE3C8;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-ms-border-radius: 20px;
	-o-border-radius: 20px;
	border-radius: 20px;
	clear: both;
	padding: 25px;
	margin-bottom: 30px;
}
.container div.notes01 h3.tit {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 15px;
	color: #FF0000;
}
/*　メモ　*/
.container div.notes02 {
	background-color: #F4F6F8;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-ms-border-radius: 20px;
	-o-border-radius: 20px;
	border-radius: 20px;
	clear: both;
	padding: 25px;
	margin-bottom: 10px;
}
.container div.notes02 h3.tit {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 15px;
	color: #006CB6;
}
@media screen and (min-width:640px) {
.container div.notes01 {
	padding: 45px;
}
.container div.notes02 {
/*	padding: 45px;*/
}
}

/*　メールアドレス表示　*/
.container p.mailDisplay {
	text-align: center;
	margin-bottom: 70px;
	font-size:1.625rem;
	font-weight:bold;
}

/* ================================================================================== */
/*!　01.トップページ
 * ---------------------------------------------------------- */
/*　イメージ　トップ　*/
#home #imgTop {
	padding: 50px 0px 30px;
	margin: 0px 0px 30px;
	text-align:center;
	overflow: hidden;
	background-image: url(../img/home_img_01_sp.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

	width: 100%;
}
#home #imgTop h1 {
	font-size: 2.4rem;
	line-height: 1.4;
	color: #006CB6;
	margin-bottom: 20px;
	text-shadow: 
    white 2px 0px,  white -2px 0px,
    white 0px -2px, white 0px 2px,
    white 2px 2px , white -2px 2px,
    white 2px -2px, white -2px -2px,
    white 1px 2px,  white -1px 2px,
    white 1px -2px, white -1px -2px,
    white 2px 1px,  white -2px 1px,
    white 2px -1px, white -2px -1px;
}
#home #imgTop p.text {
	font-size: 1.225rem;
	color: #333;
	margin-bottom: 20px;
	
	text-shadow: 
    white 2px 0px,  white -2px 0px,
    white 0px -2px, white 0px 2px,
    white 2px 2px , white -2px 2px,
    white 2px -2px, white -2px -2px,
    white 1px 2px,  white -1px 2px,
    white 1px -2px, white -1px -2px,
    white 2px 1px,  white -2px 1px,
    white 2px -1px, white -2px -1px;
}
#home #imgTop p.text sup {
	font-size: 0.75rem;
}
#home #imgTop p.attention {
	font-size: 0.875rem;
	color: #333;

	text-shadow: 
    white 2px 0px,  white -2px 0px,
    white 0px -2px, white 0px 2px,
    white 2px 2px , white -2px 2px,
    white 2px -2px, white -2px -2px,
    white 1px 2px,  white -1px 2px,
    white 1px -2px, white -1px -2px,
    white 2px 1px,  white -2px 1px,
    white 2px -1px, white -2px -1px;
}

/*　写真一覧　*/
#home .characteristic {
	margin: 0px 0px 50px;
	padding: 0px;
	overflow: hidden;
}
#home .characteristic ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#home .characteristic li {
	padding: 15px 30px;
	width: 33%;
	border-bottom: none;
	
	box-sizing: border-box;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -ms-box-sizing: border-box;
 -o-box-sizing: border-box;
}
#home .characteristic li:nth-child(2) {
	border-right: 1px solid #CCC;
	border-left: 1px solid #CCC;
}
#home .characteristic li img {
	display: block;
	max-width: 100%;
	height: auto;
}
#home .characteristic li figure {
	margin-bottom: 20px;
}
#home .characteristic li p.text {
	font-size: 1.375rem;
	color: #333;
}
#home .characteristic li p.text sup {
	font-size: 0.75rem;
}
@media screen and (max-width: 640px){
#home .characteristic ul {
		flex-direction: column;
}
#home .characteristic li {
		width: 100%;
		padding: 15px 10px;
		border-bottom: 1px solid #CCC;
		display:flex;
}
#home .characteristic li:nth-child(2) {
	border-right: none;
	border-left: none;
}
#home .characteristic li figure {
	width: 50%;
	margin-right: 25px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	margin-bottom: 0px;
}
#home .characteristic li div.textBlock {
	width: 50%;
}
}

/*　ボタン　*/
#home .btnList {
	padding: 0px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
#home .btnList li {
	padding: 0px;
	width: 100%;
	margin: 0px 0px 30px;
}
#home .btnList a {
	padding: 15px;
	text-decoration: none;
	display:block;
	text-align:center;
	position: relative;

	font-size: 1.325rem;
	
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
	
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
#home .btnList li:nth-child(1) a {
	background-color:#FF7373;
}
#home .btnList li:nth-child(2) a {
	background-color:#3399CC;
}
#home .btnList a:after {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-weight:900;
	content:"\f101";
	right: 10px;
	
	top: 50%;
	-webkit-transform: translate(0%,-50%);
	-moz-transform: translate(0%,-50%);
	-ms-transform: translate(0%,-50%);
	-o-transform: translate(0%,-50%);
	transform: translate(0%,-50%);
}
#home .btnList a:link,
#home .btnList a:active,
#home .btnList a:visited {
	color: #fff;
}
#home .btnList a:hover {
	background-color: #BB0000 !important;
	transition: background-color 1s;
	color: #FFF;
}

@media print, screen and (min-width:980px) {
#home .container > .inner {
	padding:0 50px;
}

/*　イメージ　トップ　*/
#home #imgTop {
	background-image: url(../img/home_img_01_pc.jpg);
	padding: 100px 0px 60px;
	margin: 0px 0px 50px;
	width: 100%;
}
#home #imgTop h1 {
	font-size: 3.25rem;
	margin-bottom: 50px;
}
#home #imgTop p.text {
	font-size: 1.625rem;
}

/*　ボタン　*/
#home .btnList {
	max-width: 460px;
}
#home .btnList a {
	padding: 20px;
	font-size: 1.625rem;
}
}

/* ================================================================================== */
/*!　02.新規会員登録
 * ---------------------------------------------------------- */

@media print, screen and (min-width:980px) {
#member-regist .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　02.本登録フォーム
 * ---------------------------------------------------------- */

#entry .container div.block {
	margin-bottom: 30px;
	overflow: hidden;
}
#entry .container div.block .flR {
	text-align: center;
	margin-bottom: 25px;
}
#entry .container div.block h2 {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 15px;
	color: #006CB6;
}



@media print, screen and (min-width:640px) {
#entry .container section.block .flR {
	margin-left: 50px;
	margin-bottom: 50px;
}
}

@media print, screen and (min-width:980px) {
#entry .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　03.ログイン画面
 * ---------------------------------------------------------- */

@media print, screen and (min-width:980px) {
#login .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　04.パスワード再発行依頼
 * ---------------------------------------------------------- */

@media print, screen and (min-width:980px) {
#password-reissue .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　05.マイページTOP
 * ---------------------------------------------------------- */
#mypage .container .menuList {
	padding: 0px;
	max-width: 540px;
	margin-right: auto;
	margin-left: auto;
}
#mypage .container .menuList li {
	padding: 0px;
	margin: 0px 0px 15px;
	max-width: 540px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
#mypage .container .menuList a {
	padding: 15px;
	text-decoration: none;
	display:block;
	text-align:center;
	position: relative;

	font-weight: bold;
	overflow: hidden;
	font-size:1.143rem;
	background-color:#006CB6;
	
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
	
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
#mypage .container .menuList a:link,
#mypage .container .menuList a:active,
#mypage .container .menuList a:visited {
	color: #fff;
}
#mypage .container .menuList a:hover {
	background-color: #BB0000;
	transition: background-color 1s;
}
#mypage .container .menuList a:after {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-weight:900;

	content:"\f101";
	right: 10px;
	
	top: 50%;
	-webkit-transform: translate(0%,-50%);
	-moz-transform: translate(0%,-50%);
	-ms-transform: translate(0%,-50%);
	-o-transform: translate(0%,-50%);
	transform: translate(0%,-50%);
}

/*　テーブルレイアウト　*/
#mypage .container #situation {
	border-top: 1px solid #CCC;
	border-right: 1px solid #CCC;
	width: 100%;
	margin-bottom: 40px;
}
#mypage .container #situation th {

	background-color: #F5F7F6;
	padding: 10px 5px;
	vertical-align: top;
	text-align:center;
	border-left: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}
#mypage .container #situation td {
	padding: 10px 5px;

	text-align:center;
	background-color: #FFF;
	border-left: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}

/*　ボタン　*/
#mypage .container p.btn01 {
	padding: 0px;
	width: 100%;
}
#mypage .container p.btn01 a,
#amount-use .container p.btn01 a {
	padding: 10px;
	text-decoration: none;
	display:inline-block;
	text-align:center;
	font-weight: bold;
	line-height:1;
	background-color:#006CB6;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	white-space: nowrap;
}

#mypage .container p.btn01 a:link,
#mypage .container p.btn01 a:active,
#mypage .container p.btn01 a:visited,
#amount-use .container p.btn01 a:link,
#amount-use .container p.btn01 a:active,
#amount-use .container p.btn01 a:visited {
	color: #fff;
}
#mypage .container p.btn01 a:hover,
#amount-use .container p.btn01 a:hover {
	background-color: #BB0000;
	transition: background-color 1s;
	color: #FFF;
}
@media print, screen and (min-width:980px) {
#mypage .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　06.料金・使用量 照会
 * ---------------------------------------------------------- */
#amount-use .container h2.tit {
  font-size:1.5rem;
	font-weight:bold;
	position:relative;
	margin: 0px auto 50px;
	width: 8em;
	padding-top: 10px;
}
#amount-use .container h2.tit:before {
	position:absolute;
	display: inline-block;
	line-height:0;
	font-size:0px;
	
	left:-45px;
	top: 50%;
	-webkit-transform: translate(0%,-50%);
	-moz-transform: translate(0%,-50%);
	-ms-transform: translate(0%,-50%);
	-o-transform: translate(0%,-50%);
	transform: translate(0%,-50%);
}
#amount-use .container section.block {
	margin-bottom:60px;
}
#amount-use .container section.block h3.tit {
	margin-bottom:35px;
	font-weight: bold;
	font-size: 1.25rem;
	color: #FFF;
	padding: 10px 15px;
}
/*　お客様番号・ご契約者名　*/
#amount-use .container dl.customer {
	font-size:1.125rem;
	margin: 0 0 15px;
}
#amount-use .container dl.customer dt {
	float: left;
	width: 9em;
	padding: 0;
}
#amount-use .container dl.customer dd {
	padding: 0px 0 0px 6em;
	font-weight: bold;
}
#amount-use .container dl.customer dd:before {
	content:":";
	padding-right:10px;
}
/*　テーブルレイアウト　*/
#amount-use .container table {
	border-top: 1px solid #CCC;
	border-right: 1px solid #CCC;
	width: 100%;
}
#amount-use .container table th {
	max-width:33%;
	background-color: #F5F7F6;
	padding: 10px 5px;
	vertical-align: top;
	text-align:center;
	border-left: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}
#amount-use .container table td {
	padding: 10px 5px;
	vertical-align: top;
	text-align:center;
	background-color: #FFF;
	border-left: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}

/*　ガス　*/
#amount-use.gas .container h2.tit:before {
	content:url(../img/ico_gas.jpg);
}
#amount-use.gas .container section.block h3.tit {
	background-color: #0099CC;
}

/*　電気　*/
#amount-use.electrical .container h2.tit:before {
	content:url(../img/ico_electrical.jpg);
}
#amount-use.electrical .container section.block h3.tit {
	background-color: #FF9900;
}
@media print, screen and (min-width:980px) {
#amount-use .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　07.照会情報の編集
 * ---------------------------------------------------------- */

@media print, screen and (min-width:980px) {
#inquiry-edit .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　08.照会情報の削除
 * ---------------------------------------------------------- */

@media print, screen and (min-width:980px) {
#inquiry-delete .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　09.照会情報の追加
 * ---------------------------------------------------------- */

@media print, screen and (min-width:980px) {
#inquiry-add .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　11.ユーザID（メールアドレス）変更
 * ---------------------------------------------------------- */

@media print, screen and (min-width:980px) {
#mail-change .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　12.パスワード変更
 * ---------------------------------------------------------- */

@media print, screen and (min-width:980px) {
#password-chang .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　13.秘密の質問と答え変更
 * ---------------------------------------------------------- */

@media print, screen and (min-width:980px) {
#secret-qa .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　14.退会
 * ---------------------------------------------------------- */

@media print, screen and (min-width:980px) {
#resign .container > .inner {
	padding:0;
}
}

/* ================================================================================== */
/*!　15.利用規約
 * ---------------------------------------------------------- */
#terms .container section.block {
	margin-bottom: 60px;
}
#terms .container section.block h2 {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 15px;
}
#terms .container section.block > ul {
	margin: 0px 0px 30px;
}
#terms .container section.block > ul > li {
	counter-increment: listnumber;
	text-indent: -2.5em;
	padding-left: 2.5em;
}
#terms .container section.block > ul > li > ol {
	padding-left: 1.5em;
	text-indent: 0em;
	list-style: decimal;
}
#terms .container section.block > ul > li:before {
	content: "("counter(listnumber) ")";
	padding-right:1em;
}

@media print, screen and (min-width:980px) {
#terms .container > .inner {
	padding:0 50px;
}
}

/* ================================================================================== */
/*!　16.照会情報について
 * ---------------------------------------------------------- */
#inquiry-info .container section.block {
	margin-bottom: 30px;
	overflow: hidden;
}
#inquiry-info .container section.block .flR {
	text-align: center;
	margin-bottom: 25px;
}
#inquiry-info .container section.block h2 {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 15px;
	color: #006CB6;
}

@media print, screen and (min-width:980px) {
#inquiry-info .container > .inner {
	padding:0 50px;
}
}

@media print, screen and (min-width:640px) {
#inquiry-info .container section.block .flR {
	margin-left: 50px;
	margin-bottom: 50px;
}
}

/* ================================================================================== */
/*!　17.大和ガス 節電ポイントプログラム申込みページ
 * ---------------------------------------------------------- */

#setsuden .container .block {
	max-width: 850px;
	margin-left: auto;
	margin-right: auto;
}

#setsuden .container .form input.number {
	width: 100%;
}
@media print, screen and (min-width:640px) {
#setsuden .container .form input.number {
	width: 60%;
}
}


/* ================================================================================== */
/*! お知らせ
 * ---------------------------------------------------------- */

.news-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.news-item {
  display: flex;
  align-items: center;
  gap: 0rem;
  padding: 0.5rem 0;
}

.news-date {
  flex-shrink: 0;
  width: 8em; /* 日付の幅を固定 */
}

.news-title {
  color: inherit;
  line-height: 1.5;
  font-weight: bold;
}

/* スマホ向け */
@media screen and (max-width: 600px) {
  .news-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .news-date {
    width: auto;
  }
}

/* ================================================================================== */
/*! お知らせ　PDF部分
 * ---------------------------------------------------------- */


.file-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* PDFアイコン */
.file-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 20px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background: #111;
  border-radius: 2px;
  flex-shrink: 0;
}

/* リンク全体 */
.file-item a {
  color: #333;
}

/* ファイル名 */
.file-name {
  font-weight: bold;
}

/* hover時（リンク感をほんのり） */
.file-item a:hover .file-name {
  text-decoration: underline;
}

/* ================================================================================== */
/*! お知らせ　戻るボタン
 * ---------------------------------------------------------- */


.btn-back {
  text-align: center;
  margin: 50px 0 0px 0;
}

.btn-back a {
  display: inline-block;
  padding: 14px 40px;
  background-color: #0b67b2; /* 画像に近い青 */
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  border-radius: 6px;
  transition: background-color 1s ease;
}

.btn-back a:hover {
  background-color: #BB0000;
}



/* ================================================================================== */
/*! 利用料詳細
 * ---------------------------------------------------------- */

#amount-use .container table.main-table td {
  padding: 10px 10px;

}
#amount-use .container table.main-table th {
  min-width: clamp(50px, 20vw, 200px)

}


#amount-use .container table.price-table{
  border-collapse: collapse;  /* 余計な隙間や縦線を出さない */
  table-layout: fixed;        /* 3列を保ちつつ縮めて収める */
  border-top: none;
  border-right: none;
  margin: 0px 0px 15px 0px;
}

/* 共通（縦線は一切付けない） */
#amount-use .container table.price-table th,
#amount-use .container table.price-table td{
  border-left: 0;
  border-right: 0;
  text-align: center;
  background-color: #fff;
  padding: 5px 5px;
}



/* 見出し：上の線は無し、下だけ点線 */
#amount-use .container table.price-table thead th{
  color: #0b65c2;
  font-weight: 700;
  border-top: 0;                          /* 表の上端は線なし */
  border-bottom: 1px dotted #bfbfbf;      /* 見出し下はグレー点線 */
}

/* 本文：各行の下に点線（＝横線） */
#amount-use .container table.price-table tbody td{
  border-bottom: 1px dotted #c9c9c9;
}

/* m3 の “3” を小さく上寄せ */
#amount-use .container table.price-table .sup{
  font-size: 0.7em;
  vertical-align: super;
  line-height: 1;
}




