/*
  about.html 用に、HTML内で使用されているセレクタを中心に抽出したCSSです。
  元ファイル: otherspage_pc.css / otherspage_sp.css / form_pc.css / form_sp.css
  注: PHP includeの header.html / footer.html は未添付のため、about.html本体に現れる
      class / id / tag を基準にしています。
*/

/* ===== otherspage_pc.css から抽出 ===== */
@media screen and  (min-width:761px) {
* {
margin:0;
        padding:0;
        line-height:1.5;
        list-style:none;
        font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "YuGothic", "Yu Gothic", "游ゴシック", "游ゴシック Medium", YuGothicM, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, sans-serif;
}

body {
width:100%;
        position:relative;
        min-height: 100vh;
        box-sizing: border-box;
}

#wrapper {
overflow: hidden;
        z-index:3;
}

div.dots {
margin:0 auto 20px;
        width:10px;
        height:70px;
        display:flex;
        flex-wrap:wrap;
}

span.dot_a {
margin:2px;
        width:5px;
        height:5px;
        border-radius:50%;
        background-color: #2b69b2;
}

h3 {
text-align:center;
        font-size:0.8rem;
}

.sp {
display:none;
}

table {
width: 100%;
        height: 140px;
        margin: 0 auto;
        border-radius: 10px;
        border: 2px solid #2b69b2;
        border-collapse: separate;
        overflow: hidden;
        border-spacing: 0;
        background-color: white;
}

table, tr, th {
border-bottom:"";
}


.btn {
display: inline-block;
        padding-left: 20px;
        padding-bottom: 10px;
        padding-top: 10px;
        max-width: 250px;
        margin-top: 30px;
        margin-left: 30px;
        position: relative;
        color: #fff;
        text-decoration: none;
        border-radius: 10px 40px 40px 10px;
        background-color: #e45858;
        overflow: hidden;
}

.line {
display: inline-block;
        width: 50px;
        height: 2px;
        position: relative;
        left:  12px;    
        z-index: 10;
        background-color: #000;
        vertical-align:  middle;   
        overflow: hidden;
}

.btn-w {
display: inline-block;
        width: 30px;
        height: 30px;
        position: relative;
        right: 10px;
        background: #fff;
        border-radius: 50px;
        translate: 0.5;
        vertical-align:  middle;   
        transition: 0.3s ease 0s;
        overflow: hidden;
}

.dot {
display: inline-block;
        width: 10px;
        height: 10px;
        position: absolute;
        top:  0;                     
        bottom:  0;                 
        left:  141px;                    
        right:  0;    
        margin:  auto;          
        z-index: 10;
        background: #000;
        border-radius: 50px;
}

.banner_btn {
min-width:250px;
        margin:0 auto;
        width:0%;
        z-index:10400;
}

.btn:hover .line {
animation: arrow .6s ease-in-out;
}

.btn:hover .btn-w {
transform: scale(1.1, 1.1);
}

button {
margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background-color:transparent;
    vertical-align: middle;
    text-align: inherit;
    font: inherit;
    -webkit-appearance: none;
    appearance: none;
}

.gnav_btn span.one {
display: block;
    margin:-10px auto;
	position: relative;  /* バーガー線の位置基準として設定 */
	width: 50%;  /* 線の長さと高さ */
	height: 2px;
	background-color: #d6d5d5;  /* バーガー線の色 */
	transition: .2s;
}

.gnav_btn span.one::before, .gnav_btn span.one::after {
content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #d6d5d5;
    transition: .5s;
}

.gnav_btn span.one::before {
transform: translateY(-12px);/*上線の高さ*/
}

.gnav_btn span.one::after {
transform: translateY(12px);/*下線の高さ*/
}

.gnav_btn span.open {
background-color:transparent;
}

.gnav_btn span.open::before, .gnav_btn span.open::after {
background-color: #d6d5d5;
	transition: .2s;
}

.gnav_btn span.open::before {
transform: rotate(45deg);
}

.gnav_btn span.open::after {
transform: rotate(-45deg);
}

.gnav_btn p {
position:absolute;
  top:35px;
  width:100%;
  color:#28c25f; 
  text-align:center;
  font-size:80%;
  font-weight:bold;
}

.gnav_btn p.deco_moji {
margin-top:5px;
}

h2.subtitle {
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "YuGothic", "Yu Gothic", "游ゴシック", "游ゴシック Medium", YuGothicM, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, sans-serif;
    text-align:center;
    padding-top:150px;
    font-size:clamp(2vw, 32px, 3vw);
    line-height:initial;
    color:rgba(255,255,255,1);
    font-weight:600;
    text-shadow: 1px 1px 2px #000;
    white-space: nowrap;
}


li.topics_list {
margin:0 auto 10px;
    border-bottom:1px #000 solid;
}

#topics_one ul {
width:100%;
    margin:0 auto;
}

#topics_one ul li span.date {
color:red;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "YuGothic", "Yu Gothic", "游ゴシック", "游ゴシック Medium", YuGothicM, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, sans-serif;
    margin-right:20px;
    font-size:1.5rem;
}

div.balls {
width:30px;
    height:20px;
    display:flex;
    flex-wrap:wrap;
}

span.ball {
margin:2px;
    width:10px;
    height:10px;
    border-radius:50%;
    background-color: #000;
}

.topics_one_slidemenu_right {
cursor: pointer;
    position: fixed;
    bottom: 20%;
    right: -600px;
    width: 600px;
    height: 280px;
    padding: 0 40px 0 0;
    background: #d1d1e9;
    display:flex;
    border-radius:10px 0 0 10px;
    box-shadow:0px 0px 5px #000;
    z-index:11100;
    visibility:"";
}

.topics_one_slidemenu_left {
cursor: pointer;
    position: fixed;
    top: 100px;
    left: -870px;
    width: 600px;
    height: 280px;
    padding: 0 0 0 300px;
    background: #d1d1e9;
    display:flex;
    border-radius:0 10px 10px 0;
    box-shadow:0px 0px 5px #000;
    z-index:11100;
    visibility:hidden;
}

.slide-inner_right {
background-color:#fff;
    border-radius:10px 0 0 10px;
    margin:2.5%;
    width:70%;
    padding:3% 5% 3% 5%;
    height:216px;
}

.slide-inner_left {
background-color:#fff;
    border-radius:0 10px 10px 0;
    margin:2.5% 0% 0% 0%;
    width:100%;
    padding:3% 5% 3% 5%;
    height:216px;
}

.slide-inner_right .shinsatsujikan .btn, .slide-inner_left .shinsatsujikan .btn {
margin-top:15px;
    margin-left:40px;
}

.tategaki {
-webkit-text-orientation: mixed;
    text-orientation: mixed;
    writing-mode: vertical-rl;
    text-align:center;
    margin-left:10px;
}

#topics_agree {
width:100%;
    margin:0 auto;
}

.topics_agree_bg1, .topics_agree_bg2, .topics_agree_bg3, .topics_agree_bg4 {
opacity:0.3;
}

.topics_agree_bg {
width:100%;
    display:flex;
    flex-wrap:wrap;
    position:relative;
    overflow: hidden;
}

.topics_agree_bg1 {
top:30px;
    left:25px;
    width:200px;
    height:200px;
    background-image:url("../img/bgsample1.jpg");
    background-size:cover;
    border-radius:50%;
    position:absolute;
}

.topics_agree_bg2 {
top:60px;
    right:100px;
    width:250px;
    height:250px;
    background-image:url("../img/bgsample2.jpg");
    background-size:cover;
    border-radius:50%;
    position:absolute;
}

.topics_agree_bg3 {
top:600px;
    left:50px;
    width:270px;
    height:270px;
    background-image:url("../img/bgsample3.jpg");
    background-size:cover;
    border-radius:50%;
    position:absolute;
}

.topics_agree_bg4 {
top:600px;
    right:30px;
    width:150px;
    height:150px;
    background-image:url("../img/bgsample4.jpg");
    background-size:cover;
    border-radius:50%;
    position:absolute;
}

.topics_agree_content {
margin:0 auto;
    width:100%;
    max-width:60vw;
    z-index:40;
}

.topics_agree_flexbox_one {
display:flex;
    margin:0 auto;
}

.circle_thumbnail {
padding:2%;
    background-color:#fff;
    border-radius:50%;
    z-index:12000;
    border:1px solid #000;
    width:calc(125 / 1200 * 100vw);
    height: calc(125 / 1200 * 100vw);
    position:relative;
}

.topics_agree_flexbox_one_left {
background-image:url("../img/iinchou_thumb.jpg");
    background-size:cover;
    background-repeat: no-repeat;
    background-position:center;
    border-radius:50%;
    border:solid 1px #000;
    width:calc(125 / 1200 * 100vw);
    height: calc(125 / 1200 * 100vw);
    position:relative;
    z-index:50;
    box-sizing:border-box;
    margin:0 auto;
}

.topics_agree_flexbox_one img {
width:100%;
    border:solid 1px #000;
    border-radius:50%;
}

.topics_agree_flexbox_one_right {
width:calc(600 / 1200 * 100vw);
}

p.description {
width:calc(530 / 1200 * 100vw);
    top:calc(100 / 1200 * 100vw);
    position:relative;
    line-height:2;
    margin:0 auto 3rem;
    text-align:left;
    font-size: 1rem;
}

.doctor_name {
position:relative;
    width:calc(530 / 1200 * 100vw);
    height:calc(20 / 1200 * 100vw);
    z-index:51;
    top:35%;
    left:100%;
    padding-left:25%;
    border-bottom:0.1rem #000 solid;
    white-space: nowrap;
    font-size:clamp(1rem , 1.3vw , 2rem);
    line-height:0.5rem;
    font-weight:600;
}

.topics_agree_flexbox_two_left, .topics_agree_flexbox_two_right {
width:45%;
    border-radius:10px;
    background-color:#d1d1e9;
    margin:2.5% 2.5% 0 2.5%;
    padding:2%;
    font-size:clamp(0.8rem 1vw 1rem);
}

.topics_agree_flexbox_two_left p, .topics_agree_flexbox_two_right p {
font-weight:600;
}

.topics_agree_flexbox_two_left ul li, .topics_agree_flexbox_two_right ul li {
list-style: initial;
    margin-left:1rem;
}

.topics_agree_flexbox_two {
display:flex;
    width:100%;
    margin:10% auto;
}

.topics_background {
min-height: 400px;
    border-top-right-radius: 1000px 200px;
    border-top-left-radius: 1000px 200px;
    border-bottom-right-radius: 1000px 200px;
    border-bottom-left-radius: 1000px 200px;
    margin-left: -100px;
    margin-right: -100px;
    padding-left: 100px;
    padding-right: 100px;
    background: #d1d1e9;
}

#topics_strongpoint {
margin-bottom:2rem;
}

.topics_guidance_section {
width:100%;
        max-width:70vw;
        margin:0 auto;
}

.topics_guidance_section p {
text-align:left;
        margin:1rem 0 2rem 5rem;
        width:80%;
        font-size: calc(16px +  1* (100vw - 761px)/ 439);
}

.center {
text-align:center !important;
}

.topics_guidance_section_h3_background {
margin:3rem 0 0 0;
        border-radius:50%;
        width:calc(100 / 1200 * 100vw);
        height: calc(100 / 1200 * 100vw);
        position:relative;
        background-color:white;
}

.topics_guidance_section_h3 {
text-align:left;
        font-size:1.5rem!important;
		color: #554b44!important;	
        width:500px;
        height:calc(20 / 1200 * 100vw);;
        position:relative;
        line-height:1.2;
        border-bottom:0.2rem solid #fff;
        top:30%;
        left:30%;
}

.topics_guidance_section ul {
margin:0 auto;
        width:70%;
}

.topics_guidance_section ul li {
list-style: initial;
        font-size: calc(16px +  1* (100vw - 761px)/ 439);
}


p.hoken_attention {
margin:1rem 0 0 0 !important;
        text-align:initial !important;
        font-size:0.8rem !important;
        font-weight:600 !important;
}

.offer_flow_box {
margin:3rem auto;
        width:90%;
        max-width:700px;
}

section.offer_flow {
border:solid 2px #e45858;
        border-radius:5px;
        display:flex;
        background-color:white;
        width:100%;
        font-size:1rem;
}

section.offer_flow .number {
width:5%;
        color:white;
        background-color:#e45858;
        padding:2rem 0 0 1rem;
}

.offer_flow_fix {
padding:1rem 0 0 1rem !important;
}

section.offer_flow .offer_flow_left {
width:35%;
        padding:2rem 0 0 1rem;
}

section.offer_flow .offer_flow_right {
width:70%;
        padding:1rem;
}

.topics_guidance_section p.arrow {
width: 20px;
        right:"";
        height: 20px;
        background: #e45858;
        margin:1rem auto 2rem;
        position:relative;
}

.topics_guidance_section p.arrow:after {
content: "";
    bottom: -40px;
    left: -10px;
    border: transparent solid 20px;
    width: 0;
    border-top-color: #e45858;
    position: absolute;
    height: 0px;
    margin:0;
    padding: 0px;
    display: block;
}

section.question_section2 {
		margin:50px auto 2rem  !important;
        justify-items:initial !important;
        display:block !important;
        grid-template-columns:initial !important;
        width:initial;
        width:900px;
		color: #474747!important;
}

	
	
.triangle_btn.open:before {
content:"▲";
}

.account_form table {
margin-bottom:2rem;
}

.account_form .table_pc tr th {
width:30%;
}

.account_form .table_pc tr td {
width:70%;
}

.account_form .table_pc tr th, .account_form .table_pc tr td {
font-size:1rem !important;
    text-align:left;
}

.birthday_flex div.error {
grid-column: 1/9;
}

.error-form {
border-color: #fb9a93 !important;
}

.error {
color:red;
    grid-row:3/4;
}

.hidden {
display:none;
}

.visible {
display:block;
}

.white-dl dt {
padding-bottom:3px;
    border-bottom:1px solid #000;
    font-weight:bold;
    margin-top:10px;
    display:inline-block;
    font-size:1rem;
}

.white-dl dd {
padding-top:3px;
    font-size:1rem;
}

.sitemap_pc_left p {
width:100%;
    margin:25px 0 25px 0;
}

#sitemap ul {
margin:0 0 3% 3%;
}

p.copyright {
width:80%;
    margin:0 auto;
    text-align:center;
    font-size:0.6em;
    padding:15px 0 15px 0;
}

.gairai_gaiyou_box01 ul {
margin:0 2rem 0 0;
    width:initial !important;
}

.gairai_gaiyou_box02_ul li {
width:50%;
}
}

@media screen and (max-width:1024px) {
.topics_guidance_section {
width:100%;
        max-width:80vw;
        margin:0 auto;
}

.topics_guidance_section p {
text-align:left;
        margin:2rem auto;
        width:90%;
        font-size: calc(16px +  1* (100vw - 761px)/ 439);
}

.topics_guidance_section_h3 {
text-align:left;
        font-size:calc(100vw / 45);
        width:calc(400 / 1200 * 100vw);
        height:calc(20 / 1200 * 100vw);;
        position:relative;
        line-height:0.5;
        border-bottom:0.4rem solid #fff;
        top:30%;
        left:30%;
}

.topics_guidance_section ul {
width:80%;
        margin-top:2rem;
}

.topics_agree_content {
margin:0 auto;
        width:100%;
        max-width:80vw;
        z-index:40;
}

.doctor_name {
position:relative;
        width:calc(750 / 1200 * 100vw);
        height:calc(20 / 1200 * 100vw);
        z-index:51;
        top:35%;
        left:100%;
        padding-left:25%;
        border-bottom:0.1rem #000 solid;
        white-space: nowrap;
        font-size:calc(100vw / 47);
        line-height:0.1rem;
        font-weight:600;
}

p.description {
width:calc(730 / 1200 * 100vw);
        top:calc(100 / 1200 * 100vw);
        position:relative;
        left:2%;
        line-height:2;
        margin:0.5rem auto 3rem;
        text-align:left;
        font-size: calc(16px +  1* (100vw - 761px)/ 439);
}

.topics_agree_flexbox_two p {
font-size:1rem;
        font-weight:600;
}

.topics_agree_flexbox_two ul li {
font-size:0.8rem;
        font-weight:600;
}

section.question_section {
margin:0 auto 2rem  !important;
        justify-items:initial !important;
        display:block !important;
        grid-template-columns:initial !important;
        width:initial;
        max-width:70vw !important;
}

.question_section_div ul li {
list-style-type: initial;
}



/* ===== otherspage_sp.css から抽出 ===== */
@media screen and  (max-width:760px) {
* {
margin:0;
        padding:0;
        line-height:1.5;
        list-style:none;
        font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "YuGothic", "Yu Gothic", "游ゴシック", "游ゴシック Medium", YuGothicM, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, sans-serif;
}

body {
width:100%;
        position:relative;
        min-height: 100vh;
        box-sizing: border-box;
}

div.balls {
width:25px;
        height:15px;
        display:flex;
        flex-wrap:wrap;
        margin-top:3px;
}

span.ball {
margin:2px;
        width:5px;
        height:5px;
        border-radius:50%;
        background-color: #000;
}

.topics_one_slidemenu_right {
cursor: pointer;
    position: fixed;
    bottom:23%;
    right: -400px;
    width: 270px;
    height: 250px;
    padding: 0 170px 0 0;
    background: #d1d1e9;
    display:flex;
    border-radius:10px 0 0 10px;
    box-shadow:0px 0px 5px #000;
    z-index:11100;
    visibility:hidden;
}

.topics_one_slidemenu_left {
cursor: pointer;
    position: fixed;
    top: 100px;
    left: -400px;
    width: 270px;
    height: 250px;
    padding: 0 0 0 170px;
    background: #d1d1e9;
    display:flex;
    border-radius:0 10px 10px 0;
    box-shadow:0px 0px 5px #000;
    z-index:11100;
    visibility:hidden;
}

.slide-inner_right {
background-color:#fff;
    border-radius:10px 0 0 10px;
    margin:3% -26% 0% 5%;
    width:100%;
    padding:5%;
    height:205px;
}

.slide-inner_left {
background-color:#fff;
    border-radius:0 10px 10px 0;
    margin:3% 0% 0% -25%;
    width:100%;
    padding:5%;
    height:205px;
}

.slide-inner_right .shinsatsujikan .btn, .slide-inner_left .shinsatsujikan .btn {
margin-top:10px;
    margin-left:40px;
}

.tategaki {
-webkit-text-orientation: mixed;
    text-orientation: mixed;
    writing-mode: vertical-rl;
    text-align:center;
    margin-left:10px;
}

.scroll {
position: fixed;
    bottom: 6%;
    right: 25px;
    z-index:10000;
    width: 72px;
    height: 72px;
    background-color:#fff;
    border-radius:50%;
    cursor: pointer;
    opacity:0;
    box-shadow:0px 0px 3px #000;
}

.scroll.isActive {
opacity: 1;
    transition: all 0.65s;
    z-index:9993;
}

.scroll_btn_top {
text-align:center;
    margin-top:5px;
    color:#000;
}

#topics_agree {
width:100%;
        margin:0 auto;
}

.topics_agree_bg {
width:100%;
        flex-wrap:wrap;
        overflow: hidden;
}

.topics_agree_content {
margin:0 auto;
        width:100%;
        max-width:75vw;
        z-index:40;
}

.topics_agree_flexbox_one {
display:"";
        margin:0 auto;
}

p.description {
width:100%;
        line-height:2;
        margin:40px auto;
        text-align:left;
        font-size:1rem;
        left:initial;
}

.circle_thumbnail {
padding:5%;
        background-color:#fff;
        border-radius:50%;
        z-index:12000;
        border:1px solid #000;
        width:calc(350 / 1200 * 100vw);
        height: calc(350 / 1200 * 100vw);
        margin:0 auto;
}

.topics_agree_flexbox_one img {
width:100%;
        border:solid 1px #000;
        border-radius:50%;
}

.topics_agree_flexbox_one_left {
background-image:url("../img/iinchou_thumb.jpg");
        background-size:cover;
        background-repeat: no-repeat;
        background-position:center;
        border-radius:50%;
        border:solid 1px #000;
        width:calc(350 / 1200 * 100vw);
        height: calc(350 / 1200 * 100vw);
        z-index:50;
        margin:0 auto;
}

.doctor_name {
width:100%;
        z-index:51;
        white-space: nowrap;
        font-size:1rem;
        line-height:2;
        font-weight:600;
        text-align:center;
        margin-top:1.5rem;
        border:initial;
        left:initial;
        padding-left:initial;
}

.doctor_name span {
display:block;
        border-bottom:1px #000 solid;
        width:100%;
        margin:0 auto;
}

.topics_agree_flexbox_two_left, .topics_agree_flexbox_two_right {
width:92%;
        border-radius:10px;
        background-color:#d1d1e9;
        margin:4% auto;
        padding:4%;
        font-size:0.8rem;
}

.topics_agree_flexbox_two_left p, .topics_agree_flexbox_two_right p {
font-weight:600;
}

.topics_agree_flexbox_two_left ul li, .topics_agree_flexbox_two_right ul li {
list-style: initial;
        margin-left:1rem;
}

.topics_agree_flexbox_two {
width:100%;
        margin:20% auto;
}

.topics_background {
min-height: 400px;
    border-top-right-radius: 1000px 200px;
    border-top-left-radius: 1000px 200px;
    border-bottom-right-radius: 1000px 200px;
    border-bottom-left-radius: 1000px 200px;
    margin-left: -100px;
    margin-right: -100px;
    padding-left: 100px;
    padding-right: 100px;
    background: #d1d1e9;
}


#topics_strongpoint {
margin-bottom:2rem;
}


.center {
text-align:left !important;
        font-size:1rem !important;
}

.topics_guidance_section_h3_background {
margin:2.5rem 0 0 2rem;
        border-radius:50%;
        right:50px;
        width:calc(200 / 1200 * 100vw);
        height: calc(200 / 1200 * 100vw);
        position:relative;
        background-color:white;
}

.topics_guidance_section_h3 {
text-align:left;
        padding-left:0.5rem;
        padding-bottom:0.5rem;
        font-size:1.5rem!important;
        width:calc(800 / 1200 * 100vw);
        height:calc(20 / 1200 * 100vw);
        position:relative;
        line-height:1.3;
        border-bottom:0.4rem solid #fff;
        top:30%;
        left:30%;
}

.topics_guidance_section ul {
margin:2rem 0rem 2rem 1rem;
        width:95%;
}

.topics_guidance_section ul li {
list-style: initial;
        font-size:0.8rem;
}

section.topics_guidance_section table {
margin:3rem 0 0 0;
}

section.topics_guidance_section table.sp tr th {
background-color:#e45858;
        color:white;
}

section.topics_guidance_section table.sp tr td {
text-align:left;
        padding:1rem;
}

.hoken_attention {
margin:1rem 0 0 0 !important;
        font-size:0.8rem !important;
        font-weight:600;
}

.offer_flow_box {
margin:3rem 0 0 0;
        width:100%;
        max-width:700px;
}

section.offer_flow {
border:solid 2px #e45858;
        border-radius:5px;
        display:block;
        background-color:white;
        width:100%;
        font-size:1rem;
        overflow: hidden;
}

section.offer_flow .number {
width:5%;
        color:white;
        background-color:#e45858;
        padding:2rem 0 0 1rem;
        display:none;
}

.offer_flow_fix {
padding:initial;
}

section.offer_flow:nth-child(1) .offer_flow_left:before {
content:"1.";
}

section.offer_flow:nth-child(3) .offer_flow_left:before {
content:"2.";
}

section.offer_flow:nth-child(5) .offer_flow_left:before {
content:"3.";
}

section.offer_flow:nth-child(7) .offer_flow_left:before {
content:"4.";
}

section.offer_flow .offer_flow_left {
width:100%;
        padding:0.5rem 1rem 0.5rem 1rem;
        background-color:#e45858;
        color:white;
        font-weight:600;
}

section.offer_flow .offer_flow_right {
width:initial;
        padding:1rem;
}

.topics_guidance_section p.arrow {
width: 20px;
        right:"";
        height: 20px;
        background: #e45858;
        margin:1rem auto 2rem;
        position:relative;
}

.topics_guidance_section p.arrow:after {
content: "";
    bottom: -40px;
    left: -10px;
    border: transparent solid 20px;
    width: 0;
    border-top-color: #e45858;
    position: absolute;
    height: 0px;
    margin:0;
    padding: 0px;
    display: block;
}

section.question_section {
margin:0 auto 2rem  !important;
        justify-items:initial !important;
        display:block !important;
        grid-template-columns:initial !important;
        width:initial;
        max-width:85vw;
		color: #fff!important;
}

.question_section_div ul {
padding:1rem 1rem 1rem 2rem;
}

.question_section_div ul li {
list-style-type: initial;
}

.triangle_btn.open:before {
content:"▲";
}

.account_form table {
margin-bottom:2rem;
}

.account_form .table_sp tr th {
text-align:left;
        border-collapse:collapse;
        background-color:#e45858;
        color:white;
}

.account_form .table_sp tr td {
text-align:left;
        border-collapse:collapse;
}

.birthday_flex div.error {
grid-column: 1/9;
}

.error-form {
border-color: #fb9a93 !important;
}

.error {
color:red;
        grid-column: 1/1;
        grid-row:3/4;
}

.hidden {
display:none;
}

.visible {
display:block;
}

.p_name .error:last-child {
grid-column:2/2;
}

.white-dl dt {
padding-bottom:3px;
    border-bottom:1px solid #000;
    font-weight:bold;
    margin-top:10px;
    display:inline-block;
    font-size:0.8rem;
}

.white-dl dd {
padding-top:3px;
    font-size:0.8rem;
}

#sitemap_sp ul {
margin:2% 0 0 0;
}

footer #sitemap_sp .shinsatsujikan {
margin:3%;
}

p.copyright {
width:80%;
        margin:0 auto;
        text-align:center;
        font-size:0.6em;
        padding:15px 0 15px 0;
}

.gairai_gaiyou_box02_ul li {
width:40%;
        margin:0 0 0 20px !important;
}
}

/* ===== form_pc.css から抽出 ===== */
@media screen and (min-width:761px) {
.sp {
display:none;
}

section {
width:100%;
    margin:0 auto 1rem;
    display:grid;
    justify-items:left;
    grid-template-columns:"";
}

section.p_send {
display:flex;
}

p.add_description {
top:0 !important; 
    margin:0 auto;
    left:0;
}

p.add_description404 {
position:initial !important;
    width:80% !important;
}

p.p_add_topics_guidance_section {
margin:2rem auto 0 !important;
    width:initial !important;
}

h3.add_h3 {
font-size:max(0.8vw, 16px);
    margin:0 auto;
    text-align:left;
    background-color:#b590bd;    
    padding:1rem;
    border-radius:10px;
    cursor:pointer;
    display:flex;
    justify-content: space-between;
	min-width: 45vw;
}

h3.add_h3:hover {
opacity:0.7;
    background-color:#D3ABDC;
}

h3.add_mailform_h3 {
text-align:left;
    color:white;
    font-size:1.3rem;
    padding: 0.3rem 0 0.3rem 0.5rem;
    margin-bottom:1rem;
    border-left: 6px solid #b590bd;
    background-color:#f4f1fc;
}
}

@media screen and  (max-width:1024px) {
p.add_description {
top:0 !important; 
        margin:0 auto;
        left:0;
}

p.add_description404 {
position:initial !important;
        width:fit-content !important;
}
}

/* ===== form_sp.css から抽出 ===== */
@media screen and (max-width:760px) {
section {
width:100%;
        margin:0 auto 1rem;
        display:grid;
        justify-items:left;
        grid-template-columns:initial;
}

section.question_section {
max-width:80vw !important;
}
@media screen and (min-width: 761px) {
    section.question_section {
        margin: 0 auto 2rem !important;
        justify-items: initial !important;
        display: block !important;
        grid-template-columns: initial !important;
        width: initial;
        max-width: 45vw;
        color: #fff !important;
    }
}
h3.add_mailform_h3 {
text-align:left;
        color:white;
        font-size:1.3rem;
        padding: 0.3rem 0 0.3rem 0.5rem;
        margin-bottom:1rem;
        border-left: 6px solid #2b69b2;
        background-color:#6c96c7;
}
}

/* ===== 使用アニメーション ===== */
@keyframes arrow {
0%{
        transform:scaleX(0.5);
        transform-origin: right;
        
        }
        50%{
        transform:scaleX(0);
        transform-origin: right;

        }
        70%{
        transform:scaleX(0);
        transform-origin: left;

        }
        100%{
        transform:scaleX(1);
        transform-origin: left;

        }
}
    h3.midashi_q {
        font-size: clamp(1vw, 20px, 1.5vw);
        font-weight: 600;
		border-bottom: dashed 1px #c2c8d5!important;
		margin-bottom: 30px!important;
    }

    @media screen and (max-width: 760px) {
        h3.midashi_q {
			margin-top: 30px;
			color: #474747;
            font-size: 1rem;
            line-height: 2;
            font-weight: 600;
            min-width: 72vw;
        }
		.question_section2 p{
		            width: 80%;
            margin: 0 auto;
		}
    }	
	.topics_guidance_section.sheet{
		background-color: #fff;
		padding: 10px;
		border-radius: 5px;
	}
	@media screen and (min-width: 761px) {
    .white-box h3 {
        color: #A275AC;
		text-align: left!important;
		line-height: 1.2;
    }
}