/*
Theme Name:
Theme URI:
Description:
Author:ワンズアクション
Author URI:https://ones-action.com
*/

@charset "utf-8";

/* =================================
フォント

font-family: 'Noto Sans JP', sans-serif;
font-family: 'Rubik', sans-serif;
font-family: 'Noto Serif JP', serif;
font-family: 'Finlandica', sans-serif;
font-family: 'Oswald', sans-serif;
font-family: 'Fjalla One', sans-serif;
font-family: "Kosugi Maru", sans-serif;


================================= */

/* =================================
		リセット
================================= */
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-style:normal;
    font-weight: normal;
    font-size: 100%;
    vertical-align: baseline;
}
 
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
 
html{
    overflow-y: scroll;
}
 
blockquote, q {
    quotes: none;
}
 
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
 
input, textarea,{
    margin: 0;
    padding: 0;
}
 
ol, ul{
    list-style:none;
}
 
table{
    border-collapse: collapse; 
    border-spacing:0;
}
 
caption, th{
    text-align: left;
}
 
a:focus {
    outline:none;
}
 
.clearfix:after {
    content: ""; 
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
 
.clearfix {
 　 zoom: 1;
    min-height: 1px;
}
 
* html .clearfix {
    height: 1px;
    /*\*//*/
    height: auto;
    overflow: hidden;
    /**/
}

html {
    touch-action: manipulation;
}
 
.both{
    clear:both;
}
 
.inline_block {  
    display: inline-block;  
    *display: inline;  
    *zoom: 1;  
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

a {
    text-decoration: none;
}

input,
button {
    //-webkit-appearance: none;
    color: #555;
    font-family: "Kosugi Maru","Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ　Ｐゴシック", "MS PGothic", sans-serif;
}


/* =================================
		基本設定
================================= */
body {
    width: 100%;
    height: auto;
    margin: 0;
    font-size: 100%;
    font-family: "Kosugi Maru","Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ　Ｐゴシック", "MS PGothic", sans-serif;
    color: #555;
    background: #78909c;
}

.container {
    background: white;
}

/* =================================
		ヘッダー
================================= */
header {
    background: #78909c;
}

.h_area {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.h_area h1 {
    color: white;
    padding: 5px 40px;
}

.h_area a {
    color: white;
}

img.logo {
    width: 200px;
}

a.hwt_btn {
    display: block;
    padding: 23px 34px 23px 40px;
    background: black;
    font-size: 100%;
    //font-weight: bold;
    color: white;
    line-height: 1;
}

a.hwt_btn:after {
    font-family: 'Material Icons';
    content: "\e409";
    vertical-align: -2px;
    margin-left: 10px;
}

a.hwt_btn:hover {
    background: #c13106;
}

.top_sec_1 h2 {
    font-size: 240%;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.3;
}

.top_area {
    padding: 20px;
}

img.spoga {
    width: 300px;
    margin-top: 20px;
}

.top_sec_1 p {
    margin: 10px 0;
    font-size: 120%;
}

span.apl_txt {
    background: black;
    color: white;
    padding: 3px 20px;
    font-weight: bold;
    margin-right: 10px;
}

/* =================================
		ページ
================================= */
section.top_sec_1 {
    display: flex;
    justify-content: center;
    align-items: start;
}

section.term_sec {
    padding: 40px 0;
}

section#spohow {
    background: #f8f8f8;
}

.area {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 40px 20px;
}

.pg_area {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 20px 30px 40px;
}

.top_sec_2 h2 {
    text-align: center;
    font-size: 200%;
    font-weight: bold;
    margin-bottom: 40px;
}

.top_sec_3 h2 {
    font-size: 150%;
    font-weight: bold;
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #ddd;
}

h2.tm_nm {
    font-size: 200%;
    font-weight: bold;
    display: inline-block;
}

.term_sec h2 {
    font-size: 150%;
    font-weight: bold;
    margin-bottom: 40px;
    text-align: center;
}

.top_area ul {
    font-size: 120%;
    margin-top: 20px;
}

.top_area ul li {
    margin-top: 5px;	
}

.top_area span.material-icons {
    color: red;
    display: inline-block;
    margin-right: 3px;
    font-weight: bold;
    vertical-align: -5px;
    font-size: 140%;
}

.tmr_fm {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}

.tmr_fm label {
    font-size: 120%;
    font-weight: bold;
    display: block;
    margin-bottom: 3px;
}

.tmr_fm input:not([type="submit"]) {
    font-size: 150%;
    margin-bottom: 20px;
    padding: 5px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

input.tmr_pw {
    width: 150px;
}

span.tmp_sml {
    margin-left: 5px;
    font-size: 80%;
    color: #aa0000;
}

p.kiyaku {
    font-size: 84%;
    text-align: center;
}

input.reg_btn {
    display: block;
    border: none;
    font-size: 140%;
    font-weight: bold;
    width: 180px;
    margin: 20px auto 0;
    padding: 8px 0;
    border-radius: 50px;
    background: #4caf50;
    color: white;
    cursor: pointer;
}

p.acc_edt {
    text-align: right;
    font-size: 90%;
    margin-bottom: 10px;
}

p.acc_edt a span {
    vertical-align: -6px;
}

p.otr_edt {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

p.otr_edt a {
    display: block;
    color: white;
    padding: 3px 10px;
    font-size: 120%;
    width: 48%;
    text-align: center;
}

a.opp_edt {
    background: #217424;
}

a.ply_edt {
    background: #214273;
}

a.opp_edt span,
a.ply_edt span {
    font-size: 160%;
    vertical-align: -6px;
    margin-right: 3px;
}


.edt_m {
    margin-top: 30px;
    margin-bottom: 30px;
    font-size: 130%;
}

label {
    cursor: pointer;
}

input.edit_m_btn {
    position: relative;
    width: 26px;
    height: 26px;
    border: 1px solid #aaa;
    border-radius: 13px;
    vertical-align: -8px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input.edit_m_btn:checked:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    border-radius: 10px;
    content: '';
    background: #217424;
}

button.add_btn {
    background: none;
    cursor: pointer;
    margin-left: 10px;
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 80%;
}

button.add_btn span {
    font-size: 100%;
    vertical-align: -3px;
}

button.add_btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.memo {
    background: #ffffee;
    padding: 20px;
    margin-bottom: 20px;
    position: relative;
}

.half-fields,
.one-half-fields {
    display: none;
}

.memo-content {
    display: none; /* 初期状態は非表示 */
}

.memo-content.open {
    display: block; /* .open クラスが付いた場合に表示 */
}

.memo input:disabled {
    background: #ffffee;
    border: 1px solid #ffffee;
    padding: 5px;
    color: #555;
    box-sizing: border-box !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    opacity: 1;
}

.memo input {
    box-sizing: border-box !important;
    border: 1px solid #ddd;
    font-size: 20px;
    margin: 0;
    padding: 0 5px;
    height: 40px;
    color: #555;
    vertical-align: baseline;
}

input.memo_dd {
    margin-right: 3px;
    width: 140px;
    background: white;
}

input.memo_tit {
    width: calc( 100% - 143px);

}

span.vs_mk {
    margin-left: 8px;
    padding: 0 8px;
    display: inline-block;
}

input.memo_op {
    width: calc( 100% - 40px);
}

input.memo_tm {
    width: 50px;
    text-align: center;
}

span.sco_box input {
    width: 56px;
    text-align: center;
}

textarea.memo_area {
    field-sizing: content;
    width: 100%;
    min-height: min-content;
    box-sizing: border-box !important;
    border: 1px solid #ddd;
    font-size: 20px;
    padding: 10px;
    line-height: 1.4;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    color: #555;
}

textarea.memo_area:disabled {
    background: #ffffee;
    border: 1px solid #ffffee;
    padding: 10px;
    box-sizing: border-box !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    color: #555;
    opacity: 1;
}

input.memo_hf {
    height: 13px;
    margin-left: 14px;
}

.memo input.memo_hf:disabled {
    display: none;
}

p.memop {
    margin: 3px 0;
}

.memo h4 {
    font-size: 80%;
    margin: 20px 0 3px;
}

table.sco_tab {
    margin: 0 8px;
    width: 100%;
}

table.sco_tab th {
    font-size: 80%;
    vertical-align: middle;
    text-align: center;
}

table.sco_tab td {
    padding: 3px 0;
    text-align: center;
}

table.sco_tab input {
    width: 32px;
    text-align: center;
}

th.hfbox {
    width: 18%;
}

th.tmbox {
    width: 40%;
}

th.vsbox {
    width: 2%;
}

/* 全てのブラウザに対応する設定 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield; /* Firefox用 */
}

.custom-number-input {
    display: inline-block;
}

.custom-number-input button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    -webkit-appearance: none;
}

.custom-number-input button span {
    font-size: 30px;
    vertical-align: -10px;
    color: #555;
}

.custom-number-input button:disabled {
    display: none;
}

button.toggle-button {
    position: absolute;
    left: -5px;
    top: -8px;
    border: none;
    width: 100px;
    height: 30px;
    padding: 5px;
    background: #78909c;
    color: white;
    font-size: 110%;
    cursor: pointer;
}

button.toggle-button:after {
    content: ' ';
    display: block;
    background-color: #78909c;
    width: 10px;
    height: 30px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    position: absolute;
    top: 0px;
    right: -10px;
}


.tm_kd input[type="radio"]:disabled + label {
    display: none;
}

.tm_kd input[type="radio"]:checked:disabled + label {
    display: inline;
    margin-left: 10px;
    cursor: default;
}

.ttlsco {
    border-top: 1px solid #ddd;
}

input::placeholder {
    font-size: 80%;
    color: #aaa;
}

button.dlt_btn {
    display: block;
    margin: 40px auto 0;
    cursor: pointer;
    padding: 6px;
    font-size: 16px;
    border: 1px solid #ddd;
    background: #eee;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

button.dlt_btn:disabled {
    display: none;
}

/* =================================
		アカウント編集
================================= */

p.rtn_btn {
    text-align: left;
    margin-top: 30px;
    font-size: 90%;
}

p.rtn_btn a span {
    vertical-align: -4px;
    font-size: 120%;
}

.pw_vrf {
    margin-top: 30px;
}

.pw_vrf h3 {
    font-size: 90%;
    margin-bottom: 20px;
}

table.form-group input {
    box-sizing: border-box !important;
    border: 1px solid #ddd;
    font-size: 16px;
    padding: 0px 5px;
    height: 30px;
    width: 200px;
}

button.update_btn {
    display: block;
    margin: 20px auto 0;
    cursor: pointer;
    padding: 8px 16px;
    background: #217424;
    color: white;
    border: 0;
    font-size: 100%;
}

p.message.success {
    margin: 20px 0;
    text-align: center;
    color: #0064ff
}

button.ver_btn {
    display: block;
    border: none;
    background: #217424;
    color: white;
    font-size: 110%;
    padding: 5px 20px;
    margin: 20px auto;
    cursor: pointer;
}

table.form-group {
    width: 100%;
}

table.form-group th {
    border: 1px solid #ddd;
    padding: 10px;
    background: #fafafa;
    width: 110px;
    min-height: 51px;
    font-size: 90%;
    text-align: right;
}

table.form-group td {
    border: 1px solid #ddd;
    padding: 10px;
    width: auto;
}

p.message.error {
    color: red;
    font-size: 90%;
    margin-top: 5px;
}

/* =================================
		相手メモ
================================= */

table.tm_ttl_tab,
table#opponentList {
    width: 740px;
}

table.tm_ttl_tab th {
    font-size: 80%;
    text-align: center;
    padding: 3px 0;
    vertical-align: middle;
    border: 1px solid #ddd;
    background: #fafafa;
}

#opponentList td {
    text-align: center;
    padding: 6px 10px;
    vertical-align: middle;
    border: 1px solid #ddd;
    border-top: none;
}

#opponentList input {
    box-sizing: border-box !important;
    border: 1px solid #ddd;
    font-size: 20px;
    padding: 0px 5px;
    height: 30px;
    color: #555;
}

#opponentList input:disabled,
#opponentList textarea:disabled {
    color: #555;
    background: none;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    opacity: 1;
    box-sizing: border-box !important;
}

select.am_rk {
    box-sizing: border-box !important;
    border: 1px solid #ddd;
    font-size: 20px;
    height: 30px;
    color: #555;
    box-sizing: border-box !important;
}

select.am_rk:disabled {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    opacity: 1;
    box-sizing: border-box !important;
    background: none;
    border: none;
    color: #555;
}

input.am_tn {
    width: 100%;
}

input.am_hu, input.am_au {
    width: 52px;
    text-align: center;
}


#opponentList textarea {
    field-sizing: content;
    width: 100%;
    min-height: min-content;
    box-sizing: border-box !important;
    border: 1px solid #ddd;
    font-size: 20px;
    padding: 10px;
    line-height: 1.4;
    resize: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #555;
}

.tm_co1 {
    width: 180px;
}

.tm_co2 {
    width: 150px;
}

.tm_co3 {
    width: 57px;
}

.tm_co4 {
    width: auto;
}

.tm_co5 {
    width: 68px;
    border: none !important;
    background: none !important;
}

td.tm_co5 {
    height: 65px;
}
button.delete-btn {
    display: block;
    margin: 0 auto;
    cursor: pointer;
    font-size: 16px;
    padding: 6px;
    border: 1px solid #ddd;
}

button.delete-btn:disabled {
    display: none;
}

#opponentList input::placeholder
#opponentList textarea::placeholder {
    font-size: 80%;
    color: #aaa;
}

/* =================================
		選手メモ
================================= */

table.pl_ttl_tab,
table#playerList {
    width: 740px;
}

table.pl_ttl_tab th {
    font-size: 80%;
    text-align: center;
    padding: 3px 0;
    vertical-align: middle;
    border: 1px solid #ddd;
    background: #fafafa;
}

#playerList td {
    text-align: center;
    padding: 6px 10px;
    vertical-align: middle;
    border: 1px solid #ddd;
    border-top: none;
}

#playerList input {
    box-sizing: border-box !important;
    border: 1px solid #ddd;
    font-size: 20px;
    padding: 0px 5px;
    height: 30px;
    color: #555;
}

#playerList input:disabled,
#playerList textarea:disabled {
    color: #555;
    background: none;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    opacity: 1;
    box-sizing: border-box !important;
}

#playerList textarea {
    field-sizing: content;
    width: 100%;
    min-height: min-content;
    box-sizing: border-box !important;
    border: 1px solid #ddd;
    font-size: 20px;
    padding: 10px;
    line-height: 1.4;
    resize: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #555;
}

.pl_co1 {
    width: 260px;
}

.pl_co2 {
    width: 60px;
}

.pl_co3 {
    width: auto;
}

.pl_co4 {
    width: 68px;
    border: none !important;
    background: none !important;
}

td.pl_co4 {
    height: 65px;
}

#playerList input::placeholder
#playerList textarea::placeholder {
    font-size: 80%;
    color: #aaa;
}

/* =================================
		ページネーション
================================= */

.pagination {
    margin-top: 50px;
    text-align: center;
}

.pagination a {
    display: inline-block;
    font-size: 120%;
    margin: 0 3px;
}

a.pn_num {
    border: 1px solid;
    text-align: center;
    width: 22px;
    height: 22px;
}

a.active {
    pointer-events: none;
    color: #555;
}

/* =================================
		使い方
================================= */
.hwt_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: start;
    padding: 40px 0;
    border-bottom: 1px solid #ddd;
}

ul.hwtlst {
    margin-top: 20px;
}

ul.hwtlst li {
    margin: 10px 0;
}

ul.hwtlst span {
    vertical-align: -4px;
    font-size: 120%;
}

img.hwti {
    width: 46%;
}

.hb_ph {
    width: 52%;
}

p.sml_hwp {
    font-size: 90%;
    margin-top: 20px;
}

.hwt_box h3 {
    font-size: 110%;
    font-weight: bold;
    margin-bottom: 20px;
    padding: 2px 10px;
    background: #ddd;
    width: 100%;
}

p.no_pc {
    display: none;
}

span.material-icons.trnsf {
    transform: rotate(-90deg);
    vertical-align: -6px;
}

.hb_ph p {
    margin-bottom: 20px;
}

span.id_btn span {
    font-size: 20px;
    vertical-align: -5px;
}
/* =================================
		利用規約
================================= */
.term_sec dl {
    margin-top: 40px;
}

.term_sec dt {
    font-size: 110%;
    font-weight: bold;
    border-bottom: 1px solid #ddd;
    margin: 40px 0 10px;
}

.term_sec dd {
    margin: 10px 0;
}

ul.trm_l {
    margin-top: 20px;
    list-style: decimal;
    padding-left: 20px;
}

ul.trm_l li {
    margin-top: 10px;
}

p.trmp {
    text-align: right;
    margin-top: 60px;
}

table.cnt_tab {
    width: 100%;
    margin-top: 40px;
    border-top: 1px solid #ddd;
}

table.cnt_tab tr {
    border-bottom: 1px solid #ddd;
}

table.cnt_tab th {
    text-align: right;
    padding: 20px;
    width: 140px;
}

table.cnt_tab td {
    padding: 20px;
}

ul.pp_l {
    margin-top: 20px;
}


/* =================================
		バナー
================================= */
.sp_i {
    display: none;
}

.pg_b_area {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 10px 0 0;
}

.pg_bbtm_area {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 0 0 10px;
}


.bnr_area {
    background: white;
}

.topbox {
    padding-bottom: 40px;
}

.bnr_area img {
    width: 100%;
}

/* =================================
		フッター
================================= */
footer {
    background: #78909c;
}

.f_area {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 20px;
    color: white;
}

.ft_area ul {
    display: flex;
    justify-content: center;
}

.ft_area ul li {
    margin: 20px;
}

.ft_area ul li a {
    color: white;
    font-size: 90%;
}

.ft_area ul li a:hover {
    text-decoration: underline;
}

p.copy {
    text-align: center;
    font-size: 90%;
    margin-top: 50px;
}

/* =================================
		トップボタン
================================= */
.js-scroll-fadein {
    transition: opacity 1s;
    visibility: hidden;
    opacity: 0;
}

.is-fadein {
    visibility: visible;
    opacity: 1;
}

.arrow{
    position: fixed;
    right: 12px;
    bottom: 12px;
    color: #fff;
    cursor: pointer;
    background-color: #828384;
    border-radius: 50px;
    line-height: 0;
    padding: 20px;
    transition: all 0.2s ease-in-out;
    z-index: 9000;
}

/*=====================================================
	  スマートフォン 600px
===================================================== */
@media screen and (max-width: 600px) {

.h_area {
    height: 55px;
}

.h_area h1 {
    color: white;
    padding: 10px;
}

img.logo {
    width: 120px;
}

a.hwt_btn {
    display: block;
    padding: 0;
    text-align: center;
    font-size: 100%;
    width: 80px;
    color: white;
    padding-top: 12px;
}

a.hwt_btn:after {
    font-family: 'Material Icons';
    content: "\e409";
    vertical-align: -2px;
    margin-left: 0;
    display: block;
    transform: rotate(90deg);
    margin-top: 3px;
}

section.top_sec_1 {
    display: block;
    padding-bottom: 20px;
}

.top_sec_1 h2 {
    font-size: 188%;
}

.top_sec_1 p {
    font-size: 105%;
}

img.spoga {
    display: block;
    width: 360px;
    margin: 0 auto;
}

span.apl_txt {
    margin-right: 0;
    display: block;
    text-align: center;
    padding: 3px 0;
    margin-top: 10px;
}

input.tmr_n {
    width: 100%;
}


.pg_area {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 20px 16px 40px;
}

.em_btn {
    overflow: scroll;
}

.ft_area ul {
    display: block;
}

p.op_sq {
    display: block;
    margin-left: 0;
    margin: 6px 0;
    font-size: 80%;
}

.sp_i {
    display: inline;
}

.hwt_box {
    display: block;
}

img.hwti {
    width: 100%;
}

.hb_ph {
    width: 100%;
    margin-top: 10px;
}


}/*===	スマートフォン 600px  === */