/* button 

http://www.webdesignerwall.com/demo/css-buttons.html

usage:

html ex:
<div>
  <input class="btn pink" type="btn" value="Input Element" /> 
  <button class="btn pink">btn Tag</btn>
  <span class="btn pink">Span</span> 
  <div class="btn pink">Div</div> 
  <p class="btn pink">P Tag</p> 
  <h3 class="btn pink">H3</h3> 
</div>

color:
  black, gray, orange, red, blue, rosy, green, pink

style
  round, square

size:
  medium, big, exbig

---------------------------------------------- */
.btn {
  display: inline-block;
  zoom: 1; /* zoom and 
display = ie7 hack for display:inline-block */
  *display: inline;
  vertical-align: baseline;
  margin: 1px;
  outline: none;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  font: 14px Arial, Helvetica, sans-serif;
  padding: .4em .5em .275em;
  text-shadow: 0 -1px 1px rgba(0,0,0,.3);
  -webkit-border-radius: .5em; 
  -moz-border-radius: .5em;
  border-radius: .5em;
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
  -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
  box-shadow: 0 1px 2px rgba(0,0,0,.2);

/* white */
  color: #606060;
  border: solid 1px #b7b7b7;
  background: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
  background: -moz-linear-gradient(top,  #fff,  #ededed);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed');
}
.btn:hover {
  text-decoration: none;

/* white */
  background: #ededed;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc));
  background: -moz-linear-gradient(top,  #fff,  #dcdcdc);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dcdcdc');
}

.round {
  -webkit-border-radius: 2em;
  -moz-border-radius: 2em;
  border-radius: 2em;
}
.square {
  -webkit-border-radius: 0em;
  -moz-border-radius: 0em;
  border-radius: 0em;
}
.medium {
  font-size: 20px;
  padding: .4em 1.5em .42em;
}
.big {
  font-weight: bold;
  font-size: 24px;
  padding: .5em 2em .55em;
}
.exbig {
  font-weight: bold;
  font-size: 30px;
  padding: .5em 2em .55em;
}
.wide {
  font-size: 20px;
  padding: .4em 1.5em .42em;
  width:94%;
  margin:0 3% 0 3%;
display:inline;
}

/* color styles 
---------------------------------------------- */

/* commit */
.commit {
  color: #fff;
  border: solid 1px #980c10;
  background: #d81b21;
  background: -webkit-gradient(linear, left top, left bottom, from(#ed1c24), to(#aa1317));
  background: -moz-linear-gradient(top,  #ed1c24,  #aa1317);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed1c24', endColorstr='#aa1317');
}
.commit:hover {
  color: #eee;
  background: #b61318;
  background: -webkit-gradient(linear, left top, left bottom, from(#c9151b), to(#a11115));
  background: -moz-linear-gradient(top,  #c9151b,  #a11115);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#c9151b', endColorstr='#a11115');
}

/* black */
.black {
  color: #fff;
  border: solid 1px #333;
  background: #333;
  background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#000));
  background: -moz-linear-gradient(top,  #666,  #000);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#666666', endColorstr='#000000');
}
.black:hover {
  color: #fff;
  background: #000;
  background: -webkit-gradient(linear, left top, left bottom, from(#444), to(#000));
  background: -moz-linear-gradient(top,  #444,  #000);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#444444', endColorstr='#000000');
}

/* gray */
.gray {
  color: #fff;
  border: solid 1px #555;
  background: #6e6e6e;
  background: -webkit-gradient(linear, left top, left bottom, from(#888), to(#575757));
  background: -moz-linear-gradient(top,  #888,  #575757);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#888888', endColorstr='#575757');
}
.gray:hover {
  color: #fff;
  background: #616161;
  background: -webkit-gradient(linear, left top, left bottom, from(#757575), to(#4b4b4b));
  background: -moz-linear-gradient(top,  #757575,  #4b4b4b);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#757575', endColorstr='#4b4b4b');
}

/* white */
.white {
  color: #606060;
  border: solid 1px #b7b7b7;
  background: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
  background: -moz-linear-gradient(top,  #fff,  #ededed);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed');
}
.white:hover {
  color: #606060;
  background: #ededed;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc));
  background: -moz-linear-gradient(top,  #fff,  #dcdcdc);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dcdcdc');
}

/* orange */
.orange {
  color: #fff;
  border: solid 1px #da7c0c;
  background: #f78d1d;
  background: -webkit-gradient(linear, left top, left bottom, from(#faa51a), to(#f47a20));
  background: -moz-linear-gradient(top,  #faa51a,  #f47a20);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20');
}
.orange:hover {
  color: #fff;
  background: #f47c20;
  background: -webkit-gradient(linear, left top, left bottom, from(#f88e11), to(#f06015));
  background: -moz-linear-gradient(top,  #f88e11,  #f06015);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f88e11', endColorstr='#f06015');
}

/* red */
.red {
  color: #fff;
  border: solid 1px #980c10;
  background: #d81b21;
  background: -webkit-gradient(linear, left top, left bottom, from(#ed1c24), to(#aa1317));
  background: -moz-linear-gradient(top,  #ed1c24,  #aa1317);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed1c24', endColorstr='#aa1317');
}
.red:hover {
  color: #eee;
  background: #b61318;
  background: -webkit-gradient(linear, left top, left bottom, from(#c9151b), to(#a11115));
  background: -moz-linear-gradient(top,  #c9151b,  #a11115);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#c9151b', endColorstr='#a11115');
}

/* blue */
.blue {
  color: #fff;
  border: solid 1px #0076a3;
  background: #0095cd;
  background: -webkit-gradient(linear, left top, left bottom, from(#00adee), to(#0078a5));
  background: -moz-linear-gradient(top,  #00adee,  #0078a5);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5');
}
.blue:hover {
  color: #fff;
  background: #007ead;
  background: -webkit-gradient(linear, left top, left bottom, from(#0095cc), to(#00678e));
  background: -moz-linear-gradient(top,  #0095cc,  #00678e);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#0095cc', endColorstr='#00678e');
}

/* rosy */
.rosy {
  color: #fff;
  border: solid 1px #b73948;
  background: #da5867;
  background: -webkit-gradient(linear, left top, left bottom, from(#f16c7c), to(#bf404f));
  background: -moz-linear-gradient(top,  #f16c7c,  #bf404f);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f16c7c', endColorstr='#bf404f');
}
.rosy:hover {
  color: #fff;
  background: #ba4b58;
  background: -webkit-gradient(linear, left top, left bottom, from(#cf5d6a), to(#a53845));
  background: -moz-linear-gradient(top,  #cf5d6a,  #a53845);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#cf5d6a', endColorstr='#a53845');
}

/* green */
.green {
  color: #fff;
  border: solid 1px #538312;
  background: #64991e;
  background: -webkit-gradient(linear, left top, left bottom, from(#7db72f), to(#4e7d0e));
  background: -moz-linear-gradient(top,  #7db72f,  #4e7d0e);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#7db72f', endColorstr='#4e7d0e');
}
.green:hover {
  color: #fff;
  background: #538018;
  background: -webkit-gradient(linear, left top, left bottom, from(#6b9d28), to(#436b0c));
  background: -moz-linear-gradient(top,  #6b9d28,  #436b0c);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#6b9d28', endColorstr='#436b0c');
}

/* pink */
.pink {
  color: #000;
  border: solid 1px #d2729e;
  background: #f895c2;
  background: -webkit-gradient(linear, left top, left bottom, from(#feb1d3), to(#f171ab));
  background: -moz-linear-gradient(top,  #feb1d3,  #f171ab);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#feb1d3', endColorstr='#f171ab');
}
.pink:hover {
  color: #000;
  background: #d57ea5;
  background: -webkit-gradient(linear, left top, left bottom, from(#f4aacb), to(#e86ca4));
  background: -moz-linear-gradient(top,  #f4aacb,  #e86ca4);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4aacb', endColorstr='#e86ca4');
}

h1,h2,h3,h4,h5,h6,ul,li{
  margin:0;
  padding:0;
}

.clear{
   clear:both;
}
.manage_body{
  padding: 10px;
}

.content_title{
  font-size: 1.2rem;
  padding: 10px 0;
}

/* TABLE detail START */
table.manage_detail {
  width: 320px;
  border: 1px #A3A3A3 solid;
  border-collapse: collapse;
  border-spacing: 0;
}

table.manage_detail th {
  padding: 5px;
  border: #A3A3A3 solid;
  border-width: 0 0 1px 1px;
  background: #E3E3E3;
  font-weight: bold;
  line-height: 120%;
  text-align: right;
  white-space: nowrap; 
}
table.manage_detail th.error {
  padding: 5px;
  border: #A3A3A3 solid;
  border-width: 0 0 1px 1px;
  background: #FF6666;
  font-weight: bold;
  line-height: 120%;
  text-align: right;
  white-space: nowrap; 
}
table.manage_detail td {
  padding: 5px;
  border: 1px #A3A3A3 solid;
  border-width: 0 0 1px 1px;
}

table.manage_detail td.inner {
  text-align:center;
  padding:0;
  border:none;
  white-space:nowrap;
}

/* TABLE detail END */

/* TABLE LIST START */
table.manage_list {
  width: 320px;
  border-color: #A3A3A3;
  border-style: solid;
  border-width: 1px;
  border-collapse: collapse;
  border-spacing: 0;
}

table.manage_list th {
  padding: 3px;
  background: #e3e3e3;
  font-weight: normal;
  line-height: 120%;
  text-align: center;
  white-space: nowrap;
  border-color: #A3A3A3;
  border-style: solid;
  border-width: 1px;
  text-decoration: none;
}

table.manage_list th a:link,a:visited {
  text-decoration: none;
}

table.manage_list tr:hover td {
  background: #efefef;
}

table.manage_list td {
  padding: 3px;
  border-color: #A3A3A3;
  border-style: solid;
  border-width: 1px;
}

/* TABLE LIST END */
/* ヘッダー固定のためのCSS */
        .header {
            position: fixed;
             top: 0;
            left: 0;
            width: 100%;
            background-color: #fff; /* 背景色を設定 */
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* 影をつける */
            z-index: 1000; /* ヘッダーのz-index */
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0px 520px;
        }
        
        .menu-icon {
            position: absolute;
            top: 22px;
            right: 15px;
            cursor: pointer;
            z-index: 100;
        }
        
        .menu-icon div {
            width: 25px;
            height: 3px;
            background-color: #2678d1;
            margin: 5px 0;
            transition: 0.4s;
        }
/* ナビゲーションメニューがヘッダーの上に表示されるようにする */
        .nav-menu {
            position: fixed;
            top: 0;
            right: 0;
           /* width: 220px; */
           /* width: 274px; */
            height: 100vh;
            background-color:#333;
            z-index: 1001; /* ヘッダーより高いz-indexを設定 */
            transform: translateX(100%); /* 初期状態では画面外 */
            transition: transform 0.3s ease;
            padding-top: 60px;
            transition: 0.3s;
            overflow-y: auto; /* スクロール可能にする */
            box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
            padding-top: 60px; /* ヘッダーの高さ分余白を作る */
  display: none;

        }
/* メニューがアクティブ時に表示 */
        .nav-menu.active {
            transform: translateX(0);
  display: block;
        }
        
        .nav-menu ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        
        .nav-menu li {
            padding: 13px 25px;
            border-bottom: 1px solid #444;
        }
        
        .nav-menu a {
            color: white;
            text-decoration: none;
            font-size: 14px;
            display: block;
        }

        .menu-icon-small {
            width: 16px;
            height: 16px;
            margin-right: 10px;
            fill: white;
        }

        .nav-menu a:hover .menu-icon-small {
            color: #4285f4;
        }
        
/* コンテンツがヘッダーの下に隠れないようにする */
        .content {
            margin-top: 80px; /* ヘッダーの高さに応じて調整してください */
            width: 100%;
        }


/* レスポンシブ対応 */
        @media (max-width: 768px) {
        .header {
            padding: 0px;
        }
}
        
        .overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.5);
            display: none;
            z-index: 999; /* ヘッダーより下、メニューより下 */

        }
        
        .overlay.active {
            display: block;
        }
        


        /* メニューアイコンアニメーション */
        .menu-icon.active div:nth-child(1) {
            transform: rotate(-45deg) translate(-5px, 6px);
        }
        
        .menu-icon.active div:nth-child(2) {
            opacity: 0;
        }
        
        .menu-icon.active div:nth-child(3) {
            transform: rotate(45deg) translate(-5px, -6px);
        }div.pagination {
  padding: 3px;
  margin: 15px;
  text-align:center;
}
 
div.pagination a {
  border: 1px solid #dedfde;
  margin-right:3px;
  padding:6px 9px;
  background-color:#ffffff;
  background-position:bottom;
  text-decoration: none;

  color: #ff86db;  
}

div.pagination span {
  margin-right:3px;
  padding:6px 9px;

  background-position:bottom;
  background-color:#ffffff;
  border: 1px solid #dedfde;
  background-image:none;
  background-color:#ff86db;
  color: #fff;
}

div.pagination a:hover, div.meneame a:active {
  border: 1px solid #000;
  background-image:none;
  background-color:#ff86db;
  color: #fff;
}
/**************************/
/* PHP Rails scaffold.css */
/**************************/

/*
http://predic8.com/iphone-css-layout-theme.htm
http://connecre.com/connelog/connelog00000172.php
*/


/* HTML BASIC START */

body { margin: 0; padding: 0 }

a: {
  text-decoration: none;
}


.b {font-weight:bold;}

.cWhite {color:#fff;}
.cBlue {color:#00adee;}

.m0 {margin:0;}
.m5 {margin:5px;}
.m10 {margin:10px;}
.mT5 {margin-top:5px;}
.mT10 {margin-top:10px;}
.mB5 {margin-bottom:5px;}
.mB10 {margin-bottom:10px;}
.mL5 {margin-left:5px;}
.mL10 {margin-left:10px;}
.mR5 {margin-right:5px;}
.mR10 {margin-right:10px;}

.p0 {padding:0;}
.p5 {padding:5px;}
.p10 {padding:10px;}
.pT5 {padding-top:5px;}
.pT10 {padding-top:10px;}
.pB5 {padding-bottom:5px;}
.pB10 {padding-bottom:10px;}
.pL5 {padding-left:5px;}
.pL10 {padding-left:10px;}
.pR5 {padding-right:5px;}
.pR10 {padding-right:10px;}

.nb {white-space:nowrap;}

.aL {text-align:left;}
.aC {text-align:center;}
.aR {text-align:right;}

/* HTML BASIC END */

* {
  word-break: break-all;
  -webkit-touch-callout:none;
  -webkit-tap-highlight-color:rgba(255,255,0,0.4);
  -webkit-text-size-adjust:none;
}

body {
  color: #333333;
  font-size: 15px;
  line-height: 1.3;
  font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3"; /* iPhoneバンドル */
  -webkit-text-size-adjust: none; /* 文字の拡大縮小を防ぐ */
}


/* clearfix */
:after { display: block; clear: both; }

em{ color: #db0000;}

p { margin: 0 0 10px 0; padding: 0; }

form { margin-top: 0px; margin-bottom: 0px; }

h1 {
  display: flex;
  align-items: center;      /* 垂直中央 */
  justify-content: center;  /* 水平中央 */
  height: auto;             /* 高さを固定せず、paddingで調整 */
  padding: 10px 0;          /* 上下に10pxずつ余白 */
  font-size: 18px;
  text-align: center;
  color: white;
  margin: 0;
  background: linear-gradient(#2678d1, #2678d1);
  border-bottom: 1px solid #757575;
}

h2{
  text-align: left;
  font-size: 17px;
  margin-left: 12px;
  padding: 10px 0;
  margin: 0;
}

.btn-left {
  white-space: nowrap;
  position: absolute;
  top: 0;
  left: 0;
  padding:7px;
}

.btn-left a{
  background: -moz-linear-gradient(#af1e28, #e4515c);
  background: -webkit-gradient(linear, 0 0%, 0 100%, from(#af1e28), to(#e4515c));

  box-shadow: 1px 1px 1px 0px #ff7d86 inset;
  text-shadow: 0px -1px 1px #780f16;
  border: 1px solid #650d14;
  border-radius: 4px;
  font: bold 12px Arial;
  text-align: center;
  line-height: 28px;
  color: white;
  white-space: nowrap;
  overflow: hidden;
  -webkit-tap-highlight-color: white;
  padding: 8px 5px;
  text-decoration: none;
  min-width: 30px;
  width: auto !important;
  width: 30px;
}

.btn-right {
  white-space: nowrap;
  position: absolute;
  top: 0;
  right: 0;
  padding:7px;
}

.btn-right a{
  background: -moz-linear-gradient(#e66a6a, #f39797);
  background: -webkit-gradient(linear, 0 0%, 0 100%, from(#e66a6a), to(#f39797));

  box-shadow: 1px 1px 1px 0px #db5e5e inset;
  text-shadow: 0px -1px 1px #9b5353;
  border: 1px solid #932121;
  border-radius: 4px;
  font: bold 12px Arial;
  text-align: center;
  line-height: 28px;
  color: white;
  white-space: nowrap;
  overflow: hidden;
  -webkit-tap-highlight-color: white;
  padding: 8px 5px;
  text-decoration: none;
  min-width: 30px;
}

input[type="checkbox"],
input[type="radio"],
select { display:inline; vertical-align: baseline ;margin-right: 5px ;}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #999 ;
}

input[type="text"],
input[type="password"] {
  color: #5a5c63;
  font-size: 100% ;
  width: 100% ;
  padding: 3px ;
}
select {
  color: #5a5c63;
  font-size: 100% ;
  padding: 3px ;
}
textarea {
  color: #5a5c63;
  font-size: 100% ;
  width: 100% ;
  height: 100px ;
  padding: 3px ;
  margin-bottom: 10px ;
}

#footer {
  text-align:center;
}

table.detail{
  border-spacing: 0 3px;
  width: 100%;
  padding: 0 10px 0 10px;
  empty-cells:show;
}

table.detail th{
  text-align: left;
  border-color:#878787;
  border-style:solid;
  border-width:1px 0 1px 1px;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  padding:0 10px 0 10px;
  background-color: #fff;
  padding: 10px;
}

table.detail td{
  border-color:#878787;
  border-style:solid;
  border-width:1px 1px 1px 0;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  background-color: #fff;
  
}

table.detail input[type="text"],
table.detail input[type="password"]
{
  border:0;
}

/* TABLE LIST START */
table.list {
  width: 100%;
  border-color: #A3A3A3;
  border-style: solid;
  border-width: 0px 1px 1px 1px;
  border-collapse: collapse;
  border-spacing: 0;
  font-size:70%;
}

table.list th {
  padding: 1px;
  border-top: 2px #627EB7 solid;
  border-bottom: 2px #000000 solid;
  border-left: 1px #FFFFFF solid;
  background: #e3e3e3;
  font-weight: normal;
  line-height: 120%;
  text-align: center;
  white-space: nowrap;
}

table.list th a:link {
  text-decoration: none;
}

table.list th a:visited {
  text-decoration: none;
}

table.list tr:hover td {
  background: #f5d4cc;
/*  color: #FFFFFF; */
}

table.list td {
  padding: 1px;
  border: 1px #eeeeee solid;
  border-width: 0 0 1px 1px;
}

table.list td.manage {
  padding: 1px;
/*
  border: 1px #A3A3A3 solid;
  border-width: 0 0 1px 1px;
*/
  white-space: nowrap;
}

/* TABLE LIST END */

/* TABLE LIST_IMAGE START */
table.list_image {
  border-collapse: collapse;
  border-spacing: 0;
  font-size:85%;
}

table.list_image th {
  padding: 5px;
/*
  border-bottom: 1px #aaaaaa solid;
*/
  font-weight: normal;
  line-height: 120%;
  text-align: center;
}

table.list_image tr:hover td.item {
  background: #f5d4cc;
}

table.list_image td.item {
  padding: 5px;
}

table.list_image td.manage {
  padding: 5px;
  border-top: 1px #A3A3A3 solid;
  text-align: center;
}

/* TABLE LIST_IMAGE END */


/* LIST LINK START */
ul.link {
  font-size: 12pt;
  padding: 0;
  height: auto;
  width: auto;
  list-style: none;
}

ul.link li{
  border-color:#878787;
  border-style:solid;
  border-width:0 0 1px 0;
  background-color: white;
/*  font-weight: bold; */
}

ul.link li.arrow,
ul.link li.icon_arrow{
  background-image: url("/images/sp/arrow.png");
  background-position: right center;
  background-repeat: no-repeat;
}

ul.link li.arrow a,
ul.link li.arrow a:active{
  background: none;
  padding: 12px 15px;
  display: block;
  width: auto;
  text-decoration: none;
  color: black;
}

ul.link li.icon_arrow a,
ul.link li.icon_arrow a:active{
  background: none;
  padding: 5px 15px;
  display: block;
  width: auto;
  text-decoration: none;
  color: black;
}

ul.link li.arrow_blue{
  background-image: url("/images/sp/arrow_blue.png");
  background-position: right center;
  background-repeat: no-repeat;
}

/*
blue from(#058cf5), to(#015fe6)
red from(#ff3333), to(#990000)
*/
/*
ul.link li.arrow a:hover,
ul.link li.icon_arrow a:hover{
  background: url("/images/sp/arrow.png") right center no-repeat, -webkit-gradient(linear, 0 0%, 0 100%, from(#058CF5), to(#015FE6));
  background: url("/images/sp/arrow.png") right center no-repeat, -moz-linear-gradient(#058CF5, #015FE6);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#058CF5', endColorstr='#015FE6');
  color: white;
  text-shadow: 0px -1px 1px #000;
  background: url("/images/sp/arrow.png") right center no-repeat,
}
/*
ul.link li.arrow.blue a:hover{
  background: url("/images/sp/arrow.png") right center no-repeat, -webkit-gradient(linear, 0 0%, 0 100%, from(#00adee), to(#0078a5));
  background: url("/images/sp/arrow.png") right center no-repeat, -moz-linear-gradient(#00adee, #0078a5);
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5');
  color: white;

  text-shadow: 0px -1px 1px #000;
  background: url("/images/sp/arrow.png") right center no-repeat,
}
*/

ul.link li span.right{
  position:absolute;
  right: 45px;
  text-align: right;
  color: #385487;
  font-weight: normal;
}

ul.link li.title{
  padding: 12px 15px;
  display: block;
  width: auto;
  text-decoration: none;
}

ul.link li img.icon{
  background: none;
  padding: 0 10px 0 0;
  width: 35px;
  height: 35px;
  text-decoration: none;
  vertical-align: -12px;
}
/* LIST LINK END */

/* LIST TEXT START */
ul.text {
  font-size: 12pt;
  padding: 0;
  height: auto;
  width: auto;
  list-style: none;
}

ul.text li{
  border-color:#878787;
  border-style:solid;
  border-width:1px 0 1px 0;
  margin-bottom: -2px;
}

ul.text li span.right{
  position:absolute;
  right: 45px;
  text-align: right;
  color: #385487;
  font-weight: normal;
}
/* LIST TEXT END */

/* LIST RADIUS START */
ul.radius {
  font-size: 12pt;
  padding: 0;
  height: auto;
  width: auto;
  list-style: none;
}

ul.radius li {
    font-size: 12px;
}
ul.radius p {
    font-size: 12px;
    margin: 0 0 10px 0;
    padding: 0;
}

.radius {
  font-size: 12pt;
  padding: 0;
  height: auto;
  width: auto;
  list-style: none;
}

.radius li{
  padding: 10px;
  margin:10px;
  border-style:solid;
  border-width: 1px;
  -webkit-border-radius: .5em;
  -moz-border-radius: .5em;
  border-radius: .5em;
}

.radius li .right{
  position:absolute;
  right: 45px;
  text-align: right;
  color: #385487;
  font-weight: normal;
}
/* LIST RADIUS END */

#wrapper{
  background: url(/images/dot_white_pink.jpg) repeat;
}

#top{
  width:100%;
  height:auto;
  background:none;
  margin:0;
  padding:0;
  border:none;
}

.button_group{
  display: table;
  table-layout: fixed;
  width: 100%;
}

.button_group .toroku{
  display: table-cell;
  text-align: center;
}


.logo{
  box-sizing: border-box;
  width:100%;
  height:auto;
  margin:0;
  padding:0px 8px;
  border-bottom: solid 1px #d9d9d9;
  background: #ffffff;
  text-align: center;
}

.logo img{
  width: 65%;
  height: auto;
}

.touroku{
  text-align:center;
}

h2.title_deco{
  margin:0;
  padding:4px 0 4px 5px;
  height:25px;
  background-color: #962929;
  background: -webkit-gradient(linear, left top, left bottom ,from(#ffe5f2), to(#ff86db));
  background: -moz-linear-gradient(top ,  #ffe5f2,#ff86db);
  font-size:14px;
  line-height:25px;
  color: #fff;
  text-shadow: 0 1px 0 #ff86db;
  border-top: solid 1px #ff60d0;
  border-bottom: solid 1px #ff60d0;
}

h3.title_cp{
  font-size: 16px;
  padding: 3px 0 3px 10px;
}

ul.link li.list_cp{
  background: -webkit-gradient(linear, left top, left bottom ,from(#ffffff), to(#e6e6e6));
  background: -moz-linear-gradient(top ,  #ffffff,#e6e6e6);
  border-bottom: solid 1px #d5d5d5;
}

ul.link li.list_cp a{
  background-image: url("/images/sp/arrow.png");
  background-position: right center;
  background-repeat: no-repeat;
  display: block;
  width: auto;
  text-decoration: none;
}

.naiyo{
  font-size: 14px;
  line-height:16px;
}

ul.link .list_more{
  text-align:center;
  border-bottom:none;
  padding-top:10px;
}

ul.link .list_more img{
  width:85%;
}

/*ul.link li.arrow2{
  background-image: url("/images/sp/arrow.png");
  background-position: right center;
  background-repeat: no-repeat;
}*/

ul.link li.arrow2 a,
ul.link li.arrow2 a:active{
  background-image: url("/images/sp/arrow.png");
  background-position: right center;
  background-repeat: no-repeat;
  padding: 12px 15px;
  display: block;
  width: auto;
  text-decoration: none;
  color: black;
}

/*-----------------------
コミック詳細ページ
-----------------------*/

.book_info{
  width: 95%;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}

.book_image{
  width:100px;
}

.book_info table{
  border-collapse:collapse;
  width:100%;
}

.book_info table tr{
  border-bottom: solid 1px #bdbdbd;
}

.book_info table th{
  height: 30px;
  width: 60px;
  padding-right: 5px;
}

table.book_info table{
  font-size: 14px;
}

.series{
  width: 95%;
  border: solid 1px #962929;
  border-radius: 3px;
  margin: 0 auto;
}

h2.series_title{
  background-color: #962929;
  color: #fff;
  padding :5px 0 5px 10px;
  margin: 0 auto;
}

p.outline{
  padding: 5px 10px 5px 10px;
}

.series_list{
  background: #ffffff;
background: -webkit-gradient(linear, left top, left bottom ,from(#ffffff), to(#e6e6e6));
  background: -moz-linear-gradient(top ,  #ffffff,#e6e6e6);
  padding: 7px 0;
  border-bottom: solid 1px #d5d5d5;
}

/*一覧ページ*/

.ichiran_list{
  width: 100%;
  padding: 3px 0;
  background: #e49898;
  background: -webkit-gradient(linear, left top, left bottom ,from(#ffffff), to(#e6e6e6));
  background: -moz-linear-gradient(top ,  #ffffff,#e6e6e6);
  padding: 7px 0;
  border-top: solid 1px #d5d5d5;
  border-bottom: solid 1px #b0b0b0;
}


/*---------------------------
__footer
---------------------------*/
.footer_wrap{
  background: #2b2b2b;
  margin-top: 10px;
  padding: 15px 0 20px;
  color: #ffffff;
}

.footer_title{
  color: #ffffff;
  text-align: center;
  margin: 15px 0;
  padding: 0;
}

.footer_list{
  width: 350px;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

.footer_list li{
  background: transparent;
  border: none;
  margin: 0 10px 7px 0;
  font-size: .75rem;
}

.footer_list li a{
  text-decoration: none;
  background: none;
  color: #ffffff;
  padding: 0;
}

.copy{
  margin: 15px 0;
  font-weight: bold;
  font-size: .875rem;
  text-align: center;
}

ul, li {
  list-style:
none;
}



/*--------------------------------------
Q＆A
--------------------------------------*/

div.qa {
    margin: 15px 20px 10px 20px;
    font-size: 80%;
}
div.qa h3 {
    color: #000000;
    font-size: 15px;
    font-weight: bold;
    padding: 5px 0px 5px 5px;
    margin: 10px 0px 10px 0px;
    border-left: 5px solid #b3b3b3;
    border-bottom: 1px dashed #b3b3b3;
}



/*--------------------------------------
マイページ
--------------------------------------*/

        .section {
            padding: 15px;
            border-bottom: 1px solid #ddd;
        }

        .section:last-child {
            border-bottom: none;
        }

        .section h3 {
            margin: 0 0 10px;
            font-size: 16px;
            color: #333;
            border-left: #8c8c8c 5px solid;
            margin: 0 0 4px 0px;
            padding: 2px 0 2px 6px;
        }

        .section p {
            margin: 5px 0;
            font-size: 14px;
        }

        .points {
            color: red;
            font-weight: bold;
        }

        .button {
            display: block;
            margin: 10px auto;
            padding: 10px;
            text-align: center;
            background-color: #007bff;
            color: #fff;
            text-decoration: none;
            border-radius: 5px;
            font-size: 14px;
            width: 80%;
        }

        .button.gray {
            background-color: #ccc;
        }

        .menu-item {
            padding: 10px 15px;
            background-color: #8c8c8c;
            color: #fff;
            font-size: 14px;
            font-weight: bold;
            margin: 5px 0;
        }

        .menu-item a {
            text-decoration: none;
            color: inherit;
        }

/*--------------------------------------
登録画面の説明文設定
--------------------------------------*/
.au,
.docomo,
.softbank{
  padding: 0;
  margin: 10px 0 0 0;
}

.au span{
  color: #EB5505;
  font-size: 24px;
  font-weight: bold;
}

.docomo span{
  color: #C03;
  font-size: 24px;
  font-weight: bold;
}

.softbank span{
  color: #B7BBBE;
  font-size: 24px;
  font-weight: bold;
}



/*--------------------------------------
ADCからの引用
--------------------------------------*/
.py-5 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}



.container{
  width: 100%;
  padding-right: var(--bs-gutter-x,0.75rem);
  padding-left: var(--bs-gutter-x,0.75rem);
  margin-right: auto;
  margin-left: auto;
}

.major-ttl {
  padding-bottom: 8px;
  position: relative;
  text-align: center;
}

.mb-5 {
  margin-bottom: 2rem !important;
}

 h2 {
  font-size: calc(1.2875rem + 0.45vw);
}


.major-ttl::after {
  position: absolute;
  width: 25%;
  max-width: 250px;
  bottom: 0;
  content: "";
  display: block;
  height: 4px;
  left: 50%;
  -webkit-transform:
translateX(-50%);
  transform: translateX(-50%);
  background:#2a7bd2
}

.g-4 {
  --bs-gutter-y: 1.5rem;
}

.g-4 {
  --bs-gutter-x: 1.5rem;
}


.row {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}


.col-12 {
  -webkit-box-flex:0;
  flex:0 0 auto;
  width: 100%;
}


.row > * {
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}


.border-0 {
  border:
0 !important;
}


.card {
  position: relative;
  display: flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  flex-direction: column;
  min-width: 0;
  word-wrap:break-word;
  background-color: #fff;
  background-clip: border-box;
  border-radius:0.25rem;
}


.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.d-block {
  display: block !important;
}


.img-fluid {
  max-width: 100%;
  height: auto;
}


.card-body {
  -webkit-box-flex:1;
  flex:1 1 auto;
  padding:1rem 1rem;
}

.text-center {
  text-align: center !important;
}

.card-title {
  margin-bottom: 0.5rem;
}

 h3 {
  font-size: calc(1.275rem + 0.3vw);
}


.card-text:last-child {
  margin-bottom: 0;
}

*, ::after, ::before {
  -webkit-box-sizing:
border-box;
  box-sizing: border-box;
}

p {
  margin-top: 0;
}